Skip to content
Taskadence Developers

0.x — pre-release, no compatibility promise yet.What this means

POST/v1/projects/{project_id}/milestones/{milestone_id}/moveToken scope: projects:write

The milestone AND its tasks move to project_id, all-or-nothing (403 naming the first task that may not move).

milestone_id
required
Milestone Id
string
project_id
required
project_id
string
Media typeapplication/json
MilestoneMove

POST …/milestones/{milestone_id}/move - the milestone AND its tasks go to project_id (same org), all-or-nothing.

object
project_id
required
Project Id
string
<= 1000 characters

Example

{
"project_id": "string"
}

Successful Response

Media typeapplication/json
MilestoneMoved

The milestone as it now reads in its new project, plus how many of its tasks moved with it.

object
milestone_id
required
Milestone Id
string
org_id
required
Org Id
string
project_id
required
Project Id
string
title
required
Title
string
target_date
required
Target Date
string format: date
description
Any of:
string
owner_user_id
Any of:
string
position
Position
integer
0
status
Status
string
default: open
closed_at
Any of:
string format: date-time
closed_by
Any of:
string
created_by
Any of:
string
updated_by
Any of:
string
created_at
Any of:
string format: date-time
updated_at
Any of:
string format: date-time
tasks_total
Tasks Total

Tasks under this milestone the caller can read (subtasks excluded).

integer
0
tasks_completed
Tasks Completed

How many of them are completed.

integer
0
tasks
Any of:
Array<object>
object
key
additional properties
any
moved_tasks
required
Moved Tasks

Tasks that moved with the milestone

integer

Example

{
"milestone_id": "string",
"org_id": "string",
"project_id": "string",
"title": "string",
"target_date": "2026-09-25",
"description": "string",
"owner_user_id": "string",
"position": 0,
"status": "open",
"closed_at": "2026-09-25T12:00:00Z",
"closed_by": "string",
"created_by": "string",
"updated_by": "string",
"created_at": "2026-09-25T12:00:00Z",
"updated_at": "2026-09-25T12:00:00Z",
"tasks_total": 0,
"tasks_completed": 0,
"tasks": [
{}
],
"moved_tasks": 0
}

Bad request - a query parameter outside what the operation accepts (invalid-parameter)

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "Bad request",
"status": 400,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Missing or invalid bearer token

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "Missing or invalid bearer token",
"status": 401,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Authenticated, but not allowed

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "Authenticated, but not allowed",
"status": 403,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Not found

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "Not found",
"status": 404,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Conflict (a duplicate, or an Idempotency-Key still in flight)

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "Conflict (a duplicate, or an `Idempotency-Key` still in flight)",
"status": 409,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

If-Match does not match the current ETag

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "`If-Match` does not match the current `ETag`",
"status": 412,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

The body or query did not validate (validation), or an Idempotency-Key was reused

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "The body or query did not validate (`validation`), or an `Idempotency-Key` was reused",
"status": 422,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

An access token, or a signed-in user, or an address over its limit (rate-limit; see Retry-After)

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "An access token, or a signed-in user, or an address over its limit (`rate-limit`; see `Retry-After`)",
"status": 429,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}

Unexpected server error - quote request_id

Media typeapplication/problem+json
Problem

An RFC 9457 problem details object - the body of every error response. detail is the human-readable explanation; request_id identifies the request for support.

object
type
required

about:blank or a urn:taskadence:problem:* identifier

string
Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected
title
required
string
status
required
integer
detail
required

Human-readable explanation (a string; for a 422, the list of validation errors)

instance
required
string
request_id
required
string
errors

Structured failures: validation errors, or {loc, msg, allowed} for a bad parameter

Array<object>
object
mfa

On an mfa-required problem only: enrolled (does the person have an authenticator app set up), required_for (all or admins) and reason (org_policy: the organization’s requirement; step_up: this action needs a second step)

object
enrolled
boolean
required_for
string
Allowed values: all admins
reason
string
Allowed values: org_policy step_up

Example

{
"type": "about:blank",
"title": "Unexpected server error",
"status": 500,
"detail": "…",
"instance": "/v1/…",
"request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}