API ReferenceEndpointsPublic API (v1)List order custom field definitions

List order custom field definitions

The merchant-defined fields that can be written onto an order. Call this first to discover the key and type of each field — those keys are what PATCH /v1/orders/{id}/custom-fields accepts. Inactive definitions are included so a caller can tell "the merchant disabled this field" apart from "the merchant never created it".

GET
/v1/order-custom-fields
AuthorizationBearer <token>

Admin API key (server-to-server). Issue via the dashboard at Settings → API keys. Plain-text key is shown once — store in a secret manager. Format: Authorization: Bearer brainerce_xxxxxxxxx.

In: header

curl -X GET "https://api.brainerce.com/api/v1/order-custom-fields"
[
  {
    "id": "clx1a2b3c4d5e6f7g8h9",
    "storeId": "clx1a2b3c4d5e6f7g8h9",
    "name": "Licence key",
    "key": "licence_key",
    "description": "Licence key issued by the vendor",
    "type": "TEXT",
    "required": true,
    "isPublic": true,
    "position": 0,
    "isActive": true,
    "options": [
      {
        "value": "string",
        "label": "string"
      }
    ],
    "minLength": 1,
    "maxLength": 200,
    "minValue": "string",
    "maxValue": "string",
    "dateAvailability": {
      "minDate": "string",
      "maxDate": "string",
      "blockedWeekdays": [
        6
      ],
      "blockedDates": [
        "string"
      ],
      "businessHours": [
        {
          "weekday": 6,
          "open": "string",
          "close": "string"
        }
      ],
      "slotDurationMinutes": 0
    },
    "translations": {},
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
]

{
  "statusCode": 401,
  "code": "UNAUTHORIZED",
  "message": "Invalid or expired credential",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/order-custom-fields"
}

{
  "statusCode": 403,
  "code": "INSUFFICIENT_SCOPE",
  "message": "API key does not have the required scope: products:write",
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/order-custom-fields"
}

{
  "statusCode": 429,
  "code": "RATE_LIMITED",
  "message": "Too many requests",
  "details": {
    "retryAfterSeconds": 12
  },
  "timestamp": "2026-08-23T10:15:00.000Z",
  "path": "/api/v1/store"
}