Create a new client
Client
Create Client
Create a new client with billing configuration, budget settings, and contact information
POST
Create a new client
Overview
Create a new client in your workspace. Clients can be associated with projects for billing and invoicing purposes. Each client includes billing configuration, budget settings, and contact information.Request Body
The name of the client or company.Example:
"Acme Corporation"The client’s email address. Must be unique across all clients.Format: Valid email addressExample:
"contact@acmecorp.com"Client profile picture or logo.Allowed formats: PNG, JPG, JPEGMax size: As per server configuration
Client’s phone number.Example:
"+1-555-123-4567"Company name (if different from client name).Example:
"Acme Corporation Inc."Client’s website URL.Example:
"https://www.acmecorp.com"Billing Address
Primary billing address line.Example:
"123 Main Street"Secondary billing address line (suite, apartment, etc.).Example:
"Suite 100"City for billing address.Example:
"San Francisco"State or province for billing address.Example:
"California"ZIP or postal code for billing address.Example:
"94102"Country for billing address.Example:
"United States"Invoice Settings
Custom invoice notes for this client (if not using org_notes).Example:
"Payment due within 30 days of invoice date."Custom net payment terms in days (if not using org_net_term).Example:
30Client’s tax identification number.Example:
"12-3456789"Tax rate percentage for invoices.Example:
8.5Budget Settings
Type of budget tracking.Allowed values:
"total_cost", "hours_cost"Example: "total_cost"Budget amount in currency.Example:
50000.00Budget amount in hours (for hours_cost type).Example:
500Percentage at which to notify about budget usage.Example:
80Response
The created client object.
Example Request
Example Request (JavaScript)
Example Request - With Profile Picture
Example Request (JavaScript with File Upload)
Example Response
Error Responses
Default Invoice Settings
When a client is created, the following default invoice settings are applied:| Setting | Default Value | Description |
|---|---|---|
late_fee | no | Late fee charges disabled |
lineItem | project-date | Invoice line items by project and date |
net_term | 30 | 30-day payment terms (or org default) |
tax_rate | 0 | No tax rate (unless specified) |
frequency | weekly | Weekly invoice generation |
delay_days | 5 | 5-day delay before auto-invoice |
autoInvoice | off | Auto-invoicing disabled |
amountBasedOn | hourly | Hourly-based billing |
reminder_days | 10 | Payment reminder 10 days after |
include_expense | no | Expenses not included |
include_non_billable_time | no | Non-billable time excluded |
Default Budget Settings
| Setting | Default Value | Description |
|---|---|---|
budgetType | total_cost | Track by total cost |
rate | bill | Use billable rate |
cost | 0 | No budget limit |
hours | 0 | No hour limit |
notifyAt | 80 | Notify at 80% usage |
reset | never | Budget never resets |
include_non_billable_time | true | Include non-billable |
Organization Settings Inheritance
Using org_notes
- When
true: Client inherits organization’s default invoice notes - When
false: Custom notes can be specified
Using org_net_term
- When
true: Client inherits organization’s default payment terms - When
false: Custom net terms can be specified
File Upload
Profile Picture
- Allowed formats: PNG, JPG, JPEG only
- Storage: Uploaded to Amazon S3
- Path:
profiles/directory - URL: Full S3 URL returned in response
- Security: Only image files allowed, other formats rejected
Address Handling
Billing address is automatically copied to mailing address:billing_address1→mailing_address1billing_address2→mailing_address2city→mailing_citystate→mailing_statezipcode→mailing_zip
Webhook Integration
After successful client creation, a Zapier webhook is triggered:Name Sanitization
Client names are automatically sanitized by removing:- Single quotes (
') - Double quotes (
") - Commas (
,) - Semicolons (
;) - Angle brackets (
<,>) - Square brackets (
[,]) - Exclamation marks (
!) - Plus signs (
+) - Pipe symbols (
|)
Notes
- Email uniqueness: Client email must be unique across the entire system
- Team assignment: Client is automatically assigned to your current team
- User tracking: Your user ID is recorded as the creator
- Profile storage: Profile pictures are stored on S3 and returned as full URLs
- Address duplication: Billing address is copied to mailing address
- Budget tracking: Budget settings can be configured per client
- Invoice automation: Various invoice settings can be customized
- Webhook triggers: Zapier webhooks fire on successful creation
- Character filtering: Client names are sanitized for database safety
Best Practices
- Always provide complete billing address for invoicing
- Use organization defaults (
org_notes,org_net_term) for consistency - Set appropriate budget limits and notification thresholds
- Upload high-quality logos for professional invoices
- Verify email uniqueness before submission
- Configure tax rates according to client location
- Set realistic payment terms based on client relationship
Related Endpoints
- Get Clients - List all clients
- Get Client - Retrieve client details
- Update Client - Update client information
- Delete Client - Remove a client
- Get Client Invoices - View client invoices
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Example:
"Acme Corporation"
Example:
"contact@acmecorp.com"
Example:
"+1-555-123-4567"
Example:
"Acme Corporation Inc."
Example:
"https://www.acmecorp.com"
Example:
"123 Main Street"
Example:
"Suite 100"
Example:
"San Francisco"
Example:
"California"
Example:
"94102"
Example:
"United States"
Example:
30
Example:
"12-3456789"
Example:
8.5