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

# Build a HarnessRelease from a GitHub repository

> Submits an async Organization-owned build from a GitHub repository URL plus an optional ref and a protocol-exact ACP or one-shot process contract.



## OpenAPI

````yaml /openapi.json post /v1/organizations/{organization_id}/harness-builds
openapi: 3.1.0
info:
  title: Checkfu API
  version: '2026-08-31'
  description: >-
    Authentication is declared per operation: API-key, runtime, or connector
    bearer; Automation signature; or credential-free pairing redemption. Every
    general Checkfu REST request requires the dated `Checkfu-Version` header
    (one of: 2026-08-31); the three MCP JSON-RPC transports use
    `MCP-Protocol-Version`, A2A uses `A2A-Version`, and the provider OAuth
    callback carries neither Checkfu header. API keys resolve one Workspace
    without a request selector; authenticated responses identify it with
    `Checkfu-Workspace-Id`.
servers:
  - url: https://api.checkfu.com
security:
  - bearerAuth: []
tags:
  - name: organizations
  - name: sourceRepositories
  - name: tenants
  - name: workspaces
  - name: principals
  - name: principalGroups
  - name: principalAccessCredentials
  - name: apiKeys
  - name: agents
  - name: harnessRuntime
  - name: permissionAssignments
  - name: actionPolicies
  - name: files
  - name: memoryStores
  - name: modelCredentials
  - name: modelRoutingProfiles
  - name: toolSources
  - name: skills
  - name: skillSources
  - name: agentBlueprints
  - name: skillProposals
  - name: instructionProposals
  - name: catalog
  - name: managedTools
  - name: concepts
  - name: support
  - name: connections
  - name: connectionVaults
  - name: connectionAssignments
  - name: connectedRuntimes
  - name: fileTrees
  - name: collaboration
  - name: automationGraphs
  - name: automations
  - name: actionApprovals
  - name: standingApprovals
  - name: workloadReviewPolicies
  - name: usage
  - name: models
  - name: outcomes
  - name: budgets
  - name: billing
  - name: sessions
  - name: audit
  - name: sessionExports
  - name: runs
  - name: runnerPools
  - name: transcripts
  - name: sessionWatches
  - name: sessionCapsules
  - name: sessionTrajectories
  - name: webhookEndpoints
  - name: integrationGateway
  - name: workEnvironments
  - name: computers
  - name: computerScreens
  - name: computerBrowserObservations
  - name: computerBrowserActions
  - name: environments
  - name: computerHeadlessOperations
  - name: vaults
  - name: apiMcp
  - name: a2a
paths:
  /v1/organizations/{organization_id}/harness-builds:
    post:
      tags:
        - harnessRuntime
      summary: Build a HarnessRelease from a GitHub repository
      description: >-
        Submits an async Organization-owned build from a GitHub repository URL
        plus an optional ref and a protocol-exact ACP or one-shot process
        contract. The request separately names either a platform build pool or
        an exact Workspace and RunnerPool execution target; ownership never
        implies execution authority. The ref is resolved to an exact commit at
        submission and frozen. Accepted refs are omitted or `HEAD` (the default
        branch head), `heads/<name>`, `tags/<name>`, `refs/heads/<name>`,
        `refs/tags/<name>`, a bare name that is exactly one of a branch or a tag
        of the repository, or a full 40-character commit SHA while it is the tip
        of a branch of the repository. A commit that exists only elsewhere in
        the repository's fork network, a pull request ref or other namespace, an
        abbreviated SHA, a revision expression such as `main~1`, and a bare name
        that is both a branch and a tag are refused with a 409 conflict.
        Provenance records that the commit was owned by the repository at
        submission; the ref may move later without changing the build. Accepted
        with 202 and a pending HarnessBuild; a Workspace-targeted build settles
        only when a build-capable Runner from the exact named pool claims it.
        Terminal success references an immutable, digest-pinned HarnessRelease,
        while terminal failure carries a bounded reason and optional builder
        log. Re-registering is a new build resolved afresh. Send
        `Idempotency-Key` so a retry does not open a second build.


        Checkfu support posture: alpha; hosted. Required evidence journey:
        harness-registry. Deployment-specific readiness and the latest proven
        release are available from GET /v1/support/capabilities.
      operationId: harnessRuntime.createHarnessBuild
      parameters:
        - name: organization_id
          in: path
          schema:
            $ref: '#/components/schemas/OrganizationId'
          required: true
        - name: checkfu-version
          in: header
          schema:
            type: string
            enum:
              - '2026-08-31'
          required: true
        - name: idempotency-key
          in: header
          schema:
            type: string
            allOf:
              - maxLength: 255
          required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateHarnessBuild'
        required: true
      responses:
        '202':
          description: >-
            An async custom-harness build whose exact ACP or one-shot process
            contract is frozen with its source commit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HarnessBuild'
          headers:
            checkfu-workspace-id:
              description: The Workspace resolved from the authenticated bearer credential.
              required: true
              schema:
                $ref: '#/components/schemas/WorkspaceId'
        '400':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - validation.malformed
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#validation-malformed
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    required:
                      - type
                      - message
                      - more
                    additionalProperties: false
                additionalProperties: false
        '401':
          description: Typed Checkfu wire error
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - auth.invalid_key
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#auth-invalid-key
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '403':
          description: >-
            The organization, tenant, or workspace backing this key is
            administratively disabled. | Deployment governance or retention
            policy denied the request.
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    required:
                      - error
                    properties:
                      error:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - auth.disabled_tenancy
                          message:
                            type: string
                          more:
                            type: string
                            enum:
                              - >-
                                https://docs.checkfu.com/reference/errors#auth-disabled-tenancy
                            description: >-
                              Stable public documentation and remedy for this
                              error type.
                        required:
                          - type
                          - message
                          - more
                        additionalProperties: false
                    additionalProperties: false
                  - $ref: '#/components/schemas/PolicyDeniedError'
        '404':
          description: >-
            The requested resource does not exist in the resolved deployment
            boundary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationNotFoundError'
        '409':
          description: >-
            The request conflicts with the resource's current state. | An
            idempotent mutation conflicts with a completed or in-progress
            request for the same key.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationConflictError'
                  - $ref: '#/components/schemas/IdempotencyConflictError'
        '429':
          description: Typed Checkfu wire error
          headers:
            retry-after:
              description: >-
                Delay in seconds for rate limits or deployment quotas with a
                known release or UTC reset boundary
              required: false
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - type
                      - message
                      - more
                    properties:
                      type:
                        type: string
                        enum:
                          - budget.exceeded
                      message:
                        type: string
                      more:
                        type: string
                        enum:
                          - >-
                            https://docs.checkfu.com/reference/errors#budget-exceeded
                        description: >-
                          Stable public documentation and remedy for this error
                          type.
                    additionalProperties: false
                additionalProperties: false
        '500':
          description: >-
            An unexpected internal failure occurred; the message contains an
            opaque incident reference.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuntimeInternalError'
      security:
        - bearerAuth: []
components:
  schemas:
    OrganizationId:
      type: string
      pattern: ^org_[0-9a-f]{32}$
    CreateHarnessBuild:
      anyOf:
        - type: object
          properties:
            repository:
              $ref: '#/components/schemas/GitHubRepositoryUrlWithoutTraversal'
            ref:
              $ref: '#/components/schemas/GitReference'
            build_execution_target:
              $ref: '#/components/schemas/Union_60'
            entrypoint:
              type: string
              allOf:
                - maxLength: 4096
                - pattern: >-
                    ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
            working_directory:
              type: string
              allOf:
                - maxLength: 4096
                - pattern: >-
                    ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
            platform:
              type: object
              properties:
                os:
                  type: string
                  enum:
                    - linux
                architecture:
                  type: string
                  enum:
                    - amd64
                    - arm64
              required:
                - os
                - architecture
              additionalProperties: false
            configuration_schema:
              $ref: '#/components/schemas/Union_42'
            model_wire_dialects:
              $ref: '#/components/schemas/Arrays_12'
            argv: false
            prompt_transport: false
            output_mode: false
            resume_flag: false
            output_schema_flag: false
            output_schema_transport: false
            protocol:
              type: string
              enum:
                - acp-v1
            arguments:
              $ref: '#/components/schemas/HarnessProcessArgumentVectorUtf8Bytes'
            mcp_delivery:
              type: string
              enum:
                - session_http
                - none
          required:
            - repository
            - build_execution_target
            - entrypoint
          additionalProperties: false
        - $ref: '#/components/schemas/HarnessContainerContract_2'
        - $ref: '#/components/schemas/CreateOneShotHarnessBuildContract'
      description: >-
        A GitHub source/ref plus the exact ACP or one-shot process contract the
        resulting immutable release will carry
    HarnessBuild:
      anyOf:
        - $ref: '#/components/schemas/Objects_26'
        - $ref: '#/components/schemas/Objects_30'
        - $ref: '#/components/schemas/HarnessBuildOneShotArgvContract'
      description: >-
        An async custom-harness build whose exact ACP or one-shot process
        contract is frozen with its source commit
    WorkspaceId:
      type: string
      pattern: ^wrkspc_[0-9a-f]{32}$
    PolicyDeniedError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - policy.denied
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#policy-denied
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: Deployment governance or retention policy denied the request.
    ValidationNotFoundError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.not_found
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-not-found
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        The requested resource does not exist in the resolved deployment
        boundary.
    ValidationConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.conflict
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#validation-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The request conflicts with the resource's current state.
    IdempotencyConflictError:
      anyOf:
        - $ref: '#/components/schemas/ValidationIdempotencyConflictError'
        - $ref: '#/components/schemas/ValidationIdempotencyInProgressError'
      description: >-
        An idempotent mutation conflicts with a completed or in-progress request
        for the same key.
    RuntimeInternalError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - runtime.internal
            message:
              type: string
            more:
              type: string
              enum:
                - https://docs.checkfu.com/reference/errors#runtime-internal
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An unexpected internal failure occurred; the message contains an opaque
        incident reference.
    GitHubRepositoryUrlWithoutTraversal:
      type: string
      pattern: >-
        ^https:\/\/github\.com\/[A-Za-z\d](?:[A-Za-z\d-]{0,38})\/[A-Za-z\d._-]{1,100}$
    GitReference:
      type: string
      allOf:
        - minLength: 1
        - maxLength: 1024
        - pattern: ^\S+$
    Union_60:
      anyOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - platform
            build_pool_id:
              type: string
              allOf:
                - minLength: 1
          required:
            - type
            - build_pool_id
          additionalProperties: false
        - type: object
          properties:
            type:
              type: string
              enum:
                - workspace
            workspace_id:
              $ref: '#/components/schemas/WorkspaceId'
            runner_pool_id:
              $ref: '#/components/schemas/RunnerPoolId'
          required:
            - type
            - workspace_id
            - runner_pool_id
          additionalProperties: false
    Union_42:
      anyOf:
        - type: boolean
        - $ref: '#/components/schemas/HarnessConfigurationSchemaObject'
    Arrays_12:
      type: array
      items:
        type: string
        enum:
          - anthropic_messages
          - openai_chat
          - openai_responses
          - fal_queue
      allOf:
        - minItems: 1
        - maxItems: 4
        - uniqueItems: true
    HarnessProcessArgumentVectorUtf8Bytes:
      type: array
      items:
        $ref: '#/components/schemas/HarnessProcessArgumentUtf8Bytes'
      allOf:
        - maxItems: 256
          description: >-
            At most 256 exact process arguments and 131072 aggregate UTF-8 bytes
            including one terminator per argument
    HarnessContainerContract_2:
      type: object
      properties:
        repository:
          $ref: '#/components/schemas/GitHubRepositoryUrlWithoutTraversal'
        ref:
          $ref: '#/components/schemas/GitReference'
        build_execution_target:
          $ref: '#/components/schemas/Union_60'
        entrypoint:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        working_directory:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        platform:
          type: object
          properties:
            os:
              type: string
              enum:
                - linux
            architecture:
              type: string
              enum:
                - amd64
                - arm64
          required:
            - os
            - architecture
          additionalProperties: false
        configuration_schema:
          $ref: '#/components/schemas/Union_42'
        model_wire_dialects:
          $ref: '#/components/schemas/Arrays_12'
        argv: false
        prompt_transport: false
        output_mode: false
        resume_flag: false
        output_schema_flag: false
        output_schema_transport: false
        protocol:
          type: string
          enum:
            - container-v2
        arguments:
          $ref: '#/components/schemas/HarnessProcessArgumentVectorUtf8Bytes'
        mcp_delivery:
          type: string
          enum:
            - session_http
            - none
        container_adapter:
          $ref: '#/components/schemas/Objects_22'
        requirements:
          $ref: '#/components/schemas/Objects_23'
        capability_claims:
          $ref: '#/components/schemas/Objects_24'
      required:
        - repository
        - build_execution_target
        - entrypoint
        - model_wire_dialects
        - protocol
        - arguments
        - container_adapter
        - requirements
        - capability_claims
      additionalProperties: false
    CreateOneShotHarnessBuildContract:
      type: object
      properties:
        repository:
          $ref: '#/components/schemas/GitHubRepositoryUrlWithoutTraversal'
        ref:
          $ref: '#/components/schemas/GitReference'
        build_execution_target:
          $ref: '#/components/schemas/Union_60'
        entrypoint:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        working_directory:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        platform:
          type: object
          properties:
            os:
              type: string
              enum:
                - linux
            architecture:
              type: string
              enum:
                - amd64
                - arm64
          required:
            - os
            - architecture
          additionalProperties: false
        configuration_schema:
          $ref: '#/components/schemas/Union_42'
        model_wire_dialects:
          $ref: '#/components/schemas/Arrays_12'
        protocol:
          type: string
          enum:
            - oneshot-v1
        arguments: false
        mcp_delivery: false
        argv:
          $ref: '#/components/schemas/OneShotArgvPlaceholders'
        prompt_transport:
          $ref: '#/components/schemas/Union_47'
        output_mode:
          $ref: '#/components/schemas/Union_48'
        resume_flag:
          type: string
          allOf:
            - maxLength: 65536
            - pattern: ^[^\u0000]*$
              description: >-
                Exact process argument text, preserving whitespace; U+0000 is
                forbidden and UTF-8 encoding is limited to 65536 bytes
            - minLength: 1
        output_schema_flag:
          type: string
          allOf:
            - maxLength: 65536
            - pattern: ^[^\u0000]*$
              description: >-
                Exact process argument text, preserving whitespace; U+0000 is
                forbidden and UTF-8 encoding is limited to 65536 bytes
            - minLength: 1
        output_schema_transport:
          type: string
          enum:
            - argv_json
            - argv_path
      required:
        - repository
        - build_execution_target
        - entrypoint
        - protocol
        - argv
        - prompt_transport
        - output_mode
      additionalProperties: false
    Objects_26:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/HarnessBuildId'
        organization_id:
          $ref: '#/components/schemas/OrganizationId'
        build_execution_target:
          $ref: '#/components/schemas/Union_60'
        status:
          $ref: '#/components/schemas/Union_62'
        source:
          $ref: '#/components/schemas/Objects_27'
        entrypoint:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        working_directory:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        platform:
          $ref: '#/components/schemas/Objects_28'
        configuration_schema:
          $ref: '#/components/schemas/Union_42'
        model_wire_dialects:
          $ref: '#/components/schemas/Arrays_12'
        attempts:
          type: integer
          minimum: 0
        release_id:
          $ref: '#/components/schemas/HarnessReleaseId'
        failure:
          $ref: '#/components/schemas/Objects_29'
        created_at:
          type: string
        completed_at:
          $ref: '#/components/schemas/Union_65'
        argv: false
        prompt_transport: false
        output_mode: false
        resume_flag: false
        output_schema_flag: false
        output_schema_transport: false
        protocol:
          type: string
          enum:
            - acp-v1
        arguments:
          $ref: '#/components/schemas/HarnessProcessArgumentVectorUtf8Bytes'
        mcp_delivery:
          type: string
          enum:
            - session_http
            - none
      required:
        - id
        - organization_id
        - build_execution_target
        - status
        - source
        - entrypoint
        - working_directory
        - platform
        - configuration_schema
        - attempts
        - created_at
        - completed_at
        - protocol
        - arguments
      additionalProperties: false
    Objects_30:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/HarnessBuildId'
        organization_id:
          $ref: '#/components/schemas/OrganizationId'
        build_execution_target:
          $ref: '#/components/schemas/Union_60'
        status:
          $ref: '#/components/schemas/Union_62'
        source:
          $ref: '#/components/schemas/Objects_27'
        entrypoint:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        working_directory:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        platform:
          $ref: '#/components/schemas/Objects_28'
        configuration_schema:
          $ref: '#/components/schemas/Union_42'
        model_wire_dialects:
          $ref: '#/components/schemas/Arrays_12'
        attempts:
          type: integer
          minimum: 0
        release_id:
          $ref: '#/components/schemas/HarnessReleaseId'
        failure:
          $ref: '#/components/schemas/Objects_29'
        created_at:
          type: string
        completed_at:
          $ref: '#/components/schemas/Union_65'
        argv: false
        prompt_transport: false
        output_mode: false
        resume_flag: false
        output_schema_flag: false
        output_schema_transport: false
        protocol:
          type: string
          enum:
            - container-v2
        arguments:
          $ref: '#/components/schemas/HarnessProcessArgumentVectorUtf8Bytes'
        mcp_delivery:
          type: string
          enum:
            - session_http
            - none
        container_adapter:
          $ref: '#/components/schemas/Objects_22'
        requirements:
          $ref: '#/components/schemas/Objects_23'
        capability_claims:
          $ref: '#/components/schemas/Objects_24'
      required:
        - id
        - organization_id
        - build_execution_target
        - status
        - source
        - entrypoint
        - working_directory
        - platform
        - configuration_schema
        - model_wire_dialects
        - attempts
        - created_at
        - completed_at
        - protocol
        - arguments
        - container_adapter
        - requirements
        - capability_claims
      additionalProperties: false
    HarnessBuildOneShotArgvContract:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/HarnessBuildId'
        organization_id:
          $ref: '#/components/schemas/OrganizationId'
        build_execution_target:
          $ref: '#/components/schemas/Union_60'
        status:
          $ref: '#/components/schemas/Union_62'
        source:
          $ref: '#/components/schemas/Objects_27'
        entrypoint:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        working_directory:
          type: string
          allOf:
            - maxLength: 4096
            - pattern: >-
                ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
        platform:
          $ref: '#/components/schemas/Objects_28'
        configuration_schema:
          $ref: '#/components/schemas/Union_42'
        model_wire_dialects:
          $ref: '#/components/schemas/Arrays_12'
        attempts:
          type: integer
          minimum: 0
        release_id:
          $ref: '#/components/schemas/HarnessReleaseId'
        failure:
          $ref: '#/components/schemas/Objects_29'
        created_at:
          type: string
        completed_at:
          $ref: '#/components/schemas/Union_65'
        protocol:
          type: string
          enum:
            - oneshot-v1
        arguments: false
        mcp_delivery: false
        argv:
          $ref: '#/components/schemas/OneShotArgvPlaceholders'
        prompt_transport:
          $ref: '#/components/schemas/Union_47'
        output_mode:
          $ref: '#/components/schemas/Union_48'
        resume_flag:
          type: string
          allOf:
            - maxLength: 65536
            - pattern: ^[^\u0000]*$
              description: >-
                Exact process argument text, preserving whitespace; U+0000 is
                forbidden and UTF-8 encoding is limited to 65536 bytes
            - minLength: 1
        output_schema_flag:
          type: string
          allOf:
            - maxLength: 65536
            - pattern: ^[^\u0000]*$
              description: >-
                Exact process argument text, preserving whitespace; U+0000 is
                forbidden and UTF-8 encoding is limited to 65536 bytes
            - minLength: 1
        output_schema_transport:
          type: string
          enum:
            - argv_json
            - argv_path
      required:
        - id
        - organization_id
        - build_execution_target
        - status
        - source
        - entrypoint
        - working_directory
        - platform
        - configuration_schema
        - attempts
        - created_at
        - completed_at
        - protocol
        - argv
        - prompt_transport
        - output_mode
      additionalProperties: false
    ValidationIdempotencyConflictError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_conflict
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-conflict
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: The Idempotency-Key is already bound to a different request.
    ValidationIdempotencyInProgressError:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - validation.idempotency_in_progress
            message:
              type: string
            more:
              type: string
              enum:
                - >-
                  https://docs.checkfu.com/reference/errors#validation-idempotency-in-progress
              description: Stable public documentation and remedy for this error type.
          required:
            - type
            - message
            - more
          additionalProperties: false
      required:
        - error
      additionalProperties: false
      description: >-
        An identical idempotent request is still in progress and may be retried
        later.
    RunnerPoolId:
      type: string
      pattern: ^rpool_[0-9a-f]{32}$
    HarnessConfigurationSchemaObject:
      type: object
      additionalProperties:
        description: >-
          A value in the JSON data model: null, boolean, finite number, string,
          array, or object.
        allOf:
          - x-checkfu-json-budget:
              maximumBytes: 65536
              maximumDepth: 32
              maximumNodes: 4000
              maximumInspectionWork: 4000
            x-checkfu-unicode-scalar-values: true
      allOf:
        - x-checkfu-json-budget:
            maximumBytes: 65536
            maximumDepth: 32
            maximumNodes: 4000
            maximumInspectionWork: 4000
          x-checkfu-unicode-scalar-values: true
        - maxProperties: 4000
          description: >-
            harness configuration schema of at most 64 KiB, depth 32, and 4,000
            nodes
    HarnessProcessArgumentUtf8Bytes:
      type: string
      allOf:
        - maxLength: 65536
        - pattern: ^[^\u0000]*$
          description: >-
            Exact process argument text, preserving whitespace; U+0000 is
            forbidden and UTF-8 encoding is limited to 65536 bytes
    Objects_22:
      type: object
      properties:
        abi_revision:
          type: number
          enum:
            - 2
        cohort_digest:
          type: string
          pattern: ^sha256:[0-9a-f]{64}$
        module:
          type: object
          properties:
            package_name:
              type: string
              allOf:
                - maxLength: 214
                - pattern: ^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$
            package_version:
              type: string
              pattern: >-
                ^(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$
            export_subpath:
              type: string
              allOf:
                - maxLength: 256
                - pattern: ^(?:\.|\.\/[a-z0-9][a-z0-9._-]*(?:\/[a-z0-9][a-z0-9._-]*)*)$
            export_name:
              type: string
              pattern: ^[A-Za-z_$][A-Za-z0-9_$]{0,127}$
            source_digest:
              type: string
              pattern: ^sha256:[0-9a-f]{64}$
          required:
            - package_name
            - package_version
            - export_subpath
            - export_name
            - source_digest
          additionalProperties: false
        native_interface:
          anyOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - acp
                protocol_revision:
                  type: number
                  enum:
                    - 1
                client_package:
                  type: string
                  enum:
                    - '@agentclientprotocol/sdk'
                client_version:
                  type: string
                  enum:
                    - 1.7.0
              required:
                - kind
                - protocol_revision
                - client_package
                - client_version
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - deepseek-native
                implementation_package:
                  type: string
                  enum:
                    - '@deepseek-ai/dsh-app-boot'
                implementation_version:
                  type: string
                  enum:
                    - 0.2.1-alpha.2
              required:
                - kind
                - implementation_package
                - implementation_version
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - pi-coding
                implementation_package:
                  type: string
                  enum:
                    - '@earendil-works/pi-coding-agent'
                implementation_version:
                  type: string
                  enum:
                    - 1.1.0
              required:
                - kind
                - implementation_package
                - implementation_version
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - pi-durable-node
                implementation_package:
                  type: string
                  enum:
                    - '@earendil-works/pi-durable'
                implementation_version:
                  type: string
                  enum:
                    - 1.1.0
                runtime_abi:
                  type: string
                  enum:
                    - node-v1
              required:
                - kind
                - implementation_package
                - implementation_version
                - runtime_abi
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - codex-app-server
                protocol_revision:
                  type: string
                  enum:
                    - v2
                implementation_package:
                  type: string
                  enum:
                    - '@openai/codex'
                implementation_version:
                  type: string
                  enum:
                    - 0.160.1
                client_package:
                  type: string
                  enum:
                    - '@jaminzhou/codex-app-server-client'
                client_version:
                  type: string
                  enum:
                    - 0.5.3
              required:
                - kind
                - protocol_revision
                - implementation_package
                - implementation_version
                - client_package
                - client_version
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - container-adapter
                abi_revision:
                  type: number
                  enum:
                    - 2
              required:
                - kind
                - abi_revision
              additionalProperties: false
        configuration_digest:
          type: string
          pattern: ^sha256:[0-9a-f]{64}$
      required:
        - abi_revision
        - cohort_digest
        - module
        - native_interface
        - configuration_digest
      additionalProperties: false
    Objects_23:
      type: object
      properties:
        model_wire_dialects:
          type: array
          items:
            $ref: '#/components/schemas/ModelApiFormat'
          allOf:
            - minItems: 1
            - maxItems: 3
        writable_roots:
          type: array
          items:
            type: string
            allOf:
              - maxLength: 1024
              - pattern: ^\/(?:workspace|state)(?:\/[A-Za-z0-9._-]+)*$
          allOf:
            - minItems: 1
            - maxItems: 32
      required:
        - model_wire_dialects
        - writable_roots
      additionalProperties: false
    Objects_24:
      type: object
      properties:
        approval_delivery:
          type: string
          enum:
            - native_same_call
            - unsupported
        steering:
          type: boolean
        native_session_resume:
          type: boolean
        pending_request_resume_after_process_loss:
          type: boolean
      required:
        - approval_delivery
        - steering
        - native_session_resume
        - pending_request_resume_after_process_loss
      additionalProperties: false
    OneShotArgvPlaceholders:
      type: array
      items:
        $ref: '#/components/schemas/HarnessProcessArgumentUtf8Bytes'
      allOf:
        - maxItems: 256
          description: >-
            At most 256 exact process arguments and 131072 aggregate UTF-8 bytes
            including one terminator per argument
    Union_47:
      type: string
      enum:
        - stdin
        - argv_path
    Union_48:
      type: string
      enum:
        - stream_json
        - text
    HarnessBuildId:
      type: string
      pattern: ^hbld_[0-9a-f]{32}$
    Union_62:
      type: string
      enum:
        - pending
        - succeeded
        - failed
    Objects_27:
      type: object
      properties:
        kind:
          type: string
          enum:
            - github
        repository:
          $ref: '#/components/schemas/GitHubRepositoryUrlWithoutTraversal'
        commit_sha:
          type: string
          pattern: ^[0-9a-f]{40}$
      required:
        - kind
        - repository
        - commit_sha
      additionalProperties: false
    Objects_28:
      type: object
      properties:
        os:
          type: string
          enum:
            - linux
        architecture:
          type: string
          enum:
            - amd64
            - arm64
      required:
        - os
        - architecture
      additionalProperties: false
    HarnessReleaseId:
      type: string
      pattern: ^hrel_[0-9a-f]{32}$
    Objects_29:
      type: object
      properties:
        reason:
          type: string
          enum:
            - ref_resolution_failed
            - private_repository_unsupported
            - clone_failed
            - build_failed
            - push_failed
            - image_rejected
            - attempts_exhausted
        detail:
          type: string
          allOf:
            - maxLength: 4096
        log:
          type: string
          allOf:
            - maxLength: 16384
      required:
        - reason
        - detail
      additionalProperties: false
    Union_65:
      anyOf:
        - type: string
        - type: 'null'
    ModelApiFormat:
      type: string
      enum:
        - openai_chat
        - openai_responses
        - anthropic_messages
      description: >-
        the request format a model endpoint serves: OpenAI Chat Completions,
        OpenAI Responses, or Anthropic Messages
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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