Tickets

Support tickets, addressed by their number.

#List tickets

GET/api/v1/tickets

Operation list_tickets · needs scope tickets:read

Newest ticket number first.

ParameterInTypeNotes
limitqueryintegerPage size, at most 100.
cursorquerystringpagination.nextCursor from the previous page.
statusquerynew | open | waiting_customer | waiting_internal | resolved | closed
priorityquerylow | medium | high | urgent
assigneequerystringMember user id.
qquerystringSearch the subject and summary.
updated_sincequerydatetimeOnly tickets changed at or after this time.
bash
curl https://synconone.com/api/v1/tickets \
  -H "Authorization: Bearer sk_live_YOUR_KEY"
json
{
  "data": [
    {
      "id": "pr_1a2b3c4d5e6f7a8b",
      "object": "string",
      "number": 1,
      "subject": "Annual plan renewal",
      "summary": "Asked about annual terms on the website.",
      "status": "new",
      "priority": "low",
      "source": "string",
      "assignee": "string",
      "person": "string"
    }
  ],
  "pagination": {
    "nextCursor": null,
    "hasMore": false
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Open a ticket about a record

POST/api/v1/tickets

Operation create_ticket · needs scope tickets:write

Needs at least one of person, company, lead or opportunity, each a record the key can see.

Body fieldTypeNotes
subject requiredstring
summarystring
prioritylow | medium | high | urgentDefaults to medium. SLA targets follow it.
assigneestringMember user id.
personstring
companystring
leadstring
opportunitystring
bash
curl -X POST https://synconone.com/api/v1/tickets \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"subject":"Annual plan renewal","summary":"Asked about annual terms on the website.","priority":"low","assignee":"string","person":"string"}'
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "number": 1,
    "subject": "Annual plan renewal",
    "summary": "Asked about annual terms on the website.",
    "status": "new",
    "priority": "low",
    "source": "string",
    "assignee": "string",
    "person": "string"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 409: Conflict, approval required, or idempotent request in progress. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Get a ticket

GET/api/v1/tickets/{id}

Operation get_ticket · needs scope tickets:read

ParameterInTypeNotes
id requiredpathstringThe ticket number.
bash
curl https://synconone.com/api/v1/tickets/pr_1a2b3c4d5e6f7a8b \
  -H "Authorization: Bearer sk_live_YOUR_KEY"
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "number": 1,
    "subject": "Annual plan renewal",
    "summary": "Asked about annual terms on the website.",
    "status": "new",
    "priority": "low",
    "source": "string",
    "assignee": "string",
    "person": "string"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Change a ticket

PATCH/api/v1/tickets/{id}

Operation update_ticket · needs scope tickets:write

Move it along its lifecycle, change its priority or reassign it. A status the ticket cannot move to from where it is answers 409.

ParameterInTypeNotes
id requiredpathstringThe ticket number.
Body fieldTypeNotes
statusnew | open | waiting_customer | waiting_internal | resolved | closed
prioritylow | medium | high | urgent
assigneestringMember user id; null unassigns.
bash
curl -X PATCH https://synconone.com/api/v1/tickets/pr_1a2b3c4d5e6f7a8b \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"new","priority":"low","assignee":"string"}'
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "number": 1,
    "subject": "Annual plan renewal",
    "summary": "Asked about annual terms on the website.",
    "status": "new",
    "priority": "low",
    "source": "string",
    "assignee": "string",
    "person": "string"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 409: Conflict, approval required, or idempotent request in progress. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.