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 headerFor 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Optional / conditional | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Optional / conditional | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Optional / conditional | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Optional / conditional | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Exact quoted task-{id}-plan-{workspaceVersion} ETag. Unrelated planning edits may invalidate it. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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-Claim | Optional / conditional | Required 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 header | Requirement | Meaning |
|---|
If-Match | Required | Quoted Incoming revision UUID. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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 header | Requirement | Meaning |
|---|
If-Match | Required | Quoted Incoming revision UUID. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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 header | Requirement | Meaning |
|---|
If-Match | Required | Quoted Incoming revision UUID. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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 header | Requirement | Meaning |
|---|
If-Match | Required | Quoted Incoming revision UUID. Missing is 428; malformed/stale is 412. |
|---|
Idempotency-Key | Required | 24-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
| Field | Type | Required | Details |
|---|
clientId | integer | Yes | format: int32 |
|---|
clientName | string | Yes | |
|---|
organisation | NamedEntity | Yes | |
|---|
resource | object or null | Yes | |
|---|
scopes | string[] | Yes | |
|---|
NamedEntity
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int32 |
|---|
name | string | Yes | |
|---|
Task
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int32 |
|---|
title | string | Yes | |
|---|
description | string or null | Yes | |
|---|
status | string | Yes | Values: Ready, InProgress, Done |
|---|
sequence | integer | Yes | format: int32 |
|---|
estimatedMinutes | integer | Yes | format: int32 |
|---|
remainingMinutes | integer | Yes | format: int32 |
|---|
actualMinutes | number | Yes | |
|---|
actualIntervals | ActualInterval[] | Yes | |
|---|
startedAt | string or null | Yes | format: 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. |
|---|
completedAt | string or null | Yes | format: 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. |
|---|
earliestStart | string or null | Yes | format: 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. |
|---|
isWaiting | boolean | Yes | |
|---|
releaseDate | string or null | Yes | format: 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. |
|---|
resourceMode | string | Yes | Values: Independent, Collaboration |
|---|
project | Project | Yes | |
|---|
assignees | Assignment[] | Yes | |
|---|
dependencies | Dependency[] | Yes | |
|---|
requiresAttention | boolean | Yes | |
|---|
externalContext | SourceContext[] | Yes | |
|---|
externalChanges | SourceChange[] | Yes | |
|---|
sourceActivations | SourceActivation[] | Yes | |
|---|
responsesAwaitingEvaluation | AwaitingEvaluation[] | Yes | |
|---|
blocked | boolean | Yes | |
|---|
blockingReasons | string[] | Yes | |
|---|
humanRequests | HumanRequest[] | Yes | |
|---|
notes | Note[] | Yes | |
|---|
etag | string | Yes | |
|---|
Project
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int32 |
|---|
name | string | Yes | |
|---|
priority | integer | Yes | Values: 0, 50, 100, 101. format: int32. Deprecated compatibility field. Read only. Deprecated read-only numeric compatibility value. Prefer priorityName. |
|---|
priorityName | string | Yes | Values: critical, high, normal, low. Read only |
|---|
targetDate | string or null | Yes | format: 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. |
|---|
hardDeadline | string or null | Yes | format: 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. |
|---|
deadlineReason | string or null | Yes | |
|---|
isActive | boolean | Yes | |
|---|
Assignment
| Field | Type | Required | Details |
|---|
staffMemberId | integer | Yes | format: int32 |
|---|
name | string | Yes | |
|---|
remainingMinutes | integer or null | Yes | format: int32 |
|---|
estimatedMinutes | integer or null | Yes | format: int32 |
|---|
Dependency
| Field | Type | Required | Details |
|---|
taskId | integer | Yes | format: int32 |
|---|
status | string | Yes | Values: Ready, InProgress, Done |
|---|
ActualInterval
| Field | Type | Required | Details |
|---|
staffMemberId | integer | Yes | format: int32 |
|---|
start | string | Yes | format: 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. |
|---|
end | string | Yes | format: 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
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int64 |
|---|
text | string | Yes | |
|---|
createdUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
clientName | string | Yes | |
|---|
staffName | string | Yes | |
|---|
HumanRequest
| Field | Type | Required | Details |
|---|
stageId | integer | Yes | format: int32. Assistance-stage ID, used by /human-requests/{id}; not incomingId. |
|---|
requestedForStageId | integer | Yes | format: int32 |
|---|
incomingId | integer or null | Yes | format: int32. Distinct Incoming ID used by /incoming/{id}/...; null for legacy assistance. |
|---|
requestedByApiClientId | integer | Yes | format: int32 |
|---|
requestedByStaffMemberId | integer | Yes | format: int32 |
|---|
assignedHumanId | integer | Yes | format: int32 |
|---|
assignedHumanName | string | Yes | |
|---|
requestedByName | string | Yes | |
|---|
originTitle | string | Yes | |
|---|
title | string | Yes | |
|---|
details | string or null | Yes | |
|---|
estimatedMinutes | integer | Yes | format: int32 |
|---|
remainingMinutes | integer | Yes | format: int32 |
|---|
status | string | Yes | Values: Ready, InProgress, Done |
|---|
isBlocking | boolean | Yes | |
|---|
isOutstandingBlocker | boolean | Yes | |
|---|
response | string or null | Yes | |
|---|
createdUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
completedUtc | string or null | Yes | format: date-time. UTC instant with Z. |
|---|
lifecycle | string | Yes | Values: floating, planned, inprogress, completed |
|---|
priorityName | string or null | Yes | Values: critical, high, normal, low |
|---|
responseState | string | Yes | Values: open, responded, resolved |
|---|
actualStartUtc | string or null | Yes | format: date-time. UTC instant with Z. |
|---|
actualEffortMinutes | integer or null | Yes | format: int32 |
|---|
incomingRevision | string or null | Yes | format: uuid |
|---|
respondedAtUtc | string or null | Yes | format: date-time. UTC instant with Z. |
|---|
assistanceKind | string | Yes | Values: Question, Review, Approval, Action |
|---|
SourceFacts
| Field | Type | Required | Details |
|---|
title | string | Yes | |
|---|
description | string or null | Yes | |
|---|
businessStatus | string or null | Yes | |
|---|
SourceContext
| Field | Type | Required | Details |
|---|
providerKey | string | Yes | |
|---|
itemId | string | Yes | |
|---|
facts | SourceFacts | Yes | |
|---|
lastSuccessUtc | string or null | Yes | format: date-time. UTC instant with Z. |
|---|
isAvailable | boolean | Yes | |
|---|
SourceChange
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int64 |
|---|
incomingId | integer or null | Yes | format: int32 |
|---|
kind | string | Yes | Values: source, reply |
|---|
before | object or null | Yes | |
|---|
after | object or null | Yes | |
|---|
response | string or null | Yes | |
|---|
author | string or null | Yes | |
|---|
occurredUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
receivedUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
acknowledgedUtc | string or null | Yes | format: date-time. UTC instant with Z. |
|---|
SourceActivation
| Field | Type | Required | Details |
|---|
activatedUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
sources | SourceFacts[] | Yes | |
|---|
AwaitingEvaluation
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int32 |
|---|
assistanceStageId | integer or null | Yes | format: int32 |
|---|
assistanceKind | string | Yes | Values: Question, Review, Approval, Action |
|---|
response | string or null | Yes | |
|---|
respondedAtUtc | string or null | Yes | format: date-time. UTC instant with Z. |
|---|
revision | string | Yes | format: uuid |
|---|
Incoming
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int32 |
|---|
title | string | Yes | |
|---|
details | string or null | Yes | |
|---|
estimatedMinutes | integer | Yes | format: int32 |
|---|
priority | string | Yes | Values: critical, high, normal, low |
|---|
requester | string | Yes | |
|---|
requestedAtUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
status | string | Yes | Values: floating, planned, inprogress, completed |
|---|
suggestedStart | string or null | Yes | format: 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. |
|---|
suggestionReason | string or null | Yes | |
|---|
plannedStart | string or null | Yes | format: 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. |
|---|
response | string or null | Yes | |
|---|
responseState | string | Yes | Values: open, responded, resolved |
|---|
actualStartUtc | string or null | Yes | format: date-time. UTC instant with Z. |
|---|
actualEffortMinutes | integer or null | Yes | format: int32 |
|---|
etag | string | Yes | |
|---|
Claim
| Field | Type | Required | Details |
|---|
token | string | Yes | format: uuid |
|---|
expiresUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
ClaimRelease
| Field | Type | Required | Details |
|---|
released | boolean | Yes | |
|---|
releasedUtc | string | Yes | format: date-time. UTC instant with Z. |
|---|
CreatedRequest
| Field | Type | Required | Details |
|---|
id | integer | Yes | format: int32 |
|---|
originatingTaskId | integer | Yes | format: int32 |
|---|
Error
| Field | Type | Required | Details |
|---|
type | string | Yes | Values: about:blank |
|---|
title | string | Yes | |
|---|
status | integer | Yes | minimum: 400. maximum: 599 |
|---|
code | string | Yes | |
|---|
traceId | string | Yes | |
|---|
EmptyRequest
Empty JSON object; no members are accepted.
ClaimRequest
| Field | Type | Required | Details |
|---|
token | string | Yes | format: uuid |
|---|
ActualIntervalInput
| Field | Type | Required | Details |
|---|
staffMemberId | integer | Yes | minimum: 1 |
|---|
start | string | Yes | format: 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. |
|---|
end | string | Yes | format: 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
| Field | Type | Required | Details |
|---|
title | string | No | minLength: 1. maxLength: 200 |
|---|
description | string or null | No | maxLength: 20000 |
|---|
status | string | No | Values: Ready, InProgress, Done |
|---|
sequence | integer | No | minimum: 0. maximum: 100000 |
|---|
estimatedMinutes | integer | No | minimum: 0. maximum: 1000000 |
|---|
remainingMinutes | integer | No | minimum: 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. |
|---|
startedAt | string or null | No | format: 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. |
|---|
earliestStart | string or null | No | format: 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. |
|---|
isWaiting | boolean | No | |
|---|
releaseDate | string or null | No | format: 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. |
|---|
resourceMode | string | No | Values: Independent, Collaboration |
|---|
dependencyIds | integer[] | No | maxItems: 1000 |
|---|
actualIntervals | ActualIntervalInput[] | No | maxItems: 1000 |
|---|
ActualEffort
| Field | Type | Required | Details |
|---|
actualIntervals | ActualIntervalInput[] | Yes | maxItems: 1000 |
|---|
NoteCreate
| Field | Type | Required | Details |
|---|
text | string | Yes | minLength: 1. maxLength: 20000 |
|---|
AssistanceCreate
| Field | Type | Required | Details |
|---|
humanAssigneeId | integer | Yes | minimum: 1 |
|---|
title | string | Yes | minLength: 1. maxLength: 200 |
|---|
details | string or null | No | maxLength: 20000 |
|---|
estimatedMinutes | integer | Yes | minimum: 1. maximum: 1000000 |
|---|
priority | string | No | Values: critical, high, normal, low |
|---|
isBlocking | boolean | No | |
|---|
assistanceKind | string | No | Values: Question, Review, Approval, Action |
|---|
publishExternally | boolean | No | |
|---|
IncomingPlan
| Field | Type | Required | Details |
|---|
plannedStart | string | Yes | format: 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
| Field | Type | Required | Details |
|---|
assigneeId | integer | Yes | minimum: 1 |
|---|
IncomingComplete
| Field | Type | Required | Details |
|---|
response | string or null | No | maxLength: 20000 |
|---|
ExternalEvaluation
Exactly one variant: acknowledge + eventId; resolve/keepwaiting + incomingId + revision; followup + incomingId + revision + message. No irrelevant members.
Decision examples and rules