Corendis Developers
Preview: the public API is not live yet. The guides are drafts shared before the first endpoints open and may change.

Errors

Draft.

Format

Errors are returned as RFC 9457 problem details (Content-Type: application/problem+json). Main fields:

Field Meaning
type Machine-readable error type. Your program should branch on this.
title Short human-readable description. Not part of the contract and may change.
status HTTP status code.
code A machine code that describes some errors in more detail (extension member).
Other extensions Error-specific extra fields (for example module).

Example:

{
  "type": "license/module-not-entitled",
  "title": "Bu modül lisansınızda veya koltuğunuzda yok.",
  "status": 403,
  "module": "<module-code>"
}

Note: type values are currently relative strings such as license/module-not-entitled. The title text is currently in Turkish.

License errors and permission errors are different

Both return 403; the difference is in type. The license check runs before the permission check.

type Status Meaning What to do
license/module-not-entitled 403 The module you called is not in your company's license or your integration seat. The module field gives the module code. Contact BilgiTek or your account manager about a license or package change. Retrying will not help.
license/read-only 403 The subscription is in read-only mode; write requests are rejected. Reading and export remain available. Renew the subscription. You can keep sending read requests.
authz/forbidden 403 The license is fine but the client has no permission for this operation. Ask BilgiTek to change the permissions (see Authentication).

Even after a subscription expires, access to your data is never locked: reading, reports and export always remain open.

HTTP status codes

Statuses that appear in the code and in contract decisions:

Code When
400 Invalid request; for example an undecodable page cursor or a page size outside the allowed range.
401 Authentication failed (missing, invalid or expired token).
403 License or permission error (table above).
409 Conflict; for example the record already exists. The response may contain code.
422 Semantically invalid request; for example the same Idempotency-Key sent with a different body. The response may contain code.

Recommended handling

  1. Check status first, then type; never branch on the title text.
  2. On license/read-only, you may queue writes and keep reading.
  3. Do not auto-retry license/module-not-entitled or authz/forbidden.