Submissions
Submissions are your project’s bug reports and feature requests — the same posts your users create on the portal, exposed for reading and writing through the API. (General feedback has its own endpoint; see Feedback.)
All endpoints require authentication and are scoped to the API key’s project.
List submissions
GET/v1/submissions
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status: open, planned, in_progress, or done. |
type | string | Filter by type: bug or feature. |
limit | integer | Page size. Defaults to 20. |
offset | integer | Number of items to skip. Defaults to 0. |
curl "https://api.supdesk.app/v1/submissions?status=open&limit=10" \
-H "Authorization: Bearer sd_live_..."Responses use the standard list envelope:
{
"data": [
{
"id": "8f7a…",
"type": "bug",
"title": "Export button unresponsive on Safari",
"body": "Clicking Export does nothing on Safari 26.",
"status": "open",
"created_at": "2026-07-01T09:12:00Z"
}
],
"pagination": { "limit": 10, "offset": 0, "has_more": false }
}Get a submission
GET/v1/submissions/:id
Returns a single submission as { "data": { … } }, or a 404 not_found error.
Create a submission
Pro Write access requires a paid plan; on Free this returns
403 forbidden.
POST/v1/submissions
| Parameter | Type | Description |
|---|---|---|
typerequired | string | bug or feature. |
titlerequired | string | Short summary of the submission. |
emailrequired | string | Email of the end user the submission belongs to. |
body | string | Longer description. |
name | string | Display name for the end user. |
locale | string | Language for the notification emails this triggers (en, de, es, fr, it, ja, ru, zh). Defaults to en. |
curl -X POST https://api.supdesk.app/v1/submissions \
-H "Authorization: Bearer sd_live_..." \
-H "Content-Type: application/json" \
-d '{
"type": "bug",
"title": "Export button unresponsive on Safari",
"email": "jamie@example.com",
"body": "Clicking Export does nothing on Safari 26."
}'Returns 201 with the created submission. The end user is created (or matched by
email) in your project’s customer list automatically.
Created submissions count toward your monthly submission quota exactly like portal
submissions do. At the cap, this endpoint returns 429 limit_reached — unless your
workspace has submission overage enabled, in which case the submission is accepted and
billed. See Rate Limits & Usage.