API reference

Record types

Every path is under https://impartire.com/api/v1. Generated from the API’s own contract, openapi.json (OpenAPI 3.1), which you can load into any OpenAPI tool. Errors are Problems — see Conventions.

GET/api/v1/record-types

List the org's record types and their fields

Every live record type of the org (custom objects: a Product, a Contract…), by name, each with its live field definitions in the app's form order — the contract fields on POST / PATCH /records is validated against. A reference field names its target in reference_target. Deprecated definitions, and for an OAuth token the ones its person may not read, are left out. The list is returned whole. All 404 when the org does not have custom records.

Scopes: records:read

Response 200RecordTypeList
  • dataarray of RecordTyperequired
    • idstring (uuid)required
    • namestringrequired
    • kind"record"required
    • fieldsarray of RecordFieldrequired

      The type's live field definitions, in the app's form order. Deprecated fields, and for an OAuth token the fields its person may not read, are left out.

      • idstring (uuid)required
      • keystringrequired

        The key a value is stored under in an asset's fields.

      • namestringrequired

        The field's label, as the app shows it.

      • typestringrequired

        text | url (a string) · select (one option value) · multiselect (an array of option values) · date (YYYY-MM-DD) · datetime (epoch milliseconds) · number · reference (an id, or an array of ids when multiple). More may be added.

      • requiredbooleanrequired

        Required for the asset to be ready (a workflow gate may wait on it). Not enforced on a write: an asset may be created empty and filled in later.

      • multiplebooleanrequired

        For a reference field, whether the value is an array of ids.

      • optionsarray of object or nullrequired

        For select and multiselect, the accepted values (store value; label is for display). Null for every other type.

        • valuestringrequired
        • labelstringrequired
      • reference_targetobject or nullrequired

        For a reference field, its target. Null for every other type.

        • kind"asset" | "record" | "project"required

          What the field points at: an asset, a record, or a project of the org.

        • type_idstring (uuid) or nullrequired

          For record, the record type the target must be of (GET /api/v1/record-types); null otherwise.

  • next_cursorstring or nullrequired

    Always null: the list is returned whole.

Other responses
  • 401 unauthenticated — no key, or an unknown, revoked or expired one.
  • 403 insufficient-scope — the key lacks a required scope.
  • 404 not-found.
  • 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
  • 500 internal.