Skip to content

Approve or deny a pipeline approval

POST
/api/pipeline/approvals/{approval_id}
curl --request POST \
--url http://127.0.0.1:8765/api/pipeline/approvals/example \
--header 'Content-Type: application/json' \
--data '{ "approve": true }'

Approve or deny one approval. System data only: ids, codes, counts, numbers and timestamps. A job is named by its job_identity (the posting’s public link). No posting, resume, answer or story text, no title, no company. Approved jobs run in the background within the daily cap of model calls (pipeline.max_model_calls_per_day): the call over it waits for the next day. decided_jobs is how many jobs this call opened or cancelled; deciding an approval that is already decided changes nothing and answers it as it is. runner false: this server runs no pipeline thread (run gigai scout pipeline run --once). This call itself makes no model call.

approval_id
required
string

The approval’s id (GET /api/pipeline/approvals).

Media typeapplication/json
object
actor

Who decides, recorded on the approval (default: the X-GigAI-Actor header, else operator).

string
Allowed values: operator agent
approve
required

True: its jobs open and run. false: its jobs are cancelled; no model call is made.

boolean
Example
{
"approve": true
}

Success.

Media typeapplication/json
object
schema_version
required
Allowed value: scout-pipeline-approval:1
key
additional properties
any
Example
{
"approval": {
"created_at": "2026-10-03T09:30:00.000000Z",
"decided_at": "2026-10-03T09:40:00.000000Z",
"decided_by": "operator",
"decided_jobs": 2,
"est_calls": 4,
"est_tokens": 78000,
"id": "apv_0123456789abcdef0123456789abcdef",
"jobs": 2,
"profile_id": null,
"state": "approved",
"trigger": "answer_saved",
"waiting": [],
"waiting_jobs": 0
},
"runner": true,
"schema_version": "scout-pipeline-approval:1"
}

Forbidden / forbidden_origin: loopback peer and Host 127.0.0.1:<port> or localhost:<port> only (Origin too on writes).

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Examplegenerated
{
"error": {
"allowed_keys": [
"example"
],
"code": "example",
"message": "example"
}
}

Approval_not_found, target_unavailable

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{
"error": {
"code": "approval_not_found",
"message": "..."
}
}

Unsupported_media_type: writes need Content-Type: application/json.

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Examplegenerated
{
"error": {
"allowed_keys": [
"example"
],
"code": "example",
"message": "example"
}
}

Wrong_type, unknown_key, bad_enum, invalid_value

Media typeapplication/json
object
error
required
object
allowed_keys
Array<string>
code
required
string
message
required
string
key
additional properties
any
Example
{
"error": {
"code": "wrong_type",
"message": "..."
}
}