{ "aid": "sellsy.com:main-2.128.0", "name": "Sellsy API", "type": "Index", "description": "Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with the required [environment variables](dist/postman/Environment.json)\n\nFind out the [Changelog](changelog.html)\n# Errors\n\nThe errors are returned in JSON with the following format:\n```\n{\n \"error\": {\n \"code\": HTTP_CODE,\n \"message\": \"Error message\",\n \"context\": \"Error context code\"\n \"details\": {\n \"FIELD\": \"Error message\"\n }\n}\n```\n\nThe `details` field can contain an object that details the error. It is used in particular during validation to return the invalid fields\n\n\n| HTTP Code | Description |\n| ------------- | ------------- |\n| 400 | Validation and logic errors |\n| 401 | Authentification errors |\n| 402 | Quotas limit reached or limit of feature reached on your current plan |\n| 403 | Insufficient privileges |\n| 404 | Page not found |\n| 409 | A request conflicts with the current state of the server |\n| 413 | Payload is too large |\n| 429 | Quotas of requests reached (See quotas section) |\n| 5xx | Server errors |\n\n\n# Versioning\n\nThis API is versioned, the modifications carried out on this one should not generate regression if you respect the following recommendations:\n\n- A new field can be added, your code must authorize this\n- A new error code can be added, your code must deal with unknown errors\n- On lists, values can be added\n- A missing field is not equal to `null`\n\nTo target a specific **major** version of the API, just precise the number in the url: `{url}/v2/{endpoint}`\n\n# Quotas\n\nA limit on the number of requests per second, minute, day and/or month is applied to each user account.\n\nA 429 error will be sent if at least one of the quotas has reached zero.\n\nYou can know your remaining quota through the headers of the response:\n- `X-Quota-Remaining-By-Second`\n- `X-Quota-Remaining-By-Minute`\n- `X-Quota-Remaining-By-Day`\n- `X-Quota-Remaining-By-Month`\n\nThe quotas are counted on each request, even in the event of an error. On the scripts generating a lot of requests, it is therefore necessary to check these values before returning requests.\n\nA new 402 error code has created. This error appears when you try to create ressources like a pipeline or custom fields and the quota limit has been reached.\n\n# Pagination on list and search requests\nOn list and search requests, the pagination offset can be typed as either an int or a string, depending on the pagination method used.\n\nWe provide 2 ways to interact with the pagination.\n### 1. \"Seek\" method\nThe offset value represents the LAST object in the response list, it's the default one used.\n\n**We recommend to use the \"seek\" method, it has better performance and includes optimizations.**\n```\nGET {{url}}/comments?limit=1 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"WyIxMSJd\"\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=WyIxMSJd {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"SoIxNyJd\"\n }\n}\n```\n### 2. Numeric offset method\nThe second method, more classical, where the offset corresponds to the number of the result page, it must be explicitly specified in the first request.\n\n**We have applied a limit to the first 100 000 results on this method, for performance purposes.**\n```\nGET {{url}}/comments?limit=1&offset=0 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 0\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=1 {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 1\n }\n}\n```\n# Embed objects\nAdditional objects can be included in the result, and are specified on each endpoint under the `embed` parameter. Those objects may require different OAuth2 scopes than the main endpoint, and will automatically be `null` if the scopes are not respected. Usually, the scopes are listed in the description of the parameter.", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/sellsy.com/main/2.128.0/apis.json", "tags": [ "sellsy.com", "main" ], "created": "2026-04-01", "modified": "2026-04-01", "specificationVersion": "0.19", "access": "3rd-Party", "maintainers": [ { "FN": "Jentic", "X-github": "jentic", "url": "https://github.com/jentic" } ], "apis": [ { "aid": "sellsy.com:main-2.128.0", "name": "Sellsy API", "description": "Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with the required [environment variables](dist/postman/Environment.json)\n\nFind out the [Changelog](changelog.html)\n# Errors\n\nThe errors are returned in JSON with the following format:\n```\n{\n \"error\": {\n \"code\": HTTP_CODE,\n \"message\": \"Error message\",\n \"context\": \"Error context code\"\n \"details\": {\n \"FIELD\": \"Error message\"\n }\n}\n```\n\nThe `details` field can contain an object that details the error. It is used in particular during validation to return the invalid fields\n\n\n| HTTP Code | Description |\n| ------------- | ------------- |\n| 400 | Validation and logic errors |\n| 401 | Authentification errors |\n| 402 | Quotas limit reached or limit of feature reached on your current plan |\n| 403 | Insufficient privileges |\n| 404 | Page not found |\n| 409 | A request conflicts with the current state of the server |\n| 413 | Payload is too large |\n| 429 | Quotas of requests reached (See quotas section) |\n| 5xx | Server errors |\n\n\n# Versioning\n\nThis API is versioned, the modifications carried out on this one should not generate regression if you respect the following recommendations:\n\n- A new field can be added, your code must authorize this\n- A new error code can be added, your code must deal with unknown errors\n- On lists, values can be added\n- A missing field is not equal to `null`\n\nTo target a specific **major** version of the API, just precise the number in the url: `{url}/v2/{endpoint}`\n\n# Quotas\n\nA limit on the number of requests per second, minute, day and/or month is applied to each user account.\n\nA 429 error will be sent if at least one of the quotas has reached zero.\n\nYou can know your remaining quota through the headers of the response:\n- `X-Quota-Remaining-By-Second`\n- `X-Quota-Remaining-By-Minute`\n- `X-Quota-Remaining-By-Day`\n- `X-Quota-Remaining-By-Month`\n\nThe quotas are counted on each request, even in the event of an error. On the scripts generating a lot of requests, it is therefore necessary to check these values before returning requests.\n\nA new 402 error code has created. This error appears when you try to create ressources like a pipeline or custom fields and the quota limit has been reached.\n\n# Pagination on list and search requests\nOn list and search requests, the pagination offset can be typed as either an int or a string, depending on the pagination method used.\n\nWe provide 2 ways to interact with the pagination.\n### 1. \"Seek\" method\nThe offset value represents the LAST object in the response list, it's the default one used.\n\n**We recommend to use the \"seek\" method, it has better performance and includes optimizations.**\n```\nGET {{url}}/comments?limit=1 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"WyIxMSJd\"\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=WyIxMSJd {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"SoIxNyJd\"\n }\n}\n```\n### 2. Numeric offset method\nThe second method, more classical, where the offset corresponds to the number of the result page, it must be explicitly specified in the first request.\n\n**We have applied a limit to the first 100 000 results on this method, for performance purposes.**\n```\nGET {{url}}/comments?limit=1&offset=0 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 0\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=1 {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 1\n }\n}\n```\n# Embed objects\nAdditional objects can be included in the result, and are specified on each endpoint under the `embed` parameter. Those objects may require different OAuth2 scopes than the main endpoint, and will automatically be `null` if the scopes are not respected. Usually, the scopes are listed in the description of the parameter.", "image": "./resources/sellsy.png", "baseURL": "https://api.sellsy.com/v2", "humanURL": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/sellsy.com/main/2.128.0", "version": "2.128.0", "tags": [ "sellsy.com", "main" ], "properties": [ { "type": "OpenAPI", "name": "OpenAPI definition", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/sellsy.com/main/2.128.0/openapi.json", "mediaType": "application/openapi+json" }, { "type": "GitHubRepo", "url": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/sellsy.com/main/2.128.0" } ], "contact": [ { "FN": "api@sellsy.com", "email": "api@sellsy.com" } ] } ] }