Skip to main content
POST
Build a HarnessRelease from a GitHub repository

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

checkfu-version
enum<string>
required
Available options:
2026-08-24
idempotency-key
string
Maximum string length: 255

Path Parameters

organization_id
string
required
Pattern: ^org_[0-9a-f]{32}$

Body

application/json

A GitHub source/ref plus the exact ACP or one-shot process contract the resulting immutable release will carry

repository
string
required
Pattern: ^https:\/\/github\.com\/[A-Za-z\d](?:[A-Za-z\d-]{0,38})\/[A-Za-z\d._-]{1,100}$
build_execution_target
object
required
entrypoint
string
required
Maximum string length: 4096
Pattern: ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
ref
string
Required string length: 1 - 1024
Pattern: ^\S+$
working_directory
string
Maximum string length: 4096
Pattern: ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
platform
object
configuration_schema
model_wire_dialects
enum<string>[]
Required array length: 1 - 4 elements
Available options:
anthropic_messages,
openai_chat,
openai_responses,
fal_queue
argv
any
prompt_transport
any
output_mode
any
resume_flag
any
output_schema_flag
any
output_schema_transport
any
protocol
enum<string>
Available options:
acp-v1
arguments
string[]

At most 256 exact process arguments and 131072 aggregate UTF-8 bytes including one terminator per argument

Maximum array length: 256

Exact process argument text, preserving whitespace; U+0000 is forbidden and UTF-8 encoding is limited to 65536 bytes

Maximum string length: 65536
Pattern: ^[^\u0000]*$
mcp_delivery
enum<string>
Available options:
session_http,
none

Response

An async custom-harness build whose exact ACP or one-shot process contract is frozen with its source commit

An async custom-harness build whose exact ACP or one-shot process contract is frozen with its source commit

id
string
required
Pattern: ^hbld_[0-9a-f]{32}$
organization_id
string
required
Pattern: ^org_[0-9a-f]{32}$
build_execution_target
object
required
status
enum<string>
required
Available options:
pending,
succeeded,
failed
source
object
required
entrypoint
string
required
Maximum string length: 4096
Pattern: ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
working_directory
string
required
Maximum string length: 4096
Pattern: ^\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+(?:\/(?!\.{1,2}(?:\/|$))[A-Za-z0-9._-]+)*$
platform
object
required
configuration_schema
required
attempts
integer
required
Required range: x >= 0
created_at
string
required
completed_at
string | null
required
protocol
enum<string>
required
Available options:
acp-v1
arguments
string[]
required

At most 256 exact process arguments and 131072 aggregate UTF-8 bytes including one terminator per argument

Maximum array length: 256

Exact process argument text, preserving whitespace; U+0000 is forbidden and UTF-8 encoding is limited to 65536 bytes

Maximum string length: 65536
Pattern: ^[^\u0000]*$
model_wire_dialects
enum<string>[]
Required array length: 1 - 4 elements
Available options:
anthropic_messages,
openai_chat,
openai_responses,
fal_queue
release_id
string
Pattern: ^hrel_[0-9a-f]{32}$
failure
object
argv
any
prompt_transport
any
output_mode
any
resume_flag
any
output_schema_flag
any
output_schema_transport
any
mcp_delivery
enum<string>
Available options:
session_http,
none