VoidTrack Docs
API Reference

Issues

GET
/issues
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Query Parameters

team?string

Team key or id

state?string

Workflow state name (requires team)

stateType?string

Comma separated: backlog, unstarted, started, completed, canceled

assignee?string

User email, id, or 'me'

project?string

Project name or id

cycle?string

Cycle number or 'current' (requires team)

q?string

Full text search

limit?string

Max results, default 50, max 200

offset?string

Pagination offset

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/issues"
{  "issues": [    {      "id": "string",      "identifier": "string",      "title": "string",      "description": "string",      "priority": 0,      "estimate": 0,      "dueDate": "string",      "team": {        "id": "string",        "key": "string",        "name": "string"      },      "state": {        "id": "string",        "name": "string",        "type": "string"      },      "assignee": {        "id": "string",        "name": "string",        "email": "user@example.com"      },      "project": {        "id": "string",        "name": "string"      },      "cycle": {        "id": "string",        "number": 0      },      "labels": [        "string"      ],      "parentId": "string",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z",      "completedAt": "2019-08-24T14:15:22Z"    }  ]}
POST
/issues
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/issues" \  -H "Content-Type: application/json" \  -d '{    "team": "string",    "title": "string"  }'
{  "issue": {    "id": "string",    "identifier": "string",    "title": "string",    "description": "string",    "priority": 0,    "estimate": 0,    "dueDate": "string",    "team": {      "id": "string",      "key": "string",      "name": "string"    },    "state": {      "id": "string",      "name": "string",      "type": "string"    },    "assignee": {      "id": "string",      "name": "string",      "email": "user@example.com"    },    "project": {      "id": "string",      "name": "string"    },    "cycle": {      "id": "string",      "number": 0    },    "labels": [      "string"    ],    "parentId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "completedAt": "2019-08-24T14:15:22Z"  }}
GET
/issues/{identifier}
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Path Parameters

identifier*string

Issue identifier, e.g. VOID-12

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/issues/string"
{  "issue": {    "id": "string",    "identifier": "string",    "title": "string",    "description": "string",    "priority": 0,    "estimate": 0,    "dueDate": "string",    "team": {      "id": "string",      "key": "string",      "name": "string"    },    "state": {      "id": "string",      "name": "string",      "type": "string"    },    "assignee": {      "id": "string",      "name": "string",      "email": "user@example.com"    },    "project": {      "id": "string",      "name": "string"    },    "cycle": {      "id": "string",      "number": 0    },    "labels": [      "string"    ],    "parentId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "completedAt": "2019-08-24T14:15:22Z",    "comments": [      {        "id": "string",        "body": "string",        "author": {          "id": "string",          "name": "string"        },        "createdAt": "2019-08-24T14:15:22Z"      }    ],    "subIssues": [      {        "identifier": "string",        "title": "string",        "state": "string"      }    ],    "relations": [      null    ]  }}
PATCH
/issues/{identifier}
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Path Parameters

identifier*string

Issue identifier, e.g. VOID-12

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/issues/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "issue": {    "id": "string",    "identifier": "string",    "title": "string",    "description": "string",    "priority": 0,    "estimate": 0,    "dueDate": "string",    "team": {      "id": "string",      "key": "string",      "name": "string"    },    "state": {      "id": "string",      "name": "string",      "type": "string"    },    "assignee": {      "id": "string",      "name": "string",      "email": "user@example.com"    },    "project": {      "id": "string",      "name": "string"    },    "cycle": {      "id": "string",      "number": 0    },    "labels": [      "string"    ],    "parentId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "completedAt": "2019-08-24T14:15:22Z"  }}
GET
/issues/{identifier}/page-data
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Path Parameters

identifier*string

Issue identifier, e.g. VOID-12

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/issues/string/page-data"
{  "issue": {    "id": "string",    "identifier": "string",    "path": "string",    "title": "string",    "description": "string",    "priority": 0,    "estimate": 0,    "stateId": "string",    "assigneeId": "string",    "projectId": "string",    "cycleId": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "completedAt": "2019-08-24T14:15:22Z",    "team": {      "id": "string",      "key": "string",      "name": "string",      "cyclesEnabled": true,      "states": [        {          "id": "string",          "name": "string",          "color": "string",          "type": "string"        }      ]    },    "parent": {      "identifier": "string",      "team": {        "key": "string"      }    },    "labels": [      "string"    ]  },  "estimates": [    null  ],  "members": [    null  ],  "projects": [    {      "id": "string",      "name": "string"    }  ],  "cycles": [    {      "id": "string",      "number": 0,      "name": "string"    }  ],  "comments": [    {      "id": "string",      "body": "string",      "authorId": "string",      "authorName": "string",      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "subIssues": [    {      "id": "string",      "team": {        "key": "string"      },      "number": 0,      "title": "string",      "state": {        "type": "string",        "color": "string",        "name": "string"      }    }  ],  "documents": [    {      "documentId": "string",      "document": {        "id": "string",        "title": "string"      }    }  ],  "relations": [    null  ],  "blockedByOpen": null,  "media": [    {      "id": "string",      "url": "string",      "title": "string",      "metadata": null    }  ],  "links": [    {      "id": "string",      "url": "string",      "title": "string"    }  ]}
POST
/issues/{identifier}/links
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Path Parameters

identifier*string

Issue identifier, e.g. VOID-12

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/issues/string/links" \  -H "Content-Type: application/json" \  -d '{    "url": "http://example.com"  }'
{  "link": {    "id": "string",    "url": "http://example.com",    "title": "string"  }}
GET
/issues/{identifier}/relations
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Path Parameters

identifier*string

Issue identifier, e.g. VOID-12

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/issues/string/relations"
{  "relations": [    null  ]}
POST
/issues/{identifier}/relations
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Path Parameters

identifier*string

Issue identifier, e.g. VOID-12

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/issues/string/relations" \  -H "Content-Type: application/json" \  -d '{    "issue": "string",    "type": "blocks"  }'
{  "relation": {    "id": "string",    "type": "blocks"  }}
DELETE
/issues/{identifier}/relations/{relationId}
AuthorizationBearer <token>

Workspace scoped API key, printed once by pnpm seed or POST /api-keys.

In: header

Path Parameters

identifier*string

Issue identifier, e.g. VOID-12

relationId*string

Relation id

Response Body

application/json

application/json

application/json

curl -X DELETE "https://example.com/issues/string/relations/string"
{  "ok": true}