Create issue
POST
bearerAuthheader
AuthorizationBearer <token>An API key created in Capy under Settings → API.
application/json- body
projectId*stringtitle*stringLength
1 <= length <= 500description?stringstateId?stringA state from GET /issue-states. Absent, the organization's default applies.
priority?stringOne of
"urgent""high""normal""low"dueAt?stringassignees?array<>The whole assignee set, primary first. An empty array leaves the issue unassigned.
Items
items <= 10parent?stringThe parent issue's code, such as CAP-12. A sub-issue takes its parent's access.
labelIds?array<string>The whole label set, by id from GET /issue-labels.
Items
items <= 20visibility?stringorg for everyone in the project, private for the key's user and the issue's assignees. Absent, org.
One of
"org""private"createdAt?stringWhen the work item was first created, for an import. Absent, now; never in the future.
updatedAt?stringWhen the work item last changed, for an import. Absent, createdAt.
files?array<>IssueDetail
application/json- response
id*stringcode*stringnumber*integerprojectId*stringtitle*stringstate*priority*|UnsupportedMember_2dueAt*string|nullparentId*string|nullvisibility*|UnsupportedMember_3assignees*array<>labels*array<>subIssueCount*integerclosedSubIssueCount*integeropenBlockerCount*integerOpen issues the key can read that block this one.
createdAt*stringupdatedAt*stringclosedAt*string|nulldescription*stringMarkdown. An embedded file appears as capy-file:<fileId>, one of files.
creator*|nullparent*|nullsubIssues*array<>pullRequests*array<>threads*array<>files*array<>curl -X POST 'https://api.capy.ai/api/v1/issues' \ -H 'Content-Type: application/json' \ -d '{ "projectId": "string", "title": "string"}'{ "id": "string", "code": "string", "number": 0, "projectId": "string", "title": "string", "state": { "id": "string", "name": "string", "type": "open" }, "priority": "urgent", "dueAt": "string", "parentId": "string", "visibility": "org", "assignees": [ { "kind": "user", "id": "string", "code": "string" } ], "labels": [ { "id": "string", "name": "string" } ], "subIssueCount": 0, "closedSubIssueCount": 0, "openBlockerCount": 0, "createdAt": "string", "updatedAt": "string", "closedAt": "string", "description": "string", "creator": { "kind": "user", "id": "string", "code": "string" }, "parent": { "id": "string", "code": "string", "number": 0, "projectId": "string", "title": "string", "state": { "id": "string", "name": "string", "type": "open" }, "priority": "urgent", "dueAt": "string", "parentId": "string", "visibility": "org", "assignees": [ { "kind": "user", "id": "string", "code": "string" } ], "labels": [ { "id": "string", "name": "string" } ], "subIssueCount": 0, "closedSubIssueCount": 0, "openBlockerCount": 0, "createdAt": "string", "updatedAt": "string", "closedAt": "string" }, "subIssues": [ { "id": "string", "code": "string", "number": 0, "projectId": "string", "title": "string", "state": { "id": "string", "name": "string", "type": "open" }, "priority": "urgent", "dueAt": "string", "parentId": "string", "visibility": "org", "assignees": [ { "kind": "user", "id": "string", "code": "string" } ], "labels": [ { "id": "string", "name": "string" } ], "subIssueCount": 0, "closedSubIssueCount": 0, "openBlockerCount": 0, "createdAt": "string", "updatedAt": "string", "closedAt": "string" } ], "pullRequests": [ { "repoFullName": "string", "number": 0, "state": "open" } ], "threads": [ { "id": "string", "code": "string" } ], "files": [ { "id": "string", "name": "string", "mediaType": "string", "sizeBytes": 0, "commentId": "string" } ]}