Can You Just
API v1 · Documentation navigation

DEVELOPER DOCUMENTATION / API v1

Endpoint reference

Browse every Can You Just API v1 operation, with scopes, headers, request and response schemas, success statuses and guide links.

All operations below use Bearer authentication and are relative to your installation’s HTTPS origin. Exact metadata is derived once from the frozen OpenAPI specification. Schemas below complement the workflow guides; they do not authorize unassigned work.

Important · Conditional claim header

For task writes under a live lease, send X-Task-Claim. Acquisition needs no previous lease; renewal/release use token in the body. Incoming actions use their own revision and no task claim. Current ownership, scope and business rules apply to every operation.

Operation index

Identity

GET /api/v1/identity #

Authenticated identity inspection. resource is null for an identity-only client. Administrator-managed rotation/revocation; no automatic expiry. Active sponsor, organisation and mapped agent checks apply.

Authentication
Bearer credential
Required scope
No additional named scope
Request
No body
Success
200 · Identity
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery

Read the Authentication guide →

Tasks

GET /api/v1/tasks/available #

Required scope: tasks:read. Owned, unfinished, unblocked, unclaimed work with a current scheduler allocation (or zero-estimate reconciliation). Linked sources are refreshed before offering work. Unpaginated, ordered by project priority, project ID, sequence, task ID. Empty is []; no duplicate tasks. Notes in lists are []. Assigned-worker use only, not bulk reporting.

Authentication
Bearer credential
Required scope
tasks:read
Request
No body
Success
200 · Task[]
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery

Read the Discovering tasks guide →

GET /api/v1/tasks/waiting #

Required scope: tasks:read. Owned blocked unfinished work; poll for responses requiring evaluation. Unpaginated, ordered by project priority, project ID, sequence, task ID. Empty is []; no duplicate tasks. Notes in lists are []. Assigned-worker use only, not bulk reporting.

Authentication
Bearer credential
Required scope
tasks:read
Request
No body
Success
200 · Task[]
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery

Read the Discovering tasks guide →

GET /api/v1/tasks/{id} #

Required scope: tasks:read. Owned task. Assistance/reply data needs human-requests:read; tasks:read includes readable notes, tasks:notes permits appending. Only explicit source business facts are exposed, never connection/claim correlations or raw provider metadata.

Authentication
Bearer credential
Required scope
tasks:read
Request
No body
Success
200 · Task
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery

Response header: ETag, the quoted task/workspace version.

Read the Discovering tasks guide →

PATCH /api/v1/tasks/{id} #

Required scope: tasks:update. Omission preserves fields; null clears optional fields. Project and assignment changes are forbidden. actualIntervals additionally requires tasks:time. Estimated Duration is total planned duration, not independent remaining.

Authentication
Bearer credential
Required scope
tasks:update
Request
TaskPatch · required body
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyOptional / conditional24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Compatibility response header: Warning 299 when remainingMinutes is supplied. Actual intervals additionally require tasks:time.

Read the Updating work guide →

PUT /api/v1/tasks/{id}/actual-effort #

Required scope: tasks:time. Replace own factual intervals, never increment. Other contributors' actuals cannot be changed.

Authentication
Bearer credential
Required scope
tasks:time
Request
ActualEffort · required body
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyOptional / conditional24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Read the Updating work guide →

POST /api/v1/tasks/{id}/notes #

Required scope: tasks:notes. Append a note without replacing description.

Authentication
Bearer credential
Required scope
tasks:notes
Request
NoteCreate · required body
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyOptional / conditional24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Read the Updating work guide →

Claims

POST /api/v1/tasks/{id}/claim #

Required scope: tasks:update. Acquire a 15-minute UTC lease for runnable work; does not mark InProgress. Source failure creates no claim. Replay returns the original lease, which may since have expired; inspect expiresUtc before execution.

Authentication
Bearer credential
Required scope
tasks:update
Request
EmptyRequest · body optional
Success
200 · Claim
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Read the Worker claims guide →

POST /api/v1/tasks/{id}/claim/renew #

Required scope: tasks:update. Renew an unexpired matching lease by 15 minutes. Missing/null/zero/malformed token is 400; unknown/expired/wrong lease is 409.

Authentication
Bearer credential
Required scope
tasks:update
Request
ClaimRequest · required body
Success
200 · Claim
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Read the Worker claims guide →

POST /api/v1/tasks/{id}/claim/release #

Required scope: tasks:update. Terminate the matching lease. releasedUtc is termination time, not a future expiry; no token is returned. Keyed replay returns the original outcome.

Authentication
Bearer credential
Required scope
tasks:update
Request
ClaimRequest · required body
Success
200 · ClaimRelease
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Read the Worker claims guide →

Assistance

POST /api/v1/tasks/{id}/human-requests #

Required scope: human-requests:create. Create floating Incoming for an active human, with no capacity until acceptance. Returned id/Location identify the assistance stage; read incomingId from detail for Incoming actions. Source publishing uses existing sponsor credentials and may be delayed while the local request remains valid.

Authentication
Bearer credential
Required scope
human-requests:create
Request
AssistanceCreate · required body
Success
201 · CreatedRequest
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyOptional / conditional24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Response header: Location identifies the assistance stage, not Incoming.

Read the Human assistance guide →

GET /api/v1/human-requests/{id} #

Required scope: human-requests:read. Assistance originating from work still owned by the resource. Stage ID and Incoming ID are distinct.

Authentication
Bearer credential
Required scope
human-requests:read
Request
No body
Success
200 · HumanRequest
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery

Read the Human assistance guide →

POST /api/v1/tasks/{id}/external-evaluation #

Required scope: tasks:update. Use exactly one decision variant. acknowledge targets a source event; resolve/keepwaiting/followup target an owned responded Incoming revision. A reply alone does not resolve a blocker; followup requires a new question.

Authentication
Bearer credential
Required scope
tasks:update
Request
ExternalEvaluation · required body
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredExact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.
X-Task-ClaimOptional / conditionalRequired for mutations under a live task lease. Never reuse expired tokens. Acquisition requires no previous lease; renewal/release use body token.

Read the External context guide →

Incoming

GET /api/v1/incoming #

Required scope: tasks:read. Mapped recipient only; floating by default, all lifecycle states when includeAccepted=true. Ordered by priority, requestedAtUtc, ID. Unpaginated; empty is []; suggestions may be null and reserve no capacity.

Authentication
Bearer credential
Required scope
tasks:read
Request
No body
Success
200 · Incoming[]
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery

Read the Incoming work guide →

POST /api/v1/incoming/{id}/start #

Required scope: tasks:update. Commit/start now. No request fields or inferred actual effort.

Authentication
Bearer credential
Required scope
tasks:update
Request
EmptyRequest · body optional
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredQuoted Incoming revision UUID. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.

Read the Incoming work guide →

POST /api/v1/incoming/{id}/plan #

Required scope: tasks:update. Commit at explicit plannedStart without creating actuals.

Authentication
Bearer credential
Required scope
tasks:update
Request
IncomingPlan · required body
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredQuoted Incoming revision UUID. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.

Read the Incoming work guide →

POST /api/v1/incoming/{id}/reassign #

Required scope: tasks:update. Reassign floating work to assigneeId.

Authentication
Bearer credential
Required scope
tasks:update
Request
IncomingReassign · required body
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredQuoted Incoming revision UUID. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.

Read the Incoming work guide →

POST /api/v1/incoming/{id}/complete #

Required scope: tasks:update. Record an optional response/outcome without inferring actual start/effort.

Authentication
Bearer credential
Required scope
tasks:update
Request
IncomingComplete · required body
Success
204 · No response body
Error statuses
400, 401, 403, 404, 405, 409, 412, 413, 415, 422, 428, 429, 500, 503 · codes and recovery
Request headerRequirementMeaning
If-MatchRequiredQuoted Incoming revision UUID. Missing is 428; malformed/stale is 412.
Idempotency-KeyRequired24-hour successful receipt scoped to organisation/client/key. Object property order is ignored recursively; arrays, scalar types and meaningful strings are preserved. Equivalent retry needs current authorisation and a parseable If-Match. Changed operations/bodies with the same key return 409.

Read the Incoming work guide →

Machine-readable specification

GET /api/v1/openapi.json is anonymous and returns the OpenAPI 3.0.3 document, status 200. It contains no tenant data. Open the authoritative JSON. No authenticated “Try it” console or official SDK is provided.

Wire schemas

All response properties are required, including explicitly nullable values. Requests list required fields below; omitted optional PATCH fields preserve state. Closed object schemas reject unsupported members. Array element schemas and complete conditional variants are specified in OpenAPI. Planning local-date-time means Europe/London wall time.

Identity
FieldTypeRequiredDetails
clientIdintegerYesformat: int32
clientNamestringYes
organisationNamedEntityYes
resourceobject or nullYes
scopesstring[]Yes
NamedEntity
FieldTypeRequiredDetails
idintegerYesformat: int32
namestringYes
Task
FieldTypeRequiredDetails
idintegerYesformat: int32
titlestringYes
descriptionstring or nullYes
statusstringYesValues: Ready, InProgress, Done
sequenceintegerYesformat: int32
estimatedMinutesintegerYesformat: int32
remainingMinutesintegerYesformat: int32
actualMinutesnumberYes
actualIntervalsActualInterval[]Yes
startedAtstring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
completedAtstring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
earliestStartstring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
isWaitingbooleanYes
releaseDatestring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
resourceModestringYesValues: Independent, Collaboration
projectProjectYes
assigneesAssignment[]Yes
dependenciesDependency[]Yes
requiresAttentionbooleanYes
externalContextSourceContext[]Yes
externalChangesSourceChange[]Yes
sourceActivationsSourceActivation[]Yes
responsesAwaitingEvaluationAwaitingEvaluation[]Yes
blockedbooleanYes
blockingReasonsstring[]Yes
humanRequestsHumanRequest[]Yes
notesNote[]Yes
etagstringYes
Project
FieldTypeRequiredDetails
idintegerYesformat: int32
namestringYes
priorityintegerYesValues: 0, 50, 100, 101. format: int32. Deprecated compatibility field. Read only. Deprecated read-only numeric compatibility value. Prefer priorityName.
priorityNamestringYesValues: critical, high, normal, low. Read only
targetDatestring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
hardDeadlinestring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
deadlineReasonstring or nullYes
isActivebooleanYes
Assignment
FieldTypeRequiredDetails
staffMemberIdintegerYesformat: int32
namestringYes
remainingMinutesinteger or nullYesformat: int32
estimatedMinutesinteger or nullYesformat: int32
Dependency
FieldTypeRequiredDetails
taskIdintegerYesformat: int32
statusstringYesValues: Ready, InProgress, Done
ActualInterval
FieldTypeRequiredDetails
staffMemberIdintegerYesformat: int32
startstringYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
endstringYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
Note
FieldTypeRequiredDetails
idintegerYesformat: int64
textstringYes
createdUtcstringYesformat: date-time. UTC instant with Z.
clientNamestringYes
staffNamestringYes
HumanRequest
FieldTypeRequiredDetails
stageIdintegerYesformat: int32. Assistance-stage ID, used by /human-requests/{id}; not incomingId.
requestedForStageIdintegerYesformat: int32
incomingIdinteger or nullYesformat: int32. Distinct Incoming ID used by /incoming/{id}/...; null for legacy assistance.
requestedByApiClientIdintegerYesformat: int32
requestedByStaffMemberIdintegerYesformat: int32
assignedHumanIdintegerYesformat: int32
assignedHumanNamestringYes
requestedByNamestringYes
originTitlestringYes
titlestringYes
detailsstring or nullYes
estimatedMinutesintegerYesformat: int32
remainingMinutesintegerYesformat: int32
statusstringYesValues: Ready, InProgress, Done
isBlockingbooleanYes
isOutstandingBlockerbooleanYes
responsestring or nullYes
createdUtcstringYesformat: date-time. UTC instant with Z.
completedUtcstring or nullYesformat: date-time. UTC instant with Z.
lifecyclestringYesValues: floating, planned, inprogress, completed
priorityNamestring or nullYesValues: critical, high, normal, low
responseStatestringYesValues: open, responded, resolved
actualStartUtcstring or nullYesformat: date-time. UTC instant with Z.
actualEffortMinutesinteger or nullYesformat: int32
incomingRevisionstring or nullYesformat: uuid
respondedAtUtcstring or nullYesformat: date-time. UTC instant with Z.
assistanceKindstringYesValues: Question, Review, Approval, Action
SourceFacts
FieldTypeRequiredDetails
titlestringYes
descriptionstring or nullYes
businessStatusstring or nullYes
SourceContext
FieldTypeRequiredDetails
providerKeystringYes
itemIdstringYes
factsSourceFactsYes
lastSuccessUtcstring or nullYesformat: date-time. UTC instant with Z.
isAvailablebooleanYes
SourceChange
FieldTypeRequiredDetails
idintegerYesformat: int64
incomingIdinteger or nullYesformat: int32
kindstringYesValues: source, reply
beforeobject or nullYes
afterobject or nullYes
responsestring or nullYes
authorstring or nullYes
occurredUtcstringYesformat: date-time. UTC instant with Z.
receivedUtcstringYesformat: date-time. UTC instant with Z.
acknowledgedUtcstring or nullYesformat: date-time. UTC instant with Z.
SourceActivation
FieldTypeRequiredDetails
activatedUtcstringYesformat: date-time. UTC instant with Z.
sourcesSourceFacts[]Yes
AwaitingEvaluation
FieldTypeRequiredDetails
idintegerYesformat: int32
assistanceStageIdinteger or nullYesformat: int32
assistanceKindstringYesValues: Question, Review, Approval, Action
responsestring or nullYes
respondedAtUtcstring or nullYesformat: date-time. UTC instant with Z.
revisionstringYesformat: uuid
Incoming
FieldTypeRequiredDetails
idintegerYesformat: int32
titlestringYes
detailsstring or nullYes
estimatedMinutesintegerYesformat: int32
prioritystringYesValues: critical, high, normal, low
requesterstringYes
requestedAtUtcstringYesformat: date-time. UTC instant with Z.
statusstringYesValues: floating, planned, inprogress, completed
suggestedStartstring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
suggestionReasonstring or nullYes
plannedStartstring or nullYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
responsestring or nullYes
responseStatestringYesValues: open, responded, resolved
actualStartUtcstring or nullYesformat: date-time. UTC instant with Z.
actualEffortMinutesinteger or nullYesformat: int32
etagstringYes
Claim
FieldTypeRequiredDetails
tokenstringYesformat: uuid
expiresUtcstringYesformat: date-time. UTC instant with Z.
ClaimRelease
FieldTypeRequiredDetails
releasedbooleanYes
releasedUtcstringYesformat: date-time. UTC instant with Z.
CreatedRequest
FieldTypeRequiredDetails
idintegerYesformat: int32
originatingTaskIdintegerYesformat: int32
Error
FieldTypeRequiredDetails
typestringYesValues: about:blank
titlestringYes
statusintegerYesminimum: 400. maximum: 599
codestringYes
traceIdstringYes
EmptyRequest

Empty JSON object; no members are accepted.

ClaimRequest
FieldTypeRequiredDetails
tokenstringYesformat: uuid
ActualIntervalInput
FieldTypeRequiredDetails
staffMemberIdintegerYesminimum: 1
startstringYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
endstringYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
TaskPatch
FieldTypeRequiredDetails
titlestringNominLength: 1. maxLength: 200
descriptionstring or nullNomaxLength: 20000
statusstringNoValues: Ready, InProgress, Done
sequenceintegerNominimum: 0. maximum: 100000
estimatedMinutesintegerNominimum: 0. maximum: 1000000
remainingMinutesintegerNominimum: 0. maximum: 1000000. Deprecated compatibility field. Compatibility: elapsed planned duration plus remainingMinutes becomes estimatedMinutes. estimatedMinutes wins when both are supplied. Response remaining is calculated; Warning 299 accompanies this input.
startedAtstring or nullNoformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
earliestStartstring or nullNoformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
isWaitingbooleanNo
releaseDatestring or nullNoformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
resourceModestringNoValues: Independent, Collaboration
dependencyIdsinteger[]NomaxItems: 1000
actualIntervalsActualIntervalInput[]NomaxItems: 1000
ActualEffort
FieldTypeRequiredDetails
actualIntervalsActualIntervalInput[]YesmaxItems: 1000
NoteCreate
FieldTypeRequiredDetails
textstringYesminLength: 1. maxLength: 20000
AssistanceCreate
FieldTypeRequiredDetails
humanAssigneeIdintegerYesminimum: 1
titlestringYesminLength: 1. maxLength: 200
detailsstring or nullNomaxLength: 20000
estimatedMinutesintegerYesminimum: 1. maximum: 1000000
prioritystringNoValues: critical, high, normal, low
isBlockingbooleanNo
assistanceKindstringNoValues: Question, Review, Approval, Action
publishExternallybooleanNo
IncomingPlan
FieldTypeRequiredDetails
plannedStartstringYesformat: local-date-time. Europe/London planning wall time. Output has no offset. Input may also use an offset/Z instant, converted to London. Nonexistent spring wall times are rejected; ambiguous bare autumn times remain wall times without identifying an instant.
IncomingReassign
FieldTypeRequiredDetails
assigneeIdintegerYesminimum: 1
IncomingComplete
FieldTypeRequiredDetails
responsestring or nullNomaxLength: 20000
ExternalEvaluation

Exactly one variant: acknowledge + eventId; resolve/keepwaiting + incomingId + revision; followup + incomingId + revision + message. No irrelevant members.

Decision examples and rules