ruạṛ
/api/v1/clients: get: tags: - clients summary: 'List clients' x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("your_token"); $invoices = $ninja->clients->all([ 'balance' => 'lt:10', // get all clients with a balance less than 10 'per_page' => 10, // return 10 results per page 'page' => 2, // paginate to page 2 'include' => 'documents', // include the documents relationship ]); - lang: curl label: curl source: | curl --request GET \ --url 'https://invoicing.co/api/v1/clients?per_page=10&page=1&sort=name&sort_dir=asc' \ --header 'X-API-TOKEN: YOUR_API_TOKEN_HERE' \ --header 'Accept: application/json' description: | When retrieving a list of clients you can also chain query parameters in order to filter the dataset that is returned. For example, you can send a request to the following URL to retrieve clients that have a balance greater than 1000:\ ``` /api/v1/clients?balance=gt:1000 ``` You can also sort the results by adding a sort parameter. The following example will sort the results by the client name in descending order:\ ``` /api/v1/clients?sort=name|desc ``` You can also combine multiple filters together. The following example will return clients that have a balance greater than 1000 and are not deleted and have a name that starts with "Bob":\ ``` /api/v1/clients?balance=gt:1000&name=Bob* ``` If you wish to retrieve child relations, you can also combine the query parameter `?include=` with a comma separated list of relationships:\ ``` /api/v1/clients?include=activities,ledger,system_logs' ``` The per_page and page variables allow pagination of the list of clients. The following example will return the second page of clients with 15 clients per page:\ ``` /api/v1/clients?per_page=15&page=2 ``` The default per_page value is 20. operationId: getClients parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/client_include' - $ref: '#/components/parameters/index' - $ref: "#/components/parameters/status" - $ref: "#/components/parameters/created_at" - $ref: "#/components/parameters/updated_at" - $ref: "#/components/parameters/is_deleted" - $ref: "#/components/parameters/filter_deleted_clients" - name: name in: query description: | Filter by client name ```html ?name=bob ``` required: false schema: type: string example: bob - name: balance in: query description: | Filter by client balance, format uses an operator and value separated by a colon. lt,lte, gt, gte, eq ```html ?balance=lt:10 ``` ie all clients whose balance is less than 10 required: false schema: type: string example: lt:10 - name: between_balance in: query description: | Filter between client balances, format uses two values separated by a colon ```html ?between_balance=10:100 ``` required: false schema: type: string example: 10:100 - name: email in: query description: | Filter by client email ```html ?email=bob@gmail.com ``` required: false schema: type: string example: bob@gmail.com - name: id_number in: query description: | Filter by client id_number ```html ?id_number=0001 ``` required: false schema: type: string example: a1039883 - name: number in: query description: | Filter by client number ```html ?number=0002 ``` required: false schema: type: string example: a1039883 - name: filter in: query description: | Broad filter which targets multiple client columns: ```html name, id_number, contact.first_name contact.last_name, contact.email, contact.phone custom_value1, custom_value2, custom_value3, custom_value4, ``` ```html ?filter=Bobby ``` required: false schema: type: string example: a1039883 - name: sort in: query description: | Returns the list sorted by column in ascending or descending order. Ensure you use column | direction, ie. ```html ?sort=id|desc ``` required: false schema: type: string example: id|desc name|desc balance|asc - name: group in: query description: | Returns the list of clients assigned to {group_id} ```html ?group=X89sjd8 ``` required: false schema: type: string example: X89sjd8 - name: client_id in: query description: | Returns the list of clients with {client_id} - proxy call to retrieve a client_id wrapped in an array ```html ?client_id=X89sjd8 ``` required: false schema: type: string example: X89sjd8 responses: 200: description: 'A list of clients' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' post: tags: - clients summary: 'Create client' description: | Adds a client to a company > 🚨 Important When creating (or updating) a client you must include the child contacts with all mutating requests. Client contacts cannot be modified in isolation. x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $client = $ninja->clients->create([ 'name' => 'Client Name', 'contacts' => [ [ 'first_name' => 'John', 'last_name' => 'Smith', 'email' => 'john@example.com', 'phone' => '555-0123' ] ], 'address1' => '123 Main St', 'city' => 'New York', 'state' => 'NY', 'postal_code' => '10001', 'country_id' => '1' ]); - lang: curl label: curl source: | curl -X POST https://demo.invoiceninja.com/api/v1/clients \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "Content-Type: application/json" \ -H "X-Requested-With: XMLHttpRequest" \ -d '{ "name": "Client Name", "contacts": [ { "first_name": "John", "last_name": "Smith", "email": "john@example.com", "phone": "555-0123" } ], "address1": "123 Main St", "city": "New York", "state": "NY", "postal_code": "10001", "country_id": "1" }' operationId: storeClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' requestBody: description: Client object that needs to be added to the company required: true content: application/json: schema: $ref: '#/components/schemas/ClientRequest' responses: 200: description: 'Returns the saved client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' '/api/v1/clients/{id}': get: tags: - clients summary: 'Show client' description: 'Displays a client by id' x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $client = $ninja->clients->show('clientId123'); - lang: curl label: php source: | curl -X GET https://demo.invoiceninja.com/api/v1/clients/clientId123 \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "X-Requested-With: XMLHttpRequest" operationId: showClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: id in: path description: 'The Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA responses: 200: description: 'Returns the client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' put: tags: - clients summary: 'Update client' description: | Handles the updating of a client by id > 🚨 Important When creating (or updating) a client you must include the child contacts with all mutating requests. Client contacts cannot be modified in isolation. x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $client = $ninja->clients->update('clientId123', [ 'name' => 'Updated Name', 'contacts' => [ [ 'first_name' => 'John', 'last_name' => 'Smith', 'email' => 'john@example.com' ] ] ]); - lang: curl label: curl source: | curl -X PUT https://demo.invoiceninja.com/api/v1/clients/clientId123 \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "Content-Type: application/json" \ -H "X-Requested-With: XMLHttpRequest" \ -d '{ "name": "Updated Name", "contacts": [ { "first_name": "John", "last_name": "Smith", "email": "john@example.com" } ] }' operationId: updateClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: id in: path description: 'The Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA requestBody: description: Client object that needs to be updated required: true content: application/json: schema: $ref: '#/components/schemas/ClientRequest' responses: 200: description: 'Returns the client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' delete: tags: - clients summary: 'Delete client' description: | Handles the deletion of a client by id > ❗ Note Deleting a client does not purge the client from the system. The delete action will remove the clients data from all views in the application but keep it all on file. A Client can be laterrestored reversing this action. To permanently wipe a client and all of their records from the system, use the /purge route x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $ninja->clients->delete('clientId123'); - lang: curl label: curl source: | curl -X DELETE https://demo.invoiceninja.com/api/v1/clients/clientId123 \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "X-Requested-With: XMLHttpRequest" operationId: deleteClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: id in: path description: 'The Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA responses: 200: description: 'Returns a HTTP status' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' '/api/v1/clients/{id}/edit': get: tags: - clients summary: 'Edit Client' description: 'Displays a client by id, essentially an alias of the show route' operationId: editClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: id in: path description: 'The Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA responses: 200: description: 'Returns the client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' /api/v1/clients/create: get: tags: - clients summary: 'Blank Client' description: 'Returns a blank object with default values' operationId: getClientsCreate parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' responses: 200: description: 'A blank client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' /api/v1/clients/bulk: post: tags: - clients summary: 'Bulk client actions' description: | Bulk actions allow to make changes to multiple clients in a single request the following actions are supported - archive - restore - delete - template _requires template,template_id properties also_ - assign_group _requires group_settings_id also_ - bulk_update _ requires column,new_value also_ All of these actions require an array of client ids to perform the requested action on ie. "ids":['id1','id2'] actions such as template, assign_group and bulk_update also require additional properties to be passed in the request - template The template bulk action allows the creation of a custom template using the provided template_id to be run against the array of clients provided. - assign_group Allows the setting of multiple clients to a single group - bulk_update Allows updating certain columns on the client model in bulk. the current list of supported columns that can be updated archived_at: - public_notes - industry_id - size_id - country_id - custom_value1 - custom_value2 - custom_value3 - custom_value4 x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $ninja->clients->bulk([ 'action' => 'archive', 'ids' => ['clientId1', 'clientId2'] ]); - lang: curl label: curl source: | curl -X POST https://demo.invoiceninja.com/api/v1/clients/bulk \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "Content-Type: application/json" \ -H "X-Requested-With: XMLHttpRequest" \ -d '{ "action": "archive", "ids": ["clientId1", "clientId2"] }' operationId: bulkClients parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' requestBody: description: 'Bulk action array' required: true content: application/json: schema: $ref: '#/components/schemas/GenericBulkAction' responses: 200: description: 'The Client list Response of the updated clients that were bulk updated' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' '/api/v1/clients/{id}/upload': post: tags: - clients summary: 'Add client document' description: 'Handles the uploading of a document to a client, please note due to a quirk in REST you will need to use a _method parameter with value of POST' x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $ninja->clients->upload('clientId123', '/path/to/document.pdf'); - lang: curl label: curl source: | curl -X POST https://demo.invoiceninja.com/api/v1/clients/clientId123/upload \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "X-Requested-With: XMLHttpRequest" \ -F "_method=POST" \ -F "documents[]=@/path/to/document.pdf" operationId: uploadClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: id in: path description: 'The Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA requestBody: required: true content: multipart/form-data: schema: type: object properties: _method: type: string example: POST documents[]: type: array description: | Array of files to upload. The files should be sent with the key name 'documents[]'. Supported file types: - PDF (.pdf) - Word (.doc, .docx) - Excel (.xls, .xlsx) - Images (.jpg, .jpeg, .png) - Text (.txt) Maximum file size: 20MB per file items: type: string format: binary description: The file contents example: "@/path/to/document.pdf" responses: 200: description: 'Returns the client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' '/api/v1/clients/{id}/purge': post: tags: - clients summary: 'Purge client' description: | Handles purging a client. > ❗ Note This is a destructive action. This action will remove all data associated with the client and cannot be undone. x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $ninja->clients->purge('clientId123'); - lang: curl label: curl source: | curl -X POST https://demo.invoiceninja.com/api/v1/clients/clientId123/purge \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "X-Requested-With: XMLHttpRequest" \ -H "X-API-PASSWORD: YOUR-PASSWORD" operationId: purgeClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/X-API-PASSWORD' - name: id in: path description: 'The Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA responses: 200: description: 'Returns the client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' '/api/v1/clients/{id}/{mergeable_client_hashed_id}/merge': post: tags: - clients summary: 'Merge client' description: | Handles merging 2 clients The id parameter is the client that will be the primary client after the merge has completed. The mergeable_client_hashed_id is the client that will be merged into the primary client, this clients records will be updated and associated with the primary client. > 🚨 **Important** This action requires elevated permissions, please note the X-API-PASSWORD header requirements for this route. x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $ninja->clients->merge('primaryClientId', 'mergeableClientId'); - lang: curl label: curl source: | curl -X POST https://demo.invoiceninja.com/api/v1/clients/primaryClientId/mergeableClientId/merge \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "X-Requested-With: XMLHttpRequest" operationId: mergeClient parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/X-API-PASSWORD' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: id in: path description: 'The Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA - name: mergeable_client_hashed_id in: path description: 'The Mergeable Client Hashed ID' required: true schema: type: string format: string example: D2J234DFA responses: 200: description: 'Returns the client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' default: $ref: '#/components/responses/default' /api/v1/client_statement: post: tags: - clients summary: 'Client statement PDF' description: 'Return a PDF of the client statement' operationId: clientStatement x-codeSamples: - lang: php label: php source: | $ninja = new InvoiceNinja("YOUR-TOKEN"); $statement = $ninja->clients->statement([ 'client_id' => 'clientId123', 'start_date' => '2024-01-01', 'end_date' => '2024-12-31', 'show_payments_table' => true, 'show_aging_table' => true ]); - lang: curl label: curl source: | curl -X POST https://demo.invoiceninja.com/api/v1/client_statement \ -H "X-API-TOKEN: YOUR-TOKEN" \ -H "Content-Type: application/json" \ -H "X-Requested-With: XMLHttpRequest" \ -d '{ "client_id": "clientId123", "start_date": "2024-01-01", "end_date": "2024-12-31", "show_payments_table": true, "show_aging_table": true }' parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' requestBody: description: 'Statement Options' required: true content: application/json: schema: properties: start_date: description: 'The start date of the statement period - format Y-m-d' type: string end_date: description: 'The start date of the statement period - format Y-m-d' type: string client_id: description: 'The hashed ID of the client' type: string show_payments_table: description: 'Flag which determines if the payments table is shown' type: boolean show_credits_table: description: 'Flag which determines if the credits table is shown' type: boolean show_aging_table: description: 'Flag which determines if the aging table is shown' type: boolean type: object responses: 200: description: 'Returns the client object' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' content: application/json: schema: $ref: '#/components/schemas/Client' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: '#/components/responses/default' /api/v1/reactivate_email/{bounce_id}: post: tags: - clients summary: 'Removes email suppression of a user in the system' description: 'Emails are suppressed by PostMark, when they receive a Hard bounce / Spam Complaint. This endpoint allows you to remove the suppression and send emails to the user again.' operationId: reactivateEmail parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: bounce_id in: path description: 'The postmark Bounce ID reference' required: true schema: type: string format: string example: 123243 responses: 200: description: 'Success' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' 400: description: 'Postmark exception - generated if the suppression cannot be removed for any reason' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: '#/components/responses/default' /api/v1/clients/{client}/updateTaxData: post: tags: - clients summary: 'Update tax data' description: 'Updates the clients tax data - if their address has changed' operationId: updateClientTaxData parameters: - $ref: '#/components/parameters/X-API-TOKEN' - $ref: '#/components/parameters/X-Requested-With' - $ref: '#/components/parameters/index' - $ref: '#/components/parameters/client_include' - name: client in: path description: 'The Client Hashed ID reference' required: true schema: type: string format: string example: V2J234DFA responses: 200: description: 'Success' headers: X-MINIMUM-CLIENT-VERSION: $ref: '#/components/headers/X-MINIMUM-CLIENT-VERSION' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' 400: description: 'Postmark exception - generated if the suppression cannot be removed for any reason' 401: $ref: '#/components/responses/401' 403: $ref: '#/components/responses/403' 422: $ref: '#/components/responses/422' 429: $ref: '#/components/responses/429' 5XX: description: 'Server error' default: $ref: '#/components/responses/default'
cải xoăn