Ablo Commits API

The commits API from Ablo — 2 operation(s) for commits.

OpenAPI Specification

abloatai-commits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ablo Commits API
  version: 0.55.0
  description: 'Ablo collaboration infrastructure: commit, read, and claim. `{model}` is any model from your pushed schema — the routes are the same whichever it is. Authenticate every request with your API key as a Bearer token.'
  license:
    name: Apache License 2.0
    identifier: Apache-2.0
servers:
- url: https://api.abloatai.com/api
  description: Production
- url: http://localhost:8787/api
  description: Local development
security:
- bearerAuth: []
tags:
- name: commits
paths:
  /v1/commits:
    get:
      tags:
      - commits
      summary: List commit records
      parameters:
      - name: actorId
        in: query
        schema:
          type: string
          minLength: 1
      - name: status
        in: query
        schema:
          anyOf:
          - type: string
            const: queued
          - type: string
            const: confirmed
          - type: string
            const: rejected
      - name: cursor
        in: query
        schema:
          type: string
          minLength: 1
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
      responses:
        '200':
          description: Tenant-scoped commit records
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    readOnly: true
                    type: array
                    items:
                      oneOf:
                      - type: object
                        properties:
                          status:
                            type: string
                            const: queued
                          statusAt:
                            type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          lastSyncId:
                            type: number
                            const: 0
                          correlationId:
                            type: string
                            minLength: 1
                            maxLength: 255
                          id:
                            type: string
                            minLength: 1
                          attempts:
                            readOnly: true
                            minItems: 1
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  minLength: 1
                                observedAt:
                                  type: string
                                  format: date-time
                                  pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                                transport:
                                  type: string
                                  enum:
                                  - http
                                  - websocket
                                  - internal
                                kind:
                                  type: string
                                  enum:
                                  - execution
                                  - replay
                              required:
                              - id
                              - observedAt
                              - transport
                              - kind
                              additionalProperties: false
                          actor:
                            type: object
                            properties:
                              kind:
                                type: string
                                enum:
                                - user
                                - agent
                                - system
                              id:
                                type: string
                                minLength: 1
                            required:
                            - kind
                            - id
                            additionalProperties: false
                          authority:
                            type: object
                            properties:
                              organizationId:
                                type: string
                                minLength: 1
                              projectId:
                                default: null
                                anyOf:
                                - type: string
                                  minLength: 1
                                - type: 'null'
                              branchId:
                                default: null
                                anyOf:
                                - type: string
                                  minLength: 1
                                - type: 'null'
                              syncGroups:
                                type: array
                                items:
                                  type: string
                              operations:
                                type: array
                                items:
                                  type: string
                                  pattern: ^[^.\s]+\.(read|create|update|delete)$
                              participantKind:
                                type: string
                                enum:
                                - user
                                - agent
                                - system
                              participantId:
                                type: string
                                minLength: 1
                              deliveryPartition:
                                default: null
                                anyOf:
                                - type: object
                                  properties:
                                    index:
                                      type: integer
                                      minimum: 0
                                      maximum: 9007199254740991
                                    count:
                                      type: integer
                                      minimum: 2
                                      maximum: 9007199254740991
                                  required:
                                  - index
                                  - count
                                  additionalProperties: false
                                - type: 'null'
                            required:
                            - organizationId
                            - projectId
                            - branchId
                            - syncGroups
                            - operations
                            - participantKind
                            - participantId
                            - deliveryPartition
                            additionalProperties: false
                          claims:
                            readOnly: true
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  minLength: 1
                                target:
                                  type: object
                                  properties:
                                    scope:
                                      type: string
                                      const: row
                                    model:
                                      type: string
                                    id:
                                      type: string
                                    fields:
                                      readOnly: true
                                      type: array
                                      items:
                                        type: string
                                  required:
                                  - scope
                                  - model
                                  - id
                                  additionalProperties: false
                                fenceToken:
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                              required:
                              - id
                              - target
                              - fenceToken
                              additionalProperties: false
                          createdAt:
                            type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          readSet:
                            readOnly: true
                            maxItems: 500
                            type: array
                            items:
                              oneOf:
                              - type: object
                                properties:
                                  target:
                                    oneOf:
                                    - type: object
                                      properties:
                                        scope:
                                          type: string
                                          const: row
                                        model:
                                          type: string
                                        id:
                                          type: string
                                        fields:
                                          readOnly: true
                                          type: array
                                          items:
                                            type: string
                                      required:
                                      - scope
                                      - model
                                      - id
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        scope:
                                          type: string
                                          const: group
                                        group:
                                          type: string
                                          pattern: ^[a-z][a-z0-9_]*:[\s\S]{1,}$
                                      required:
                                      - scope
                                      - group
                                      additionalProperties: false
                                  watermark:
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  lifetime:
                                    type: string
                                    const: commit
                                  onStale:
                                    type: string
                                    enum:
                                    - reject
                                    - overwrite
                                    - notify
                                required:
                                - target
                                - watermark
                                - lifetime
                                - onStale
                                additionalProperties: false
                              - type: object
                                properties:
                                  target:
                                    oneOf:
                                    - type: object
                                      properties:
                                        scope:
                                          type: string
                                          const: row
                                        model:
                                          type: string
                                        id:
                                          type: string
                                      required:
                                      - scope
                                      - model
                                      - id
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        scope:
                                          type: string
                                          const: group
                                        group:
                                          type: string
                                          pattern: ^[a-z][a-z0-9_]*:[\s\S]{1,}$
                                      required:
                                      - scope
                                      - group
                                      additionalProperties: false
                                  watermark:
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  lifetime:
                                    type: string
                                    const: persisted
                                  onStale:
                                    type: string
                                    enum:
                                    - reject
                                    - notify
                                required:
                                - target
                                - watermark
                                - lifetime
                                - onStale
                                additionalProperties: false
                          operations:
                            readOnly: true
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                transactionId:
                                  anyOf:
                                  - type: string
                                  - type: 'null'
                                claimId:
                                  anyOf:
                                  - type: string
                                    minLength: 1
                                  - type: 'null'
                                readAt:
                                  anyOf:
                                  - type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  - type: 'null'
                                onStale:
                                  anyOf:
                                  - type: string
                                    enum:
                                    - reject
                                    - overwrite
                                    - notify
                                  - type: 'null'
                                fenceToken:
                                  anyOf:
                                  - type: number
                                  - type: 'null'
                                action:
                                  type: string
                                model:
                                  type: string
                                data:
                                  type: object
                                  properties:
                                    retention:
                                      type: string
                                      const: redacted
                                  required:
                                  - retention
                                  additionalProperties: false
                              required:
                              - action
                              - model
                              - data
                              additionalProperties: false
                          receipt:
                            type: object
                            properties:
                              clientTxId:
                                type: string
                                minLength: 1
                              serverTxId:
                                type: string
                              ops:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              notifications:
                                type: array
                                items:
                                  oneOf:
                                  - type: object
                                    properties:
                                      object:
                                        type: string
                                        const: stale_notification
                                      target:
                                        readOnly: true
                                        type: object
                                        properties:
                                          model:
                                            type: string
                                          id:
                                            type: string
                                          field:
                                            type: string
                                          fields:
                                            readOnly: true
                                            type: array
                                            items:
                                              type: string
                                          meta:
                                            type: object
                                            additionalProperties: true
                                        required:
                                        - model
                                        - id
                                        additionalProperties: false
                                      readAt:
                                        type: integer
                                        minimum: 0
                                        maximum: 9007199254740991
                                      observedSyncId:
                                        type: integer
                                        minimum: 0
                                        maximum: 9007199254740991
                                      writtenBy:
                                        type: object
                                        properties:
                                          kind:
                                            type: string
                                            enum:
                                            - user
                                            - agent
                                            - system
                                          id:
                                            type: string
                                        required:
                                        - kind
                                        - id
                                        additionalProperties: false
                                      scope:
                                        type: string
                                        const: row
                                      currentValues:
                                        type: object
                                        additionalProperties: true
                                    required:
                                    - object
                                    - target
                                    - readAt
                                    - observedSyncId
                                    - writtenBy
                                    - scope
                                    - currentValues
                                    additionalProperties: false
                                  - type: object
                                    properties:
                                      object:
                                        type: string
                                        const: stale_notification
                                      target:
                                        readOnly: true
                                        type: object
                                        properties:
                                          model:
                                            type: string
                                          id:
                                            type: string
                                          field:
                                            type: string
                                          fields:
                                            readOnly: true
                                            type: array
                                            items:
                                              type: string
                                          meta:
                                            type: object
                                            additionalProperties: true
                                        required:
                                        - model
                                        - id
                                        additionalProperties: false
                                      readAt:
                                        type: integer
                                        minimum: 0
                                        maximum: 9007199254740991
                                      observedSyncId:
                                        type: integer
                                        minimum: 0
                                        maximum: 9007199254740991
                                      writtenBy:
                                        type: object
                                        properties:
                                          kind:
                                            type: string
                                            enum:
                                            - user
                                            - agent
                                            - system
                                          id:
                                            type: string
                                        required:
                                        - kind
                                        - id
                                        additionalProperties: false
                                      scope:
                                        type: string
                                        const: group
                                      group:
                                        type: string
                                        pattern: ^[a-z][a-z0-9_]*:[\s\S]{1,}$
                                      propagation:
                                        readOnly: true
                                        type: object
                                        properties:
                                          via:
                                            type: string
                                            enum:
                                            - self
                                            - parent
                                            - transitive
                                          through:
                                            readOnly: true
                                            type: array
                                            items:
                                              type: string
                                        required:
                                        - via
                                        - through
                                        additionalProperties: false
                                      changed:
                                        type: object
                                        properties:
                                          count:
                                            type: integer
                                            minimum: 0
                                            maximum: 9007199254740991
                                          sample:
                                            readOnly: true
                                            type: array
                                            items:
                                              readOnly: true
                                              type: object
                                              properties:
                                                model:
                                                  type: string
                                                id:
                                                  type: string
                                                field:
                                                  type: string
                                                fields:
                                                  readOnly: true
                                                  type: array
                                                  items:
                                                    type: string
                                                meta:
                                                  type: object
                                                  additionalProperties: true
                                              required:
                                              - model
                                              - id
                                              additionalProperties: false
                                          truncated:
                                            type: boolean
                                        required:
                                        - count
                                        - sample
                                        - truncated
                                        additionalProperties: false
                                    required:
                                    - object
                                    - target
                                    - readAt
                                    - observedSyncId
                                    - writtenBy
                                    - scope
                                    - group
                                    additionalProperties: false
                              missingIds:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                              error:
                                type: object
                                properties:
                                  code:
                                    type: string
                                    minLength: 1
                                  message:
                                    type: string
                                  field:
                                    type: string
                                  request_id:
                                    type: string
                                  event_id:
                                    type: string
                                  requiredCapability:
                                    type: object
                                    properties:
                                      scope:
                                        type: string
                                      constraints:
                                        type: object
                                        additionalProperties:
                                          anyOf:
                                          - type: array
                                            items:
                                              type: string
                                          - type: string
                                      issuer:
                                        type: string
                                      ttlSeconds:
                                        type: number
                                      nonce:
                                        type: string
                                    required:
                                    - scope
                                    additionalProperties: true
                                  details:
                                    type: object
                                    additionalProperties: true
                                required:
                                - code
                                - message
                                additionalProperties: false
                            required:
                            - clientTxId
                            - serverTxId
                            additionalProperties: false
                        required:
                        - status
                        - statusAt
                        - lastSyncId
                        - correlationId
                        - id
                        - attempts
                        - actor
                        - authority
                        - claims
                        - createdAt
                        - readSet
                        - operations
                        - receipt
                        additionalProperties: false
                      - type: object
                        properties:
                          status:
                            type: string
                            const: confirmed
                          statusAt:
                            type: string
                            format: date-time
                            pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                          lastSyncId:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          correlationId:
                            type: string
                            minLength: 1
                            maxLength: 255
                          id:
                            type: string
                            minLength: 1
                          attempts:
                            readOnly: true
                            minItems: 1
    

# --- truncated at 32 KB (204 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/abloatai/refs/heads/main/openapi/abloatai-commits-api-openapi.yml