openapi: 3.1.0
info:
  title: Adios public API
  version: 1.0.0
  description: Reviewed core customer-facing API. Header and custom operation contracts
    follow the public Postman catalog.
servers:
- url: https://api.adios.dev
  description: Production
paths:
  /v1/team:
    get:
      operationId: public_get_v1_team
      tags:
      - Teams
      summary: List teams
      description: Returns a paginated list of Team
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of Team
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        description:
                          type: string
                          default: ''
                          maxLength: 500
                        owner_id:
                          type: string
                          format: ksuid
                        parent_id:
                          type: string
                          format: ksuid
                        status:
                          type: string
                          default: active
                          enum:
                          - active
                          - inactive
                          - suspended
                          - deleted
                        team_id:
                          type: string
                          format: ksuid
                        title:
                          type: string
                          minLength: 2
                          maxLength: 50
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                      required:
                      - team_id
                      - owner_id
                      - title
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - created_at: 1791072000
                  deleted_at: 0
                  description: ''
                  owner_id: '000000000000000000000000001'
                  parent_id: '000000000000000000000000001'
                  status: active
                  team_id: '000000000000000000000000001'
                  title: Postman example
                  updated_at: 1791072000
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_team
      tags:
      - Teams
      summary: Create team
      description: 'Creates a new Team


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `description` | string | no |  Default: `""`. |

        | `owner_id` | string | yes |  |

        | `parent_id` | string | no |  |

        | `status` | string | yes |  Allowed: active, inactive, suspended, deleted.
        Default: `"active"`. |

        | `title` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team model
              properties:
                description:
                  type: string
                  default: ''
                  maxLength: 500
                owner_id:
                  type: string
                  format: ksuid
                parent_id:
                  type: string
                  format: ksuid
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - inactive
                  - suspended
                  - deleted
                title:
                  type: string
                  minLength: 2
                  maxLength: 50
              required:
              - owner_id
              - title
              - status
            example:
              owner_id: YOUR_USER_ID
              title: Postman example team
              status: active
      responses:
        '201':
          description: Team created
          content:
            application/json:
              schema:
                type: object
                description: Team model
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  description:
                    type: string
                    default: ''
                    maxLength: 500
                  owner_id:
                    type: string
                    format: ksuid
                  parent_id:
                    type: string
                    format: ksuid
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - inactive
                    - suspended
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    minLength: 2
                    maxLength: 50
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                required:
                - team_id
                - owner_id
                - title
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                description: ''
                owner_id: '000000000000000000000000001'
                parent_id: '000000000000000000000000001'
                status: active
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
  /v1/team/{id}:
    get:
      operationId: public_get_v1_team_id
      tags:
      - Teams
      summary: Get team
      description: 'Returns a single Team


        Set `team_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Team
          content:
            application/json:
              schema:
                type: object
                description: Team model
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  description:
                    type: string
                    default: ''
                    maxLength: 500
                  owner_id:
                    type: string
                    format: ksuid
                  parent_id:
                    type: string
                    format: ksuid
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - inactive
                    - suspended
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    minLength: 2
                    maxLength: 50
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                required:
                - team_id
                - owner_id
                - title
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                description: ''
                owner_id: '000000000000000000000000001'
                parent_id: '000000000000000000000000001'
                status: active
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
    put:
      operationId: public_put_v1_team_id
      tags:
      - Teams
      summary: Update team
      description: 'Updates an existing Team


        Set `team_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `description` | string | no |  Default: `""`. |

        | `owner_id` | string | yes |  |

        | `parent_id` | string | no |  |

        | `status` | string | yes |  Allowed: active, inactive, suspended, deleted.
        Default: `"active"`. |

        | `title` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team model
              properties:
                description:
                  type: string
                  default: ''
                  maxLength: 500
                owner_id:
                  type: string
                  format: ksuid
                parent_id:
                  type: string
                  format: ksuid
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - inactive
                  - suspended
                  - deleted
                title:
                  type: string
                  minLength: 2
                  maxLength: 50
              required:
              - owner_id
              - title
              - status
            example:
              owner_id: YOUR_USER_ID
              title: Postman example team
              status: active
      responses:
        '200':
          description: Team updated
          content:
            application/json:
              schema:
                type: object
                description: Team model
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  description:
                    type: string
                    default: ''
                    maxLength: 500
                  owner_id:
                    type: string
                    format: ksuid
                  parent_id:
                    type: string
                    format: ksuid
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - inactive
                    - suspended
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    minLength: 2
                    maxLength: 50
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                required:
                - team_id
                - owner_id
                - title
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                description: ''
                owner_id: '000000000000000000000000001'
                parent_id: '000000000000000000000000001'
                status: active
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
    delete:
      operationId: public_delete_v1_team_id
      tags:
      - Teams
      summary: Delete team
      description: 'Deletes a Team


        Set `team_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/workload:
    get:
      operationId: public_get_v1_workload
      tags:
      - Workloads
      summary: List workloads
      description: Returns a paginated list of Workload
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of Workload
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        allow_default_domain:
                          type: boolean
                          description: Whether to allow access via the default *.adios.run
                            domain when a custom domain is configured
                          default: true
                        branch:
                          type: string
                          description: Git branch or tag
                          default: main
                        build_id:
                          type: string
                          description: Link to specific build artifact
                        config:
                          type: object
                          description: Workload specific configuration (e.g. cron
                            schedule, queue name, db user)
                          additionalProperties:
                            type: string
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        current_source_artifact_id:
                          type: string
                          description: API source artifact record for the currently
                            deployed build
                          default: ''
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        domain:
                          type: string
                          description: Generated *.adios.run hostname or a verified
                            user-owned custom domain; *.adios.dev and custom *.adios.run
                            assignments are reserved
                        env_vars:
                          type: object
                          additionalProperties:
                            type: string
                        image:
                          type: string
                          description: Docker image or rootfs location
                        name:
                          type: string
                          minLength: 3
                          maxLength: 60
                        node_id:
                          type: string
                          format: ksuid
                        parent_id:
                          type: string
                          format: ksuid
                        port:
                          type: integer
                          format: int32
                          description: Network port the workload listens on
                          default: 8080
                        region:
                          type: string
                          default: default
                        repository_url:
                          type: string
                          description: Git repository URL
                        requires:
                          type: object
                          description: List of required capabilities or services
                          additionalProperties:
                            type: string
                        resources:
                          type: object
                          description: Resource requirements (cpu, ram, disk)
                          additionalProperties:
                            type: string
                        status:
                          type: string
                          default: provisioning
                        team_id:
                          type: string
                          format: ksuid
                        template:
                          type: string
                          description: Template name and version (e.g. postgres:16)
                        type:
                          type: string
                          default: api
                          enum:
                          - app
                          - api
                          - worker
                          - function
                          - cron
                          - queue
                          - database
                          - cache
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        variant:
                          type: string
                          default: ''
                        version:
                          type: string
                          description: Semantic version or commit hash
                        volumes:
                          type: object
                          description: List of volume mounts
                          additionalProperties:
                            type: string
                        workload_id:
                          type: string
                          format: ksuid
                      required:
                      - workload_id
                      - team_id
                      - name
                      - allow_default_domain
                      - image
                      - type
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - allow_default_domain: true
                  branch: main
                  build_id: example
                  config: {}
                  created_at: 1791072000
                  current_source_artifact_id: ''
                  deleted_at: 0
                  domain: example
                  env_vars: {}
                  image: example
                  name: postman-example
                  node_id: '000000000000000000000000001'
                  parent_id: '000000000000000000000000001'
                  port: 8080
                  region: default
                  repository_url: example
                  requires: {}
                  resources: {}
                  status: provisioning
                  team_id: '000000000000000000000000001'
                  template: example
                  type: api
                  updated_at: 1791072000
                  variant: ''
                  version: example
                  volumes: {}
                  workload_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_workload
      tags:
      - Workloads
      summary: Create workload
      description: 'Creates a new Workload


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `allow_default_domain` | boolean | yes | Whether to allow access via the
        default \*.adios.run domain when a custom domain is configured Default: `true`.
        |

        | `branch` | string | no | Git branch or tag Default: `"main"`. |

        | `build_id` | string | no | Link to specific build artifact |

        | `config` | object | no | Workload specific configuration (e.g. cron schedule,
        queue name, db user) |

        | `current_source_artifact_id` | string | no | API source artifact record
        for the currently deployed build Default: `""`. |

        | `domain` | string | no | Generated \*.adios.run hostname or a verified user-owned
        custom domain; \*.adios.dev and custom \*.adios.run assignments are reserved
        |

        | `env_vars` | object | no |  |

        | `image` | string | yes | Docker image or rootfs location |

        | `name` | string | yes |  |

        | `node_id` | string | no |  |

        | `parent_id` | string | no |  |

        | `port` | integer | no | Network port the workload listens on Default: `8080`.
        |

        | `region` | string | no |  Default: `"default"`. |

        | `repository_url` | string | no | Git repository URL |

        | `requires` | object | no | List of required capabilities or services |

        | `resources` | object | no | Resource requirements (cpu, ram, disk) |

        | `status` | string | no |  Default: `"provisioning"`. |

        | `team_id` | string | yes |  |

        | `template` | string | no | Template name and version (e.g. postgres:16)
        |

        | `type` | string | yes |  Allowed: app, api, worker, function, cron, queue,
        database, cache. Default: `"api"`. |

        | `variant` | string | no |  Default: `""`. |

        | `version` | string | no | Semantic version or commit hash |

        | `volumes` | object | no | List of volume mounts |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: User application workload
              properties:
                allow_default_domain:
                  type: boolean
                  description: Whether to allow access via the default *.adios.run
                    domain when a custom domain is configured
                  default: true
                branch:
                  type: string
                  description: Git branch or tag
                  default: main
                build_id:
                  type: string
                  description: Link to specific build artifact
                config:
                  type: object
                  description: Workload specific configuration (e.g. cron schedule,
                    queue name, db user)
                  additionalProperties:
                    type: string
                current_source_artifact_id:
                  type: string
                  description: API source artifact record for the currently deployed
                    build
                  default: ''
                domain:
                  type: string
                  description: Generated *.adios.run hostname or a verified user-owned
                    custom domain; *.adios.dev and custom *.adios.run assignments
                    are reserved
                env_vars:
                  type: object
                  additionalProperties:
                    type: string
                image:
                  type: string
                  description: Docker image or rootfs location
                name:
                  type: string
                  minLength: 3
                  maxLength: 60
                node_id:
                  type: string
                  format: ksuid
                parent_id:
                  type: string
                  format: ksuid
                port:
                  type: integer
                  format: int32
                  description: Network port the workload listens on
                  default: 8080
                region:
                  type: string
                  default: default
                repository_url:
                  type: string
                  description: Git repository URL
                requires:
                  type: object
                  description: List of required capabilities or services
                  additionalProperties:
                    type: string
                resources:
                  type: object
                  description: Resource requirements (cpu, ram, disk)
                  additionalProperties:
                    type: string
                status:
                  type: string
                  default: provisioning
                team_id:
                  type: string
                  format: ksuid
                template:
                  type: string
                  description: Template name and version (e.g. postgres:16)
                type:
                  type: string
                  default: api
                  enum:
                  - app
                  - api
                  - worker
                  - function
                  - cron
                  - queue
                  - database
                  - cache
                variant:
                  type: string
                  default: ''
                version:
                  type: string
                  description: Semantic version or commit hash
                volumes:
                  type: object
                  description: List of volume mounts
                  additionalProperties:
                    type: string
              required:
              - team_id
              - name
              - allow_default_domain
              - image
              - type
            example:
              team_id: YOUR_TEAM_ID
              name: postman-example
              type: api
              image: YOUR_WORKLOAD_IMAGE
              allow_default_domain: true
              port: 8080
              region: YOUR_REGION
      responses:
        '201':
          description: Workload created
          content:
            application/json:
              schema:
                type: object
                description: User application workload
                properties:
                  allow_default_domain:
                    type: boolean
                    description: Whether to allow access via the default *.adios.run
                      domain when a custom domain is configured
                    default: true
                  branch:
                    type: string
                    description: Git branch or tag
                    default: main
                  build_id:
                    type: string
                    description: Link to specific build artifact
                  config:
                    type: object
                    description: Workload specific configuration (e.g. cron schedule,
                      queue name, db user)
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  current_source_artifact_id:
                    type: string
                    description: API source artifact record for the currently deployed
                      build
                    default: ''
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  domain:
                    type: string
                    description: Generated *.adios.run hostname or a verified user-owned
                      custom domain; *.adios.dev and custom *.adios.run assignments
                      are reserved
                  env_vars:
                    type: object
                    additionalProperties:
                      type: string
                  image:
                    type: string
                    description: Docker image or rootfs location
                  name:
                    type: string
                    minLength: 3
                    maxLength: 60
                  node_id:
                    type: string
                    format: ksuid
                  parent_id:
                    type: string
                    format: ksuid
                  port:
                    type: integer
                    format: int32
                    description: Network port the workload listens on
                    default: 8080
                  region:
                    type: string
                    default: default
                  repository_url:
                    type: string
                    description: Git repository URL
                  requires:
                    type: object
                    description: List of required capabilities or services
                    additionalProperties:
                      type: string
                  resources:
                    type: object
                    description: Resource requirements (cpu, ram, disk)
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: provisioning
                  team_id:
                    type: string
                    format: ksuid
                  template:
                    type: string
                    description: Template name and version (e.g. postgres:16)
                  type:
                    type: string
                    default: api
                    enum:
                    - app
                    - api
                    - worker
                    - function
                    - cron
                    - queue
                    - database
                    - cache
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  variant:
                    type: string
                    default: ''
                  version:
                    type: string
                    description: Semantic version or commit hash
                  volumes:
                    type: object
                    description: List of volume mounts
                    additionalProperties:
                      type: string
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - workload_id
                - team_id
                - name
                - allow_default_domain
                - image
                - type
                - created_at
                - updated_at
              example:
                allow_default_domain: true
                branch: main
                build_id: example
                config: {}
                created_at: 1791072000
                current_source_artifact_id: ''
                deleted_at: 0
                domain: example
                env_vars: {}
                image: example
                name: postman-example
                node_id: '000000000000000000000000001'
                parent_id: '000000000000000000000000001'
                port: 8080
                region: default
                repository_url: example
                requires: {}
                resources: {}
                status: provisioning
                team_id: '000000000000000000000000001'
                template: example
                type: api
                updated_at: 1791072000
                variant: ''
                version: example
                volumes: {}
                workload_id: '000000000000000000000000001'
  /v1/workload/{id}:
    get:
      operationId: public_get_v1_workload_id
      tags:
      - Workloads
      summary: Get workload
      description: 'Returns a single Workload


        Set `workload_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Workload
          content:
            application/json:
              schema:
                type: object
                description: User application workload
                properties:
                  allow_default_domain:
                    type: boolean
                    description: Whether to allow access via the default *.adios.run
                      domain when a custom domain is configured
                    default: true
                  branch:
                    type: string
                    description: Git branch or tag
                    default: main
                  build_id:
                    type: string
                    description: Link to specific build artifact
                  config:
                    type: object
                    description: Workload specific configuration (e.g. cron schedule,
                      queue name, db user)
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  current_source_artifact_id:
                    type: string
                    description: API source artifact record for the currently deployed
                      build
                    default: ''
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  domain:
                    type: string
                    description: Generated *.adios.run hostname or a verified user-owned
                      custom domain; *.adios.dev and custom *.adios.run assignments
                      are reserved
                  env_vars:
                    type: object
                    additionalProperties:
                      type: string
                  image:
                    type: string
                    description: Docker image or rootfs location
                  name:
                    type: string
                    minLength: 3
                    maxLength: 60
                  node_id:
                    type: string
                    format: ksuid
                  parent_id:
                    type: string
                    format: ksuid
                  port:
                    type: integer
                    format: int32
                    description: Network port the workload listens on
                    default: 8080
                  region:
                    type: string
                    default: default
                  repository_url:
                    type: string
                    description: Git repository URL
                  requires:
                    type: object
                    description: List of required capabilities or services
                    additionalProperties:
                      type: string
                  resources:
                    type: object
                    description: Resource requirements (cpu, ram, disk)
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: provisioning
                  team_id:
                    type: string
                    format: ksuid
                  template:
                    type: string
                    description: Template name and version (e.g. postgres:16)
                  type:
                    type: string
                    default: api
                    enum:
                    - app
                    - api
                    - worker
                    - function
                    - cron
                    - queue
                    - database
                    - cache
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  variant:
                    type: string
                    default: ''
                  version:
                    type: string
                    description: Semantic version or commit hash
                  volumes:
                    type: object
                    description: List of volume mounts
                    additionalProperties:
                      type: string
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - workload_id
                - team_id
                - name
                - allow_default_domain
                - image
                - type
                - created_at
                - updated_at
              example:
                allow_default_domain: true
                branch: main
                build_id: example
                config: {}
                created_at: 1791072000
                current_source_artifact_id: ''
                deleted_at: 0
                domain: example
                env_vars: {}
                image: example
                name: postman-example
                node_id: '000000000000000000000000001'
                parent_id: '000000000000000000000000001'
                port: 8080
                region: default
                repository_url: example
                requires: {}
                resources: {}
                status: provisioning
                team_id: '000000000000000000000000001'
                template: example
                type: api
                updated_at: 1791072000
                variant: ''
                version: example
                volumes: {}
                workload_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_workload_id
      tags:
      - Workloads
      summary: Update workload
      description: 'Updates an existing Workload


        Set `workload_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `allow_default_domain` | boolean | yes | Whether to allow access via the
        default \*.adios.run domain when a custom domain is configured Default: `true`.
        |

        | `branch` | string | no | Git branch or tag Default: `"main"`. |

        | `build_id` | string | no | Link to specific build artifact |

        | `config` | object | no | Workload specific configuration (e.g. cron schedule,
        queue name, db user) |

        | `current_source_artifact_id` | string | no | API source artifact record
        for the currently deployed build Default: `""`. |

        | `domain` | string | no | Generated \*.adios.run hostname or a verified user-owned
        custom domain; \*.adios.dev and custom \*.adios.run assignments are reserved
        |

        | `env_vars` | object | no |  |

        | `image` | string | yes | Docker image or rootfs location |

        | `name` | string | yes |  |

        | `node_id` | string | no |  |

        | `parent_id` | string | no |  |

        | `port` | integer | no | Network port the workload listens on Default: `8080`.
        |

        | `region` | string | no |  Default: `"default"`. |

        | `repository_url` | string | no | Git repository URL |

        | `requires` | object | no | List of required capabilities or services |

        | `resources` | object | no | Resource requirements (cpu, ram, disk) |

        | `status` | string | no |  Default: `"provisioning"`. |

        | `team_id` | string | yes |  |

        | `template` | string | no | Template name and version (e.g. postgres:16)
        |

        | `type` | string | yes |  Allowed: app, api, worker, function, cron, queue,
        database, cache. Default: `"api"`. |

        | `variant` | string | no |  Default: `""`. |

        | `version` | string | no | Semantic version or commit hash |

        | `volumes` | object | no | List of volume mounts |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: User application workload
              properties:
                allow_default_domain:
                  type: boolean
                  description: Whether to allow access via the default *.adios.run
                    domain when a custom domain is configured
                  default: true
                branch:
                  type: string
                  description: Git branch or tag
                  default: main
                build_id:
                  type: string
                  description: Link to specific build artifact
                config:
                  type: object
                  description: Workload specific configuration (e.g. cron schedule,
                    queue name, db user)
                  additionalProperties:
                    type: string
                current_source_artifact_id:
                  type: string
                  description: API source artifact record for the currently deployed
                    build
                  default: ''
                domain:
                  type: string
                  description: Generated *.adios.run hostname or a verified user-owned
                    custom domain; *.adios.dev and custom *.adios.run assignments
                    are reserved
                env_vars:
                  type: object
                  additionalProperties:
                    type: string
                image:
                  type: string
                  description: Docker image or rootfs location
                name:
                  type: string
                  minLength: 3
                  maxLength: 60
                node_id:
                  type: string
                  format: ksuid
                parent_id:
                  type: string
                  format: ksuid
                port:
                  type: integer
                  format: int32
                  description: Network port the workload listens on
                  default: 8080
                region:
                  type: string
                  default: default
                repository_url:
                  type: string
                  description: Git repository URL
                requires:
                  type: object
                  description: List of required capabilities or services
                  additionalProperties:
                    type: string
                resources:
                  type: object
                  description: Resource requirements (cpu, ram, disk)
                  additionalProperties:
                    type: string
                status:
                  type: string
                  default: provisioning
                team_id:
                  type: string
                  format: ksuid
                template:
                  type: string
                  description: Template name and version (e.g. postgres:16)
                type:
                  type: string
                  default: api
                  enum:
                  - app
                  - api
                  - worker
                  - function
                  - cron
                  - queue
                  - database
                  - cache
                variant:
                  type: string
                  default: ''
                version:
                  type: string
                  description: Semantic version or commit hash
                volumes:
                  type: object
                  description: List of volume mounts
                  additionalProperties:
                    type: string
              required:
              - team_id
              - name
              - allow_default_domain
              - image
              - type
            example:
              team_id: YOUR_TEAM_ID
              name: postman-example
              type: api
              image: YOUR_WORKLOAD_IMAGE
              allow_default_domain: true
              port: 8080
              region: YOUR_REGION
      responses:
        '200':
          description: Workload updated
          content:
            application/json:
              schema:
                type: object
                description: User application workload
                properties:
                  allow_default_domain:
                    type: boolean
                    description: Whether to allow access via the default *.adios.run
                      domain when a custom domain is configured
                    default: true
                  branch:
                    type: string
                    description: Git branch or tag
                    default: main
                  build_id:
                    type: string
                    description: Link to specific build artifact
                  config:
                    type: object
                    description: Workload specific configuration (e.g. cron schedule,
                      queue name, db user)
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  current_source_artifact_id:
                    type: string
                    description: API source artifact record for the currently deployed
                      build
                    default: ''
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  domain:
                    type: string
                    description: Generated *.adios.run hostname or a verified user-owned
                      custom domain; *.adios.dev and custom *.adios.run assignments
                      are reserved
                  env_vars:
                    type: object
                    additionalProperties:
                      type: string
                  image:
                    type: string
                    description: Docker image or rootfs location
                  name:
                    type: string
                    minLength: 3
                    maxLength: 60
                  node_id:
                    type: string
                    format: ksuid
                  parent_id:
                    type: string
                    format: ksuid
                  port:
                    type: integer
                    format: int32
                    description: Network port the workload listens on
                    default: 8080
                  region:
                    type: string
                    default: default
                  repository_url:
                    type: string
                    description: Git repository URL
                  requires:
                    type: object
                    description: List of required capabilities or services
                    additionalProperties:
                      type: string
                  resources:
                    type: object
                    description: Resource requirements (cpu, ram, disk)
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: provisioning
                  team_id:
                    type: string
                    format: ksuid
                  template:
                    type: string
                    description: Template name and version (e.g. postgres:16)
                  type:
                    type: string
                    default: api
                    enum:
                    - app
                    - api
                    - worker
                    - function
                    - cron
                    - queue
                    - database
                    - cache
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  variant:
                    type: string
                    default: ''
                  version:
                    type: string
                    description: Semantic version or commit hash
                  volumes:
                    type: object
                    description: List of volume mounts
                    additionalProperties:
                      type: string
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - workload_id
                - team_id
                - name
                - allow_default_domain
                - image
                - type
                - created_at
                - updated_at
              example:
                allow_default_domain: true
                branch: main
                build_id: example
                config: {}
                created_at: 1791072000
                current_source_artifact_id: ''
                deleted_at: 0
                domain: example
                env_vars: {}
                image: example
                name: postman-example
                node_id: '000000000000000000000000001'
                parent_id: '000000000000000000000000001'
                port: 8080
                region: default
                repository_url: example
                requires: {}
                resources: {}
                status: provisioning
                team_id: '000000000000000000000000001'
                template: example
                type: api
                updated_at: 1791072000
                variant: ''
                version: example
                volumes: {}
                workload_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_workload_id
      tags:
      - Workloads
      summary: Delete workload
      description: 'Deletes a Workload


        Set `workload_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/workspace:
    get:
      operationId: public_get_v1_workspace
      tags:
      - Workspaces
      summary: List workspaces
      description: Returns a paginated list of Workspace
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of Workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        base_build_id:
                          type: string
                        base_source_artifact_id:
                          type: string
                          description: API source artifact record used to hydrate
                            the workspace
                          default: ''
                        branch:
                          type: string
                          default: ''
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        name:
                          type: string
                        owner_id:
                          type: string
                          format: ksuid
                        repository_url:
                          type: string
                          description: Git repository URL
                        runtime_status:
                          type: string
                          default: idle
                          enum:
                          - idle
                          - running
                          - stopped
                          - failed
                        source_manifest:
                          type: string
                          description: Project adios manifest path within the composed
                            workspace source root
                          default: adios.yaml
                        source_workdir:
                          type: string
                          description: Project working directory within the composed
                            workspace source root
                          default: .
                        status:
                          type: string
                          default: active
                          enum:
                          - active
                          - archived
                          - deleted
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workload_id:
                          type: string
                          format: ksuid
                          default: ''
                        workspace_id:
                          type: string
                          format: ksuid
                      required:
                      - workspace_id
                      - team_id
                      - owner_id
                      - name
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - base_build_id: example
                  base_source_artifact_id: ''
                  branch: ''
                  created_at: 1791072000
                  deleted_at: 0
                  metadata: {}
                  name: postman-example
                  owner_id: '000000000000000000000000001'
                  repository_url: example
                  runtime_status: idle
                  source_manifest: adios.yaml
                  source_workdir: .
                  status: active
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                  workload_id: ''
                  workspace_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_workspace
      tags:
      - Workspaces
      summary: Create workspace
      description: 'Creates a new Workspace


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `base_build_id` | string | no |  |

        | `base_source_artifact_id` | string | no | API source artifact record used
        to hydrate the workspace Default: `""`. |

        | `branch` | string | no |  Default: `""`. |

        | `metadata` | object | no |  |

        | `name` | string | yes |  |

        | `owner_id` | string | yes |  |

        | `repository_url` | string | no | Git repository URL |

        | `runtime_status` | string | no |  Allowed: idle, running, stopped, failed.
        Default: `"idle"`. |

        | `source_manifest` | string | no | Project adios manifest path within the
        composed workspace source root Default: `"adios.yaml"`. |

        | `source_workdir` | string | no | Project working directory within the composed
        workspace source root Default: `"."`. |

        | `status` | string | yes |  Allowed: active, archived, deleted. Default:
        `"active"`. |

        | `team_id` | string | yes |  |

        | `workload_id` | string | no |  Default: `""`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Per-app development workspace for AI and users
              properties:
                base_build_id:
                  type: string
                base_source_artifact_id:
                  type: string
                  description: API source artifact record used to hydrate the workspace
                  default: ''
                branch:
                  type: string
                  default: ''
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                name:
                  type: string
                owner_id:
                  type: string
                  format: ksuid
                repository_url:
                  type: string
                  description: Git repository URL
                runtime_status:
                  type: string
                  default: idle
                  enum:
                  - idle
                  - running
                  - stopped
                  - failed
                source_manifest:
                  type: string
                  description: Project adios manifest path within the composed workspace
                    source root
                  default: adios.yaml
                source_workdir:
                  type: string
                  description: Project working directory within the composed workspace
                    source root
                  default: .
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - archived
                  - deleted
                team_id:
                  type: string
                  format: ksuid
                workload_id:
                  type: string
                  format: ksuid
                  default: ''
              required:
              - team_id
              - owner_id
              - name
              - status
            example:
              team_id: YOUR_TEAM_ID
              owner_id: YOUR_USER_ID
              name: postman-workspace
              status: active
              workload_id: YOUR_WORKLOAD_ID
      responses:
        '201':
          description: Workspace created
          content:
            application/json:
              schema:
                type: object
                description: Per-app development workspace for AI and users
                properties:
                  base_build_id:
                    type: string
                  base_source_artifact_id:
                    type: string
                    description: API source artifact record used to hydrate the workspace
                    default: ''
                  branch:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  name:
                    type: string
                  owner_id:
                    type: string
                    format: ksuid
                  repository_url:
                    type: string
                    description: Git repository URL
                  runtime_status:
                    type: string
                    default: idle
                    enum:
                    - idle
                    - running
                    - stopped
                    - failed
                  source_manifest:
                    type: string
                    description: Project adios manifest path within the composed workspace
                      source root
                    default: adios.yaml
                  source_workdir:
                    type: string
                    description: Project working directory within the composed workspace
                      source root
                    default: .
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workload_id:
                    type: string
                    format: ksuid
                    default: ''
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - workspace_id
                - team_id
                - owner_id
                - name
                - status
                - created_at
                - updated_at
              example:
                base_build_id: example
                base_source_artifact_id: ''
                branch: ''
                created_at: 1791072000
                deleted_at: 0
                metadata: {}
                name: postman-example
                owner_id: '000000000000000000000000001'
                repository_url: example
                runtime_status: idle
                source_manifest: adios.yaml
                source_workdir: .
                status: active
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                workload_id: ''
                workspace_id: '000000000000000000000000001'
  /v1/workspace/{id}:
    get:
      operationId: public_get_v1_workspace_id
      tags:
      - Workspaces
      summary: Get workspace
      description: 'Returns a single Workspace


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Workspace
          content:
            application/json:
              schema:
                type: object
                description: Per-app development workspace for AI and users
                properties:
                  base_build_id:
                    type: string
                  base_source_artifact_id:
                    type: string
                    description: API source artifact record used to hydrate the workspace
                    default: ''
                  branch:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  name:
                    type: string
                  owner_id:
                    type: string
                    format: ksuid
                  repository_url:
                    type: string
                    description: Git repository URL
                  runtime_status:
                    type: string
                    default: idle
                    enum:
                    - idle
                    - running
                    - stopped
                    - failed
                  source_manifest:
                    type: string
                    description: Project adios manifest path within the composed workspace
                      source root
                    default: adios.yaml
                  source_workdir:
                    type: string
                    description: Project working directory within the composed workspace
                      source root
                    default: .
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workload_id:
                    type: string
                    format: ksuid
                    default: ''
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - workspace_id
                - team_id
                - owner_id
                - name
                - status
                - created_at
                - updated_at
              example:
                base_build_id: example
                base_source_artifact_id: ''
                branch: ''
                created_at: 1791072000
                deleted_at: 0
                metadata: {}
                name: postman-example
                owner_id: '000000000000000000000000001'
                repository_url: example
                runtime_status: idle
                source_manifest: adios.yaml
                source_workdir: .
                status: active
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                workload_id: ''
                workspace_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_workspace_id
      tags:
      - Workspaces
      summary: Update workspace
      description: 'Updates an existing Workspace


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `base_build_id` | string | no |  |

        | `base_source_artifact_id` | string | no | API source artifact record used
        to hydrate the workspace Default: `""`. |

        | `branch` | string | no |  Default: `""`. |

        | `metadata` | object | no |  |

        | `name` | string | yes |  |

        | `owner_id` | string | yes |  |

        | `repository_url` | string | no | Git repository URL |

        | `runtime_status` | string | no |  Allowed: idle, running, stopped, failed.
        Default: `"idle"`. |

        | `source_manifest` | string | no | Project adios manifest path within the
        composed workspace source root Default: `"adios.yaml"`. |

        | `source_workdir` | string | no | Project working directory within the composed
        workspace source root Default: `"."`. |

        | `status` | string | yes |  Allowed: active, archived, deleted. Default:
        `"active"`. |

        | `team_id` | string | yes |  |

        | `workload_id` | string | no |  Default: `""`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Per-app development workspace for AI and users
              properties:
                base_build_id:
                  type: string
                base_source_artifact_id:
                  type: string
                  description: API source artifact record used to hydrate the workspace
                  default: ''
                branch:
                  type: string
                  default: ''
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                name:
                  type: string
                owner_id:
                  type: string
                  format: ksuid
                repository_url:
                  type: string
                  description: Git repository URL
                runtime_status:
                  type: string
                  default: idle
                  enum:
                  - idle
                  - running
                  - stopped
                  - failed
                source_manifest:
                  type: string
                  description: Project adios manifest path within the composed workspace
                    source root
                  default: adios.yaml
                source_workdir:
                  type: string
                  description: Project working directory within the composed workspace
                    source root
                  default: .
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - archived
                  - deleted
                team_id:
                  type: string
                  format: ksuid
                workload_id:
                  type: string
                  format: ksuid
                  default: ''
              required:
              - team_id
              - owner_id
              - name
              - status
            example:
              team_id: YOUR_TEAM_ID
              owner_id: YOUR_USER_ID
              name: postman-workspace
              status: active
              workload_id: YOUR_WORKLOAD_ID
      responses:
        '200':
          description: Workspace updated
          content:
            application/json:
              schema:
                type: object
                description: Per-app development workspace for AI and users
                properties:
                  base_build_id:
                    type: string
                  base_source_artifact_id:
                    type: string
                    description: API source artifact record used to hydrate the workspace
                    default: ''
                  branch:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  name:
                    type: string
                  owner_id:
                    type: string
                    format: ksuid
                  repository_url:
                    type: string
                    description: Git repository URL
                  runtime_status:
                    type: string
                    default: idle
                    enum:
                    - idle
                    - running
                    - stopped
                    - failed
                  source_manifest:
                    type: string
                    description: Project adios manifest path within the composed workspace
                      source root
                    default: adios.yaml
                  source_workdir:
                    type: string
                    description: Project working directory within the composed workspace
                      source root
                    default: .
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workload_id:
                    type: string
                    format: ksuid
                    default: ''
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - workspace_id
                - team_id
                - owner_id
                - name
                - status
                - created_at
                - updated_at
              example:
                base_build_id: example
                base_source_artifact_id: ''
                branch: ''
                created_at: 1791072000
                deleted_at: 0
                metadata: {}
                name: postman-example
                owner_id: '000000000000000000000000001'
                repository_url: example
                runtime_status: idle
                source_manifest: adios.yaml
                source_workdir: .
                status: active
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                workload_id: ''
                workspace_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_workspace_id
      tags:
      - Workspaces
      summary: Delete workspace
      description: 'Deletes a Workspace


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/workspace_source:
    get:
      operationId: public_get_v1_workspace_source
      tags:
      - Workspace sources
      summary: List workspace sources
      description: Returns a paginated list of WorkspaceSource
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of WorkspaceSource
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        alias:
                          type: string
                        branch:
                          type: string
                          default: main
                        commit:
                          type: string
                          default: ''
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        external_auth_ref:
                          type: string
                          description: Credential reference only; secret values are
                            never persisted here
                          default: ''
                        external_connection_id:
                          type: string
                          default: ''
                        external_provider:
                          type: string
                          default: none
                          enum:
                          - none
                          - github
                          - gitlab
                          - bitbucket
                          - ssh
                          - git
                        external_repository_url:
                          type: string
                          default: ''
                        internal_repository_id:
                          type: string
                          format: ksuid
                          description: Authoritative repository in Adios Git
                        internal_repository_url:
                          type: string
                          description: Credential-free clone URL for the authoritative
                            Adios Git repository
                        last_synced_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        mount:
                          type: string
                          default: .
                        repository_path:
                          type: string
                          default: .
                        role:
                          type: string
                          default: include
                          enum:
                          - primary
                          - include
                        source_key:
                          type: string
                          description: Credential-free logical identity used to reuse
                            one internal repository across workspaces
                          default: ''
                        status:
                          type: string
                          default: active
                          enum:
                          - active
                          - archived
                        sync_direction:
                          type: string
                          default: none
                          enum:
                          - none
                          - pull
                          - push
                          - bidirectional
                        sync_error:
                          default: ''
                        sync_status:
                          type: string
                          default: internal_only
                          enum:
                          - internal_only
                          - pending
                          - synced
                          - ahead
                          - behind
                          - diverged
                          - error
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workspace_id:
                          type: string
                          format: ksuid
                        workspace_source_id:
                          type: string
                          format: ksuid
                      required:
                      - workspace_source_id
                      - team_id
                      - workspace_id
                      - alias
                      - role
                      - source_key
                      - internal_repository_id
                      - internal_repository_url
                      - branch
                      - repository_path
                      - mount
                      - external_provider
                      - sync_direction
                      - sync_status
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - alias: example
                  branch: main
                  commit: ''
                  created_at: 1791072000
                  deleted_at: 0
                  external_auth_ref: ''
                  external_connection_id: ''
                  external_provider: none
                  external_repository_url: ''
                  internal_repository_id: '000000000000000000000000001'
                  internal_repository_url: example
                  last_synced_at: 0
                  metadata: {}
                  mount: .
                  repository_path: .
                  role: include
                  source_key: ''
                  status: active
                  sync_direction: none
                  sync_error: ''
                  sync_status: internal_only
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                  workspace_id: '000000000000000000000000001'
                  workspace_source_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_workspace_source
      tags:
      - Workspace sources
      summary: Create workspace source
      description: 'Creates a new WorkspaceSource


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `alias` | string | yes |  |

        | `branch` | string | yes |  Default: `"main"`. |

        | `commit` | string | no |  Default: `""`. |

        | `external_auth_ref` | string | no | Credential reference only; secret values
        are never persisted here Default: `""`. |

        | `external_connection_id` | string | no |  Default: `""`. |

        | `external_provider` | string | yes |  Allowed: none, github, gitlab, bitbucket,
        ssh, git. Default: `"none"`. |

        | `external_repository_url` | string | no |  Default: `""`. |

        | `internal_repository_id` | string | yes | Authoritative repository in Adios
        Git |

        | `internal_repository_url` | string | yes | Credential-free clone URL for
        the authoritative Adios Git repository |

        | `last_synced_at` | integer | no | (Unix timestamp) Default: `0`. |

        | `metadata` | object | no |  |

        | `mount` | string | yes |  Default: `"."`. |

        | `repository_path` | string | yes |  Default: `"."`. |

        | `role` | string | yes |  Allowed: primary, include. Default: `"include"`.
        |

        | `source_key` | string | yes | Credential-free logical identity used to reuse
        one internal repository across workspaces Default: `""`. |

        | `status` | string | yes |  Allowed: active, archived. Default: `"active"`.
        |

        | `sync_direction` | string | yes |  Allowed: none, pull, push, bidirectional.
        Default: `"none"`. |

        | `sync_error` | object | no |  Default: `""`. |

        | `sync_status` | string | yes |  Allowed: internal_only, pending, synced,
        ahead, behind, diverged, error. Default: `"internal_only"`. |

        | `team_id` | string | yes |  |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: One internal Adios Git repository mounted into a workspace,
                with optional external synchronization
              properties:
                alias:
                  type: string
                branch:
                  type: string
                  default: main
                commit:
                  type: string
                  default: ''
                external_auth_ref:
                  type: string
                  description: Credential reference only; secret values are never
                    persisted here
                  default: ''
                external_connection_id:
                  type: string
                  default: ''
                external_provider:
                  type: string
                  default: none
                  enum:
                  - none
                  - github
                  - gitlab
                  - bitbucket
                  - ssh
                  - git
                external_repository_url:
                  type: string
                  default: ''
                internal_repository_id:
                  type: string
                  format: ksuid
                  description: Authoritative repository in Adios Git
                internal_repository_url:
                  type: string
                  description: Credential-free clone URL for the authoritative Adios
                    Git repository
                last_synced_at:
                  type: integer
                  format: int64
                  description: ' (Unix timestamp)'
                  default: 0
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                mount:
                  type: string
                  default: .
                repository_path:
                  type: string
                  default: .
                role:
                  type: string
                  default: include
                  enum:
                  - primary
                  - include
                source_key:
                  type: string
                  description: Credential-free logical identity used to reuse one
                    internal repository across workspaces
                  default: ''
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - archived
                sync_direction:
                  type: string
                  default: none
                  enum:
                  - none
                  - pull
                  - push
                  - bidirectional
                sync_error:
                  default: ''
                sync_status:
                  type: string
                  default: internal_only
                  enum:
                  - internal_only
                  - pending
                  - synced
                  - ahead
                  - behind
                  - diverged
                  - error
                team_id:
                  type: string
                  format: ksuid
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - workspace_id
              - alias
              - role
              - source_key
              - internal_repository_id
              - internal_repository_url
              - branch
              - repository_path
              - mount
              - external_provider
              - sync_direction
              - sync_status
              - status
            example:
              alias: example
              branch: main
              commit: ''
              external_auth_ref: ''
              external_connection_id: ''
              external_provider: none
              external_repository_url: ''
              internal_repository_id: YOUR_INTERNAL_REPOSITORY_ID
              internal_repository_url: YOUR_INTERNAL_REPOSITORY_URL
              last_synced_at: 0
              mount: .
              repository_path: .
              role: include
              source_key: ''
              status: active
              sync_direction: none
              sync_error: ''
              sync_status: internal_only
              team_id: YOUR_TEAM_ID
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '201':
          description: WorkspaceSource created
          content:
            application/json:
              schema:
                type: object
                description: One internal Adios Git repository mounted into a workspace,
                  with optional external synchronization
                properties:
                  alias:
                    type: string
                  branch:
                    type: string
                    default: main
                  commit:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  external_auth_ref:
                    type: string
                    description: Credential reference only; secret values are never
                      persisted here
                    default: ''
                  external_connection_id:
                    type: string
                    default: ''
                  external_provider:
                    type: string
                    default: none
                    enum:
                    - none
                    - github
                    - gitlab
                    - bitbucket
                    - ssh
                    - git
                  external_repository_url:
                    type: string
                    default: ''
                  internal_repository_id:
                    type: string
                    format: ksuid
                    description: Authoritative repository in Adios Git
                  internal_repository_url:
                    type: string
                    description: Credential-free clone URL for the authoritative Adios
                      Git repository
                  last_synced_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  mount:
                    type: string
                    default: .
                  repository_path:
                    type: string
                    default: .
                  role:
                    type: string
                    default: include
                    enum:
                    - primary
                    - include
                  source_key:
                    type: string
                    description: Credential-free logical identity used to reuse one
                      internal repository across workspaces
                    default: ''
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                  sync_direction:
                    type: string
                    default: none
                    enum:
                    - none
                    - pull
                    - push
                    - bidirectional
                  sync_error:
                    default: ''
                  sync_status:
                    type: string
                    default: internal_only
                    enum:
                    - internal_only
                    - pending
                    - synced
                    - ahead
                    - behind
                    - diverged
                    - error
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                  workspace_source_id:
                    type: string
                    format: ksuid
                required:
                - workspace_source_id
                - team_id
                - workspace_id
                - alias
                - role
                - source_key
                - internal_repository_id
                - internal_repository_url
                - branch
                - repository_path
                - mount
                - external_provider
                - sync_direction
                - sync_status
                - status
                - created_at
                - updated_at
              example:
                alias: example
                branch: main
                commit: ''
                created_at: 1791072000
                deleted_at: 0
                external_auth_ref: ''
                external_connection_id: ''
                external_provider: none
                external_repository_url: ''
                internal_repository_id: '000000000000000000000000001'
                internal_repository_url: example
                last_synced_at: 0
                metadata: {}
                mount: .
                repository_path: .
                role: include
                source_key: ''
                status: active
                sync_direction: none
                sync_error: ''
                sync_status: internal_only
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
                workspace_source_id: '000000000000000000000000001'
  /v1/workspace_source/{id}:
    get:
      operationId: public_get_v1_workspace_source_id
      tags:
      - Workspace sources
      summary: Get workspace source
      description: 'Returns a single WorkspaceSource


        Set `workspace_source_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: WorkspaceSource
          content:
            application/json:
              schema:
                type: object
                description: One internal Adios Git repository mounted into a workspace,
                  with optional external synchronization
                properties:
                  alias:
                    type: string
                  branch:
                    type: string
                    default: main
                  commit:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  external_auth_ref:
                    type: string
                    description: Credential reference only; secret values are never
                      persisted here
                    default: ''
                  external_connection_id:
                    type: string
                    default: ''
                  external_provider:
                    type: string
                    default: none
                    enum:
                    - none
                    - github
                    - gitlab
                    - bitbucket
                    - ssh
                    - git
                  external_repository_url:
                    type: string
                    default: ''
                  internal_repository_id:
                    type: string
                    format: ksuid
                    description: Authoritative repository in Adios Git
                  internal_repository_url:
                    type: string
                    description: Credential-free clone URL for the authoritative Adios
                      Git repository
                  last_synced_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  mount:
                    type: string
                    default: .
                  repository_path:
                    type: string
                    default: .
                  role:
                    type: string
                    default: include
                    enum:
                    - primary
                    - include
                  source_key:
                    type: string
                    description: Credential-free logical identity used to reuse one
                      internal repository across workspaces
                    default: ''
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                  sync_direction:
                    type: string
                    default: none
                    enum:
                    - none
                    - pull
                    - push
                    - bidirectional
                  sync_error:
                    default: ''
                  sync_status:
                    type: string
                    default: internal_only
                    enum:
                    - internal_only
                    - pending
                    - synced
                    - ahead
                    - behind
                    - diverged
                    - error
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                  workspace_source_id:
                    type: string
                    format: ksuid
                required:
                - workspace_source_id
                - team_id
                - workspace_id
                - alias
                - role
                - source_key
                - internal_repository_id
                - internal_repository_url
                - branch
                - repository_path
                - mount
                - external_provider
                - sync_direction
                - sync_status
                - status
                - created_at
                - updated_at
              example:
                alias: example
                branch: main
                commit: ''
                created_at: 1791072000
                deleted_at: 0
                external_auth_ref: ''
                external_connection_id: ''
                external_provider: none
                external_repository_url: ''
                internal_repository_id: '000000000000000000000000001'
                internal_repository_url: example
                last_synced_at: 0
                metadata: {}
                mount: .
                repository_path: .
                role: include
                source_key: ''
                status: active
                sync_direction: none
                sync_error: ''
                sync_status: internal_only
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
                workspace_source_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_workspace_source_id
      tags:
      - Workspace sources
      summary: Update workspace source
      description: 'Updates an existing WorkspaceSource


        Set `workspace_source_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `alias` | string | yes |  |

        | `branch` | string | yes |  Default: `"main"`. |

        | `commit` | string | no |  Default: `""`. |

        | `external_auth_ref` | string | no | Credential reference only; secret values
        are never persisted here Default: `""`. |

        | `external_connection_id` | string | no |  Default: `""`. |

        | `external_provider` | string | yes |  Allowed: none, github, gitlab, bitbucket,
        ssh, git. Default: `"none"`. |

        | `external_repository_url` | string | no |  Default: `""`. |

        | `internal_repository_id` | string | yes | Authoritative repository in Adios
        Git |

        | `internal_repository_url` | string | yes | Credential-free clone URL for
        the authoritative Adios Git repository |

        | `last_synced_at` | integer | no | (Unix timestamp) Default: `0`. |

        | `metadata` | object | no |  |

        | `mount` | string | yes |  Default: `"."`. |

        | `repository_path` | string | yes |  Default: `"."`. |

        | `role` | string | yes |  Allowed: primary, include. Default: `"include"`.
        |

        | `source_key` | string | yes | Credential-free logical identity used to reuse
        one internal repository across workspaces Default: `""`. |

        | `status` | string | yes |  Allowed: active, archived. Default: `"active"`.
        |

        | `sync_direction` | string | yes |  Allowed: none, pull, push, bidirectional.
        Default: `"none"`. |

        | `sync_error` | object | no |  Default: `""`. |

        | `sync_status` | string | yes |  Allowed: internal_only, pending, synced,
        ahead, behind, diverged, error. Default: `"internal_only"`. |

        | `team_id` | string | yes |  |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: One internal Adios Git repository mounted into a workspace,
                with optional external synchronization
              properties:
                alias:
                  type: string
                branch:
                  type: string
                  default: main
                commit:
                  type: string
                  default: ''
                external_auth_ref:
                  type: string
                  description: Credential reference only; secret values are never
                    persisted here
                  default: ''
                external_connection_id:
                  type: string
                  default: ''
                external_provider:
                  type: string
                  default: none
                  enum:
                  - none
                  - github
                  - gitlab
                  - bitbucket
                  - ssh
                  - git
                external_repository_url:
                  type: string
                  default: ''
                internal_repository_id:
                  type: string
                  format: ksuid
                  description: Authoritative repository in Adios Git
                internal_repository_url:
                  type: string
                  description: Credential-free clone URL for the authoritative Adios
                    Git repository
                last_synced_at:
                  type: integer
                  format: int64
                  description: ' (Unix timestamp)'
                  default: 0
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                mount:
                  type: string
                  default: .
                repository_path:
                  type: string
                  default: .
                role:
                  type: string
                  default: include
                  enum:
                  - primary
                  - include
                source_key:
                  type: string
                  description: Credential-free logical identity used to reuse one
                    internal repository across workspaces
                  default: ''
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - archived
                sync_direction:
                  type: string
                  default: none
                  enum:
                  - none
                  - pull
                  - push
                  - bidirectional
                sync_error:
                  default: ''
                sync_status:
                  type: string
                  default: internal_only
                  enum:
                  - internal_only
                  - pending
                  - synced
                  - ahead
                  - behind
                  - diverged
                  - error
                team_id:
                  type: string
                  format: ksuid
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - workspace_id
              - alias
              - role
              - source_key
              - internal_repository_id
              - internal_repository_url
              - branch
              - repository_path
              - mount
              - external_provider
              - sync_direction
              - sync_status
              - status
            example:
              alias: example
              branch: main
              commit: ''
              external_auth_ref: ''
              external_connection_id: ''
              external_provider: none
              external_repository_url: ''
              internal_repository_id: YOUR_INTERNAL_REPOSITORY_ID
              internal_repository_url: YOUR_INTERNAL_REPOSITORY_URL
              last_synced_at: 0
              mount: .
              repository_path: .
              role: include
              source_key: ''
              status: active
              sync_direction: none
              sync_error: ''
              sync_status: internal_only
              team_id: YOUR_TEAM_ID
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '200':
          description: WorkspaceSource updated
          content:
            application/json:
              schema:
                type: object
                description: One internal Adios Git repository mounted into a workspace,
                  with optional external synchronization
                properties:
                  alias:
                    type: string
                  branch:
                    type: string
                    default: main
                  commit:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  external_auth_ref:
                    type: string
                    description: Credential reference only; secret values are never
                      persisted here
                    default: ''
                  external_connection_id:
                    type: string
                    default: ''
                  external_provider:
                    type: string
                    default: none
                    enum:
                    - none
                    - github
                    - gitlab
                    - bitbucket
                    - ssh
                    - git
                  external_repository_url:
                    type: string
                    default: ''
                  internal_repository_id:
                    type: string
                    format: ksuid
                    description: Authoritative repository in Adios Git
                  internal_repository_url:
                    type: string
                    description: Credential-free clone URL for the authoritative Adios
                      Git repository
                  last_synced_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  mount:
                    type: string
                    default: .
                  repository_path:
                    type: string
                    default: .
                  role:
                    type: string
                    default: include
                    enum:
                    - primary
                    - include
                  source_key:
                    type: string
                    description: Credential-free logical identity used to reuse one
                      internal repository across workspaces
                    default: ''
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                  sync_direction:
                    type: string
                    default: none
                    enum:
                    - none
                    - pull
                    - push
                    - bidirectional
                  sync_error:
                    default: ''
                  sync_status:
                    type: string
                    default: internal_only
                    enum:
                    - internal_only
                    - pending
                    - synced
                    - ahead
                    - behind
                    - diverged
                    - error
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                  workspace_source_id:
                    type: string
                    format: ksuid
                required:
                - workspace_source_id
                - team_id
                - workspace_id
                - alias
                - role
                - source_key
                - internal_repository_id
                - internal_repository_url
                - branch
                - repository_path
                - mount
                - external_provider
                - sync_direction
                - sync_status
                - status
                - created_at
                - updated_at
              example:
                alias: example
                branch: main
                commit: ''
                created_at: 1791072000
                deleted_at: 0
                external_auth_ref: ''
                external_connection_id: ''
                external_provider: none
                external_repository_url: ''
                internal_repository_id: '000000000000000000000000001'
                internal_repository_url: example
                last_synced_at: 0
                metadata: {}
                mount: .
                repository_path: .
                role: include
                source_key: ''
                status: active
                sync_direction: none
                sync_error: ''
                sync_status: internal_only
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
                workspace_source_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_workspace_source_id
      tags:
      - Workspace sources
      summary: Delete workspace source
      description: 'Deletes a WorkspaceSource


        Set `workspace_source_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/source_artifact:
    get:
      operationId: public_get_v1_source_artifact
      tags:
      - Source artifacts
      summary: List source artifacts
      description: Returns a paginated list of SourceArtifact
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of SourceArtifact
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        branch:
                          type: string
                          default: ''
                        build_id:
                          type: string
                          description: Build that was produced from this source snapshot
                        commit_sha:
                          type: string
                          default: ''
                        content_type:
                          type: string
                          default: ''
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        digest:
                          type: string
                          description: Content digest of the source bundle
                          default: ''
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        repository_url:
                          type: string
                          description: Git repository URL when source_type is git
                        size_bytes:
                          type: integer
                          format: int64
                          default: 0
                        source_artifact_id:
                          type: string
                          format: ksuid
                        source_type:
                          type: string
                          default: unknown
                          enum:
                          - upload
                          - git
                          - workspace
                          - template
                          - unknown
                        system_artifact_id:
                          type: string
                          description: System object artifact identifier for the source
                            bundle
                        system_object_key:
                          type: string
                          default: ''
                        system_uri:
                          type: string
                          default: ''
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workload_id:
                          type: string
                          format: ksuid
                      required:
                      - source_artifact_id
                      - team_id
                      - workload_id
                      - build_id
                      - system_artifact_id
                      - source_type
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - branch: ''
                  build_id: example
                  commit_sha: ''
                  content_type: ''
                  created_at: 1791072000
                  deleted_at: 0
                  digest: ''
                  metadata: {}
                  repository_url: example
                  size_bytes: 0
                  source_artifact_id: '000000000000000000000000001'
                  source_type: unknown
                  system_artifact_id: example
                  system_object_key: ''
                  system_uri: ''
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                  workload_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
  /v1/source_artifact/{id}:
    get:
      operationId: public_get_v1_source_artifact_id
      tags:
      - Source artifacts
      summary: Get source artifact
      description: 'Returns a single SourceArtifact


        Set `source_artifact_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: SourceArtifact
          content:
            application/json:
              schema:
                type: object
                description: Durable source snapshot metadata for builds and workspace
                  hydration
                properties:
                  branch:
                    type: string
                    default: ''
                  build_id:
                    type: string
                    description: Build that was produced from this source snapshot
                  commit_sha:
                    type: string
                    default: ''
                  content_type:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  digest:
                    type: string
                    description: Content digest of the source bundle
                    default: ''
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  repository_url:
                    type: string
                    description: Git repository URL when source_type is git
                  size_bytes:
                    type: integer
                    format: int64
                    default: 0
                  source_artifact_id:
                    type: string
                    format: ksuid
                  source_type:
                    type: string
                    default: unknown
                    enum:
                    - upload
                    - git
                    - workspace
                    - template
                    - unknown
                  system_artifact_id:
                    type: string
                    description: System object artifact identifier for the source
                      bundle
                  system_object_key:
                    type: string
                    default: ''
                  system_uri:
                    type: string
                    default: ''
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - source_artifact_id
                - team_id
                - workload_id
                - build_id
                - system_artifact_id
                - source_type
                - created_at
                - updated_at
              example:
                branch: ''
                build_id: example
                commit_sha: ''
                content_type: ''
                created_at: 1791072000
                deleted_at: 0
                digest: ''
                metadata: {}
                repository_url: example
                size_bytes: 0
                source_artifact_id: '000000000000000000000000001'
                source_type: unknown
                system_artifact_id: example
                system_object_key: ''
                system_uri: ''
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                workload_id: '000000000000000000000000001'
  /v1/workflow:
    get:
      operationId: public_get_v1_workflow
      tags:
      - Workflows
      summary: List workflows
      description: Returns a paginated list of Workflow
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of Workflow
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        data:
                          type: object
                          description: Workflow designer state and API-facing metadata
                          additionalProperties:
                            type: string
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        enabled:
                          type: boolean
                          default: true
                        owner_id:
                          type: string
                          format: ksuid
                        region:
                          type: string
                          default: ''
                        status:
                          type: string
                          default: draft
                          enum:
                          - draft
                          - active
                          - disabled
                          - archived
                          - deleted
                        system_spec:
                          type: object
                          description: Canonical system workflow specification synced
                            to the system backend
                          additionalProperties:
                            type: string
                        team_id:
                          type: string
                          format: ksuid
                        title:
                          type: string
                          minLength: 1
                          maxLength: 255
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workflow_id:
                          type: string
                          format: ksuid
                      required:
                      - workflow_id
                      - team_id
                      - title
                      - status
                      - enabled
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - created_at: 1791072000
                  data: {}
                  deleted_at: 0
                  enabled: true
                  owner_id: '000000000000000000000000001'
                  region: ''
                  status: draft
                  system_spec: {}
                  team_id: '000000000000000000000000001'
                  title: Postman example
                  updated_at: 1791072000
                  workflow_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_workflow
      tags:
      - Workflows
      summary: Create workflow
      description: 'Creates a new Workflow


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `data` | object | no | Workflow designer state and API-facing metadata |

        | `enabled` | boolean | yes |  Default: `true`. |

        | `owner_id` | string | no |  |

        | `region` | string | no |  Default: `""`. |

        | `status` | string | yes |  Allowed: draft, active, disabled, archived, deleted.
        Default: `"draft"`. |

        | `system_spec` | object | no | Canonical system workflow specification synced
        to the system backend |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team-owned workflow automation definition
              properties:
                data:
                  type: object
                  description: Workflow designer state and API-facing metadata
                  additionalProperties:
                    type: string
                enabled:
                  type: boolean
                  default: true
                owner_id:
                  type: string
                  format: ksuid
                region:
                  type: string
                  default: ''
                status:
                  type: string
                  default: draft
                  enum:
                  - draft
                  - active
                  - disabled
                  - archived
                  - deleted
                system_spec:
                  type: object
                  description: Canonical system workflow specification synced to the
                    system backend
                  additionalProperties:
                    type: string
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                  minLength: 1
                  maxLength: 255
              required:
              - team_id
              - title
              - status
              - enabled
            example:
              team_id: YOUR_TEAM_ID
              title: Postman example workflow
              status: draft
              enabled: false
      responses:
        '201':
          description: Workflow created
          content:
            application/json:
              schema:
                type: object
                description: Team-owned workflow automation definition
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  data:
                    type: object
                    description: Workflow designer state and API-facing metadata
                    additionalProperties:
                      type: string
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  owner_id:
                    type: string
                    format: ksuid
                  region:
                    type: string
                    default: ''
                  status:
                    type: string
                    default: draft
                    enum:
                    - draft
                    - active
                    - disabled
                    - archived
                    - deleted
                  system_spec:
                    type: object
                    description: Canonical system workflow specification synced to
                      the system backend
                    additionalProperties:
                      type: string
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    minLength: 1
                    maxLength: 255
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workflow_id:
                    type: string
                    format: ksuid
                required:
                - workflow_id
                - team_id
                - title
                - status
                - enabled
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                data: {}
                deleted_at: 0
                enabled: true
                owner_id: '000000000000000000000000001'
                region: ''
                status: draft
                system_spec: {}
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
                workflow_id: '000000000000000000000000001'
  /v1/workflow/{id}:
    get:
      operationId: public_get_v1_workflow_id
      tags:
      - Workflows
      summary: Get workflow
      description: 'Returns a single Workflow


        Set `workflow_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Workflow
          content:
            application/json:
              schema:
                type: object
                description: Team-owned workflow automation definition
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  data:
                    type: object
                    description: Workflow designer state and API-facing metadata
                    additionalProperties:
                      type: string
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  owner_id:
                    type: string
                    format: ksuid
                  region:
                    type: string
                    default: ''
                  status:
                    type: string
                    default: draft
                    enum:
                    - draft
                    - active
                    - disabled
                    - archived
                    - deleted
                  system_spec:
                    type: object
                    description: Canonical system workflow specification synced to
                      the system backend
                    additionalProperties:
                      type: string
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    minLength: 1
                    maxLength: 255
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workflow_id:
                    type: string
                    format: ksuid
                required:
                - workflow_id
                - team_id
                - title
                - status
                - enabled
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                data: {}
                deleted_at: 0
                enabled: true
                owner_id: '000000000000000000000000001'
                region: ''
                status: draft
                system_spec: {}
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
                workflow_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_workflow_id
      tags:
      - Workflows
      summary: Update workflow
      description: 'Updates an existing Workflow


        Set `workflow_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `data` | object | no | Workflow designer state and API-facing metadata |

        | `enabled` | boolean | yes |  Default: `true`. |

        | `owner_id` | string | no |  |

        | `region` | string | no |  Default: `""`. |

        | `status` | string | yes |  Allowed: draft, active, disabled, archived, deleted.
        Default: `"draft"`. |

        | `system_spec` | object | no | Canonical system workflow specification synced
        to the system backend |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team-owned workflow automation definition
              properties:
                data:
                  type: object
                  description: Workflow designer state and API-facing metadata
                  additionalProperties:
                    type: string
                enabled:
                  type: boolean
                  default: true
                owner_id:
                  type: string
                  format: ksuid
                region:
                  type: string
                  default: ''
                status:
                  type: string
                  default: draft
                  enum:
                  - draft
                  - active
                  - disabled
                  - archived
                  - deleted
                system_spec:
                  type: object
                  description: Canonical system workflow specification synced to the
                    system backend
                  additionalProperties:
                    type: string
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                  minLength: 1
                  maxLength: 255
              required:
              - team_id
              - title
              - status
              - enabled
            example:
              team_id: YOUR_TEAM_ID
              title: Postman example workflow
              status: draft
              enabled: false
      responses:
        '200':
          description: Workflow updated
          content:
            application/json:
              schema:
                type: object
                description: Team-owned workflow automation definition
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  data:
                    type: object
                    description: Workflow designer state and API-facing metadata
                    additionalProperties:
                      type: string
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  owner_id:
                    type: string
                    format: ksuid
                  region:
                    type: string
                    default: ''
                  status:
                    type: string
                    default: draft
                    enum:
                    - draft
                    - active
                    - disabled
                    - archived
                    - deleted
                  system_spec:
                    type: object
                    description: Canonical system workflow specification synced to
                      the system backend
                    additionalProperties:
                      type: string
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    minLength: 1
                    maxLength: 255
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workflow_id:
                    type: string
                    format: ksuid
                required:
                - workflow_id
                - team_id
                - title
                - status
                - enabled
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                data: {}
                deleted_at: 0
                enabled: true
                owner_id: '000000000000000000000000001'
                region: ''
                status: draft
                system_spec: {}
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
                workflow_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_workflow_id
      tags:
      - Workflows
      summary: Delete workflow
      description: 'Deletes a Workflow


        Set `workflow_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/domain:
    get:
      operationId: public_get_v1_domain
      tags:
      - Domains
      summary: List domains
      description: Returns a paginated list of Domain
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of Domain
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        domain_id:
                          type: string
                          format: ksuid
                        hostname:
                          type: string
                          description: User-owned custom hostname; adios.dev and adios.run
                            namespaces are reserved for platform-managed routes
                          minLength: 3
                          maxLength: 255
                        redirect_to:
                          type: string
                          description: Optional URL or hostname to redirect to (e.g.
                            https://www.adios.dev)
                        scope:
                          type: string
                          description: 'Authorized hostname scope: exact permits only
                            hostname; subtree also permits descendant hostnames. New
                            registrable domains default to subtree, new subdomains
                            default to exact, and existing records remain subtree
                            for backward compatibility.'
                          enum:
                          - exact
                          - subtree
                        status:
                          type: string
                          description: Domain verification status
                          default: pending
                          enum:
                          - pending
                          - verified
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        verification_hostname:
                          type: string
                          description: DNS name that must be configured as a CNAME
                            for ownership verification
                          maxLength: 255
                        verification_parent_id:
                          type: string
                          format: ksuid
                          description: Verified parent domain claim from which this
                            hostname inherited verification; empty for direct DNS
                            verification
                        verification_value:
                          type: string
                          description: Expected CNAME value for ownership verification
                          maxLength: 255
                        verified_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        workload_id:
                          type: string
                          format: ksuid
                      required:
                      - domain_id
                      - team_id
                      - hostname
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - created_at: 1791072000
                  deleted_at: 0
                  domain_id: '000000000000000000000000001'
                  hostname: app.example.com
                  redirect_to: example
                  scope: exact
                  status: pending
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                  verification_hostname: example
                  verification_parent_id: '000000000000000000000000001'
                  verification_value: example
                  verified_at: 0
                  workload_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_domain
      tags:
      - Domains
      summary: Create domain
      description: 'Creates a new Domain


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `hostname` | string | yes | User-owned custom hostname; adios.dev and adios.run
        namespaces are reserved for platform-managed routes |

        | `redirect_to` | string | no | Optional URL or hostname to redirect to (e.g.
        https://www.adios.dev) |

        | `scope` | string | no | Authorized hostname scope: exact permits only hostname;
        subtree also permits descendant hostnames. New registrable domains default
        to subtree, new subdomains default to exact, and existing records remain subtree
        for backward compatibility. Allowed: exact, subtree. |

        | `status` | string | no | Domain verification status Allowed: pending, verified.
        Default: `"pending"`. |

        | `team_id` | string | yes |  |

        | `verification_hostname` | string | no | DNS name that must be configured
        as a CNAME for ownership verification |

        | `verification_parent_id` | string | no | Verified parent domain claim from
        which this hostname inherited verification; empty for direct DNS verification
        |

        | `verification_value` | string | no | Expected CNAME value for ownership
        verification |

        | `verified_at` | integer | no | (Unix timestamp) Default: `0`. |

        | `workload_id` | string | no |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team-owned custom domain that can route to workloads after
                DNS verification
              properties:
                hostname:
                  type: string
                  description: User-owned custom hostname; adios.dev and adios.run
                    namespaces are reserved for platform-managed routes
                  minLength: 3
                  maxLength: 255
                redirect_to:
                  type: string
                  description: Optional URL or hostname to redirect to (e.g. https://www.adios.dev)
                scope:
                  type: string
                  description: 'Authorized hostname scope: exact permits only hostname;
                    subtree also permits descendant hostnames. New registrable domains
                    default to subtree, new subdomains default to exact, and existing
                    records remain subtree for backward compatibility.'
                  enum:
                  - exact
                  - subtree
                status:
                  type: string
                  description: Domain verification status
                  default: pending
                  enum:
                  - pending
                  - verified
                team_id:
                  type: string
                  format: ksuid
                verification_hostname:
                  type: string
                  description: DNS name that must be configured as a CNAME for ownership
                    verification
                  maxLength: 255
                verification_parent_id:
                  type: string
                  format: ksuid
                  description: Verified parent domain claim from which this hostname
                    inherited verification; empty for direct DNS verification
                verification_value:
                  type: string
                  description: Expected CNAME value for ownership verification
                  maxLength: 255
                verified_at:
                  type: integer
                  format: int64
                  description: ' (Unix timestamp)'
                  default: 0
                workload_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - hostname
            example:
              team_id: YOUR_TEAM_ID
              hostname: YOUR_HOSTNAME
      responses:
        '201':
          description: Domain created
          content:
            application/json:
              schema:
                type: object
                description: Team-owned custom domain that can route to workloads
                  after DNS verification
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  domain_id:
                    type: string
                    format: ksuid
                  hostname:
                    type: string
                    description: User-owned custom hostname; adios.dev and adios.run
                      namespaces are reserved for platform-managed routes
                    minLength: 3
                    maxLength: 255
                  redirect_to:
                    type: string
                    description: Optional URL or hostname to redirect to (e.g. https://www.adios.dev)
                  scope:
                    type: string
                    description: 'Authorized hostname scope: exact permits only hostname;
                      subtree also permits descendant hostnames. New registrable domains
                      default to subtree, new subdomains default to exact, and existing
                      records remain subtree for backward compatibility.'
                    enum:
                    - exact
                    - subtree
                  status:
                    type: string
                    description: Domain verification status
                    default: pending
                    enum:
                    - pending
                    - verified
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  verification_hostname:
                    type: string
                    description: DNS name that must be configured as a CNAME for ownership
                      verification
                    maxLength: 255
                  verification_parent_id:
                    type: string
                    format: ksuid
                    description: Verified parent domain claim from which this hostname
                      inherited verification; empty for direct DNS verification
                  verification_value:
                    type: string
                    description: Expected CNAME value for ownership verification
                    maxLength: 255
                  verified_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - domain_id
                - team_id
                - hostname
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                domain_id: '000000000000000000000000001'
                hostname: app.example.com
                redirect_to: example
                scope: exact
                status: pending
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                verification_hostname: example
                verification_parent_id: '000000000000000000000000001'
                verification_value: example
                verified_at: 0
                workload_id: '000000000000000000000000001'
  /v1/domain/{id}:
    get:
      operationId: public_get_v1_domain_id
      tags:
      - Domains
      summary: Get domain
      description: 'Returns a single Domain


        Set `domain_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Domain
          content:
            application/json:
              schema:
                type: object
                description: Team-owned custom domain that can route to workloads
                  after DNS verification
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  domain_id:
                    type: string
                    format: ksuid
                  hostname:
                    type: string
                    description: User-owned custom hostname; adios.dev and adios.run
                      namespaces are reserved for platform-managed routes
                    minLength: 3
                    maxLength: 255
                  redirect_to:
                    type: string
                    description: Optional URL or hostname to redirect to (e.g. https://www.adios.dev)
                  scope:
                    type: string
                    description: 'Authorized hostname scope: exact permits only hostname;
                      subtree also permits descendant hostnames. New registrable domains
                      default to subtree, new subdomains default to exact, and existing
                      records remain subtree for backward compatibility.'
                    enum:
                    - exact
                    - subtree
                  status:
                    type: string
                    description: Domain verification status
                    default: pending
                    enum:
                    - pending
                    - verified
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  verification_hostname:
                    type: string
                    description: DNS name that must be configured as a CNAME for ownership
                      verification
                    maxLength: 255
                  verification_parent_id:
                    type: string
                    format: ksuid
                    description: Verified parent domain claim from which this hostname
                      inherited verification; empty for direct DNS verification
                  verification_value:
                    type: string
                    description: Expected CNAME value for ownership verification
                    maxLength: 255
                  verified_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - domain_id
                - team_id
                - hostname
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                domain_id: '000000000000000000000000001'
                hostname: app.example.com
                redirect_to: example
                scope: exact
                status: pending
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                verification_hostname: example
                verification_parent_id: '000000000000000000000000001'
                verification_value: example
                verified_at: 0
                workload_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_domain_id
      tags:
      - Domains
      summary: Update domain
      description: 'Updates an existing Domain


        Set `domain_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `hostname` | string | yes | User-owned custom hostname; adios.dev and adios.run
        namespaces are reserved for platform-managed routes |

        | `redirect_to` | string | no | Optional URL or hostname to redirect to (e.g.
        https://www.adios.dev) |

        | `scope` | string | no | Authorized hostname scope: exact permits only hostname;
        subtree also permits descendant hostnames. New registrable domains default
        to subtree, new subdomains default to exact, and existing records remain subtree
        for backward compatibility. Allowed: exact, subtree. |

        | `status` | string | no | Domain verification status Allowed: pending, verified.
        Default: `"pending"`. |

        | `team_id` | string | yes |  |

        | `verification_hostname` | string | no | DNS name that must be configured
        as a CNAME for ownership verification |

        | `verification_parent_id` | string | no | Verified parent domain claim from
        which this hostname inherited verification; empty for direct DNS verification
        |

        | `verification_value` | string | no | Expected CNAME value for ownership
        verification |

        | `verified_at` | integer | no | (Unix timestamp) Default: `0`. |

        | `workload_id` | string | no |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team-owned custom domain that can route to workloads after
                DNS verification
              properties:
                hostname:
                  type: string
                  description: User-owned custom hostname; adios.dev and adios.run
                    namespaces are reserved for platform-managed routes
                  minLength: 3
                  maxLength: 255
                redirect_to:
                  type: string
                  description: Optional URL or hostname to redirect to (e.g. https://www.adios.dev)
                scope:
                  type: string
                  description: 'Authorized hostname scope: exact permits only hostname;
                    subtree also permits descendant hostnames. New registrable domains
                    default to subtree, new subdomains default to exact, and existing
                    records remain subtree for backward compatibility.'
                  enum:
                  - exact
                  - subtree
                status:
                  type: string
                  description: Domain verification status
                  default: pending
                  enum:
                  - pending
                  - verified
                team_id:
                  type: string
                  format: ksuid
                verification_hostname:
                  type: string
                  description: DNS name that must be configured as a CNAME for ownership
                    verification
                  maxLength: 255
                verification_parent_id:
                  type: string
                  format: ksuid
                  description: Verified parent domain claim from which this hostname
                    inherited verification; empty for direct DNS verification
                verification_value:
                  type: string
                  description: Expected CNAME value for ownership verification
                  maxLength: 255
                verified_at:
                  type: integer
                  format: int64
                  description: ' (Unix timestamp)'
                  default: 0
                workload_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - hostname
            example:
              team_id: YOUR_TEAM_ID
              hostname: YOUR_HOSTNAME
      responses:
        '200':
          description: Domain updated
          content:
            application/json:
              schema:
                type: object
                description: Team-owned custom domain that can route to workloads
                  after DNS verification
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  domain_id:
                    type: string
                    format: ksuid
                  hostname:
                    type: string
                    description: User-owned custom hostname; adios.dev and adios.run
                      namespaces are reserved for platform-managed routes
                    minLength: 3
                    maxLength: 255
                  redirect_to:
                    type: string
                    description: Optional URL or hostname to redirect to (e.g. https://www.adios.dev)
                  scope:
                    type: string
                    description: 'Authorized hostname scope: exact permits only hostname;
                      subtree also permits descendant hostnames. New registrable domains
                      default to subtree, new subdomains default to exact, and existing
                      records remain subtree for backward compatibility.'
                    enum:
                    - exact
                    - subtree
                  status:
                    type: string
                    description: Domain verification status
                    default: pending
                    enum:
                    - pending
                    - verified
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  verification_hostname:
                    type: string
                    description: DNS name that must be configured as a CNAME for ownership
                      verification
                    maxLength: 255
                  verification_parent_id:
                    type: string
                    format: ksuid
                    description: Verified parent domain claim from which this hostname
                      inherited verification; empty for direct DNS verification
                  verification_value:
                    type: string
                    description: Expected CNAME value for ownership verification
                    maxLength: 255
                  verified_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - domain_id
                - team_id
                - hostname
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                domain_id: '000000000000000000000000001'
                hostname: app.example.com
                redirect_to: example
                scope: exact
                status: pending
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                verification_hostname: example
                verification_parent_id: '000000000000000000000000001'
                verification_value: example
                verified_at: 0
                workload_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_domain_id
      tags:
      - Domains
      summary: Delete domain
      description: 'Deletes a Domain


        Set `domain_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/object_bucket:
    get:
      operationId: public_get_v1_object_bucket
      tags:
      - Object storage
      summary: List buckets
      description: Returns a paginated list of ObjectBucket
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of ObjectBucket
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        acl_policy:
                          type: object
                          description: Adios object ACL policy. Defaults to private
                            with optional public prefix rules.
                          additionalProperties:
                            type: string
                        backend_bucket:
                          type: string
                          description: Provider bucket name. Defaults to the normalized
                            object bucket name.
                        bucket_id:
                          type: string
                          format: ksuid
                        cache_policy:
                          type: object
                          description: Gateway cache policy for public object reads.
                          additionalProperties:
                            type: string
                        canonical_hostname:
                          type: string
                          description: Generated Adios bucket hostname such as bucket.s3.adios.dev.
                        cdn_policy:
                          type: object
                          description: Adios CDN policy for public object reads. Overrides
                            cache_policy when set.
                          additionalProperties:
                            type: string
                        config:
                          type: object
                          description: Additional provider options and secret references.
                          additionalProperties:
                            type: string
                        cors_policy:
                          type: object
                          description: S3 CORS policy enforced by Adios before proxying
                            to the object backend.
                          additionalProperties:
                            type: string
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        endpoint:
                          type: string
                          description: Optional S3-compatible endpoint override for
                            imported buckets.
                        managed:
                          type: boolean
                          default: true
                        name:
                          type: string
                          description: Globally unique bucket namespace used for bucket.s3.adios.dev
                            and s3.adios.dev/bucket routing.
                          minLength: 3
                          maxLength: 63
                        provider:
                          type: string
                          default: adios
                          enum:
                          - adios
                          - minio
                          - ceph_rgw
                          - external_s3
                        public_hostname:
                          type: string
                          description: Optional user-owned custom hostname served
                            through the anycast gateway for bucket access; adios.dev
                            and adios.run namespaces are reserved.
                        public_read:
                          type: boolean
                          default: false
                        region:
                          type: string
                          default: default
                        route_id:
                          type: string
                          format: ksuid
                          description: Gateway route synced for public_hostname custom
                            domains.
                        s3_path_endpoint:
                          type: string
                          description: Shared path-style S3 endpoint such as https://s3.adios.dev.
                        status:
                          type: string
                          default: pending
                          enum:
                          - pending
                          - available
                          - failed
                          - deleted
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        versioning:
                          type: boolean
                          default: false
                      required:
                      - bucket_id
                      - team_id
                      - name
                      - provider
                      - managed
                      - public_read
                      - versioning
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - acl_policy: {}
                  backend_bucket: example
                  bucket_id: '000000000000000000000000001'
                  cache_policy: {}
                  canonical_hostname: example
                  cdn_policy: {}
                  config: {}
                  cors_policy: {}
                  created_at: 1791072000
                  deleted_at: 0
                  endpoint: example
                  managed: true
                  name: postman-example
                  provider: adios
                  public_hostname: example
                  public_read: false
                  region: default
                  route_id: '000000000000000000000000001'
                  s3_path_endpoint: example
                  status: pending
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                  versioning: false
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_object_bucket
      tags:
      - Object storage
      summary: Create bucket
      description: 'Creates a new ObjectBucket


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `acl_policy` | object | no | Adios object ACL policy. Defaults to private
        with optional public prefix rules. |

        | `backend_bucket` | string | no | Provider bucket name. Defaults to the normalized
        object bucket name. |

        | `cache_policy` | object | no | Gateway cache policy for public object reads.
        |

        | `canonical_hostname` | string | no | Generated Adios bucket hostname such
        as bucket.s3.adios.dev. |

        | `cdn_policy` | object | no | Adios CDN policy for public object reads. Overrides
        cache_policy when set. |

        | `config` | object | no | Additional provider options and secret references.
        |

        | `cors_policy` | object | no | S3 CORS policy enforced by Adios before proxying
        to the object backend. |

        | `endpoint` | string | no | Optional S3-compatible endpoint override for
        imported buckets. |

        | `managed` | boolean | yes |  Default: `true`. |

        | `name` | string | yes | Globally unique bucket namespace used for bucket.s3.adios.dev
        and s3.adios.dev/bucket routing. |

        | `provider` | string | yes |  Allowed: adios, minio, ceph_rgw, external_s3.
        Default: `"adios"`. |

        | `public_hostname` | string | no | Optional user-owned custom hostname served
        through the anycast gateway for bucket access; adios.dev and adios.run namespaces
        are reserved. |

        | `public_read` | boolean | yes |  Default: `false`. |

        | `region` | string | no |  Default: `"default"`. |

        | `route_id` | string | no | Gateway route synced for public_hostname custom
        domains. |

        | `s3_path_endpoint` | string | no | Shared path-style S3 endpoint such as
        https://s3.adios.dev. |

        | `status` | string | yes |  Allowed: pending, available, failed, deleted.
        Default: `"pending"`. |

        | `team_id` | string | yes |  |

        | `versioning` | boolean | yes |  Default: `false`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team-owned S3-compatible object storage bucket that can
                be served through the anycast gateway
              properties:
                acl_policy:
                  type: object
                  description: Adios object ACL policy. Defaults to private with optional
                    public prefix rules.
                  additionalProperties:
                    type: string
                backend_bucket:
                  type: string
                  description: Provider bucket name. Defaults to the normalized object
                    bucket name.
                cache_policy:
                  type: object
                  description: Gateway cache policy for public object reads.
                  additionalProperties:
                    type: string
                canonical_hostname:
                  type: string
                  description: Generated Adios bucket hostname such as bucket.s3.adios.dev.
                cdn_policy:
                  type: object
                  description: Adios CDN policy for public object reads. Overrides
                    cache_policy when set.
                  additionalProperties:
                    type: string
                config:
                  type: object
                  description: Additional provider options and secret references.
                  additionalProperties:
                    type: string
                cors_policy:
                  type: object
                  description: S3 CORS policy enforced by Adios before proxying to
                    the object backend.
                  additionalProperties:
                    type: string
                endpoint:
                  type: string
                  description: Optional S3-compatible endpoint override for imported
                    buckets.
                managed:
                  type: boolean
                  default: true
                name:
                  type: string
                  description: Globally unique bucket namespace used for bucket.s3.adios.dev
                    and s3.adios.dev/bucket routing.
                  minLength: 3
                  maxLength: 63
                provider:
                  type: string
                  default: adios
                  enum:
                  - adios
                  - minio
                  - ceph_rgw
                  - external_s3
                public_hostname:
                  type: string
                  description: Optional user-owned custom hostname served through
                    the anycast gateway for bucket access; adios.dev and adios.run
                    namespaces are reserved.
                public_read:
                  type: boolean
                  default: false
                region:
                  type: string
                  default: default
                route_id:
                  type: string
                  format: ksuid
                  description: Gateway route synced for public_hostname custom domains.
                s3_path_endpoint:
                  type: string
                  description: Shared path-style S3 endpoint such as https://s3.adios.dev.
                status:
                  type: string
                  default: pending
                  enum:
                  - pending
                  - available
                  - failed
                  - deleted
                team_id:
                  type: string
                  format: ksuid
                versioning:
                  type: boolean
                  default: false
              required:
              - team_id
              - name
              - provider
              - managed
              - public_read
              - versioning
              - status
            example:
              team_id: YOUR_TEAM_ID
              name: YOUR_BUCKET_NAME
              provider: adios
              managed: true
              public_read: false
              versioning: false
              status: pending
              region: YOUR_REGION
      responses:
        '201':
          description: ObjectBucket created
          content:
            application/json:
              schema:
                type: object
                description: Team-owned S3-compatible object storage bucket that can
                  be served through the anycast gateway
                properties:
                  acl_policy:
                    type: object
                    description: Adios object ACL policy. Defaults to private with
                      optional public prefix rules.
                    additionalProperties:
                      type: string
                  backend_bucket:
                    type: string
                    description: Provider bucket name. Defaults to the normalized
                      object bucket name.
                  bucket_id:
                    type: string
                    format: ksuid
                  cache_policy:
                    type: object
                    description: Gateway cache policy for public object reads.
                    additionalProperties:
                      type: string
                  canonical_hostname:
                    type: string
                    description: Generated Adios bucket hostname such as bucket.s3.adios.dev.
                  cdn_policy:
                    type: object
                    description: Adios CDN policy for public object reads. Overrides
                      cache_policy when set.
                    additionalProperties:
                      type: string
                  config:
                    type: object
                    description: Additional provider options and secret references.
                    additionalProperties:
                      type: string
                  cors_policy:
                    type: object
                    description: S3 CORS policy enforced by Adios before proxying
                      to the object backend.
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  endpoint:
                    type: string
                    description: Optional S3-compatible endpoint override for imported
                      buckets.
                  managed:
                    type: boolean
                    default: true
                  name:
                    type: string
                    description: Globally unique bucket namespace used for bucket.s3.adios.dev
                      and s3.adios.dev/bucket routing.
                    minLength: 3
                    maxLength: 63
                  provider:
                    type: string
                    default: adios
                    enum:
                    - adios
                    - minio
                    - ceph_rgw
                    - external_s3
                  public_hostname:
                    type: string
                    description: Optional user-owned custom hostname served through
                      the anycast gateway for bucket access; adios.dev and adios.run
                      namespaces are reserved.
                  public_read:
                    type: boolean
                    default: false
                  region:
                    type: string
                    default: default
                  route_id:
                    type: string
                    format: ksuid
                    description: Gateway route synced for public_hostname custom domains.
                  s3_path_endpoint:
                    type: string
                    description: Shared path-style S3 endpoint such as https://s3.adios.dev.
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - available
                    - failed
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  versioning:
                    type: boolean
                    default: false
                required:
                - bucket_id
                - team_id
                - name
                - provider
                - managed
                - public_read
                - versioning
                - status
                - created_at
                - updated_at
              example:
                acl_policy: {}
                backend_bucket: example
                bucket_id: '000000000000000000000000001'
                cache_policy: {}
                canonical_hostname: example
                cdn_policy: {}
                config: {}
                cors_policy: {}
                created_at: 1791072000
                deleted_at: 0
                endpoint: example
                managed: true
                name: postman-example
                provider: adios
                public_hostname: example
                public_read: false
                region: default
                route_id: '000000000000000000000000001'
                s3_path_endpoint: example
                status: pending
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                versioning: false
  /v1/object_bucket/{id}:
    get:
      operationId: public_get_v1_object_bucket_id
      tags:
      - Object storage
      summary: Get bucket
      description: 'Returns a single ObjectBucket


        Set `object_bucket_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: ObjectBucket
          content:
            application/json:
              schema:
                type: object
                description: Team-owned S3-compatible object storage bucket that can
                  be served through the anycast gateway
                properties:
                  acl_policy:
                    type: object
                    description: Adios object ACL policy. Defaults to private with
                      optional public prefix rules.
                    additionalProperties:
                      type: string
                  backend_bucket:
                    type: string
                    description: Provider bucket name. Defaults to the normalized
                      object bucket name.
                  bucket_id:
                    type: string
                    format: ksuid
                  cache_policy:
                    type: object
                    description: Gateway cache policy for public object reads.
                    additionalProperties:
                      type: string
                  canonical_hostname:
                    type: string
                    description: Generated Adios bucket hostname such as bucket.s3.adios.dev.
                  cdn_policy:
                    type: object
                    description: Adios CDN policy for public object reads. Overrides
                      cache_policy when set.
                    additionalProperties:
                      type: string
                  config:
                    type: object
                    description: Additional provider options and secret references.
                    additionalProperties:
                      type: string
                  cors_policy:
                    type: object
                    description: S3 CORS policy enforced by Adios before proxying
                      to the object backend.
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  endpoint:
                    type: string
                    description: Optional S3-compatible endpoint override for imported
                      buckets.
                  managed:
                    type: boolean
                    default: true
                  name:
                    type: string
                    description: Globally unique bucket namespace used for bucket.s3.adios.dev
                      and s3.adios.dev/bucket routing.
                    minLength: 3
                    maxLength: 63
                  provider:
                    type: string
                    default: adios
                    enum:
                    - adios
                    - minio
                    - ceph_rgw
                    - external_s3
                  public_hostname:
                    type: string
                    description: Optional user-owned custom hostname served through
                      the anycast gateway for bucket access; adios.dev and adios.run
                      namespaces are reserved.
                  public_read:
                    type: boolean
                    default: false
                  region:
                    type: string
                    default: default
                  route_id:
                    type: string
                    format: ksuid
                    description: Gateway route synced for public_hostname custom domains.
                  s3_path_endpoint:
                    type: string
                    description: Shared path-style S3 endpoint such as https://s3.adios.dev.
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - available
                    - failed
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  versioning:
                    type: boolean
                    default: false
                required:
                - bucket_id
                - team_id
                - name
                - provider
                - managed
                - public_read
                - versioning
                - status
                - created_at
                - updated_at
              example:
                acl_policy: {}
                backend_bucket: example
                bucket_id: '000000000000000000000000001'
                cache_policy: {}
                canonical_hostname: example
                cdn_policy: {}
                config: {}
                cors_policy: {}
                created_at: 1791072000
                deleted_at: 0
                endpoint: example
                managed: true
                name: postman-example
                provider: adios
                public_hostname: example
                public_read: false
                region: default
                route_id: '000000000000000000000000001'
                s3_path_endpoint: example
                status: pending
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                versioning: false
    put:
      operationId: public_put_v1_object_bucket_id
      tags:
      - Object storage
      summary: Update bucket
      description: 'Updates an existing ObjectBucket


        Set `object_bucket_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `acl_policy` | object | no | Adios object ACL policy. Defaults to private
        with optional public prefix rules. |

        | `backend_bucket` | string | no | Provider bucket name. Defaults to the normalized
        object bucket name. |

        | `cache_policy` | object | no | Gateway cache policy for public object reads.
        |

        | `canonical_hostname` | string | no | Generated Adios bucket hostname such
        as bucket.s3.adios.dev. |

        | `cdn_policy` | object | no | Adios CDN policy for public object reads. Overrides
        cache_policy when set. |

        | `config` | object | no | Additional provider options and secret references.
        |

        | `cors_policy` | object | no | S3 CORS policy enforced by Adios before proxying
        to the object backend. |

        | `endpoint` | string | no | Optional S3-compatible endpoint override for
        imported buckets. |

        | `managed` | boolean | yes |  Default: `true`. |

        | `name` | string | yes | Globally unique bucket namespace used for bucket.s3.adios.dev
        and s3.adios.dev/bucket routing. |

        | `provider` | string | yes |  Allowed: adios, minio, ceph_rgw, external_s3.
        Default: `"adios"`. |

        | `public_hostname` | string | no | Optional user-owned custom hostname served
        through the anycast gateway for bucket access; adios.dev and adios.run namespaces
        are reserved. |

        | `public_read` | boolean | yes |  Default: `false`. |

        | `region` | string | no |  Default: `"default"`. |

        | `route_id` | string | no | Gateway route synced for public_hostname custom
        domains. |

        | `s3_path_endpoint` | string | no | Shared path-style S3 endpoint such as
        https://s3.adios.dev. |

        | `status` | string | yes |  Allowed: pending, available, failed, deleted.
        Default: `"pending"`. |

        | `team_id` | string | yes |  |

        | `versioning` | boolean | yes |  Default: `false`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Team-owned S3-compatible object storage bucket that can
                be served through the anycast gateway
              properties:
                acl_policy:
                  type: object
                  description: Adios object ACL policy. Defaults to private with optional
                    public prefix rules.
                  additionalProperties:
                    type: string
                backend_bucket:
                  type: string
                  description: Provider bucket name. Defaults to the normalized object
                    bucket name.
                cache_policy:
                  type: object
                  description: Gateway cache policy for public object reads.
                  additionalProperties:
                    type: string
                canonical_hostname:
                  type: string
                  description: Generated Adios bucket hostname such as bucket.s3.adios.dev.
                cdn_policy:
                  type: object
                  description: Adios CDN policy for public object reads. Overrides
                    cache_policy when set.
                  additionalProperties:
                    type: string
                config:
                  type: object
                  description: Additional provider options and secret references.
                  additionalProperties:
                    type: string
                cors_policy:
                  type: object
                  description: S3 CORS policy enforced by Adios before proxying to
                    the object backend.
                  additionalProperties:
                    type: string
                endpoint:
                  type: string
                  description: Optional S3-compatible endpoint override for imported
                    buckets.
                managed:
                  type: boolean
                  default: true
                name:
                  type: string
                  description: Globally unique bucket namespace used for bucket.s3.adios.dev
                    and s3.adios.dev/bucket routing.
                  minLength: 3
                  maxLength: 63
                provider:
                  type: string
                  default: adios
                  enum:
                  - adios
                  - minio
                  - ceph_rgw
                  - external_s3
                public_hostname:
                  type: string
                  description: Optional user-owned custom hostname served through
                    the anycast gateway for bucket access; adios.dev and adios.run
                    namespaces are reserved.
                public_read:
                  type: boolean
                  default: false
                region:
                  type: string
                  default: default
                route_id:
                  type: string
                  format: ksuid
                  description: Gateway route synced for public_hostname custom domains.
                s3_path_endpoint:
                  type: string
                  description: Shared path-style S3 endpoint such as https://s3.adios.dev.
                status:
                  type: string
                  default: pending
                  enum:
                  - pending
                  - available
                  - failed
                  - deleted
                team_id:
                  type: string
                  format: ksuid
                versioning:
                  type: boolean
                  default: false
              required:
              - team_id
              - name
              - provider
              - managed
              - public_read
              - versioning
              - status
            example:
              team_id: YOUR_TEAM_ID
              name: YOUR_BUCKET_NAME
              provider: adios
              managed: true
              public_read: false
              versioning: false
              status: pending
              region: YOUR_REGION
      responses:
        '200':
          description: ObjectBucket updated
          content:
            application/json:
              schema:
                type: object
                description: Team-owned S3-compatible object storage bucket that can
                  be served through the anycast gateway
                properties:
                  acl_policy:
                    type: object
                    description: Adios object ACL policy. Defaults to private with
                      optional public prefix rules.
                    additionalProperties:
                      type: string
                  backend_bucket:
                    type: string
                    description: Provider bucket name. Defaults to the normalized
                      object bucket name.
                  bucket_id:
                    type: string
                    format: ksuid
                  cache_policy:
                    type: object
                    description: Gateway cache policy for public object reads.
                    additionalProperties:
                      type: string
                  canonical_hostname:
                    type: string
                    description: Generated Adios bucket hostname such as bucket.s3.adios.dev.
                  cdn_policy:
                    type: object
                    description: Adios CDN policy for public object reads. Overrides
                      cache_policy when set.
                    additionalProperties:
                      type: string
                  config:
                    type: object
                    description: Additional provider options and secret references.
                    additionalProperties:
                      type: string
                  cors_policy:
                    type: object
                    description: S3 CORS policy enforced by Adios before proxying
                      to the object backend.
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  endpoint:
                    type: string
                    description: Optional S3-compatible endpoint override for imported
                      buckets.
                  managed:
                    type: boolean
                    default: true
                  name:
                    type: string
                    description: Globally unique bucket namespace used for bucket.s3.adios.dev
                      and s3.adios.dev/bucket routing.
                    minLength: 3
                    maxLength: 63
                  provider:
                    type: string
                    default: adios
                    enum:
                    - adios
                    - minio
                    - ceph_rgw
                    - external_s3
                  public_hostname:
                    type: string
                    description: Optional user-owned custom hostname served through
                      the anycast gateway for bucket access; adios.dev and adios.run
                      namespaces are reserved.
                  public_read:
                    type: boolean
                    default: false
                  region:
                    type: string
                    default: default
                  route_id:
                    type: string
                    format: ksuid
                    description: Gateway route synced for public_hostname custom domains.
                  s3_path_endpoint:
                    type: string
                    description: Shared path-style S3 endpoint such as https://s3.adios.dev.
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - available
                    - failed
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  versioning:
                    type: boolean
                    default: false
                required:
                - bucket_id
                - team_id
                - name
                - provider
                - managed
                - public_read
                - versioning
                - status
                - created_at
                - updated_at
              example:
                acl_policy: {}
                backend_bucket: example
                bucket_id: '000000000000000000000000001'
                cache_policy: {}
                canonical_hostname: example
                cdn_policy: {}
                config: {}
                cors_policy: {}
                created_at: 1791072000
                deleted_at: 0
                endpoint: example
                managed: true
                name: postman-example
                provider: adios
                public_hostname: example
                public_read: false
                region: default
                route_id: '000000000000000000000000001'
                s3_path_endpoint: example
                status: pending
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                versioning: false
    delete:
      operationId: public_delete_v1_object_bucket_id
      tags:
      - Object storage
      summary: Delete bucket
      description: 'Deletes a ObjectBucket


        Set `object_bucket_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/gateway_route:
    get:
      operationId: public_get_v1_gateway_route
      tags:
      - Gateway routes
      summary: List gateway routes
      description: Returns a paginated list of GatewayRoute
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of GatewayRoute
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        auth_policy:
                          type: object
                          description: Gateway user auth policy. This is app-facing
                            auth, not API/admin auth.
                          additionalProperties:
                            type: string
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        enabled:
                          type: boolean
                          default: true
                        exposure:
                          type: string
                          default: public
                          enum:
                          - public
                          - auth
                          - private
                        geo_policy:
                          type: object
                          description: Optional country allow/block policy
                          additionalProperties:
                            type: string
                        hostname:
                          type: string
                          minLength: 3
                          maxLength: 255
                        object_bucket_id:
                          type: string
                          format: ksuid
                        path_prefix:
                          type: string
                          default: /
                          minLength: 1
                          maxLength: 255
                        priority:
                          type: integer
                          format: int32
                          default: 0
                        rewrite_to:
                          type: string
                          description: Optional rewrite path applied before proxying
                            (for example /v1)
                        route_id:
                          type: string
                          format: ksuid
                        security_policy:
                          type: object
                          description: Optional route-level HTTP security override
                          additionalProperties:
                            type: string
                        strip_prefix:
                          type: boolean
                          default: false
                        target_kind:
                          type: string
                          default: workload
                          enum:
                          - workload
                          - workflow
                          - url
                          - object_storage
                        target_url:
                          type: string
                          description: Absolute URL used when target_kind=url
                        team_id:
                          type: string
                          format: ksuid
                        traffic_policy:
                          type: object
                          description: Optional route-level regional traffic policy
                            for gateway target selection
                          additionalProperties:
                            type: string
                        trigger_name:
                          type: string
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workflow_id:
                          type: string
                        workload_id:
                          type: string
                          format: ksuid
                      required:
                      - route_id
                      - team_id
                      - hostname
                      - path_prefix
                      - target_kind
                      - exposure
                      - priority
                      - strip_prefix
                      - enabled
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - auth_policy: {}
                  created_at: 1791072000
                  deleted_at: 0
                  enabled: true
                  exposure: public
                  geo_policy: {}
                  hostname: app.example.com
                  object_bucket_id: '000000000000000000000000001'
                  path_prefix: /
                  priority: 0
                  rewrite_to: example
                  route_id: '000000000000000000000000001'
                  security_policy: {}
                  strip_prefix: false
                  target_kind: workload
                  target_url: example
                  team_id: '000000000000000000000000001'
                  traffic_policy: {}
                  trigger_name: example
                  updated_at: 1791072000
                  workflow_id: example
                  workload_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_gateway_route
      tags:
      - Gateway routes
      summary: Create gateway route
      description: 'Creates a new GatewayRoute


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `auth_policy` | object | no | Gateway user auth policy. This is app-facing
        auth, not API/admin auth. |

        | `enabled` | boolean | yes |  Default: `true`. |

        | `exposure` | string | yes |  Allowed: public, auth, private. Default: `"public"`.
        |

        | `geo_policy` | object | no | Optional country allow/block policy |

        | `hostname` | string | yes |  |

        | `object_bucket_id` | string | no |  |

        | `path_prefix` | string | yes |  Default: `"/"`. |

        | `priority` | integer | yes |  Default: `0`. |

        | `rewrite_to` | string | no | Optional rewrite path applied before proxying
        (for example /v1) |

        | `security_policy` | object | no | Optional route-level HTTP security override
        |

        | `strip_prefix` | boolean | yes |  Default: `false`. |

        | `target_kind` | string | yes |  Allowed: workload, workflow, url, object_storage.
        Default: `"workload"`. |

        | `target_url` | string | no | Absolute URL used when target_kind=url |

        | `team_id` | string | yes |  |

        | `traffic_policy` | object | no | Optional route-level regional traffic policy
        for gateway target selection |

        | `trigger_name` | string | no |  |

        | `workflow_id` | string | no |  |

        | `workload_id` | string | no |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Host and path based ingress route mapping to workloads,
                workflows, object storage buckets, and external URLs
              properties:
                auth_policy:
                  type: object
                  description: Gateway user auth policy. This is app-facing auth,
                    not API/admin auth.
                  additionalProperties:
                    type: string
                enabled:
                  type: boolean
                  default: true
                exposure:
                  type: string
                  default: public
                  enum:
                  - public
                  - auth
                  - private
                geo_policy:
                  type: object
                  description: Optional country allow/block policy
                  additionalProperties:
                    type: string
                hostname:
                  type: string
                  minLength: 3
                  maxLength: 255
                object_bucket_id:
                  type: string
                  format: ksuid
                path_prefix:
                  type: string
                  default: /
                  minLength: 1
                  maxLength: 255
                priority:
                  type: integer
                  format: int32
                  default: 0
                rewrite_to:
                  type: string
                  description: Optional rewrite path applied before proxying (for
                    example /v1)
                security_policy:
                  type: object
                  description: Optional route-level HTTP security override
                  additionalProperties:
                    type: string
                strip_prefix:
                  type: boolean
                  default: false
                target_kind:
                  type: string
                  default: workload
                  enum:
                  - workload
                  - workflow
                  - url
                  - object_storage
                target_url:
                  type: string
                  description: Absolute URL used when target_kind=url
                team_id:
                  type: string
                  format: ksuid
                traffic_policy:
                  type: object
                  description: Optional route-level regional traffic policy for gateway
                    target selection
                  additionalProperties:
                    type: string
                trigger_name:
                  type: string
                workflow_id:
                  type: string
                workload_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - hostname
              - path_prefix
              - target_kind
              - exposure
              - priority
              - strip_prefix
              - enabled
            example:
              team_id: YOUR_TEAM_ID
              hostname: YOUR_HOSTNAME
              path_prefix: /
              target_kind: workload
              workload_id: YOUR_WORKLOAD_ID
              exposure: public
              priority: 0
              strip_prefix: false
              enabled: true
      responses:
        '201':
          description: GatewayRoute created
          content:
            application/json:
              schema:
                type: object
                description: Host and path based ingress route mapping to workloads,
                  workflows, object storage buckets, and external URLs
                properties:
                  auth_policy:
                    type: object
                    description: Gateway user auth policy. This is app-facing auth,
                      not API/admin auth.
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  exposure:
                    type: string
                    default: public
                    enum:
                    - public
                    - auth
                    - private
                  geo_policy:
                    type: object
                    description: Optional country allow/block policy
                    additionalProperties:
                      type: string
                  hostname:
                    type: string
                    minLength: 3
                    maxLength: 255
                  object_bucket_id:
                    type: string
                    format: ksuid
                  path_prefix:
                    type: string
                    default: /
                    minLength: 1
                    maxLength: 255
                  priority:
                    type: integer
                    format: int32
                    default: 0
                  rewrite_to:
                    type: string
                    description: Optional rewrite path applied before proxying (for
                      example /v1)
                  route_id:
                    type: string
                    format: ksuid
                  security_policy:
                    type: object
                    description: Optional route-level HTTP security override
                    additionalProperties:
                      type: string
                  strip_prefix:
                    type: boolean
                    default: false
                  target_kind:
                    type: string
                    default: workload
                    enum:
                    - workload
                    - workflow
                    - url
                    - object_storage
                  target_url:
                    type: string
                    description: Absolute URL used when target_kind=url
                  team_id:
                    type: string
                    format: ksuid
                  traffic_policy:
                    type: object
                    description: Optional route-level regional traffic policy for
                      gateway target selection
                    additionalProperties:
                      type: string
                  trigger_name:
                    type: string
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workflow_id:
                    type: string
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - route_id
                - team_id
                - hostname
                - path_prefix
                - target_kind
                - exposure
                - priority
                - strip_prefix
                - enabled
                - created_at
                - updated_at
              example:
                auth_policy: {}
                created_at: 1791072000
                deleted_at: 0
                enabled: true
                exposure: public
                geo_policy: {}
                hostname: app.example.com
                object_bucket_id: '000000000000000000000000001'
                path_prefix: /
                priority: 0
                rewrite_to: example
                route_id: '000000000000000000000000001'
                security_policy: {}
                strip_prefix: false
                target_kind: workload
                target_url: example
                team_id: '000000000000000000000000001'
                traffic_policy: {}
                trigger_name: example
                updated_at: 1791072000
                workflow_id: example
                workload_id: '000000000000000000000000001'
  /v1/gateway_route/{id}:
    get:
      operationId: public_get_v1_gateway_route_id
      tags:
      - Gateway routes
      summary: Get gateway route
      description: 'Returns a single GatewayRoute


        Set `gateway_route_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: GatewayRoute
          content:
            application/json:
              schema:
                type: object
                description: Host and path based ingress route mapping to workloads,
                  workflows, object storage buckets, and external URLs
                properties:
                  auth_policy:
                    type: object
                    description: Gateway user auth policy. This is app-facing auth,
                      not API/admin auth.
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  exposure:
                    type: string
                    default: public
                    enum:
                    - public
                    - auth
                    - private
                  geo_policy:
                    type: object
                    description: Optional country allow/block policy
                    additionalProperties:
                      type: string
                  hostname:
                    type: string
                    minLength: 3
                    maxLength: 255
                  object_bucket_id:
                    type: string
                    format: ksuid
                  path_prefix:
                    type: string
                    default: /
                    minLength: 1
                    maxLength: 255
                  priority:
                    type: integer
                    format: int32
                    default: 0
                  rewrite_to:
                    type: string
                    description: Optional rewrite path applied before proxying (for
                      example /v1)
                  route_id:
                    type: string
                    format: ksuid
                  security_policy:
                    type: object
                    description: Optional route-level HTTP security override
                    additionalProperties:
                      type: string
                  strip_prefix:
                    type: boolean
                    default: false
                  target_kind:
                    type: string
                    default: workload
                    enum:
                    - workload
                    - workflow
                    - url
                    - object_storage
                  target_url:
                    type: string
                    description: Absolute URL used when target_kind=url
                  team_id:
                    type: string
                    format: ksuid
                  traffic_policy:
                    type: object
                    description: Optional route-level regional traffic policy for
                      gateway target selection
                    additionalProperties:
                      type: string
                  trigger_name:
                    type: string
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workflow_id:
                    type: string
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - route_id
                - team_id
                - hostname
                - path_prefix
                - target_kind
                - exposure
                - priority
                - strip_prefix
                - enabled
                - created_at
                - updated_at
              example:
                auth_policy: {}
                created_at: 1791072000
                deleted_at: 0
                enabled: true
                exposure: public
                geo_policy: {}
                hostname: app.example.com
                object_bucket_id: '000000000000000000000000001'
                path_prefix: /
                priority: 0
                rewrite_to: example
                route_id: '000000000000000000000000001'
                security_policy: {}
                strip_prefix: false
                target_kind: workload
                target_url: example
                team_id: '000000000000000000000000001'
                traffic_policy: {}
                trigger_name: example
                updated_at: 1791072000
                workflow_id: example
                workload_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_gateway_route_id
      tags:
      - Gateway routes
      summary: Update gateway route
      description: 'Updates an existing GatewayRoute


        Set `gateway_route_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `auth_policy` | object | no | Gateway user auth policy. This is app-facing
        auth, not API/admin auth. |

        | `enabled` | boolean | yes |  Default: `true`. |

        | `exposure` | string | yes |  Allowed: public, auth, private. Default: `"public"`.
        |

        | `geo_policy` | object | no | Optional country allow/block policy |

        | `hostname` | string | yes |  |

        | `object_bucket_id` | string | no |  |

        | `path_prefix` | string | yes |  Default: `"/"`. |

        | `priority` | integer | yes |  Default: `0`. |

        | `rewrite_to` | string | no | Optional rewrite path applied before proxying
        (for example /v1) |

        | `security_policy` | object | no | Optional route-level HTTP security override
        |

        | `strip_prefix` | boolean | yes |  Default: `false`. |

        | `target_kind` | string | yes |  Allowed: workload, workflow, url, object_storage.
        Default: `"workload"`. |

        | `target_url` | string | no | Absolute URL used when target_kind=url |

        | `team_id` | string | yes |  |

        | `traffic_policy` | object | no | Optional route-level regional traffic policy
        for gateway target selection |

        | `trigger_name` | string | no |  |

        | `workflow_id` | string | no |  |

        | `workload_id` | string | no |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Host and path based ingress route mapping to workloads,
                workflows, object storage buckets, and external URLs
              properties:
                auth_policy:
                  type: object
                  description: Gateway user auth policy. This is app-facing auth,
                    not API/admin auth.
                  additionalProperties:
                    type: string
                enabled:
                  type: boolean
                  default: true
                exposure:
                  type: string
                  default: public
                  enum:
                  - public
                  - auth
                  - private
                geo_policy:
                  type: object
                  description: Optional country allow/block policy
                  additionalProperties:
                    type: string
                hostname:
                  type: string
                  minLength: 3
                  maxLength: 255
                object_bucket_id:
                  type: string
                  format: ksuid
                path_prefix:
                  type: string
                  default: /
                  minLength: 1
                  maxLength: 255
                priority:
                  type: integer
                  format: int32
                  default: 0
                rewrite_to:
                  type: string
                  description: Optional rewrite path applied before proxying (for
                    example /v1)
                security_policy:
                  type: object
                  description: Optional route-level HTTP security override
                  additionalProperties:
                    type: string
                strip_prefix:
                  type: boolean
                  default: false
                target_kind:
                  type: string
                  default: workload
                  enum:
                  - workload
                  - workflow
                  - url
                  - object_storage
                target_url:
                  type: string
                  description: Absolute URL used when target_kind=url
                team_id:
                  type: string
                  format: ksuid
                traffic_policy:
                  type: object
                  description: Optional route-level regional traffic policy for gateway
                    target selection
                  additionalProperties:
                    type: string
                trigger_name:
                  type: string
                workflow_id:
                  type: string
                workload_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - hostname
              - path_prefix
              - target_kind
              - exposure
              - priority
              - strip_prefix
              - enabled
            example:
              team_id: YOUR_TEAM_ID
              hostname: YOUR_HOSTNAME
              path_prefix: /
              target_kind: workload
              workload_id: YOUR_WORKLOAD_ID
              exposure: public
              priority: 0
              strip_prefix: false
              enabled: true
      responses:
        '200':
          description: GatewayRoute updated
          content:
            application/json:
              schema:
                type: object
                description: Host and path based ingress route mapping to workloads,
                  workflows, object storage buckets, and external URLs
                properties:
                  auth_policy:
                    type: object
                    description: Gateway user auth policy. This is app-facing auth,
                      not API/admin auth.
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  exposure:
                    type: string
                    default: public
                    enum:
                    - public
                    - auth
                    - private
                  geo_policy:
                    type: object
                    description: Optional country allow/block policy
                    additionalProperties:
                      type: string
                  hostname:
                    type: string
                    minLength: 3
                    maxLength: 255
                  object_bucket_id:
                    type: string
                    format: ksuid
                  path_prefix:
                    type: string
                    default: /
                    minLength: 1
                    maxLength: 255
                  priority:
                    type: integer
                    format: int32
                    default: 0
                  rewrite_to:
                    type: string
                    description: Optional rewrite path applied before proxying (for
                      example /v1)
                  route_id:
                    type: string
                    format: ksuid
                  security_policy:
                    type: object
                    description: Optional route-level HTTP security override
                    additionalProperties:
                      type: string
                  strip_prefix:
                    type: boolean
                    default: false
                  target_kind:
                    type: string
                    default: workload
                    enum:
                    - workload
                    - workflow
                    - url
                    - object_storage
                  target_url:
                    type: string
                    description: Absolute URL used when target_kind=url
                  team_id:
                    type: string
                    format: ksuid
                  traffic_policy:
                    type: object
                    description: Optional route-level regional traffic policy for
                      gateway target selection
                    additionalProperties:
                      type: string
                  trigger_name:
                    type: string
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workflow_id:
                    type: string
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - route_id
                - team_id
                - hostname
                - path_prefix
                - target_kind
                - exposure
                - priority
                - strip_prefix
                - enabled
                - created_at
                - updated_at
              example:
                auth_policy: {}
                created_at: 1791072000
                deleted_at: 0
                enabled: true
                exposure: public
                geo_policy: {}
                hostname: app.example.com
                object_bucket_id: '000000000000000000000000001'
                path_prefix: /
                priority: 0
                rewrite_to: example
                route_id: '000000000000000000000000001'
                security_policy: {}
                strip_prefix: false
                target_kind: workload
                target_url: example
                team_id: '000000000000000000000000001'
                traffic_policy: {}
                trigger_name: example
                updated_at: 1791072000
                workflow_id: example
                workload_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_gateway_route_id
      tags:
      - Gateway routes
      summary: Delete gateway route
      description: 'Deletes a GatewayRoute


        Set `gateway_route_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/gateway_security_profile:
    get:
      operationId: public_get_v1_gateway_security_profile
      tags:
      - Gateway security
      summary: List gateway security profiles
      description: Returns a paginated list of GatewaySecurityProfile
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of GatewaySecurityProfile
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        cors_enabled:
                          type: boolean
                          default: true
                        cors_headers:
                          type: string
                          description: Comma-separated CORS request headers
                        cors_methods:
                          type: string
                          description: Comma-separated HTTP methods
                        cors_origins:
                          type: string
                          description: Comma-separated origins or *
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        enabled:
                          type: boolean
                          default: true
                        force_https:
                          type: boolean
                          default: true
                        geo_policy:
                          type: object
                          description: Optional host-level country allow/block policy
                          additionalProperties:
                            type: string
                        hostname:
                          type: string
                          minLength: 3
                          maxLength: 255
                        hsts_enabled:
                          type: boolean
                          default: true
                        max_body_bytes:
                          type: integer
                          format: int64
                          description: Optional request body size limit. 0 means platform
                            default.
                          default: 0
                        profile_id:
                          type: string
                          format: ksuid
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        waf_custom_directives:
                          type: string
                          description: Raw Coraza directives used when waf_template=custom
                        waf_mode:
                          type: string
                          default: 'off'
                          enum:
                          - 'off'
                          - monitor
                          - block
                        waf_overrides:
                          type: object
                          description: Structured template overrides (for example
                            per-path exclusions or rule toggles)
                          additionalProperties:
                            type: string
                        waf_rule_exclusions:
                          type: object
                          description: 'Optional managed exclusion list. Example:
                            [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]'
                          additionalProperties:
                            type: string
                        waf_template:
                          type: string
                          description: Preconfigured WAF ruleset template to apply
                            for this host
                          default: workload_default
                          enum:
                          - platform_default
                          - workload_default
                          - api_strict
                          - nextjs
                          - django
                          - wordpress
                          - custom
                      required:
                      - profile_id
                      - team_id
                      - hostname
                      - force_https
                      - hsts_enabled
                      - cors_enabled
                      - waf_mode
                      - waf_template
                      - enabled
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - cors_enabled: true
                  cors_headers: example
                  cors_methods: example
                  cors_origins: example
                  created_at: 1791072000
                  deleted_at: 0
                  enabled: true
                  force_https: true
                  geo_policy: {}
                  hostname: app.example.com
                  hsts_enabled: true
                  max_body_bytes: 0
                  profile_id: '000000000000000000000000001'
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                  waf_custom_directives: example
                  waf_mode: 'off'
                  waf_overrides: {}
                  waf_rule_exclusions: {}
                  waf_template: workload_default
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_gateway_security_profile
      tags:
      - Gateway security
      summary: Create gateway security profile
      description: 'Creates a new GatewaySecurityProfile


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `cors_enabled` | boolean | yes |  Default: `true`. |

        | `cors_headers` | string | no | Comma-separated CORS request headers |

        | `cors_methods` | string | no | Comma-separated HTTP methods |

        | `cors_origins` | string | no | Comma-separated origins or * |

        | `enabled` | boolean | yes |  Default: `true`. |

        | `force_https` | boolean | yes |  Default: `true`. |

        | `geo_policy` | object | no | Optional host-level country allow/block policy
        |

        | `hostname` | string | yes |  |

        | `hsts_enabled` | boolean | yes |  Default: `true`. |

        | `max_body_bytes` | integer | no | Optional request body size limit. 0 means
        platform default. Default: `0`. |

        | `team_id` | string | yes |  |

        | `waf_custom_directives` | string | no | Raw Coraza directives used when
        waf_template=custom |

        | `waf_mode` | string | yes |  Allowed: off, monitor, block. Default: `"off"`.
        |

        | `waf_overrides` | object | no | Structured template overrides (for example
        per-path exclusions or rule toggles) |

        | `waf_rule_exclusions` | object | no | Optional managed exclusion list. Example:
        [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |

        | `waf_template` | string | yes | Preconfigured WAF ruleset template to apply
        for this host Allowed: platform_default, workload_default, api_strict, nextjs,
        django, wordpress, custom. Default: `"workload_default"`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Per-host HTTP security profile for ingress traffic, including
                Coraza WAF templates and overrides
              properties:
                cors_enabled:
                  type: boolean
                  default: true
                cors_headers:
                  type: string
                  description: Comma-separated CORS request headers
                cors_methods:
                  type: string
                  description: Comma-separated HTTP methods
                cors_origins:
                  type: string
                  description: Comma-separated origins or *
                enabled:
                  type: boolean
                  default: true
                force_https:
                  type: boolean
                  default: true
                geo_policy:
                  type: object
                  description: Optional host-level country allow/block policy
                  additionalProperties:
                    type: string
                hostname:
                  type: string
                  minLength: 3
                  maxLength: 255
                hsts_enabled:
                  type: boolean
                  default: true
                max_body_bytes:
                  type: integer
                  format: int64
                  description: Optional request body size limit. 0 means platform
                    default.
                  default: 0
                team_id:
                  type: string
                  format: ksuid
                waf_custom_directives:
                  type: string
                  description: Raw Coraza directives used when waf_template=custom
                waf_mode:
                  type: string
                  default: 'off'
                  enum:
                  - 'off'
                  - monitor
                  - block
                waf_overrides:
                  type: object
                  description: Structured template overrides (for example per-path
                    exclusions or rule toggles)
                  additionalProperties:
                    type: string
                waf_rule_exclusions:
                  type: object
                  description: 'Optional managed exclusion list. Example: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]'
                  additionalProperties:
                    type: string
                waf_template:
                  type: string
                  description: Preconfigured WAF ruleset template to apply for this
                    host
                  default: workload_default
                  enum:
                  - platform_default
                  - workload_default
                  - api_strict
                  - nextjs
                  - django
                  - wordpress
                  - custom
              required:
              - team_id
              - hostname
              - force_https
              - hsts_enabled
              - cors_enabled
              - waf_mode
              - waf_template
              - enabled
            example:
              cors_enabled: true
              enabled: true
              force_https: true
              hostname: YOUR_HOSTNAME
              hsts_enabled: true
              max_body_bytes: 0
              team_id: YOUR_TEAM_ID
              waf_mode: 'off'
              waf_template: workload_default
      responses:
        '201':
          description: GatewaySecurityProfile created
          content:
            application/json:
              schema:
                type: object
                description: Per-host HTTP security profile for ingress traffic, including
                  Coraza WAF templates and overrides
                properties:
                  cors_enabled:
                    type: boolean
                    default: true
                  cors_headers:
                    type: string
                    description: Comma-separated CORS request headers
                  cors_methods:
                    type: string
                    description: Comma-separated HTTP methods
                  cors_origins:
                    type: string
                    description: Comma-separated origins or *
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  force_https:
                    type: boolean
                    default: true
                  geo_policy:
                    type: object
                    description: Optional host-level country allow/block policy
                    additionalProperties:
                      type: string
                  hostname:
                    type: string
                    minLength: 3
                    maxLength: 255
                  hsts_enabled:
                    type: boolean
                    default: true
                  max_body_bytes:
                    type: integer
                    format: int64
                    description: Optional request body size limit. 0 means platform
                      default.
                    default: 0
                  profile_id:
                    type: string
                    format: ksuid
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  waf_custom_directives:
                    type: string
                    description: Raw Coraza directives used when waf_template=custom
                  waf_mode:
                    type: string
                    default: 'off'
                    enum:
                    - 'off'
                    - monitor
                    - block
                  waf_overrides:
                    type: object
                    description: Structured template overrides (for example per-path
                      exclusions or rule toggles)
                    additionalProperties:
                      type: string
                  waf_rule_exclusions:
                    type: object
                    description: 'Optional managed exclusion list. Example: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]'
                    additionalProperties:
                      type: string
                  waf_template:
                    type: string
                    description: Preconfigured WAF ruleset template to apply for this
                      host
                    default: workload_default
                    enum:
                    - platform_default
                    - workload_default
                    - api_strict
                    - nextjs
                    - django
                    - wordpress
                    - custom
                required:
                - profile_id
                - team_id
                - hostname
                - force_https
                - hsts_enabled
                - cors_enabled
                - waf_mode
                - waf_template
                - enabled
                - created_at
                - updated_at
              example:
                cors_enabled: true
                cors_headers: example
                cors_methods: example
                cors_origins: example
                created_at: 1791072000
                deleted_at: 0
                enabled: true
                force_https: true
                geo_policy: {}
                hostname: app.example.com
                hsts_enabled: true
                max_body_bytes: 0
                profile_id: '000000000000000000000000001'
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                waf_custom_directives: example
                waf_mode: 'off'
                waf_overrides: {}
                waf_rule_exclusions: {}
                waf_template: workload_default
  /v1/gateway_security_profile/{id}:
    get:
      operationId: public_get_v1_gateway_security_profile_id
      tags:
      - Gateway security
      summary: Get gateway security profile
      description: 'Returns a single GatewaySecurityProfile


        Set `gateway_security_profile_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: GatewaySecurityProfile
          content:
            application/json:
              schema:
                type: object
                description: Per-host HTTP security profile for ingress traffic, including
                  Coraza WAF templates and overrides
                properties:
                  cors_enabled:
                    type: boolean
                    default: true
                  cors_headers:
                    type: string
                    description: Comma-separated CORS request headers
                  cors_methods:
                    type: string
                    description: Comma-separated HTTP methods
                  cors_origins:
                    type: string
                    description: Comma-separated origins or *
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  force_https:
                    type: boolean
                    default: true
                  geo_policy:
                    type: object
                    description: Optional host-level country allow/block policy
                    additionalProperties:
                      type: string
                  hostname:
                    type: string
                    minLength: 3
                    maxLength: 255
                  hsts_enabled:
                    type: boolean
                    default: true
                  max_body_bytes:
                    type: integer
                    format: int64
                    description: Optional request body size limit. 0 means platform
                      default.
                    default: 0
                  profile_id:
                    type: string
                    format: ksuid
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  waf_custom_directives:
                    type: string
                    description: Raw Coraza directives used when waf_template=custom
                  waf_mode:
                    type: string
                    default: 'off'
                    enum:
                    - 'off'
                    - monitor
                    - block
                  waf_overrides:
                    type: object
                    description: Structured template overrides (for example per-path
                      exclusions or rule toggles)
                    additionalProperties:
                      type: string
                  waf_rule_exclusions:
                    type: object
                    description: 'Optional managed exclusion list. Example: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]'
                    additionalProperties:
                      type: string
                  waf_template:
                    type: string
                    description: Preconfigured WAF ruleset template to apply for this
                      host
                    default: workload_default
                    enum:
                    - platform_default
                    - workload_default
                    - api_strict
                    - nextjs
                    - django
                    - wordpress
                    - custom
                required:
                - profile_id
                - team_id
                - hostname
                - force_https
                - hsts_enabled
                - cors_enabled
                - waf_mode
                - waf_template
                - enabled
                - created_at
                - updated_at
              example:
                cors_enabled: true
                cors_headers: example
                cors_methods: example
                cors_origins: example
                created_at: 1791072000
                deleted_at: 0
                enabled: true
                force_https: true
                geo_policy: {}
                hostname: app.example.com
                hsts_enabled: true
                max_body_bytes: 0
                profile_id: '000000000000000000000000001'
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                waf_custom_directives: example
                waf_mode: 'off'
                waf_overrides: {}
                waf_rule_exclusions: {}
                waf_template: workload_default
    put:
      operationId: public_put_v1_gateway_security_profile_id
      tags:
      - Gateway security
      summary: Update gateway security profile
      description: 'Updates an existing GatewaySecurityProfile


        Set `gateway_security_profile_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `cors_enabled` | boolean | yes |  Default: `true`. |

        | `cors_headers` | string | no | Comma-separated CORS request headers |

        | `cors_methods` | string | no | Comma-separated HTTP methods |

        | `cors_origins` | string | no | Comma-separated origins or * |

        | `enabled` | boolean | yes |  Default: `true`. |

        | `force_https` | boolean | yes |  Default: `true`. |

        | `geo_policy` | object | no | Optional host-level country allow/block policy
        |

        | `hostname` | string | yes |  |

        | `hsts_enabled` | boolean | yes |  Default: `true`. |

        | `max_body_bytes` | integer | no | Optional request body size limit. 0 means
        platform default. Default: `0`. |

        | `team_id` | string | yes |  |

        | `waf_custom_directives` | string | no | Raw Coraza directives used when
        waf_template=custom |

        | `waf_mode` | string | yes |  Allowed: off, monitor, block. Default: `"off"`.
        |

        | `waf_overrides` | object | no | Structured template overrides (for example
        per-path exclusions or rule toggles) |

        | `waf_rule_exclusions` | object | no | Optional managed exclusion list. Example:
        [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |

        | `waf_template` | string | yes | Preconfigured WAF ruleset template to apply
        for this host Allowed: platform_default, workload_default, api_strict, nextjs,
        django, wordpress, custom. Default: `"workload_default"`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Per-host HTTP security profile for ingress traffic, including
                Coraza WAF templates and overrides
              properties:
                cors_enabled:
                  type: boolean
                  default: true
                cors_headers:
                  type: string
                  description: Comma-separated CORS request headers
                cors_methods:
                  type: string
                  description: Comma-separated HTTP methods
                cors_origins:
                  type: string
                  description: Comma-separated origins or *
                enabled:
                  type: boolean
                  default: true
                force_https:
                  type: boolean
                  default: true
                geo_policy:
                  type: object
                  description: Optional host-level country allow/block policy
                  additionalProperties:
                    type: string
                hostname:
                  type: string
                  minLength: 3
                  maxLength: 255
                hsts_enabled:
                  type: boolean
                  default: true
                max_body_bytes:
                  type: integer
                  format: int64
                  description: Optional request body size limit. 0 means platform
                    default.
                  default: 0
                team_id:
                  type: string
                  format: ksuid
                waf_custom_directives:
                  type: string
                  description: Raw Coraza directives used when waf_template=custom
                waf_mode:
                  type: string
                  default: 'off'
                  enum:
                  - 'off'
                  - monitor
                  - block
                waf_overrides:
                  type: object
                  description: Structured template overrides (for example per-path
                    exclusions or rule toggles)
                  additionalProperties:
                    type: string
                waf_rule_exclusions:
                  type: object
                  description: 'Optional managed exclusion list. Example: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]'
                  additionalProperties:
                    type: string
                waf_template:
                  type: string
                  description: Preconfigured WAF ruleset template to apply for this
                    host
                  default: workload_default
                  enum:
                  - platform_default
                  - workload_default
                  - api_strict
                  - nextjs
                  - django
                  - wordpress
                  - custom
              required:
              - team_id
              - hostname
              - force_https
              - hsts_enabled
              - cors_enabled
              - waf_mode
              - waf_template
              - enabled
            example:
              cors_enabled: true
              enabled: true
              force_https: true
              hostname: YOUR_HOSTNAME
              hsts_enabled: true
              max_body_bytes: 0
              team_id: YOUR_TEAM_ID
              waf_mode: 'off'
              waf_template: workload_default
      responses:
        '200':
          description: GatewaySecurityProfile updated
          content:
            application/json:
              schema:
                type: object
                description: Per-host HTTP security profile for ingress traffic, including
                  Coraza WAF templates and overrides
                properties:
                  cors_enabled:
                    type: boolean
                    default: true
                  cors_headers:
                    type: string
                    description: Comma-separated CORS request headers
                  cors_methods:
                    type: string
                    description: Comma-separated HTTP methods
                  cors_origins:
                    type: string
                    description: Comma-separated origins or *
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  enabled:
                    type: boolean
                    default: true
                  force_https:
                    type: boolean
                    default: true
                  geo_policy:
                    type: object
                    description: Optional host-level country allow/block policy
                    additionalProperties:
                      type: string
                  hostname:
                    type: string
                    minLength: 3
                    maxLength: 255
                  hsts_enabled:
                    type: boolean
                    default: true
                  max_body_bytes:
                    type: integer
                    format: int64
                    description: Optional request body size limit. 0 means platform
                      default.
                    default: 0
                  profile_id:
                    type: string
                    format: ksuid
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  waf_custom_directives:
                    type: string
                    description: Raw Coraza directives used when waf_template=custom
                  waf_mode:
                    type: string
                    default: 'off'
                    enum:
                    - 'off'
                    - monitor
                    - block
                  waf_overrides:
                    type: object
                    description: Structured template overrides (for example per-path
                      exclusions or rule toggles)
                    additionalProperties:
                      type: string
                  waf_rule_exclusions:
                    type: object
                    description: 'Optional managed exclusion list. Example: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]'
                    additionalProperties:
                      type: string
                  waf_template:
                    type: string
                    description: Preconfigured WAF ruleset template to apply for this
                      host
                    default: workload_default
                    enum:
                    - platform_default
                    - workload_default
                    - api_strict
                    - nextjs
                    - django
                    - wordpress
                    - custom
                required:
                - profile_id
                - team_id
                - hostname
                - force_https
                - hsts_enabled
                - cors_enabled
                - waf_mode
                - waf_template
                - enabled
                - created_at
                - updated_at
              example:
                cors_enabled: true
                cors_headers: example
                cors_methods: example
                cors_origins: example
                created_at: 1791072000
                deleted_at: 0
                enabled: true
                force_https: true
                geo_policy: {}
                hostname: app.example.com
                hsts_enabled: true
                max_body_bytes: 0
                profile_id: '000000000000000000000000001'
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                waf_custom_directives: example
                waf_mode: 'off'
                waf_overrides: {}
                waf_rule_exclusions: {}
                waf_template: workload_default
    delete:
      operationId: public_delete_v1_gateway_security_profile_id
      tags:
      - Gateway security
      summary: Delete gateway security profile
      description: 'Deletes a GatewaySecurityProfile


        Set `gateway_security_profile_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/agent_session:
    get:
      operationId: public_get_v1_agent_session
      tags:
      - Agent sessions
      summary: List agent sessions
      description: Returns a paginated list of AgentSession
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of AgentSession
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        agent_session_id:
                          type: string
                          format: ksuid
                        channel_id:
                          type: string
                          default: ''
                        company_project_id:
                          type: string
                          format: ksuid
                          default: ''
                        context_snapshot:
                          type: object
                          additionalProperties:
                            type: string
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        last_message_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        memory_summary:
                          type: object
                          additionalProperties:
                            type: string
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        mode:
                          type: string
                          default: chat
                          enum:
                          - build
                          - debug
                          - ops
                          - review
                          - chat
                        model:
                          type: string
                          default: ''
                        owner_id:
                          type: string
                          format: ksuid
                          default: ''
                        provider:
                          type: string
                          default: ''
                        sharing_scope:
                          type: string
                          default: private
                          enum:
                          - private
                          - team
                        source:
                          type: string
                          enum:
                          - app
                          - slack
                          - cli
                        status:
                          type: string
                          default: active
                          enum:
                          - active
                          - paused
                          - blocked
                          - complete
                          - failed
                        team_id:
                          type: string
                          format: ksuid
                        thread_id:
                          type: string
                          default: ''
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workspace_id:
                          type: string
                          format: ksuid
                          default: ''
                        writable_repository_id:
                          type: string
                          format: ksuid
                          default: ''
                      required:
                      - agent_session_id
                      - team_id
                      - sharing_scope
                      - source
                      - mode
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - agent_session_id: '000000000000000000000000001'
                  channel_id: ''
                  company_project_id: ''
                  context_snapshot: {}
                  created_at: 1791072000
                  deleted_at: 0
                  last_message_at: 0
                  memory_summary: {}
                  metadata: {}
                  mode: chat
                  model: ''
                  owner_id: ''
                  provider: ''
                  sharing_scope: private
                  source: app
                  status: active
                  team_id: '000000000000000000000000001'
                  thread_id: ''
                  updated_at: 1791072000
                  workspace_id: ''
                  writable_repository_id: ''
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_agent_session
      tags:
      - Agent sessions
      summary: Create agent session
      description: 'Creates a new AgentSession


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `channel_id` | string | no |  Default: `""`. |

        | `company_project_id` | string | no |  Default: `""`. |

        | `context_snapshot` | object | no |  |

        | `last_message_at` | integer | no | (Unix timestamp) Default: `0`. |

        | `memory_summary` | object | no |  |

        | `metadata` | object | no |  |

        | `mode` | string | yes |  Allowed: build, debug, ops, review, chat. Default:
        `"chat"`. |

        | `model` | string | no |  Default: `""`. |

        | `owner_id` | string | no |  Default: `""`. |

        | `provider` | string | no |  Default: `""`. |

        | `sharing_scope` | string | yes |  Allowed: private, team. Default: `"private"`.
        |

        | `source` | string | yes |  Allowed: app, slack, cli. |

        | `status` | string | yes |  Allowed: active, paused, blocked, complete, failed.
        Default: `"active"`. |

        | `team_id` | string | yes |  |

        | `thread_id` | string | no |  Default: `""`. |

        | `workspace_id` | string | no |  Default: `""`. |

        | `writable_repository_id` | string | no |  Default: `""`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Persistent agent session for app chat, Slack threads, and
                future AI surfaces
              properties:
                channel_id:
                  type: string
                  default: ''
                company_project_id:
                  type: string
                  format: ksuid
                  default: ''
                context_snapshot:
                  type: object
                  additionalProperties:
                    type: string
                last_message_at:
                  type: integer
                  format: int64
                  description: ' (Unix timestamp)'
                  default: 0
                memory_summary:
                  type: object
                  additionalProperties:
                    type: string
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                mode:
                  type: string
                  default: chat
                  enum:
                  - build
                  - debug
                  - ops
                  - review
                  - chat
                model:
                  type: string
                  default: ''
                owner_id:
                  type: string
                  format: ksuid
                  default: ''
                provider:
                  type: string
                  default: ''
                sharing_scope:
                  type: string
                  default: private
                  enum:
                  - private
                  - team
                source:
                  type: string
                  enum:
                  - app
                  - slack
                  - cli
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - paused
                  - blocked
                  - complete
                  - failed
                team_id:
                  type: string
                  format: ksuid
                thread_id:
                  type: string
                  default: ''
                workspace_id:
                  type: string
                  format: ksuid
                  default: ''
                writable_repository_id:
                  type: string
                  format: ksuid
                  default: ''
              required:
              - team_id
              - sharing_scope
              - source
              - mode
              - status
            example:
              team_id: YOUR_TEAM_ID
              owner_id: YOUR_USER_ID
              workspace_id: YOUR_WORKSPACE_ID
              sharing_scope: private
              source: app
              mode: chat
              status: active
      responses:
        '201':
          description: AgentSession created
          content:
            application/json:
              schema:
                type: object
                description: Persistent agent session for app chat, Slack threads,
                  and future AI surfaces
                properties:
                  agent_session_id:
                    type: string
                    format: ksuid
                  channel_id:
                    type: string
                    default: ''
                  company_project_id:
                    type: string
                    format: ksuid
                    default: ''
                  context_snapshot:
                    type: object
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  last_message_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  memory_summary:
                    type: object
                    additionalProperties:
                      type: string
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  mode:
                    type: string
                    default: chat
                    enum:
                    - build
                    - debug
                    - ops
                    - review
                    - chat
                  model:
                    type: string
                    default: ''
                  owner_id:
                    type: string
                    format: ksuid
                    default: ''
                  provider:
                    type: string
                    default: ''
                  sharing_scope:
                    type: string
                    default: private
                    enum:
                    - private
                    - team
                  source:
                    type: string
                    enum:
                    - app
                    - slack
                    - cli
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - paused
                    - blocked
                    - complete
                    - failed
                  team_id:
                    type: string
                    format: ksuid
                  thread_id:
                    type: string
                    default: ''
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                    default: ''
                  writable_repository_id:
                    type: string
                    format: ksuid
                    default: ''
                required:
                - agent_session_id
                - team_id
                - sharing_scope
                - source
                - mode
                - status
                - created_at
                - updated_at
              example:
                agent_session_id: '000000000000000000000000001'
                channel_id: ''
                company_project_id: ''
                context_snapshot: {}
                created_at: 1791072000
                deleted_at: 0
                last_message_at: 0
                memory_summary: {}
                metadata: {}
                mode: chat
                model: ''
                owner_id: ''
                provider: ''
                sharing_scope: private
                source: app
                status: active
                team_id: '000000000000000000000000001'
                thread_id: ''
                updated_at: 1791072000
                workspace_id: ''
                writable_repository_id: ''
  /v1/agent_session/{id}:
    get:
      operationId: public_get_v1_agent_session_id
      tags:
      - Agent sessions
      summary: Get agent session
      description: 'Returns a single AgentSession


        Set `agent_session_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: AgentSession
          content:
            application/json:
              schema:
                type: object
                description: Persistent agent session for app chat, Slack threads,
                  and future AI surfaces
                properties:
                  agent_session_id:
                    type: string
                    format: ksuid
                  channel_id:
                    type: string
                    default: ''
                  company_project_id:
                    type: string
                    format: ksuid
                    default: ''
                  context_snapshot:
                    type: object
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  last_message_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  memory_summary:
                    type: object
                    additionalProperties:
                      type: string
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  mode:
                    type: string
                    default: chat
                    enum:
                    - build
                    - debug
                    - ops
                    - review
                    - chat
                  model:
                    type: string
                    default: ''
                  owner_id:
                    type: string
                    format: ksuid
                    default: ''
                  provider:
                    type: string
                    default: ''
                  sharing_scope:
                    type: string
                    default: private
                    enum:
                    - private
                    - team
                  source:
                    type: string
                    enum:
                    - app
                    - slack
                    - cli
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - paused
                    - blocked
                    - complete
                    - failed
                  team_id:
                    type: string
                    format: ksuid
                  thread_id:
                    type: string
                    default: ''
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                    default: ''
                  writable_repository_id:
                    type: string
                    format: ksuid
                    default: ''
                required:
                - agent_session_id
                - team_id
                - sharing_scope
                - source
                - mode
                - status
                - created_at
                - updated_at
              example:
                agent_session_id: '000000000000000000000000001'
                channel_id: ''
                company_project_id: ''
                context_snapshot: {}
                created_at: 1791072000
                deleted_at: 0
                last_message_at: 0
                memory_summary: {}
                metadata: {}
                mode: chat
                model: ''
                owner_id: ''
                provider: ''
                sharing_scope: private
                source: app
                status: active
                team_id: '000000000000000000000000001'
                thread_id: ''
                updated_at: 1791072000
                workspace_id: ''
                writable_repository_id: ''
    put:
      operationId: public_put_v1_agent_session_id
      tags:
      - Agent sessions
      summary: Update agent session
      description: 'Updates an existing AgentSession


        Set `agent_session_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `channel_id` | string | no |  Default: `""`. |

        | `company_project_id` | string | no |  Default: `""`. |

        | `context_snapshot` | object | no |  |

        | `last_message_at` | integer | no | (Unix timestamp) Default: `0`. |

        | `memory_summary` | object | no |  |

        | `metadata` | object | no |  |

        | `mode` | string | yes |  Allowed: build, debug, ops, review, chat. Default:
        `"chat"`. |

        | `model` | string | no |  Default: `""`. |

        | `owner_id` | string | no |  Default: `""`. |

        | `provider` | string | no |  Default: `""`. |

        | `sharing_scope` | string | yes |  Allowed: private, team. Default: `"private"`.
        |

        | `source` | string | yes |  Allowed: app, slack, cli. |

        | `status` | string | yes |  Allowed: active, paused, blocked, complete, failed.
        Default: `"active"`. |

        | `team_id` | string | yes |  |

        | `thread_id` | string | no |  Default: `""`. |

        | `workspace_id` | string | no |  Default: `""`. |

        | `writable_repository_id` | string | no |  Default: `""`. |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Persistent agent session for app chat, Slack threads, and
                future AI surfaces
              properties:
                channel_id:
                  type: string
                  default: ''
                company_project_id:
                  type: string
                  format: ksuid
                  default: ''
                context_snapshot:
                  type: object
                  additionalProperties:
                    type: string
                last_message_at:
                  type: integer
                  format: int64
                  description: ' (Unix timestamp)'
                  default: 0
                memory_summary:
                  type: object
                  additionalProperties:
                    type: string
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                mode:
                  type: string
                  default: chat
                  enum:
                  - build
                  - debug
                  - ops
                  - review
                  - chat
                model:
                  type: string
                  default: ''
                owner_id:
                  type: string
                  format: ksuid
                  default: ''
                provider:
                  type: string
                  default: ''
                sharing_scope:
                  type: string
                  default: private
                  enum:
                  - private
                  - team
                source:
                  type: string
                  enum:
                  - app
                  - slack
                  - cli
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - paused
                  - blocked
                  - complete
                  - failed
                team_id:
                  type: string
                  format: ksuid
                thread_id:
                  type: string
                  default: ''
                workspace_id:
                  type: string
                  format: ksuid
                  default: ''
                writable_repository_id:
                  type: string
                  format: ksuid
                  default: ''
              required:
              - team_id
              - sharing_scope
              - source
              - mode
              - status
            example:
              team_id: YOUR_TEAM_ID
              owner_id: YOUR_USER_ID
              workspace_id: YOUR_WORKSPACE_ID
              sharing_scope: private
              source: app
              mode: chat
              status: active
      responses:
        '200':
          description: AgentSession updated
          content:
            application/json:
              schema:
                type: object
                description: Persistent agent session for app chat, Slack threads,
                  and future AI surfaces
                properties:
                  agent_session_id:
                    type: string
                    format: ksuid
                  channel_id:
                    type: string
                    default: ''
                  company_project_id:
                    type: string
                    format: ksuid
                    default: ''
                  context_snapshot:
                    type: object
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  last_message_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  memory_summary:
                    type: object
                    additionalProperties:
                      type: string
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  mode:
                    type: string
                    default: chat
                    enum:
                    - build
                    - debug
                    - ops
                    - review
                    - chat
                  model:
                    type: string
                    default: ''
                  owner_id:
                    type: string
                    format: ksuid
                    default: ''
                  provider:
                    type: string
                    default: ''
                  sharing_scope:
                    type: string
                    default: private
                    enum:
                    - private
                    - team
                  source:
                    type: string
                    enum:
                    - app
                    - slack
                    - cli
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - paused
                    - blocked
                    - complete
                    - failed
                  team_id:
                    type: string
                    format: ksuid
                  thread_id:
                    type: string
                    default: ''
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                    default: ''
                  writable_repository_id:
                    type: string
                    format: ksuid
                    default: ''
                required:
                - agent_session_id
                - team_id
                - sharing_scope
                - source
                - mode
                - status
                - created_at
                - updated_at
              example:
                agent_session_id: '000000000000000000000000001'
                channel_id: ''
                company_project_id: ''
                context_snapshot: {}
                created_at: 1791072000
                deleted_at: 0
                last_message_at: 0
                memory_summary: {}
                metadata: {}
                mode: chat
                model: ''
                owner_id: ''
                provider: ''
                sharing_scope: private
                source: app
                status: active
                team_id: '000000000000000000000000001'
                thread_id: ''
                updated_at: 1791072000
                workspace_id: ''
                writable_repository_id: ''
    delete:
      operationId: public_delete_v1_agent_session_id
      tags:
      - Agent sessions
      summary: Delete agent session
      description: 'Deletes a AgentSession


        Set `agent_session_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/agent_run:
    get:
      operationId: public_get_v1_agent_run
      tags:
      - Agent runs
      summary: List agent runs
      description: Returns a paginated list of AgentRun
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of AgentRun
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        action_digest:
                          type: string
                          default: ''
                        agent_binding_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_binding_revision_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_definition_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_draft_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_draft_revision:
                          type: integer
                          format: int64
                          default: 0
                        agent_kit_content_digest:
                          type: string
                          default: ''
                        agent_kit_entrypoint:
                          type: string
                          default: ''
                        agent_kit_function:
                          type: string
                          default: ''
                        agent_kit_version_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_run_id:
                          type: string
                          format: ksuid
                        agent_session_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_suite_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_suite_version_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_version_digest:
                          type: string
                          default: ''
                        agent_version_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_work_cycle_id:
                          type: string
                          format: ksuid
                          default: ''
                        approval_id:
                          type: string
                          format: ksuid
                          default: ''
                        base_sha:
                          type: string
                          default: ''
                        branch:
                          type: string
                          default: ''
                        budget_cost_micros:
                          type: integer
                          format: int64
                          default: 0
                        budget_tokens:
                          type: integer
                          format: int64
                          default: 0
                        cached_tokens:
                          type: integer
                          format: int32
                          default: 0
                        company_project_id:
                          type: string
                          format: ksuid
                          default: ''
                        completed_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        effective_policy:
                          type: object
                          additionalProperties:
                            type: string
                        effective_policy_digest:
                          type: string
                          default: ''
                        environment_checkpoint_id:
                          type: string
                          format: ksuid
                          default: ''
                        error:
                          default: ''
                        estimated_cost_micros:
                          type: integer
                          format: int64
                          default: 0
                        execution_id:
                          type: string
                          format: ksuid
                          default: ''
                        execution_task_id:
                          type: string
                          format: ksuid
                          default: ''
                        head_sha:
                          type: string
                          default: ''
                        idempotency_key:
                          type: string
                          default: ''
                        input_tokens:
                          type: integer
                          format: int32
                          default: 0
                        last_activity_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        lead_agent_run_id:
                          type: string
                          format: ksuid
                          default: ''
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        mode:
                          type: string
                          enum:
                          - build
                          - debug
                          - ops
                          - review
                          - chat
                          - background
                        model:
                          type: string
                          default: ''
                        output_tokens:
                          type: integer
                          format: int32
                          default: 0
                        owner_id:
                          type: string
                          format: ksuid
                          default: ''
                        parent_agent_run_id:
                          type: string
                          format: ksuid
                          default: ''
                        preset:
                          type: string
                          enum:
                          - security_review
                          - code_review
                          - verify_changes
                          - engineering_review
                          - finding_fix
                        provider:
                          type: string
                          default: ''
                        read_only:
                          type: boolean
                          default: false
                        retention_class:
                          type: string
                          default: standard
                          enum:
                          - ephemeral
                          - standard
                          - extended
                          - compliance
                        role_key:
                          type: string
                          default: ''
                        source:
                          type: string
                          enum:
                          - app
                          - slack
                          - cli
                          - workflow
                          - event
                          - schedule
                          - system
                        source_snapshot_digest:
                          type: string
                          default: ''
                        specialist_role:
                          type: string
                          enum:
                          - lead
                          - security
                          - code_quality
                          - test_verification
                        started_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        status:
                          type: string
                          default: pending
                          enum:
                          - pending
                          - running
                          - blocked
                          - cancelling
                          - complete
                          - failed
                          - cancelled
                        step_count:
                          type: integer
                          format: int32
                          default: 0
                        structured_outcome:
                          type: object
                          additionalProperties:
                            type: string
                        suite_node_key:
                          type: string
                          default: ''
                        suite_profile:
                          type: string
                          default: ''
                        summary:
                          default: ''
                        target_kind:
                          type: string
                          default: workspace
                          enum:
                          - standalone
                          - browser
                          - workspace
                          - workload
                          - project
                          - company_project
                          - repository
                          - pull_request
                          - finding
                          - custom
                        target_ref:
                          type: string
                          default: ''
                        team_id:
                          type: string
                          format: ksuid
                        tool_call_count:
                          type: integer
                          format: int32
                          default: 0
                        tool_scope:
                          type: object
                          additionalProperties:
                            type: string
                        trace_id:
                          type: string
                          default: ''
                        trigger_principal_id:
                          type: string
                          default: ''
                        trigger_ref:
                          type: string
                          default: ''
                        trigger_type:
                          type: string
                          default: manual
                          enum:
                          - manual
                          - draft_test
                          - pre_merge
                          - schedule
                          - event
                          - workflow
                          - compatibility
                          - approval
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                      required:
                      - agent_run_id
                      - team_id
                      - source
                      - mode
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
  /v1/agent_run/{id}:
    get:
      operationId: public_get_v1_agent_run_id
      tags:
      - Agent runs
      summary: Get agent run
      description: 'Returns a single AgentRun


        Set `agent_run_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: AgentRun
          content:
            application/json:
              schema:
                type: object
                description: Execution run for a single agent turn or background task
                properties:
                  action_digest:
                    type: string
                    default: ''
                  agent_binding_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_binding_revision_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_definition_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_draft_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_draft_revision:
                    type: integer
                    format: int64
                    default: 0
                  agent_kit_content_digest:
                    type: string
                    default: ''
                  agent_kit_entrypoint:
                    type: string
                    default: ''
                  agent_kit_function:
                    type: string
                    default: ''
                  agent_kit_version_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_run_id:
                    type: string
                    format: ksuid
                  agent_session_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_suite_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_suite_version_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_version_digest:
                    type: string
                    default: ''
                  agent_version_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_work_cycle_id:
                    type: string
                    format: ksuid
                    default: ''
                  approval_id:
                    type: string
                    format: ksuid
                    default: ''
                  base_sha:
                    type: string
                    default: ''
                  branch:
                    type: string
                    default: ''
                  budget_cost_micros:
                    type: integer
                    format: int64
                    default: 0
                  budget_tokens:
                    type: integer
                    format: int64
                    default: 0
                  cached_tokens:
                    type: integer
                    format: int32
                    default: 0
                  company_project_id:
                    type: string
                    format: ksuid
                    default: ''
                  completed_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  effective_policy:
                    type: object
                    additionalProperties:
                      type: string
                  effective_policy_digest:
                    type: string
                    default: ''
                  environment_checkpoint_id:
                    type: string
                    format: ksuid
                    default: ''
                  error:
                    default: ''
                  estimated_cost_micros:
                    type: integer
                    format: int64
                    default: 0
                  execution_id:
                    type: string
                    format: ksuid
                    default: ''
                  execution_task_id:
                    type: string
                    format: ksuid
                    default: ''
                  head_sha:
                    type: string
                    default: ''
                  idempotency_key:
                    type: string
                    default: ''
                  input_tokens:
                    type: integer
                    format: int32
                    default: 0
                  last_activity_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  lead_agent_run_id:
                    type: string
                    format: ksuid
                    default: ''
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  mode:
                    type: string
                    enum:
                    - build
                    - debug
                    - ops
                    - review
                    - chat
                    - background
                  model:
                    type: string
                    default: ''
                  output_tokens:
                    type: integer
                    format: int32
                    default: 0
                  owner_id:
                    type: string
                    format: ksuid
                    default: ''
                  parent_agent_run_id:
                    type: string
                    format: ksuid
                    default: ''
                  preset:
                    type: string
                    enum:
                    - security_review
                    - code_review
                    - verify_changes
                    - engineering_review
                    - finding_fix
                  provider:
                    type: string
                    default: ''
                  read_only:
                    type: boolean
                    default: false
                  retention_class:
                    type: string
                    default: standard
                    enum:
                    - ephemeral
                    - standard
                    - extended
                    - compliance
                  role_key:
                    type: string
                    default: ''
                  source:
                    type: string
                    enum:
                    - app
                    - slack
                    - cli
                    - workflow
                    - event
                    - schedule
                    - system
                  source_snapshot_digest:
                    type: string
                    default: ''
                  specialist_role:
                    type: string
                    enum:
                    - lead
                    - security
                    - code_quality
                    - test_verification
                  started_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - running
                    - blocked
                    - cancelling
                    - complete
                    - failed
                    - cancelled
                  step_count:
                    type: integer
                    format: int32
                    default: 0
                  structured_outcome:
                    type: object
                    additionalProperties:
                      type: string
                  suite_node_key:
                    type: string
                    default: ''
                  suite_profile:
                    type: string
                    default: ''
                  summary:
                    default: ''
                  target_kind:
                    type: string
                    default: workspace
                    enum:
                    - standalone
                    - browser
                    - workspace
                    - workload
                    - project
                    - company_project
                    - repository
                    - pull_request
                    - finding
                    - custom
                  target_ref:
                    type: string
                    default: ''
                  team_id:
                    type: string
                    format: ksuid
                  tool_call_count:
                    type: integer
                    format: int32
                    default: 0
                  tool_scope:
                    type: object
                    additionalProperties:
                      type: string
                  trace_id:
                    type: string
                    default: ''
                  trigger_principal_id:
                    type: string
                    default: ''
                  trigger_ref:
                    type: string
                    default: ''
                  trigger_type:
                    type: string
                    default: manual
                    enum:
                    - manual
                    - draft_test
                    - pre_merge
                    - schedule
                    - event
                    - workflow
                    - compatibility
                    - approval
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                required:
                - agent_run_id
                - team_id
                - source
                - mode
                - status
                - created_at
                - updated_at
  /v1/agent_message:
    get:
      operationId: public_get_v1_agent_message
      tags:
      - Agent messages
      summary: List agent messages
      description: Returns a paginated list of AgentMessage
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of AgentMessage
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        agent_message_id:
                          type: string
                          format: ksuid
                        agent_session_id:
                          type: string
                          format: ksuid
                        content:
                          default: ''
                        content_json:
                          type: object
                          additionalProperties:
                            type: string
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        role:
                          type: string
                          enum:
                          - system
                          - user
                          - assistant
                          - tool
                        sequence:
                          type: integer
                          format: int32
                          default: 0
                        team_id:
                          type: string
                          format: ksuid
                        token_count:
                          type: integer
                          format: int32
                          default: 0
                        tool_call_id:
                          default: ''
                        tool_name:
                          type: string
                          default: ''
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                      required:
                      - agent_message_id
                      - team_id
                      - agent_session_id
                      - role
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - agent_message_id: '000000000000000000000000001'
                  agent_session_id: '000000000000000000000000001'
                  content: ''
                  content_json: {}
                  created_at: 1791072000
                  deleted_at: 0
                  metadata: {}
                  role: system
                  sequence: 0
                  team_id: '000000000000000000000000001'
                  token_count: 0
                  tool_call_id: ''
                  tool_name: ''
                  updated_at: 1791072000
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
  /v1/agent_message/{id}:
    get:
      operationId: public_get_v1_agent_message_id
      tags:
      - Agent messages
      summary: Get agent message
      description: 'Returns a single AgentMessage


        Set `agent_message_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: AgentMessage
          content:
            application/json:
              schema:
                type: object
                description: Ordered transcript entry for an agent session
                properties:
                  agent_message_id:
                    type: string
                    format: ksuid
                  agent_session_id:
                    type: string
                    format: ksuid
                  content:
                    default: ''
                  content_json:
                    type: object
                    additionalProperties:
                      type: string
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  role:
                    type: string
                    enum:
                    - system
                    - user
                    - assistant
                    - tool
                  sequence:
                    type: integer
                    format: int32
                    default: 0
                  team_id:
                    type: string
                    format: ksuid
                  token_count:
                    type: integer
                    format: int32
                    default: 0
                  tool_call_id:
                    default: ''
                  tool_name:
                    type: string
                    default: ''
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                required:
                - agent_message_id
                - team_id
                - agent_session_id
                - role
                - created_at
                - updated_at
              example:
                agent_message_id: '000000000000000000000000001'
                agent_session_id: '000000000000000000000000001'
                content: ''
                content_json: {}
                created_at: 1791072000
                deleted_at: 0
                metadata: {}
                role: system
                sequence: 0
                team_id: '000000000000000000000000001'
                token_count: 0
                tool_call_id: ''
                tool_name: ''
                updated_at: 1791072000
  /v1/agent_plan:
    get:
      operationId: public_get_v1_agent_plan
      tags:
      - Agent plans
      summary: List agent plans
      description: Returns a paginated list of AgentPlan
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of AgentPlan
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        agent_plan_id:
                          type: string
                          format: ksuid
                        agent_run_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_session_id:
                          type: string
                          format: ksuid
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        status:
                          type: string
                          default: pending
                          enum:
                          - pending
                          - running
                          - blocked
                          - complete
                          - failed
                          - cancelled
                        summary:
                          default: ''
                        team_id:
                          type: string
                          format: ksuid
                        title:
                          type: string
                          default: Agent plan
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workspace_id:
                          type: string
                          format: ksuid
                          default: ''
                      required:
                      - agent_plan_id
                      - team_id
                      - agent_session_id
                      - title
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - agent_plan_id: '000000000000000000000000001'
                  agent_run_id: ''
                  agent_session_id: '000000000000000000000000001'
                  created_at: 1791072000
                  deleted_at: 0
                  metadata: {}
                  status: pending
                  summary: ''
                  team_id: '000000000000000000000000001'
                  title: Agent plan
                  updated_at: 1791072000
                  workspace_id: ''
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
  /v1/agent_plan/{id}:
    get:
      operationId: public_get_v1_agent_plan_id
      tags:
      - Agent plans
      summary: Get agent plan
      description: 'Returns a single AgentPlan


        Set `agent_plan_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: AgentPlan
          content:
            application/json:
              schema:
                type: object
                description: Persisted plan for an agent run so long-running coding
                  tasks can resume
                properties:
                  agent_plan_id:
                    type: string
                    format: ksuid
                  agent_run_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_session_id:
                    type: string
                    format: ksuid
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - running
                    - blocked
                    - complete
                    - failed
                    - cancelled
                  summary:
                    default: ''
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    default: Agent plan
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                    default: ''
                required:
                - agent_plan_id
                - team_id
                - agent_session_id
                - title
                - status
                - created_at
                - updated_at
              example:
                agent_plan_id: '000000000000000000000000001'
                agent_run_id: ''
                agent_session_id: '000000000000000000000000001'
                created_at: 1791072000
                deleted_at: 0
                metadata: {}
                status: pending
                summary: ''
                team_id: '000000000000000000000000001'
                title: Agent plan
                updated_at: 1791072000
                workspace_id: ''
  /v1/agent_plan_step:
    get:
      operationId: public_get_v1_agent_plan_step
      tags:
      - Agent plans
      summary: List agent plan steps
      description: Returns a paginated list of AgentPlanStep
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of AgentPlanStep
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        agent_plan_id:
                          type: string
                          format: ksuid
                        agent_plan_step_id:
                          type: string
                          format: ksuid
                        agent_version_id:
                          type: string
                          format: ksuid
                          default: ''
                        child_agent_run_id:
                          type: string
                          format: ksuid
                          default: ''
                        completed_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        dependencies:
                          type: object
                          additionalProperties:
                            type: string
                        description:
                          default: ''
                        error:
                          default: ''
                        execution_task_id:
                          type: string
                          format: ksuid
                          default: ''
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        position:
                          type: integer
                          format: int32
                          default: 0
                        role_key:
                          type: string
                          default: ''
                        specialist_role:
                          type: string
                          enum:
                          - lead
                          - security
                          - code_quality
                          - test_verification
                        started_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        status:
                          type: string
                          default: pending
                          enum:
                          - pending
                          - running
                          - passed
                          - failed
                          - blocked
                          - skipped
                        team_id:
                          type: string
                          format: ksuid
                        title:
                          type: string
                        tool_name:
                          type: string
                          default: ''
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                      required:
                      - agent_plan_step_id
                      - agent_plan_id
                      - team_id
                      - title
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
  /v1/agent_plan_step/{id}:
    get:
      operationId: public_get_v1_agent_plan_step_id
      tags:
      - Agent plans
      summary: Get agent plan step
      description: 'Returns a single AgentPlanStep


        Set `agent_plan_step_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: AgentPlanStep
          content:
            application/json:
              schema:
                type: object
                description: Ordered step inside an agent plan
                properties:
                  agent_plan_id:
                    type: string
                    format: ksuid
                  agent_plan_step_id:
                    type: string
                    format: ksuid
                  agent_version_id:
                    type: string
                    format: ksuid
                    default: ''
                  child_agent_run_id:
                    type: string
                    format: ksuid
                    default: ''
                  completed_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  dependencies:
                    type: object
                    additionalProperties:
                      type: string
                  description:
                    default: ''
                  error:
                    default: ''
                  execution_task_id:
                    type: string
                    format: ksuid
                    default: ''
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  position:
                    type: integer
                    format: int32
                    default: 0
                  role_key:
                    type: string
                    default: ''
                  specialist_role:
                    type: string
                    enum:
                    - lead
                    - security
                    - code_quality
                    - test_verification
                  started_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - running
                    - passed
                    - failed
                    - blocked
                    - skipped
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                  tool_name:
                    type: string
                    default: ''
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                required:
                - agent_plan_step_id
                - agent_plan_id
                - team_id
                - title
                - status
                - created_at
                - updated_at
  /v1/agent_run_event:
    get:
      operationId: public_get_v1_agent_run_event
      tags:
      - Agent events
      summary: List agent run events
      description: Returns a paginated list of AgentRunEvent
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of AgentRunEvent
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        agent_plan_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_plan_step_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_run_event_id:
                          type: string
                          format: ksuid
                        agent_run_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_session_id:
                          type: string
                          format: ksuid
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        event_type:
                          type: string
                        message:
                          default: ''
                        payload:
                          type: object
                          additionalProperties:
                            type: string
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                      required:
                      - agent_run_event_id
                      - team_id
                      - agent_session_id
                      - event_type
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - agent_plan_id: ''
                  agent_plan_step_id: ''
                  agent_run_event_id: '000000000000000000000000001'
                  agent_run_id: ''
                  agent_session_id: '000000000000000000000000001'
                  created_at: 1791072000
                  deleted_at: 0
                  event_type: example
                  message: ''
                  payload: {}
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
  /v1/agent_run_event/{id}:
    get:
      operationId: public_get_v1_agent_run_event_id
      tags:
      - Agent events
      summary: Get agent run event
      description: 'Returns a single AgentRunEvent


        Set `agent_run_event_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: AgentRunEvent
          content:
            application/json:
              schema:
                type: object
                description: Append-only event stream for agent runs, plans, and tools
                properties:
                  agent_plan_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_plan_step_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_run_event_id:
                    type: string
                    format: ksuid
                  agent_run_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_session_id:
                    type: string
                    format: ksuid
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  event_type:
                    type: string
                  message:
                    default: ''
                  payload:
                    type: object
                    additionalProperties:
                      type: string
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                required:
                - agent_run_event_id
                - team_id
                - agent_session_id
                - event_type
                - created_at
                - updated_at
              example:
                agent_plan_id: ''
                agent_plan_step_id: ''
                agent_run_event_id: '000000000000000000000000001'
                agent_run_id: ''
                agent_session_id: '000000000000000000000000001'
                created_at: 1791072000
                deleted_at: 0
                event_type: example
                message: ''
                payload: {}
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
  /v1/feature_tree:
    get:
      operationId: public_get_v1_feature_tree
      tags:
      - Feature planning
      summary: List feature trees
      description: Returns a paginated list of FeatureTree
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of FeatureTree
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        feature_tree_id:
                          type: string
                          format: ksuid
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        status:
                          type: string
                          default: active
                          enum:
                          - active
                          - archived
                          - deleted
                        team_id:
                          type: string
                          format: ksuid
                        title:
                          type: string
                          default: Feature tree
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workload_id:
                          type: string
                          format: ksuid
                          default: ''
                        workspace_id:
                          type: string
                          format: ksuid
                      required:
                      - feature_tree_id
                      - team_id
                      - workspace_id
                      - title
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - created_at: 1791072000
                  deleted_at: 0
                  feature_tree_id: '000000000000000000000000001'
                  metadata: {}
                  status: active
                  team_id: '000000000000000000000000001'
                  title: Feature tree
                  updated_at: 1791072000
                  workload_id: ''
                  workspace_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_feature_tree
      tags:
      - Feature planning
      summary: Create feature tree
      description: 'Creates a new FeatureTree


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `metadata` | object | no |  |

        | `status` | string | yes |  Allowed: active, archived, deleted. Default:
        `"active"`. |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  Default: `"Feature tree"`. |

        | `workload_id` | string | no |  Default: `""`. |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Workspace feature tree used to decompose product work for
                AI agents
              properties:
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - archived
                  - deleted
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                  default: Feature tree
                workload_id:
                  type: string
                  format: ksuid
                  default: ''
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - workspace_id
              - title
              - status
            example:
              status: active
              team_id: YOUR_TEAM_ID
              title: Feature tree
              workload_id: ''
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '201':
          description: FeatureTree created
          content:
            application/json:
              schema:
                type: object
                description: Workspace feature tree used to decompose product work
                  for AI agents
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    default: Feature tree
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workload_id:
                    type: string
                    format: ksuid
                    default: ''
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                status: active
                team_id: '000000000000000000000000001'
                title: Feature tree
                updated_at: 1791072000
                workload_id: ''
                workspace_id: '000000000000000000000000001'
  /v1/feature_tree/{id}:
    get:
      operationId: public_get_v1_feature_tree_id
      tags:
      - Feature planning
      summary: Get feature tree
      description: 'Returns a single FeatureTree


        Set `feature_tree_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: FeatureTree
          content:
            application/json:
              schema:
                type: object
                description: Workspace feature tree used to decompose product work
                  for AI agents
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    default: Feature tree
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workload_id:
                    type: string
                    format: ksuid
                    default: ''
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                status: active
                team_id: '000000000000000000000000001'
                title: Feature tree
                updated_at: 1791072000
                workload_id: ''
                workspace_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_feature_tree_id
      tags:
      - Feature planning
      summary: Update feature tree
      description: 'Updates an existing FeatureTree


        Set `feature_tree_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `metadata` | object | no |  |

        | `status` | string | yes |  Allowed: active, archived, deleted. Default:
        `"active"`. |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  Default: `"Feature tree"`. |

        | `workload_id` | string | no |  Default: `""`. |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Workspace feature tree used to decompose product work for
                AI agents
              properties:
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - archived
                  - deleted
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                  default: Feature tree
                workload_id:
                  type: string
                  format: ksuid
                  default: ''
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - workspace_id
              - title
              - status
            example:
              status: active
              team_id: YOUR_TEAM_ID
              title: Feature tree
              workload_id: ''
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '200':
          description: FeatureTree updated
          content:
            application/json:
              schema:
                type: object
                description: Workspace feature tree used to decompose product work
                  for AI agents
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - archived
                    - deleted
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    default: Feature tree
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workload_id:
                    type: string
                    format: ksuid
                    default: ''
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                status: active
                team_id: '000000000000000000000000001'
                title: Feature tree
                updated_at: 1791072000
                workload_id: ''
                workspace_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_feature_tree_id
      tags:
      - Feature planning
      summary: Delete feature tree
      description: 'Deletes a FeatureTree


        Set `feature_tree_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/feature_node:
    get:
      operationId: public_get_v1_feature_node
      tags:
      - Feature planning
      summary: List feature nodes
      description: Returns a paginated list of FeatureNode
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of FeatureNode
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        category:
                          type: string
                          default: other
                          enum:
                          - auth
                          - bill
                          - billing
                          - security
                          - complex
                          - complexity
                          - refactor
                          - ops
                          - ui
                          - other
                        complexity:
                          type: string
                          default: medium
                          enum:
                          - low
                          - medium
                          - high
                          - complex
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        description:
                          default: ''
                        feature_node_id:
                          type: string
                          format: ksuid
                        feature_tree_id:
                          type: string
                          format: ksuid
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        parent_feature_node_id:
                          type: string
                          format: ksuid
                          default: ''
                        position:
                          type: integer
                          format: int32
                          default: 0
                        status:
                          type: string
                          default: pending
                          enum:
                          - pending
                          - running
                          - blocked
                          - complete
                          - failed
                          - skipped
                        team_id:
                          type: string
                          format: ksuid
                        title:
                          type: string
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workspace_id:
                          type: string
                          format: ksuid
                      required:
                      - feature_node_id
                      - feature_tree_id
                      - team_id
                      - workspace_id
                      - title
                      - category
                      - complexity
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - category: other
                  complexity: medium
                  created_at: 1791072000
                  deleted_at: 0
                  description: ''
                  feature_node_id: '000000000000000000000000001'
                  feature_tree_id: '000000000000000000000000001'
                  metadata: {}
                  parent_feature_node_id: ''
                  position: 0
                  status: pending
                  team_id: '000000000000000000000000001'
                  title: Postman example
                  updated_at: 1791072000
                  workspace_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_feature_node
      tags:
      - Feature planning
      summary: Create feature node
      description: 'Creates a new FeatureNode


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `category` | string | yes |  Allowed: auth, bill, billing, security, complex,
        complexity, refactor, ops, ui, other. Default: `"other"`. |

        | `complexity` | string | yes |  Allowed: low, medium, high, complex. Default:
        `"medium"`. |

        | `description` | object | no |  Default: `""`. |

        | `feature_tree_id` | string | yes |  |

        | `metadata` | object | no |  |

        | `parent_feature_node_id` | string | no |  Default: `""`. |

        | `position` | integer | no |  Default: `0`. |

        | `status` | string | yes |  Allowed: pending, running, blocked, complete,
        failed, skipped. Default: `"pending"`. |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Single feature, subfeature, fix, review, or refactor item
                in a workspace feature tree
              properties:
                category:
                  type: string
                  default: other
                  enum:
                  - auth
                  - bill
                  - billing
                  - security
                  - complex
                  - complexity
                  - refactor
                  - ops
                  - ui
                  - other
                complexity:
                  type: string
                  default: medium
                  enum:
                  - low
                  - medium
                  - high
                  - complex
                description:
                  default: ''
                feature_tree_id:
                  type: string
                  format: ksuid
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                parent_feature_node_id:
                  type: string
                  format: ksuid
                  default: ''
                position:
                  type: integer
                  format: int32
                  default: 0
                status:
                  type: string
                  default: pending
                  enum:
                  - pending
                  - running
                  - blocked
                  - complete
                  - failed
                  - skipped
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - feature_tree_id
              - team_id
              - workspace_id
              - title
              - category
              - complexity
              - status
            example:
              category: other
              complexity: medium
              description: ''
              feature_tree_id: YOUR_FEATURE_TREE_ID
              parent_feature_node_id: ''
              position: 0
              status: pending
              team_id: YOUR_TEAM_ID
              title: Postman example
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '201':
          description: FeatureNode created
          content:
            application/json:
              schema:
                type: object
                description: Single feature, subfeature, fix, review, or refactor
                  item in a workspace feature tree
                properties:
                  category:
                    type: string
                    default: other
                    enum:
                    - auth
                    - bill
                    - billing
                    - security
                    - complex
                    - complexity
                    - refactor
                    - ops
                    - ui
                    - other
                  complexity:
                    type: string
                    default: medium
                    enum:
                    - low
                    - medium
                    - high
                    - complex
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  description:
                    default: ''
                  feature_node_id:
                    type: string
                    format: ksuid
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  parent_feature_node_id:
                    type: string
                    format: ksuid
                    default: ''
                  position:
                    type: integer
                    format: int32
                    default: 0
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - running
                    - blocked
                    - complete
                    - failed
                    - skipped
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_node_id
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - category
                - complexity
                - status
                - created_at
                - updated_at
              example:
                category: other
                complexity: medium
                created_at: 1791072000
                deleted_at: 0
                description: ''
                feature_node_id: '000000000000000000000000001'
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                parent_feature_node_id: ''
                position: 0
                status: pending
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
  /v1/feature_node/{id}:
    get:
      operationId: public_get_v1_feature_node_id
      tags:
      - Feature planning
      summary: Get feature node
      description: 'Returns a single FeatureNode


        Set `feature_node_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: FeatureNode
          content:
            application/json:
              schema:
                type: object
                description: Single feature, subfeature, fix, review, or refactor
                  item in a workspace feature tree
                properties:
                  category:
                    type: string
                    default: other
                    enum:
                    - auth
                    - bill
                    - billing
                    - security
                    - complex
                    - complexity
                    - refactor
                    - ops
                    - ui
                    - other
                  complexity:
                    type: string
                    default: medium
                    enum:
                    - low
                    - medium
                    - high
                    - complex
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  description:
                    default: ''
                  feature_node_id:
                    type: string
                    format: ksuid
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  parent_feature_node_id:
                    type: string
                    format: ksuid
                    default: ''
                  position:
                    type: integer
                    format: int32
                    default: 0
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - running
                    - blocked
                    - complete
                    - failed
                    - skipped
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_node_id
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - category
                - complexity
                - status
                - created_at
                - updated_at
              example:
                category: other
                complexity: medium
                created_at: 1791072000
                deleted_at: 0
                description: ''
                feature_node_id: '000000000000000000000000001'
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                parent_feature_node_id: ''
                position: 0
                status: pending
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_feature_node_id
      tags:
      - Feature planning
      summary: Update feature node
      description: 'Updates an existing FeatureNode


        Set `feature_node_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `category` | string | yes |  Allowed: auth, bill, billing, security, complex,
        complexity, refactor, ops, ui, other. Default: `"other"`. |

        | `complexity` | string | yes |  Allowed: low, medium, high, complex. Default:
        `"medium"`. |

        | `description` | object | no |  Default: `""`. |

        | `feature_tree_id` | string | yes |  |

        | `metadata` | object | no |  |

        | `parent_feature_node_id` | string | no |  Default: `""`. |

        | `position` | integer | no |  Default: `0`. |

        | `status` | string | yes |  Allowed: pending, running, blocked, complete,
        failed, skipped. Default: `"pending"`. |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Single feature, subfeature, fix, review, or refactor item
                in a workspace feature tree
              properties:
                category:
                  type: string
                  default: other
                  enum:
                  - auth
                  - bill
                  - billing
                  - security
                  - complex
                  - complexity
                  - refactor
                  - ops
                  - ui
                  - other
                complexity:
                  type: string
                  default: medium
                  enum:
                  - low
                  - medium
                  - high
                  - complex
                description:
                  default: ''
                feature_tree_id:
                  type: string
                  format: ksuid
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                parent_feature_node_id:
                  type: string
                  format: ksuid
                  default: ''
                position:
                  type: integer
                  format: int32
                  default: 0
                status:
                  type: string
                  default: pending
                  enum:
                  - pending
                  - running
                  - blocked
                  - complete
                  - failed
                  - skipped
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - feature_tree_id
              - team_id
              - workspace_id
              - title
              - category
              - complexity
              - status
            example:
              category: other
              complexity: medium
              description: ''
              feature_tree_id: YOUR_FEATURE_TREE_ID
              parent_feature_node_id: ''
              position: 0
              status: pending
              team_id: YOUR_TEAM_ID
              title: Postman example
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '200':
          description: FeatureNode updated
          content:
            application/json:
              schema:
                type: object
                description: Single feature, subfeature, fix, review, or refactor
                  item in a workspace feature tree
                properties:
                  category:
                    type: string
                    default: other
                    enum:
                    - auth
                    - bill
                    - billing
                    - security
                    - complex
                    - complexity
                    - refactor
                    - ops
                    - ui
                    - other
                  complexity:
                    type: string
                    default: medium
                    enum:
                    - low
                    - medium
                    - high
                    - complex
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  description:
                    default: ''
                  feature_node_id:
                    type: string
                    format: ksuid
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  parent_feature_node_id:
                    type: string
                    format: ksuid
                    default: ''
                  position:
                    type: integer
                    format: int32
                    default: 0
                  status:
                    type: string
                    default: pending
                    enum:
                    - pending
                    - running
                    - blocked
                    - complete
                    - failed
                    - skipped
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_node_id
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - category
                - complexity
                - status
                - created_at
                - updated_at
              example:
                category: other
                complexity: medium
                created_at: 1791072000
                deleted_at: 0
                description: ''
                feature_node_id: '000000000000000000000000001'
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                parent_feature_node_id: ''
                position: 0
                status: pending
                team_id: '000000000000000000000000001'
                title: Postman example
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_feature_node_id
      tags:
      - Feature planning
      summary: Delete feature node
      description: 'Deletes a FeatureNode


        Set `feature_node_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/feature_assignment:
    get:
      operationId: public_get_v1_feature_assignment
      tags:
      - Feature planning
      summary: List feature assignments
      description: Returns a paginated list of FeatureAssignment
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of FeatureAssignment
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        agent_plan_id:
                          type: string
                          format: ksuid
                          default: ''
                        agent_session_id:
                          type: string
                          format: ksuid
                          default: ''
                        branch:
                          type: string
                          default: ''
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        feature_assignment_id:
                          type: string
                          format: ksuid
                        feature_tree_id:
                          type: string
                          format: ksuid
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        selected_node_ids:
                          type: object
                          additionalProperties:
                            type: string
                        status:
                          type: string
                          default: queued
                          enum:
                          - queued
                          - running
                          - blocked
                          - complete
                          - failed
                          - cancelled
                        target_type:
                          type: string
                          default: new_workspace
                          enum:
                          - new_workspace
                          - existing_workspace
                          - git_branch
                        target_workspace_id:
                          type: string
                          format: ksuid
                          default: ''
                        team_id:
                          type: string
                          format: ksuid
                        title:
                          type: string
                          default: Feature assignment
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        workspace_id:
                          type: string
                          format: ksuid
                      required:
                      - feature_assignment_id
                      - feature_tree_id
                      - team_id
                      - workspace_id
                      - title
                      - status
                      - target_type
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - agent_plan_id: ''
                  agent_session_id: ''
                  branch: ''
                  created_at: 1791072000
                  deleted_at: 0
                  feature_assignment_id: '000000000000000000000000001'
                  feature_tree_id: '000000000000000000000000001'
                  metadata: {}
                  selected_node_ids: {}
                  status: queued
                  target_type: new_workspace
                  target_workspace_id: ''
                  team_id: '000000000000000000000000001'
                  title: Feature assignment
                  updated_at: 1791072000
                  workspace_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_feature_assignment
      tags:
      - Feature planning
      summary: Create feature assignment
      description: 'Creates a new FeatureAssignment


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `agent_plan_id` | string | no |  Default: `""`. |

        | `agent_session_id` | string | no |  Default: `""`. |

        | `branch` | string | no |  Default: `""`. |

        | `feature_tree_id` | string | yes |  |

        | `metadata` | object | no |  |

        | `selected_node_ids` | object | no |  |

        | `status` | string | yes |  Allowed: queued, running, blocked, complete,
        failed, cancelled. Default: `"queued"`. |

        | `target_type` | string | yes |  Allowed: new_workspace, existing_workspace,
        git_branch. Default: `"new_workspace"`. |

        | `target_workspace_id` | string | no |  Default: `""`. |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  Default: `"Feature assignment"`. |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Selected feature tree nodes queued for AI agent work
              properties:
                agent_plan_id:
                  type: string
                  format: ksuid
                  default: ''
                agent_session_id:
                  type: string
                  format: ksuid
                  default: ''
                branch:
                  type: string
                  default: ''
                feature_tree_id:
                  type: string
                  format: ksuid
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                selected_node_ids:
                  type: object
                  additionalProperties:
                    type: string
                status:
                  type: string
                  default: queued
                  enum:
                  - queued
                  - running
                  - blocked
                  - complete
                  - failed
                  - cancelled
                target_type:
                  type: string
                  default: new_workspace
                  enum:
                  - new_workspace
                  - existing_workspace
                  - git_branch
                target_workspace_id:
                  type: string
                  format: ksuid
                  default: ''
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                  default: Feature assignment
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - feature_tree_id
              - team_id
              - workspace_id
              - title
              - status
              - target_type
            example:
              agent_plan_id: ''
              agent_session_id: ''
              branch: ''
              feature_tree_id: YOUR_FEATURE_TREE_ID
              status: queued
              target_type: new_workspace
              target_workspace_id: ''
              team_id: YOUR_TEAM_ID
              title: Feature assignment
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '201':
          description: FeatureAssignment created
          content:
            application/json:
              schema:
                type: object
                description: Selected feature tree nodes queued for AI agent work
                properties:
                  agent_plan_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_session_id:
                    type: string
                    format: ksuid
                    default: ''
                  branch:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  feature_assignment_id:
                    type: string
                    format: ksuid
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  selected_node_ids:
                    type: object
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: queued
                    enum:
                    - queued
                    - running
                    - blocked
                    - complete
                    - failed
                    - cancelled
                  target_type:
                    type: string
                    default: new_workspace
                    enum:
                    - new_workspace
                    - existing_workspace
                    - git_branch
                  target_workspace_id:
                    type: string
                    format: ksuid
                    default: ''
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    default: Feature assignment
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_assignment_id
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - status
                - target_type
                - created_at
                - updated_at
              example:
                agent_plan_id: ''
                agent_session_id: ''
                branch: ''
                created_at: 1791072000
                deleted_at: 0
                feature_assignment_id: '000000000000000000000000001'
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                selected_node_ids: {}
                status: queued
                target_type: new_workspace
                target_workspace_id: ''
                team_id: '000000000000000000000000001'
                title: Feature assignment
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
  /v1/feature_assignment/{id}:
    get:
      operationId: public_get_v1_feature_assignment_id
      tags:
      - Feature planning
      summary: Get feature assignment
      description: 'Returns a single FeatureAssignment


        Set `feature_assignment_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: FeatureAssignment
          content:
            application/json:
              schema:
                type: object
                description: Selected feature tree nodes queued for AI agent work
                properties:
                  agent_plan_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_session_id:
                    type: string
                    format: ksuid
                    default: ''
                  branch:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  feature_assignment_id:
                    type: string
                    format: ksuid
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  selected_node_ids:
                    type: object
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: queued
                    enum:
                    - queued
                    - running
                    - blocked
                    - complete
                    - failed
                    - cancelled
                  target_type:
                    type: string
                    default: new_workspace
                    enum:
                    - new_workspace
                    - existing_workspace
                    - git_branch
                  target_workspace_id:
                    type: string
                    format: ksuid
                    default: ''
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    default: Feature assignment
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_assignment_id
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - status
                - target_type
                - created_at
                - updated_at
              example:
                agent_plan_id: ''
                agent_session_id: ''
                branch: ''
                created_at: 1791072000
                deleted_at: 0
                feature_assignment_id: '000000000000000000000000001'
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                selected_node_ids: {}
                status: queued
                target_type: new_workspace
                target_workspace_id: ''
                team_id: '000000000000000000000000001'
                title: Feature assignment
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_feature_assignment_id
      tags:
      - Feature planning
      summary: Update feature assignment
      description: 'Updates an existing FeatureAssignment


        Set `feature_assignment_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `agent_plan_id` | string | no |  Default: `""`. |

        | `agent_session_id` | string | no |  Default: `""`. |

        | `branch` | string | no |  Default: `""`. |

        | `feature_tree_id` | string | yes |  |

        | `metadata` | object | no |  |

        | `selected_node_ids` | object | no |  |

        | `status` | string | yes |  Allowed: queued, running, blocked, complete,
        failed, cancelled. Default: `"queued"`. |

        | `target_type` | string | yes |  Allowed: new_workspace, existing_workspace,
        git_branch. Default: `"new_workspace"`. |

        | `target_workspace_id` | string | no |  Default: `""`. |

        | `team_id` | string | yes |  |

        | `title` | string | yes |  Default: `"Feature assignment"`. |

        | `workspace_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Selected feature tree nodes queued for AI agent work
              properties:
                agent_plan_id:
                  type: string
                  format: ksuid
                  default: ''
                agent_session_id:
                  type: string
                  format: ksuid
                  default: ''
                branch:
                  type: string
                  default: ''
                feature_tree_id:
                  type: string
                  format: ksuid
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                selected_node_ids:
                  type: object
                  additionalProperties:
                    type: string
                status:
                  type: string
                  default: queued
                  enum:
                  - queued
                  - running
                  - blocked
                  - complete
                  - failed
                  - cancelled
                target_type:
                  type: string
                  default: new_workspace
                  enum:
                  - new_workspace
                  - existing_workspace
                  - git_branch
                target_workspace_id:
                  type: string
                  format: ksuid
                  default: ''
                team_id:
                  type: string
                  format: ksuid
                title:
                  type: string
                  default: Feature assignment
                workspace_id:
                  type: string
                  format: ksuid
              required:
              - feature_tree_id
              - team_id
              - workspace_id
              - title
              - status
              - target_type
            example:
              agent_plan_id: ''
              agent_session_id: ''
              branch: ''
              feature_tree_id: YOUR_FEATURE_TREE_ID
              status: queued
              target_type: new_workspace
              target_workspace_id: ''
              team_id: YOUR_TEAM_ID
              title: Feature assignment
              workspace_id: YOUR_WORKSPACE_ID
      responses:
        '200':
          description: FeatureAssignment updated
          content:
            application/json:
              schema:
                type: object
                description: Selected feature tree nodes queued for AI agent work
                properties:
                  agent_plan_id:
                    type: string
                    format: ksuid
                    default: ''
                  agent_session_id:
                    type: string
                    format: ksuid
                    default: ''
                  branch:
                    type: string
                    default: ''
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  feature_assignment_id:
                    type: string
                    format: ksuid
                  feature_tree_id:
                    type: string
                    format: ksuid
                  metadata:
                    type: object
                    additionalProperties:
                      type: string
                  selected_node_ids:
                    type: object
                    additionalProperties:
                      type: string
                  status:
                    type: string
                    default: queued
                    enum:
                    - queued
                    - running
                    - blocked
                    - complete
                    - failed
                    - cancelled
                  target_type:
                    type: string
                    default: new_workspace
                    enum:
                    - new_workspace
                    - existing_workspace
                    - git_branch
                  target_workspace_id:
                    type: string
                    format: ksuid
                    default: ''
                  team_id:
                    type: string
                    format: ksuid
                  title:
                    type: string
                    default: Feature assignment
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  workspace_id:
                    type: string
                    format: ksuid
                required:
                - feature_assignment_id
                - feature_tree_id
                - team_id
                - workspace_id
                - title
                - status
                - target_type
                - created_at
                - updated_at
              example:
                agent_plan_id: ''
                agent_session_id: ''
                branch: ''
                created_at: 1791072000
                deleted_at: 0
                feature_assignment_id: '000000000000000000000000001'
                feature_tree_id: '000000000000000000000000001'
                metadata: {}
                selected_node_ids: {}
                status: queued
                target_type: new_workspace
                target_workspace_id: ''
                team_id: '000000000000000000000000001'
                title: Feature assignment
                updated_at: 1791072000
                workspace_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_feature_assignment_id
      tags:
      - Feature planning
      summary: Delete feature assignment
      description: 'Deletes a FeatureAssignment


        Set `feature_assignment_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/webhook:
    get:
      operationId: public_get_v1_webhook
      tags:
      - Webhooks
      summary: List webhooks
      description: Returns a paginated list of Webhook
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: page
        required: false
        description: Page number
        schema:
          type: integer
          default: 1
          minimum: 1
      - in: query
        name: per_page
        required: false
        description: Items per page
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: List of Webhook
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        created_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        deleted_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                          default: 0
                        external_id:
                          type: string
                          description: External ID from the provider (e.g. hook ID)
                        provider:
                          type: string
                          enum:
                          - github
                          - bitbucket
                        status:
                          type: string
                          default: active
                          enum:
                          - active
                          - inactive
                        team_id:
                          type: string
                          format: ksuid
                        updated_at:
                          type: integer
                          format: int64
                          description: ' (Unix timestamp)'
                        webhook_id:
                          type: string
                          format: ksuid
                        workload_id:
                          type: string
                          format: ksuid
                      required:
                      - webhook_id
                      - team_id
                      - workload_id
                      - provider
                      - status
                      - created_at
                      - updated_at
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      per_page:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items
              example:
                data:
                - created_at: 1791072000
                  deleted_at: 0
                  external_id: example
                  provider: github
                  status: active
                  team_id: '000000000000000000000000001'
                  updated_at: 1791072000
                  webhook_id: '000000000000000000000000001'
                  workload_id: '000000000000000000000000001'
                pagination:
                  page: 1
                  per_page: 1
                  total: 1
    post:
      operationId: public_post_v1_webhook
      tags:
      - Webhooks
      summary: Create webhook
      description: 'Creates a new Webhook


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `external_id` | string | no | External ID from the provider (e.g. hook ID)
        |

        | `provider` | string | yes |  Allowed: github, bitbucket. |

        | `status` | string | yes |  Allowed: active, inactive. Default: `"active"`.
        |

        | `team_id` | string | yes |  |

        | `workload_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Webhook integration for workloads (GitHub/Bitbucket)
              properties:
                external_id:
                  type: string
                  description: External ID from the provider (e.g. hook ID)
                provider:
                  type: string
                  enum:
                  - github
                  - bitbucket
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - inactive
                team_id:
                  type: string
                  format: ksuid
                workload_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - workload_id
              - provider
              - status
            example:
              provider: github
              status: active
              team_id: YOUR_TEAM_ID
              workload_id: YOUR_WORKLOAD_ID
      responses:
        '201':
          description: Webhook created
          content:
            application/json:
              schema:
                type: object
                description: Webhook integration for workloads (GitHub/Bitbucket)
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  external_id:
                    type: string
                    description: External ID from the provider (e.g. hook ID)
                  provider:
                    type: string
                    enum:
                    - github
                    - bitbucket
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - inactive
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  webhook_id:
                    type: string
                    format: ksuid
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - webhook_id
                - team_id
                - workload_id
                - provider
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                external_id: example
                provider: github
                status: active
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                webhook_id: '000000000000000000000000001'
                workload_id: '000000000000000000000000001'
  /v1/webhook/{id}:
    get:
      operationId: public_get_v1_webhook_id
      tags:
      - Webhooks
      summary: Get webhook
      description: 'Returns a single Webhook


        Set `webhook_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Webhook
          content:
            application/json:
              schema:
                type: object
                description: Webhook integration for workloads (GitHub/Bitbucket)
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  external_id:
                    type: string
                    description: External ID from the provider (e.g. hook ID)
                  provider:
                    type: string
                    enum:
                    - github
                    - bitbucket
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - inactive
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  webhook_id:
                    type: string
                    format: ksuid
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - webhook_id
                - team_id
                - workload_id
                - provider
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                external_id: example
                provider: github
                status: active
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                webhook_id: '000000000000000000000000001'
                workload_id: '000000000000000000000000001'
    put:
      operationId: public_put_v1_webhook_id
      tags:
      - Webhooks
      summary: Update webhook
      description: 'Updates an existing Webhook


        Set `webhook_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.


        Request fields (the body contains an editable example):


        | Field | Type | Required | Description |

        | --- | --- | --- | --- |

        | `external_id` | string | no | External ID from the provider (e.g. hook ID)
        |

        | `provider` | string | yes |  Allowed: github, bitbucket. |

        | `status` | string | yes |  Allowed: active, inactive. Default: `"active"`.
        |

        | `team_id` | string | yes |  |

        | `workload_id` | string | yes |  |'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Webhook integration for workloads (GitHub/Bitbucket)
              properties:
                external_id:
                  type: string
                  description: External ID from the provider (e.g. hook ID)
                provider:
                  type: string
                  enum:
                  - github
                  - bitbucket
                status:
                  type: string
                  default: active
                  enum:
                  - active
                  - inactive
                team_id:
                  type: string
                  format: ksuid
                workload_id:
                  type: string
                  format: ksuid
              required:
              - team_id
              - workload_id
              - provider
              - status
            example:
              provider: github
              status: active
              team_id: YOUR_TEAM_ID
              workload_id: YOUR_WORKLOAD_ID
      responses:
        '200':
          description: Webhook updated
          content:
            application/json:
              schema:
                type: object
                description: Webhook integration for workloads (GitHub/Bitbucket)
                properties:
                  created_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  deleted_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                    default: 0
                  external_id:
                    type: string
                    description: External ID from the provider (e.g. hook ID)
                  provider:
                    type: string
                    enum:
                    - github
                    - bitbucket
                  status:
                    type: string
                    default: active
                    enum:
                    - active
                    - inactive
                  team_id:
                    type: string
                    format: ksuid
                  updated_at:
                    type: integer
                    format: int64
                    description: ' (Unix timestamp)'
                  webhook_id:
                    type: string
                    format: ksuid
                  workload_id:
                    type: string
                    format: ksuid
                required:
                - webhook_id
                - team_id
                - workload_id
                - provider
                - status
                - created_at
                - updated_at
              example:
                created_at: 1791072000
                deleted_at: 0
                external_id: example
                provider: github
                status: active
                team_id: '000000000000000000000000001'
                updated_at: 1791072000
                webhook_id: '000000000000000000000000001'
                workload_id: '000000000000000000000000001'
    delete:
      operationId: public_delete_v1_webhook_id
      tags:
      - Webhooks
      summary: Delete webhook
      description: 'Deletes a Webhook


        Set `webhook_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                - message
              example:
                message: Deleted successfully
  /v1/health:
    get:
      operationId: public_get_v1_health
      tags:
      - Quick start
      summary: Check API health
      description: Check whether the API process is responding.
      security: []
      parameters: []
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
          content:
            application/json:
              example:
                status: ok
  /v1/auth/me:
    get:
      operationId: public_get_v1_auth_me
      tags:
      - Quick start
      summary: Get current user
      description: Return your user_id, profile, teams, and team_data. The response
        script saves only user_id in the selected environment. Set team_id yourself
        to the active CLI team before using a diagnostic token.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/deployment-context:
    get:
      operationId: public_get_v1_team_deployment_context
      tags:
      - Teams
      summary: Get deployment context
      description: Discover available deployment regions and the active team deployment
        context.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/members:
    get:
      operationId: public_get_v1_team_members
      tags:
      - Teams
      summary: List team members
      description: List members of the selected team.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/invitations:
    get:
      operationId: public_get_v1_team_invitations
      tags:
      - Teams
      summary: List team invitations
      description: List invitations for the selected team.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    post:
      operationId: public_post_v1_team_invitations
      tags:
      - Teams
      summary: Invite a team member
      description: 'Send an email invitation to join the selected team. role supports
        user, manager, or team_admin.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              email: YOUR_INVITE_EMAIL
              role: user
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/invitations/{id}/resend:
    post:
      operationId: public_post_v1_team_invitations_id_resend
      tags:
      - Teams
      summary: Resend team invitation
      description: 'Send the invitation email again.


        Set `invitation_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/invitations/{id}:
    delete:
      operationId: public_delete_v1_team_invitations_id
      tags:
      - Teams
      summary: Revoke team invitation
      description: 'Revoke a pending invitation.


        Set `invitation_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/billing/plans:
    get:
      operationId: public_get_v1_team_billing_plans
      tags:
      - Billing
      summary: List billing plans
      description: Read the public plan catalog.
      security: []
      parameters: []
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/billing/subscription:
    get:
      operationId: public_get_v1_team_billing_subscription
      tags:
      - Billing
      summary: Get subscription
      description: Read the selected team's subscription.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/billing/resources:
    get:
      operationId: public_get_v1_team_billing_resources
      tags:
      - Billing
      summary: Get resource usage
      description: Read the selected team's resource usage.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/billing/ai-usage:
    get:
      operationId: public_get_v1_team_billing_ai_usage
      tags:
      - Billing
      summary: Get AI usage
      description: Read the selected team's managed AI token usage.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/team/billing/token-packs:
    get:
      operationId: public_get_v1_team_billing_token_packs
      tags:
      - Billing
      summary: List AI token packs
      description: Read the selected team's token packs.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/build:
    post:
      operationId: public_post_v1_workload_id_build
      tags:
      - Workloads
      summary: Build workload from repository
      description: 'Build the workload using its configured repository. Set repository_url
        on the workload first, or enable repo here. A paid subscription may be required.


        Set `workload_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: repo
        required: false
        description: Override the configured Git repository.
        schema:
          type: string
      - in: query
        name: branch
        required: false
        description: Override the repository branch.
        schema:
          type: string
      - in: query
        name: async
        required: false
        description: Return while the build runs in the background.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/deploy:
    post:
      operationId: public_post_v1_workload_id_deploy
      tags:
      - Workloads
      summary: Deploy workload
      description: 'Build and deploy from the configured repository or deploy an existing
        build_id. This changes the running workload and may incur usage charges.


        Set `workload_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: build_id
        required: false
        description: Deploy a previously built artifact.
        schema:
          type: string
      - in: query
        name: region
        required: false
        description: Override the deployment region.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/builds:
    get:
      operationId: public_get_v1_workload_id_builds
      tags:
      - Workloads
      summary: List workload builds
      description: 'List build history for the workload.


        Set `workload_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/builds/{build_id}/logs:
    get:
      operationId: public_get_v1_workload_id_builds_build_id_logs
      tags:
      - Workloads
      summary: Get build logs
      description: 'Read logs for a workload build.


        Set `workload_id`, `build_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: path
        name: build_id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: lines
        required: false
        description: Maximum requested log lines.
        schema:
          type: string
      - in: query
        name: follow
        required: false
        description: Keep disabled for a finite response.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/logs:
    get:
      operationId: public_get_v1_workload_id_logs
      tags:
      - Workloads
      summary: Get workload logs
      description: 'Read workload logs.


        Set `workload_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: type
        required: false
        description: Log source.
        schema:
          type: string
      - in: query
        name: lines
        required: false
        description: Maximum requested log lines.
        schema:
          type: string
      - in: query
        name: follow
        required: false
        description: Keep disabled for a finite response.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/replicas:
    get:
      operationId: public_get_v1_workload_id_replicas
      tags:
      - Workloads
      summary: List workload replicas
      description: 'Inspect workload replicas and their health.


        Set `workload_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/runtime-status:
    get:
      operationId: public_get_v1_workload_id_runtime_status
      tags:
      - Workloads
      summary: Get workload runtime status
      description: 'Inspect the current runtime state.


        Set `workload_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workload/{id}/runtime-notices:
    get:
      operationId: public_get_v1_workload_id_runtime_notices
      tags:
      - Workloads
      summary: Get workload runtime notices
      description: 'Inspect notices about the current workload runtime.


        Set `workload_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/tree:
    get:
      operationId: public_get_v1_workspace_id_tree
      tags:
      - Workspaces
      summary: List workspace files
      description: 'List entries in a source-backed workspace directory.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: path
        required: false
        description: Directory relative to the workspace root.
        schema:
          type: string
          default: .
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/file:
    get:
      operationId: public_get_v1_workspace_id_file
      tags:
      - Workspaces
      summary: Read workspace file
      description: 'Read a file relative to the workspace root.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: path
        required: true
        description: Required workspace-relative file path.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    put:
      operationId: public_put_v1_workspace_id_file
      tags:
      - Workspaces
      summary: Write workspace file
      description: 'Create or replace the contents of the selected file.


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: path
        required: true
        description: Required workspace-relative file path.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              content: 'Hello from Postman!

                '
              encoding: utf8
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    delete:
      operationId: public_delete_v1_workspace_id_file
      tags:
      - Workspaces
      summary: Delete workspace file
      description: 'Delete the selected workspace file.


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: path
        required: true
        description: Required workspace-relative file path.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/file/move:
    post:
      operationId: public_post_v1_workspace_id_file_move
      tags:
      - Workspaces
      summary: Move workspace file
      description: 'Move a file within the workspace.


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              from: YOUR_FILE_PATH
              to: YOUR_DESTINATION_PATH
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/commands:
    post:
      operationId: public_post_v1_workspace_id_commands
      tags:
      - Workspaces
      summary: Run workspace lint
      description: 'Run the workspace''s configured lint command. kind supports lint


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              kind: lint
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/commands/{command_id}:
    get:
      operationId: public_get_v1_workspace_id_commands_command_id
      tags:
      - Workspaces
      summary: Get workspace command status
      description: 'Inspect a previously submitted workspace command.


        Set `workspace_id`, `command_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: path
        name: command_id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/commands/{command_id}/logs:
    get:
      operationId: public_get_v1_workspace_id_commands_command_id_logs
      tags:
      - Workspaces
      summary: Get workspace command logs
      description: 'Read logs for a workspace command.


        Set `workspace_id`, `command_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: path
        name: command_id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/run:
    get:
      operationId: public_get_v1_workspace_id_run
      tags:
      - Workspaces
      summary: Get workspace runtime status
      description: 'Inspect the workspace preview runtime.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/run/start:
    post:
      operationId: public_post_v1_workspace_id_run_start
      tags:
      - Workspaces
      summary: Start workspace preview
      description: 'Start the workspace preview runtime. This may consume paid resources.


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/run/stop:
    post:
      operationId: public_post_v1_workspace_id_run_stop
      tags:
      - Workspaces
      summary: Stop workspace preview
      description: 'Stop the workspace preview runtime.


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/run/restart:
    post:
      operationId: public_post_v1_workspace_id_run_restart
      tags:
      - Workspaces
      summary: Restart workspace preview
      description: 'Restart the workspace preview runtime.


        Set `workspace_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/git/status:
    get:
      operationId: public_get_v1_workspace_id_git_status
      tags:
      - Workspaces
      summary: Get workspace Git status
      description: 'Inspect the current branch and local changes.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/git/log:
    get:
      operationId: public_get_v1_workspace_id_git_log
      tags:
      - Workspaces
      summary: Get workspace Git history
      description: 'Read recent workspace commits.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/git/branches:
    get:
      operationId: public_get_v1_workspace_id_git_branches
      tags:
      - Workspaces
      summary: List workspace Git branches
      description: 'List branches available in the workspace.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/manifest/check:
    get:
      operationId: public_get_v1_workspace_id_manifest_check
      tags:
      - Workspaces
      summary: Check workspace manifest
      description: 'Validate the workspace Adios manifest.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workspace/{id}/tests:
    get:
      operationId: public_get_v1_workspace_id_tests
      tags:
      - Workspaces
      summary: Get workspace test inventory
      description: 'Inspect detected tests and testing configuration.


        Set `workspace_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workflow/{id}/runs:
    get:
      operationId: public_get_v1_workflow_id_runs
      tags:
      - Workflows
      summary: List workflow runs
      description: 'List runs belonging to the selected workflow.


        Set `workflow_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    post:
      operationId: public_post_v1_workflow_id_runs
      tags:
      - Workflows
      summary: Run workflow
      description: 'Start a configured workflow. Put workflow input in payload. This
        may perform external actions defined by the workflow and requires a paid subscription.


        Set `workflow_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              payload: {}
      responses:
        '201':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/workflow/{id}/logs:
    get:
      operationId: public_get_v1_workflow_id_logs
      tags:
      - Workflows
      summary: Get workflow logs
      description: 'Read workflow lifecycle logs.


        Set `workflow_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/domain/{id}/verify:
    post:
      operationId: public_post_v1_domain_id_verify
      tags:
      - Domains
      summary: Verify domain
      description: 'Check the ownership CNAME provided when the domain was created.
        Configure DNS before sending this request.


        Set `domain_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/object_bucket/{id}/objects:
    get:
      operationId: public_get_v1_object_bucket_id_objects
      tags:
      - Object storage
      summary: List bucket objects
      description: 'Browse objects under an optional prefix.


        Set `object_bucket_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: prefix
        required: false
        description: Object key prefix.
        schema:
          type: string
      - in: query
        name: limit
        required: false
        description: Number of entries between 1 and 5000.
        schema:
          type: integer
          minimum: 1
          maximum: 5000
          default: 1000
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/object_bucket/{id}/object:
    get:
      operationId: public_get_v1_object_bucket_id_object
      tags:
      - Object storage
      summary: Download bucket object
      description: 'Read the raw object body. Use Postman''s download option to save
        it.


        Set `object_bucket_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: key
        required: true
        description: Required object key.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    put:
      operationId: public_put_v1_object_bucket_id_object
      tags:
      - Object storage
      summary: Upload bucket object
      description: 'Select a file in Body → binary before sending. The endpoint accepts
        raw bytes, not multipart form data; the upload limit is 5 GiB.


        Set `object_bucket_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: key
        required: true
        description: Required object key.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '201':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    delete:
      operationId: public_delete_v1_object_bucket_id_object
      tags:
      - Object storage
      summary: Delete bucket object
      description: 'Delete the selected object.


        Set `object_bucket_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: key
        required: true
        description: Required object key.
        schema:
          type: string
      responses:
        '204':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/object_bucket/{id}/folders:
    post:
      operationId: public_post_v1_object_bucket_id_folders
      tags:
      - Object storage
      summary: Create bucket folder
      description: 'Create an object folder marker.


        Set `object_bucket_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              prefix: YOUR_OBJECT_PREFIX
      responses:
        '201':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    delete:
      operationId: public_delete_v1_object_bucket_id_folders
      tags:
      - Object storage
      summary: Delete bucket folder
      description: 'Delete a folder and its contents.


        Set `object_bucket_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      - in: query
        name: prefix
        required: true
        description: Required folder prefix.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/object_bucket/{id}/access-keys:
    get:
      operationId: public_get_v1_object_bucket_id_access_keys
      tags:
      - Object storage
      summary: List bucket access keys
      description: 'List S3 key metadata for the bucket.


        Set `object_bucket_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
    post:
      operationId: public_post_v1_object_bucket_id_access_keys
      tags:
      - Object storage
      summary: Create bucket access key
      description: 'Create S3 credentials for this bucket. Save the returned secret
        privately; do not publish the response.


        Set `object_bucket_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              name: postman-example
      responses:
        '201':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/object_bucket/{id}/access-keys/{access_key_id}:
    delete:
      operationId: public_delete_v1_object_bucket_id_access_keys_access_key_id
      tags:
      - Object storage
      summary: Delete bucket access key
      description: 'Revoke the selected S3 access key.


        Set `object_bucket_id`, `access_key_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: path
        name: access_key_id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/ai/catalog:
    get:
      operationId: public_get_v1_ai_catalog
      tags:
      - AI models
      summary: List AI models
      description: Inspect the available model catalog.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/ai/settings:
    get:
      operationId: public_get_v1_ai_settings
      tags:
      - AI models
      summary: Get AI settings
      description: Read the selected team's AI provider configuration.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/agent_session/{id}/state:
    get:
      operationId: public_get_v1_agent_session_id_state
      tags:
      - Agent sessions
      summary: Get agent session state
      description: 'Read the session state.


        Set `agent_session_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/agent_session/{id}/plan:
    get:
      operationId: public_get_v1_agent_session_id_plan
      tags:
      - Agent sessions
      summary: Get agent session plan
      description: 'Read the session''s current plan.


        Set `agent_session_id` using IDs from your own API responses.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/agent_session/{id}/runs/{run_id}/cancel:
    post:
      operationId: public_post_v1_agent_session_id_runs_run_id_cancel
      tags:
      - Agent sessions
      summary: Cancel agent run
      description: 'Request cancellation of an active run in the session.


        Set `agent_session_id`, `agent_run_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: path
        name: run_id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/oauth/clients:
    get:
      operationId: public_get_v1_oauth_clients
      tags:
      - Integrations
      summary: List authorized OAuth clients
      description: List your authorized MCP client connections.
      security:
      - BearerAuth: []
      parameters:
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/oauth/clients/{id}:
    delete:
      operationId: public_delete_v1_oauth_clients_id
      tags:
      - Integrations
      summary: Disconnect OAuth client
      description: 'Revoke the selected authorized client connection.


        Set `oauth_client_id` using IDs from your own API responses.


        This request changes data or starts an action. Review the target and body
        before sending it.'
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: id
        required: true
        description: Resource identifier from your team's API results.
        schema:
          type: string
      - in: header
        name: X-Tenant-ID
        required: true
        description: Active team ID. Must match the tenant bound to a diagnostic token.
        schema:
          type: string
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/mcp/config:
    get:
      operationId: public_get_v1_mcp_config
      tags:
      - MCP discovery
      summary: Get MCP connection configuration
      description: Read supported transports, connection URLs, and OAuth settings.
      security: []
      parameters: []
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /v1/mcp/tools:
    get:
      operationId: public_get_v1_mcp_tools
      tags:
      - MCP discovery
      summary: Discover MCP tools
      description: Read public tool names and input schemas. This does not execute
        any tools.
      security: []
      parameters: []
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /.well-known/oauth-protected-resource/v1/mcp:
    get:
      operationId: public_get_well_known_oauth_protected_resource_v1_mcp
      tags:
      - MCP discovery
      summary: Get MCP protected resource metadata
      description: Read the MCP resource identifier, authorization server, and supported
        scopes.
      security: []
      parameters: []
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
  /.well-known/oauth-authorization-server:
    get:
      operationId: public_get_well_known_oauth_authorization_server
      tags:
      - MCP discovery
      summary: Get OAuth authorization server metadata
      description: Read OAuth discovery metadata, including authorization, registration,
        and token endpoints.
      security: []
      parameters: []
      responses:
        '200':
          description: Successful response. Inspect returned state for operations
            that start asynchronous work.
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
