API Reference

Generate keys and call the API from your own systems.
Overview

An API key is an app_id / app_secret pair, scoped to your account, that authenticates requests made from your own systems against the API below. Create, refresh, and delete keys from Settings → API Keys.

Authentication

Every API endpoint authenticates with the key itself, sent as request headers:

Headers
X-App-Id: <app_id>
X-App-Secret: <app_secret>

Every API endpoint is rate-limited to 60 requests/minute per key.

Errors
200

Success.

403

Authentication failed — missing or invalid X-App-Id / X-App-Secret.

429

Rate limit exceeded — 60 requests/minute per key.

SuperOne API
GET/v1/superone/report/analytics/response-time-buckets
Response time buckets

Total tickets received on the given channel(s), split by whether the first agent reply landed at/before or after the given response time threshold.

channelquery, optional

Channel(s) to include, e.g. channel[]=EMAIL&channel[]=WHATSAPP or channel=EMAIL,WHATSAPP. Defaults to EMAIL,GRAPH_EMAIL. Common values: EMAIL, GRAPH_EMAIL, WHATSAPP, CALL, MANUAL, LIVECHAT (see the full channel list in the API guide).

response_time_secondsquery, optional

Threshold in seconds for the before/after split. Defaults to 28800 (8 hours). Must be a positive integer, returns 422 otherwise.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/response-time-buckets?channel=EMAIL,GRAPH_EMAIL,WHATSAPP&response_time_seconds=3600&start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "channels": ["EMAIL", "GRAPH_EMAIL", "WHATSAPP"],
  "response_time_seconds": 3600,
  "total_responded": 482,
  "before_response_time": 401,
  "after_response_time": 81
}
GET/v1/superone/report/analytics/volume-by-hour
Volume by hour

Total tickets received on the given channel(s), bucketed by hour of day from 12:00 AM to 11:59 PM in the client's own timezone (not UTC).

channelquery, optional

Channel(s) to include, e.g. channel[]=EMAIL&channel[]=WHATSAPP or channel=EMAIL,WHATSAPP. Defaults to EMAIL,GRAPH_EMAIL. Common values: EMAIL, GRAPH_EMAIL, WHATSAPP, CALL, MANUAL, LIVECHAT (see the full channel list in the API guide).

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/volume-by-hour?channel=EMAIL,GRAPH_EMAIL,WHATSAPP&start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "channels": ["EMAIL", "GRAPH_EMAIL", "WHATSAPP"],
  "by_hour": {
    "00:00": 3,
    "01:00": 1,
    "09:00": 42,
    "...": "...",
    "23:00": 2
  }
}
GET/v1/superone/report/analytics/tickets-by-status
Tickets by status

Total tickets by status: open, pending, and closed.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/tickets-by-status?start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "open": 120,
  "pending": 34,
  "closed": 812,
  "total": 966
}
GET/v1/superone/report/analytics/tickets-by-field-status
Tickets by field and status

Total tickets grouped by an arbitrary case field (e.g. Category, Title, Description, or any other custom field defined for your account), broken down by status.

case_fieldquery, required

The case field to group by, e.g. Category, Title, or Description. Returns 422 if omitted.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/tickets-by-field-status?case_field=Category&start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "case_field": "Category",
  "by_field": {
    "Billing": { "open": 4, "pending": 1, "closed": 88 },
    "Technical": { "open": 12, "pending": 3, "closed": 205 }
  }
}
GET/v1/superone/report/analytics/tickets-by-agent-status
Tickets by agent and status

Total tickets handled by each agent, broken down by status.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/tickets-by-agent-status?start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "agents": [
    { "agent": "jane.doe", "agent_name": "Jane Doe", "open": 3, "pending": 1, "closed": 152 }
  ]
}
GET/v1/superone/report/analytics/tickets-escalated-total
Total tickets escalated

Total number of distinct tickets that were escalated at least once.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/tickets-escalated-total?start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "total_escalated": 57
}
GET/v1/superone/report/analytics/escalated-status-by-team
Escalated ticket status by team

Current status of escalated tickets, grouped by the team each ticket was most recently escalated to.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/escalated-status-by-team?start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "by_team": [
    { "team_id": 4, "team_name": "Tier 2 Support", "open": 6, "pending": 2, "closed": 31 }
  ]
}
GET/v1/superone/report/analytics/ticket-resolution-time
Ticket resolution time

Resolution time (in seconds) for each closed ticket, plus a count and average across the full filtered set. The tickets list is paginated; count/average_seconds are not affected by the page you request.

pagequery, optional

Page of the tickets list to return. Defaults to 1.

per_pagequery, optional

Tickets per page, default 500, max 5000. count/average_seconds always reflect the full filtered set regardless of page.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/ticket-resolution-time?page=1&per_page=500&start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "count": 812,
  "average_seconds": 41230.5,
  "page": 1,
  "per_page": 500,
  "total_pages": 2,
  "tickets": [
    { "ticket_id": 9021, "ticket_number": "T-9021", "resolution_seconds": 18320 }
  ]
}
GET/v1/superone/report/analytics/unescalated-handling-time
Un-escalated ticket handling time

Same shape as Ticket resolution time, restricted to tickets that were never escalated. Also paginated.

pagequery, optional

Page of the tickets list to return. Defaults to 1.

per_pagequery, optional

Tickets per page, default 500, max 5000. count/average_seconds always reflect the full filtered set regardless of page.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/unescalated-handling-time?page=1&per_page=500&start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "count": 755,
  "average_seconds": 33110.2,
  "page": 1,
  "per_page": 500,
  "total_pages": 2,
  "tickets": [
    { "ticket_id": 9022, "ticket_number": "T-9022", "resolution_seconds": 9040 }
  ]
}
GET/v1/superone/report/analytics/escalated-handling-time
Escalated ticket handling time

Same shape as Ticket resolution time, restricted to tickets that were escalated at least once. Also paginated.

pagequery, optional

Page of the tickets list to return. Defaults to 1.

per_pagequery, optional

Tickets per page, default 500, max 5000. count/average_seconds always reflect the full filtered set regardless of page.

start_datequery, optional

Only include results on/after this date, format YYYY-MM-DD.

end_datequery, optional

Only include results on/before this date, format YYYY-MM-DD.

Request
curl "https://dev.superlarge.ai/api/v1/superone/report/analytics/escalated-handling-time?page=1&per_page=500&start_date=2026-06-01&end_date=2026-07-15" \
  -H "X-App-Id: <app_id>" \
  -H "X-App-Secret: <app_secret>"
Response
{
  "count": 57,
  "average_seconds": 96410.8,
  "page": 1,
  "per_page": 500,
  "total_pages": 1,
  "tickets": [
    { "ticket_id": 8990, "ticket_number": "T-8990", "resolution_seconds": 152300 }
  ]
}
Tip
Scroll to an endpoint to see its request and response here.