Skip to content

Fail a job (/api/v1)

POST
/api/v1/jobs/{key}/failure
curl --request POST \
--url http://localhost:8080/api/v1/jobs/example/failure \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "leaseEpoch": 1, "retries": 1, "retryBackOff": 0, "errorMessage": "example", "variables": {}, "agentUsage": { "report": { "jobKey": 1, "leaseEpoch": 1, "traceId": "example", "correlationId": "example", "consumedTokens": 1, "elapsedMs": 1, "nonce": "example" }, "signature": "example" } }'
Available inEmbeddedBundledCluster
AuthAuthenticated Bearer token
key
required

Positive signed 64-bit entity key encoded as a JSON string.

string format: int64
/^[1-9][0-9]*$/
x-tenant-id
string
>= 1 characters

Tenant selection. A principal of one tenant may omit it, and if sent it must name that tenant. A principal that may act in several tenants sends it on every request.

Idempotency-Key
string
>= 1 characters <= 200 characters
Media typeapplication/json
object
leaseEpoch
integer format: int64
retries
required
integer format: int32
retryBackOff
integer format: int64
0
errorMessage
string
variables
object
key
additional properties
any
agentUsage
object
report
required
object
jobKey
required
integer format: int64
leaseEpoch
required
integer format: int64
traceId

The activation’s agent.traceId header when the job pins one (then required and equal), else its bpm.traceId header; left out for an untraced instance. Signed as the empty line when left out.

string
/^[0-9a-f]{32}$/
correlationId

The activation’s agent.correlationId header when the job pins one (then required and equal), else its bpm.correlationId header; left out when the activation has none. Signed as the empty line when left out.

string
/^[A-Za-z0-9._:/-]{1,128}$/
consumedTokens
required
integer format: int64
elapsedMs
required
integer format: int64
nonce
required
string
signature
required

Lower-case HMAC-SHA256 over the canonical report.

string
/^[0-9a-f]{64}$/

Job failure accepted

Invalid request

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:invalid-argument",
"title": "Bad Request",
"status": 400,
"detail": "The request is malformed",
"instance": "/api/v1/jobs/2251799813685262/failure"
}

Authentication required

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "A valid bearer credential is required",
"instance": "/api/v1/jobs/2251799813685262/failure"
}
WWW-Authenticate
string

The caller lacks the required permission.

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:forbidden",
"title": "Forbidden",
"status": 403,
"detail": "The principal lacks the action this route requires",
"instance": "/api/v1/jobs/2251799813685262/failure"
}

Tenant-scoped resource not found

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:not-found",
"title": "Not Found",
"status": 404,
"detail": "The requested resource does not exist",
"instance": "/api/v1/jobs/2251799813685262/failure"
}

Idempotency conflict

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:conflict",
"title": "Conflict",
"status": 409,
"detail": "The idempotency key is already associated with another request",
"instance": "/api/v1/jobs/2251799813685262/failure"
}

Authenticated request exceeds its configured bound

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:payload-too-large",
"title": "Payload Too Large",
"status": 413,
"detail": "The request exceeds the configured size limit",
"instance": "/api/v1/jobs/2251799813685262/failure"
}

Tenant quota exhausted

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:quota-exhausted",
"title": "Quota Exhausted",
"status": 429,
"detail": "The tenant active-instance quota is exhausted",
"instance": "/api/v1/jobs/2251799813685262/failure"
}

Non-leaking internal failure

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:internal",
"title": "Internal Server Error",
"status": 500,
"detail": "The request could not be completed",
"instance": "/api/v1/jobs/2251799813685262/failure"
}

The operation is on the reviewed allow-list of what this deployment mode cannot serve.

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:mode-not-supported",
"title": "Mode Not Supported",
"status": 501,
"detail": "POST /api/v1/jobs/{key}/failure is not supported in embedded mode",
"instance": "/api/v1/jobs/2251799813685262/failure",
"mode": "embedded"
}

Backpressure or dependency unavailable

Media typeapplication/problem+json
object
type
required
string
/^urn:bpm:error:/
title
required
string
status
required
integer
>= 400 <= 599
detail
required
string
instance
required

The request path.

string
mode

Present only on mode-not-supported. It names the engine’s mode.

string
Example
{
"type": "urn:bpm:error:unavailable",
"title": "Service Unavailable",
"status": 503,
"detail": "The required engine service is not ready",
"instance": "/api/v1/jobs/2251799813685262/failure"
}