> ## Documentation Index
> Fetch the complete documentation index at: https://www.rootset.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Create field

> Add a validated field, checking existing values and row bytes.



## OpenAPI

````yaml api-reference/openapi.json POST /v1/orgs/{orgId}/databases/{databaseId}/tables/{tableId}/fields
openapi: 3.1.2
info:
  title: Rootset public API
  version: 0.1.0
  description: >-
    Typed MDM storage. Temporal values are UTC only; IDs are opaque ULIDs.
    Runtime table definitions are discovered through the schema endpoint.
servers:
  - url: http://localhost:4310
security: []
paths:
  /v1/orgs/{orgId}/databases/{databaseId}/tables/{tableId}/fields:
    post:
      tags:
        - schema
      summary: Add a validated field, checking existing values and row bytes.
      operationId: createField
      parameters:
        - name: orgId
          in: path
          required: true
          schema:
            type: string
            pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
          example: 01K6J7B8000000000000000000
        - name: databaseId
          in: path
          required: true
          schema:
            type: string
            pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
          example: 01K6J7B8000000000000000000
        - name: tableId
          in: path
          required: true
          schema:
            type: string
            pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
          example: 01K6J7B8000000000000000000
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            minLength: 8
            maxLength: 255
          description: >-
            Bound to actor, operation, target, schema version and canonical
            payload; changed input returns 409.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedSchemaVersion:
                  type: integer
                  minimum: 1
                  maximum: 2147483647
                field:
                  anyOf:
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: text
                        charLimit:
                          type: integer
                          exclusiveMinimum: 0
                          maximum: 65536
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: integer
                        min:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        max:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: float
                        min:
                          type: number
                        max:
                          type: number
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: uri
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: url
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: image
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: boolean
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: date
                        min:
                          type: string
                          pattern: ^(?!0000)\d{4}-\d{2}-\d{2}$
                          format: date
                          examples:
                            - '2024-01-01'
                        max:
                          type: string
                          pattern: ^(?!0000)\d{4}-\d{2}-\d{2}$
                          format: date
                          examples:
                            - '2024-01-01'
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: time
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: date-time
                        min:
                          type: string
                          pattern: >-
                            ^(?!0000)\d{4}-\d{2}-\d{2}T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,3})?Z$
                          format: date-time
                          description: >-
                            UTC instant with mandatory Z and at most three
                            fractional digits.
                          examples:
                            - '2024-01-01T12:30:00.000Z'
                        max:
                          type: string
                          pattern: >-
                            ^(?!0000)\d{4}-\d{2}-\d{2}T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,3})?Z$
                          format: date-time
                          description: >-
                            UTC instant with mandatory Z and at most three
                            fractional digits.
                          examples:
                            - '2024-01-01T12:30:00.000Z'
                      required:
                        - name
                        - type
                      additionalProperties: false
                    - type: object
                      properties:
                        name:
                          type: string
                          minLength: 1
                          maxLength: 64
                          pattern: ^[A-Za-z_]+$
                        required:
                          type: boolean
                        default:
                          description: >-
                            Any finite JSON value. Cell size/depth and typed
                            numeric policies are enforced by the domain
                            validator.
                          anyOf:
                            - type: 'null'
                            - type: boolean
                            - type: number
                            - type: string
                            - type: array
                              items: {}
                            - type: object
                              additionalProperties: {}
                        order:
                          type: integer
                          minimum: 0
                          maximum: 199
                        type:
                          type: string
                          const: json
                      required:
                        - name
                        - type
                      additionalProperties: false
              required:
                - expectedSchemaVersion
                - field
              additionalProperties: false
            example:
              expectedSchemaVersion: 1
              field:
                name: example
                type: text
      responses:
        '201':
          description: >-
            Committed synchronous result or accepted durable job; polling is
            required for terminal verification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createFieldOutput'
        '202':
          description: >-
            Committed synchronous result or accepted durable job; polling is
            required for terminal verification.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createFieldOutput'
        '400':
          description: Malformed request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Missing, expired, revoked or wrong-audience credential.
          headers:
            WWW-Authenticate:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '403':
          description: Insufficient current authority.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: Unknown or undisclosed target.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '408':
          description: >-
            Ordinary JSON request body did not finish within its bounded read
            deadline.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '409':
          description: Revision, schema, uniqueness or idempotency conflict.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '413':
          description: Payload or output budget exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '422':
          description: Typed validation failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: Rate, concurrency or admission limit.
          headers:
            Retry-After:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '500':
          description: Redacted internal failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '502':
          description: A required upstream service is unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '503':
          description: >-
            A required service is unavailable. Check service configuration
            before retrying.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      security:
        - apiKey: []
        - oauth:
            - schema:manage
components:
  schemas:
    createFieldOutput:
      anyOf:
        - type: object
          properties:
            table:
              type: object
              properties:
                id:
                  type: string
                  pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                databaseId:
                  type: string
                  pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                orgId:
                  type: string
                  pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                name:
                  type: string
                  minLength: 1
                  maxLength: 255
                description:
                  anyOf:
                    - type: string
                      maxLength: 4096
                    - type: 'null'
                schemaVersion:
                  type: integer
                  minimum: 1
                  maximum: 2147483647
                rowCount:
                  type: integer
                  minimum: 0
                  maximum: 5000000
                state:
                  type: string
                  enum:
                    - active
                    - creating
                    - maintenance
                    - deleting
                    - deleted
                    - failed
                createdAt:
                  type: string
                  pattern: >-
                    ^(?!0000)\d{4}-\d{2}-\d{2}T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,3})?Z$
                  format: date-time
                  description: >-
                    UTC instant with mandatory Z and at most three fractional
                    digits.
                  examples:
                    - '2024-01-01T12:30:00.000Z'
                updatedAt:
                  type: string
                  pattern: >-
                    ^(?!0000)\d{4}-\d{2}-\d{2}T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,3})?Z$
                  format: date-time
                  description: >-
                    UTC instant with mandatory Z and at most three fractional
                    digits.
                  examples:
                    - '2024-01-01T12:30:00.000Z'
              required:
                - id
                - databaseId
                - orgId
                - name
                - schemaVersion
                - rowCount
                - state
                - createdAt
                - updatedAt
              additionalProperties: false
            fields:
              maxItems: 200
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: text
                      charLimit:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 65536
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: integer
                      min:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      max:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: float
                      min:
                        type: number
                      max:
                        type: number
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: uri
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: url
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: image
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: boolean
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: date
                      min:
                        type: string
                        pattern: ^(?!0000)\d{4}-\d{2}-\d{2}$
                        format: date
                        examples:
                          - '2024-01-01'
                      max:
                        type: string
                        pattern: ^(?!0000)\d{4}-\d{2}-\d{2}$
                        format: date
                        examples:
                          - '2024-01-01'
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: time
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: date-time
                      min:
                        type: string
                        pattern: >-
                          ^(?!0000)\d{4}-\d{2}-\d{2}T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,3})?Z$
                        format: date-time
                        description: >-
                          UTC instant with mandatory Z and at most three
                          fractional digits.
                        examples:
                          - '2024-01-01T12:30:00.000Z'
                      max:
                        type: string
                        pattern: >-
                          ^(?!0000)\d{4}-\d{2}-\d{2}T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d{1,3})?Z$
                        format: date-time
                        description: >-
                          UTC instant with mandatory Z and at most three
                          fractional digits.
                        examples:
                          - '2024-01-01T12:30:00.000Z'
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
                  - type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                      name:
                        type: string
                        minLength: 1
                        maxLength: 64
                        pattern: ^[A-Za-z_]+$
                      required:
                        type: boolean
                      default:
                        description: >-
                          Any finite JSON value. Cell size/depth and typed
                          numeric policies are enforced by the domain validator.
                        anyOf:
                          - type: 'null'
                          - type: boolean
                          - type: number
                          - type: string
                          - type: array
                            items: {}
                          - type: object
                            additionalProperties: {}
                      order:
                        type: integer
                        minimum: 0
                        maximum: 199
                      type:
                        type: string
                        const: json
                    required:
                      - id
                      - name
                      - type
                    additionalProperties: false
            uniqueRules:
              maxItems: 16
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                  tableId:
                    type: string
                    pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                  fieldIds:
                    minItems: 1
                    maxItems: 8
                    type: array
                    items:
                      type: string
                      pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                  nullPolicy:
                    type: string
                    const: distinct
                  state:
                    type: string
                    enum:
                      - building
                      - active
                      - failed
                      - deleting
                  strategy:
                    type: string
                    enum:
                      - native
                      - registry
                  jobId:
                    type: string
                    pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
                  error:
                    type: string
                required:
                  - id
                  - tableId
                  - fieldIds
                  - nullPolicy
                  - state
                  - strategy
                additionalProperties: false
            operators:
              type: object
              propertyNames:
                type: string
              additionalProperties:
                type: array
                items:
                  type: string
            limits:
              type: object
              propertyNames:
                type: string
              additionalProperties:
                type: number
            schemaOperationId:
              type: string
              pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
          required:
            - table
            - fields
            - uniqueRules
            - operators
            - limits
          additionalProperties: false
        - type: object
          properties:
            jobId:
              type: string
              pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
            state:
              type: string
              enum:
                - queued
                - running
                - succeeded
                - failed
                - cancelled
                - partially_completed
            statusUrl:
              type: string
          required:
            - jobId
            - state
            - statusUrl
          additionalProperties: false
    ErrorEnvelope:
      type: object
      required:
        - error
      additionalProperties: false
      properties:
        error:
          type: object
          required:
            - code
            - message
            - requestId
          additionalProperties: false
          properties:
            code:
              type: string
              description: >-
                Known domain codes are published in ErrorCode; unknown future
                codes remain valid.
              x-rootset-known-error-codes:
                - VALIDATION_FAILED
                - UNAUTHENTICATED
                - ACCESS_DENIED
                - FORBIDDEN
                - LAST_ADMIN
                - INSUFFICIENT_SCOPE
                - PERSONAL_IDENTITY_REQUIRED
                - DELEGATION_EXCEEDS_AUTHORITY
                - RESOURCE_NOT_FOUND
                - ROW_VERSION_CONFLICT
                - SCHEMA_VERSION_CONFLICT
                - UNIQUE_CONFLICT
                - ROW_SIZE_LIMIT
                - ROW_LIMIT_REACHED
                - PAYLOAD_TOO_LARGE
                - REQUEST_TIMEOUT
                - QUERY_TIMEOUT
                - CURSOR_INVALID
                - STEP_UP_REQUIRED
                - IDEMPOTENCY_CONFLICT
                - JOB_FAILED
                - RATE_LIMITED
                - CAPACITY_LIMIT
                - SCHEMA_MAINTENANCE
                - ARTIFACT_UNVERIFIED
                - ARTIFACT_EXPIRED
                - CONFIGURATION_INVALID
                - DEPENDENCY_UNAVAILABLE
                - INTERNAL_ERROR
            message:
              type: string
            requestId:
              type: string
            details: {}
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: Rootset personal API key
    oauth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: http://localhost:4310/oauth/authorize
          tokenUrl: http://localhost:4310/oauth/token
          scopes:
            profile:manage: >-
              Current profile:manage authority; the live role ceiling still
              applies.
            account:security: >-
              Current account:security authority; the live role ceiling still
              applies.
            org:read: Current org:read authority; the live role ceiling still applies.
            org:manage: Current org:manage authority; the live role ceiling still applies.
            members:read: >-
              Current members:read authority; the live role ceiling still
              applies.
            members:manage: >-
              Current members:manage authority; the live role ceiling still
              applies.
            keys:manage: >-
              Current keys:manage authority; the live role ceiling still
              applies.
            team-keys:manage: >-
              Current team-keys:manage authority; the live role ceiling still
              applies.
            databases:read: >-
              Current databases:read authority; the live role ceiling still
              applies.
            databases:manage: >-
              Current databases:manage authority; the live role ceiling still
              applies.
            tables:read: >-
              Current tables:read authority; the live role ceiling still
              applies.
            tables:manage: >-
              Current tables:manage authority; the live role ceiling still
              applies.
            schema:manage: >-
              Current schema:manage authority; the live role ceiling still
              applies.
            rows:read: Current rows:read authority; the live role ceiling still applies.
            rows:write: Current rows:write authority; the live role ceiling still applies.
            history:read: >-
              Current history:read authority; the live role ceiling still
              applies.
            exports:read: >-
              Current exports:read authority; the live role ceiling still
              applies.
            jobs:read: Current jobs:read authority; the live role ceiling still applies.
            jobs:cancel: >-
              Current jobs:cancel authority; the live role ceiling still
              applies.
            jobs:retry: Current jobs:retry authority; the live role ceiling still applies.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.