CAD calls and units. Every route hangs off https://api.blixye.com/v1 and carries the key in the Authorization header (see Keys and scopes). This page is generated from the API's OpenAPI specification; if it is not here, the API does not do it.
CAD calls and units. Every route hangs off https://api.blixye.com/v1 and carries the key in the Authorization header (see Keys and scopes). This page is generated from the API's OpenAPI specification; if it is not here, the API does not do it.
NOTE
CAD calls and units. Every route hangs off https://api.blixye.com/v1 and carries the key in the Authorization header (see Keys and scopes). This page is generated from the API's OpenAPI specification; if it is not here, the API does not do it.
NOTE
GET /calls: List calls (dispatch:read)
POST /calls: Create a call (dispatch:write)
GET /calls/{id}: Get a call (dispatch:read)
PATCH /calls/{id}: Update or close a call (dispatch:write)
List calls
List calls
NOTE
List calls
GET /calls. CAD calls. Scope: dispatch:read.
GET /calls. CAD calls. Scope: dispatch:read.
NOTE
GET /calls. CAD calls. Scope: dispatch:read.
Parameters:
Parameters:
NOTE
Parameters:
NOTE
limit (query; integer, 1-100, default 25, optional): Page size (1-100).
cursor (query; string, optional): The meta.next_cursor of the previous page.
order (query; string, one of: desc, asc, default desc, optional): desc = newest first.
status (query; string, optional): pending, dispatched, en_route, on_scene or closed.
corporation_id (query; string, optional): Owner corporation (crp_…).
curl "https://api.blixye.com/v1/calls?limit=25" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/calls?limit=25" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/calls?limit=25" \
-H "Authorization: Bearer bx_live_…"
Response 200: A page of calls.
Response 200: A page of calls.
NOTE
Response 200: A page of calls.
{
"data": [
{
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
{
"data": [
{
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
NOTE
{
"data": [
{
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
Errors (the format is in Errors):
Errors (the format is in Errors):
NOTE
Errors (the format is in Errors):
NOTE
400: Malformed request (invalid limit, cursor, JSON, Idempotency-Key, or an API key sent in the URL).
401: Missing, invalid, revoked or expired API key (codes missing_api_key, invalid_api_key, api_key_revoked, api_key_expired).
403: The key lacks a scope (missing_scope), the IP is not allowed (ip_not_allowed), the server's plan has no API (plan_required) or an MDT module is off (module_off).
404: Not found in this server. An id from another server is always a 404.
429: Too many requests for this API key (the limit is per key and per minute, by plan). Too many failed authentications from one IP also give a 429.
Create a call
Create a call
NOTE
Create a call
POST /calls. Creates a CAD call with origin "api". Same rules as the MDT (links must belong to this server, the server may require a location, the Dispatch module must be on in the corporation). With Idempotency-Key the key is also stored on the call, so a retry never creates a second one. Scope: dispatch:write.
POST /calls. Creates a CAD call with origin "api". Same rules as the MDT (links must belong to this server, the server may require a location, the Dispatch module must be on in the corporation). With Idempotency-Key the key is also stored on the call, so a retry never creates a second one. Scope: dispatch:write.
NOTE
POST /calls. Creates a CAD call with origin "api". Same rules as the MDT (links must belong to this server, the server may require a location, the Dispatch module must be on in the corporation). With Idempotency-Key the key is also stored on the call, so a retry never creates a second one. Scope: dispatch:write.
Parameters:
Parameters:
NOTE
Parameters:
NOTE
Idempotency-Key (header; string, optional): Makes the POST safe to retry: the same key returns the first response (with Idempotent-Replayed: true) for 24 h. The same key with a different body is a 422.
Body (JSON):
Body (JSON):
NOTE
Body (JSON):
NOTE
title (string, max 256, required): Title (max 256).
description (string, max 4000, nullable, optional): Description (max 4000).
priority (integer, 1-5, optional): Priority 1-5 (default 3, or the call type default).
location (string, max 256, nullable, optional): Location (max 256).
location_coords (string, max 64, nullable, optional): Map coordinates (required if the server asks for a location).
call_type_id (ctp_… id, nullable, optional): Call type.
caller_character_id (chr_… id, nullable, optional): Caller.
suspect_character_id (chr_… id, nullable, optional): Suspect.
vehicle_id (veh_… id, nullable, optional): Linked vehicle.
corporation_id (crp_… id, nullable, optional): Owner corporation.
curl -X POST "https://api.blixye.com/v1/calls" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 5f7c1d2e-mi-reintento-1" \
-d '{"title":"Robbery at the 24/7 on Innocence Blvd","description":"Two suspects, one armed.","priority":3}'
curl -X POST "https://api.blixye.com/v1/calls" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 5f7c1d2e-mi-reintento-1" \
-d '{"title":"Robbery at the 24/7 on Innocence Blvd","description":"Two suspects, one armed.","priority":3}'
NOTE
curl -X POST "https://api.blixye.com/v1/calls" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 5f7c1d2e-mi-reintento-1" \
-d '{"title":"Robbery at the 24/7 on Innocence Blvd","description":"Two suspects, one armed.","priority":3}'
Response 201: Created.
Response 201: Created.
NOTE
Response 201: Created.
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
NOTE
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
Errors (the format is in Errors):
Errors (the format is in Errors):
NOTE
Errors (the format is in Errors):
NOTE
400: Malformed request (invalid limit, cursor, JSON, Idempotency-Key, or an API key sent in the URL).
401: Missing, invalid, revoked or expired API key (codes missing_api_key, invalid_api_key, api_key_revoked, api_key_expired).
403: The key lacks a scope (missing_scope), the IP is not allowed (ip_not_allowed), the server's plan has no API (plan_required) or an MDT module is off (module_off).
404: Not found in this server. An id from another server is always a 404.
409: Conflict (for example, the same Idempotency-Key is still being processed, or a plan limit was reached).
422: A field is invalid (details.field says which).
429: Too many requests for this API key (the limit is per key and per minute, by plan). Too many failed authentications from one IP also give a 429.
Get a call
Get a call
NOTE
Get a call
GET /calls/{id}. One call. Scope: dispatch:read.
GET /calls/{id}. One call. Scope: dispatch:read.
NOTE
GET /calls/{id}. One call. Scope: dispatch:read.
Parameters:
Parameters:
NOTE
Parameters:
NOTE
id (path; string, required): Resource id.
curl "https://api.blixye.com/v1/calls/cal_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/calls/cal_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/calls/cal_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…"
Response 200: The call.
Response 200: The call.
NOTE
Response 200: The call.
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
NOTE
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
Errors (the format is in Errors):
Errors (the format is in Errors):
NOTE
Errors (the format is in Errors):
NOTE
400: Malformed request (invalid limit, cursor, JSON, Idempotency-Key, or an API key sent in the URL).
401: Missing, invalid, revoked or expired API key (codes missing_api_key, invalid_api_key, api_key_revoked, api_key_expired).
403: The key lacks a scope (missing_scope), the IP is not allowed (ip_not_allowed), the server's plan has no API (plan_required) or an MDT module is off (module_off).
404: Not found in this server. An id from another server is always a 404.
429: Too many requests for this API key (the limit is per key and per minute, by plan). Too many failed authentications from one IP also give a 429.
Update or close a call
Update or close a call
NOTE
Update or close a call
PATCH /calls/{id}. Changes the fields sent. status "closed" (with disposition) closes the call and frees its units. A closed call cannot be edited (400 call_closed). Scope: dispatch:write.
PATCH /calls/{id}. Changes the fields sent. status "closed" (with disposition) closes the call and frees its units. A closed call cannot be edited (400 call_closed). Scope: dispatch:write.
NOTE
PATCH /calls/{id}. Changes the fields sent. status "closed" (with disposition) closes the call and frees its units. A closed call cannot be edited (400 call_closed). Scope: dispatch:write.
Parameters:
Parameters:
NOTE
Parameters:
NOTE
id (path; string, required): Resource id.
Body (JSON):
Body (JSON):
NOTE
Body (JSON):
NOTE
title (string, max 256, optional): Title (max 256).
description (string, max 4000, nullable, optional): Description (max 4000).
priority (integer, 1-5, optional): Priority 1-5 (default 3, or the call type default).
location (string, max 256, nullable, optional): Location (max 256).
location_coords (string, max 64, nullable, optional): Map coordinates (required if the server asks for a location).
call_type_id (ctp_… id, nullable, optional): Call type.
caller_character_id (chr_… id, nullable, optional): Caller.
suspect_character_id (chr_… id, nullable, optional): Suspect.
vehicle_id (veh_… id, nullable, optional): Linked vehicle.
status (string, one of: pending, dispatched, en_route, on_scene, closed, optional): New status.
disposition (string, max 128, optional): Required with status "closed" (max 128).
curl -X PATCH "https://api.blixye.com/v1/calls/cal_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-d '{"title":"Robbery at the 24/7 on Innocence Blvd","description":"Two suspects, one armed.","priority":3}'
curl -X PATCH "https://api.blixye.com/v1/calls/cal_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-d '{"title":"Robbery at the 24/7 on Innocence Blvd","description":"Two suspects, one armed.","priority":3}'
NOTE
curl -X PATCH "https://api.blixye.com/v1/calls/cal_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-d '{"title":"Robbery at the 24/7 on Innocence Blvd","description":"Two suspects, one armed.","priority":3}'
Response 200: The updated call.
Response 200: The updated call.
NOTE
Response 200: The updated call.
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
NOTE
{
"data": {
"id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"origin": "manual",
"status": "pending",
"priority": 3,
"title": "Robbery at the 24/7 on Innocence Blvd",
"description": "Two suspects, one armed.",
"location": "Innocence Blvd, Strawberry",
"location_coords": "-47.3,-1757.6",
"call_type": {
"id": "ctp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"code": "10-31",
"name": "Robbery"
},
"caller_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"suspect_character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"disposition": null,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z",
"closed_at": null
}
}
Errors (the format is in Errors):
Errors (the format is in Errors):
NOTE
Errors (the format is in Errors):
NOTE
400: Malformed request (invalid limit, cursor, JSON, Idempotency-Key, or an API key sent in the URL).
401: Missing, invalid, revoked or expired API key (codes missing_api_key, invalid_api_key, api_key_revoked, api_key_expired).
403: The key lacks a scope (missing_scope), the IP is not allowed (ip_not_allowed), the server's plan has no API (plan_required) or an MDT module is off (module_off).
404: Not found in this server. An id from another server is always a 404.
422: A field is invalid (details.field says which).
429: Too many requests for this API key (the limit is per key and per minute, by plan). Too many failed authentications from one IP also give a 429.