List contracts
const url = 'https://api.ebitex.io/content/management/v1/contracts';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.ebitex.io/content/management/v1/contracts \ --header 'Authorization: Bearer <token>'Lists the contracts in the key’s environment, ordered by name, as summaries: id, externalId, name, isAbstract, parentContractId and defaultFolderId. A contract synced from an external content provider carries providerSourceKey, and every contract carries realmId, the realm that owns it; a contract synced from a provider is read-only here, and so is one owned by a realm above the key’s own.
category takes a category id and is repeatable; a contract must be tagged with every one given. Sub-categories are not included.
Paging is by number: page starts at 1 and pageSize defaults to 20. A pageSize above 100 is reduced to 100, and the response’s own pageSize is the one used, so page on that rather than on what you asked for. Offset paging is not stable while the environment is being written to: a row created or deleted ahead of your position shifts every later page, so a walk can repeat some rows and skip others. To enumerate everything, for example to build an external id to id index before an apply, use GET /items with kind, which pages by cursor and neither repeats nor skips a row.
Key: a management key with content.management.read.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters”Responses
Section titled “ Responses ”{ "items": [ … ], "totalCount": 42, "page": 1, "pageSize": 20 }
missing_api_key or invalid_api_key: no key was sent, or it is unknown, revoked or expired.
payment_required: the organization’s subscription needs attention.
scope_denied: the key lacks this route’s scope. tier_required: the Content Management API needs the Pro plan or above. ip_denied: the caller’s address is outside the key’s allowed ranges. app_not_available: Content is not enabled for the organization.
Rate limit or quota exceeded; Retry-After says how long to wait. too_many_failed_authentications: too many bad keys from this address.