Superconductor Docs

Tickets

List a project's tickets, and create tickets with attachments.

List tickets

GET
/projects/{project_id}/tickets

A project's tickets.

Authorization

PersonalAccessToken
headerAuthorizationBearer <token>

A personal access token, created under Account Settings → Developer → Personal access tokens.

Path Parameters

project_id*string

Query Parameters

limit?integer

How many records to return.

Formatint32
Range1 <= value <= 1000
Default100
cursor?string

The next_cursor of the previous page.

sort?string

created lists the newest first; last_activity lists the most recently active first.

Default"created"
Value in"created""last_activity"
since?string

Keep only records active at or after this time, such as 2026-10-30T19:00:00Z.

Formatdate-time
include?array<>

Related records to add to each ticket, separated by commas. implementations adds its implementations.

Default[]

Response Body

The request has succeeded.

application/json
  1. response
data*array<>
next_cursor*|

Pass this as cursor to get the next page, or null on the last page.

Example Request
curl -X GET 'https://www.superconductor.com/api/v1/projects/string/tickets'
Example Response
{  "data": [    {      "id": "string",      "friendly_id": "string",      "url": "http://example.com",      "title": "string",      "status": "string",      "description": "string",      "created_at": "2019-08-24T14:15:22Z",      "last_activity_at": "2019-08-24T14:15:22Z",      "creator": {        "type": "string",        "id": "string",        "name": "string",        "email": "string"      },      "implementations": [        {          "id": "string",          "friendly_id": "string",          "url": "http://example.com",          "status": "string",          "created_at": "2019-08-24T14:15:22Z",          "creator": {            "type": "string",            "id": "string",            "name": "string",            "email": "string"          },          "pull_requests": [            {              "id": "string",              "number": 0,              "url": "http://example.com",              "status": "string",              "provider": "string",              "created_at": "2019-08-24T14:15:22Z",              "last_pushed_at": "2019-08-24T14:15:22Z"            }          ]        }      ]    }  ],  "next_cursor": "string"}

Create a ticket

POST
/projects/{project_id}/tickets

Create a ticket, attributed to the user the token belongs to, and optionally start an implementation.

Authorization

PersonalAccessToken
headerAuthorizationBearer <token>

A personal access token, created under Account Settings → Developer → Personal access tokens.

Path Parameters

project_id*string

Request Body

application/json
  1. body
ticket*
implementations?array<>

Implementations to start right away. Without one, the ticket waits for someone to start it.

Itemsitems <= 1
Default[]

Response Body

The request has succeeded and a new resource has been created as a result.

application/json
  1. response
id*string
friendly_id*string

The ticket's number within its project.

url*string
Formaturi
title*string|null
status*string

Such as idle, running, pending_user, failed, or completed.

implementation_launches*array<>
Example Request
curl -X POST 'https://www.superconductor.com/api/v1/projects/string/tickets' \  -H 'Content-Type: application/json' \  -d '{  "ticket": {    "title": "Retry failed imports",    "description": "Retry an import up to three times before marking it failed.",    "attachments": []  },  "implementations": [    {      "profile": "default"    }  ]}'
Example Response
{  "id": "string",  "friendly_id": "string",  "url": "http://example.com",  "title": "string",  "status": "string",  "implementation_launches": [    {      "profile": "string",      "launch_error": "string"    }  ]}
GET
/projects/{project_id}/attachment_uploads/presign

Get a form to upload a file to, for attaching to a new ticket. Files can be up to 100 MB.

Authorization

PersonalAccessToken
headerAuthorizationBearer <token>

A personal access token, created under Account Settings → Developer → Personal access tokens.

Path Parameters

project_id*string

Query Parameters

filename*string

The file's name, including its extension.

Length1 <= length

Response Body

The request has succeeded.

application/json
  1. response
upload_id*string

Pass this in the ticket's attachments once the file is uploaded. It expires after a day.

url*string

POST the file here as multipart/form-data.

Formaturi
fields*

Send these form fields before the file field.

Example Request
curl -X GET 'https://www.superconductor.com/api/v1/projects/string/attachment_uploads/presign?filename=string'
Example Response
{  "upload_id": "string",  "url": "http://example.com",  "fields": {    "property1": "string",    "property2": "string"  }}