{ "opencollection": "1.0.0", "info": { "name": "Embat AccountingAccounts Contacts API", "version": "2.120.3" }, "items": [ { "info": { "name": "Contacts", "type": "folder" }, "items": [ { "info": { "name": "List contacts", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/contacts/:companyId", "params": [ { "name": "companyId", "value": "", "type": "path" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of objects to return in the response. Default 500, maximum 2000." }, { "name": "nextPageToken", "value": "", "type": "query", "description": "Token to fetch the next page of results, taken from the `nextPageToken` returned by the previous request with the same filters. Omit it to fetch the first page. An invalid or malformed token is rejected with `404`." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns the contacts (clients/suppliers) of a company. Results are paginated: use `limit` to control page size and pass the returned `nextPageToken` to fetch the next page." }, { "info": { "name": "Create contact", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/contacts/:companyId", "params": [ { "name": "companyId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates a contact (client/supplier). If `customId` is omitted, Embat auto-generates one. Calling this endpoint again with a `customId` that already exists **updates** the existing contact instead of creating a duplicate or raising a conflict error; if the submitted data is identical to the stored contact, the call is a no-op." }, { "info": { "name": "Update contacts in bulk", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/contacts/:companyId", "params": [ { "name": "companyId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Updates several contacts in a single call, identified by `customId`. Entries whose `customId` does not match any contact are silently skipped — the call returns `200` for the whole batch. Contacts sharing the same `customId` within the request are deduplicated and only the first occurrence is processed." }, { "info": { "name": "Delete contacts in bulk", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/contacts/:companyId", "params": [ { "name": "companyId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Deletes several contacts in a single call, identified by `customId`. Entries whose `customId` does not match any contact are silently skipped — no error is raised and the call still returns `200` for the whole batch." }, { "info": { "name": "Retrieve contact", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/contacts/:companyId/:customId", "params": [ { "name": "customId", "value": "", "type": "path" }, { "name": "companyId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Returns a single contact by `customId`." }, { "info": { "name": "Update contact", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/contacts/:companyId/:customId", "params": [ { "name": "customId", "value": "", "type": "path" }, { "name": "companyId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Updates a contact identified by `customId`. Note that updating a `customId` that does not match any contact also returns `200` without applying any change — no `404` is raised." }, { "info": { "name": "Delete contact", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/contacts/:companyId/:customId", "params": [ { "name": "customId", "value": "", "type": "path" }, { "name": "companyId", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Deletes a contact by `customId`. If `customId` does not match any contact, no error is raised — the call still returns `200`." }, { "info": { "name": "Create contacts in bulk", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/contacts/:companyId/bulk", "params": [ { "name": "companyId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Creates several contacts in a single call, following the same rules as the single contact creation endpoint: a `customId` that already exists updates the existing contact rather than creating a duplicate. Contacts sharing the same `customId` within the request are deduplicated and only the first occurrence is processed." } ] } ], "bundled": true }