Citations, arrests and criminal records. 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.
Citations, arrests and criminal records. 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
Citations, arrests and criminal records. 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 /citations: List citations (records:read)
POST /citations: Issue a citation (records:write)
GET /arrests: List arrests (records:read)
GET /records: List criminal records (records:read)
List citations
List citations
NOTE
List citations
GET /citations. MDT citations (fines). Scope: records:read.
GET /citations. MDT citations (fines). Scope: records:read.
NOTE
GET /citations. MDT citations (fines). Scope: records: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.
character_id (query; string, optional): Cited character (chr_…).
is_paid (query; boolean, optional): true or false.
curl "https://api.blixye.com/v1/citations?limit=25" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/citations?limit=25" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/citations?limit=25" \
-H "Authorization: Bearer bx_live_…"
Response 200: A page of citations.
Response 200: A page of citations.
NOTE
Response 200: A page of citations.
{
"data": [
{
"id": "cit_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"issuing_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"description": "Two suspects, one armed.",
"fine_amount": 250,
"location": "Innocence Blvd, Strawberry",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"is_paid": false,
"created_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
{
"data": [
{
"id": "cit_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"issuing_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"description": "Two suspects, one armed.",
"fine_amount": 250,
"location": "Innocence Blvd, Strawberry",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"is_paid": false,
"created_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
NOTE
{
"data": [
{
"id": "cit_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"issuing_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"description": "Two suspects, one armed.",
"fine_amount": 250,
"location": "Innocence Blvd, Strawberry",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"is_paid": false,
"created_at": "2026-09-27T18:04:05Z"
}
],
"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.
Issue a citation
Issue a citation
NOTE
Issue a citation
POST /citations. Issues a citation signed by an officer: a corporation member of this server, active, with the citations_create permission, and whose corporation has the Documentation module on. Same rules and numbering as the MDT. Scope: records:write.
POST /citations. Issues a citation signed by an officer: a corporation member of this server, active, with the citations_create permission, and whose corporation has the Documentation module on. Same rules and numbering as the MDT. Scope: records:write.
NOTE
POST /citations. Issues a citation signed by an officer: a corporation member of this server, active, with the citations_create permission, and whose corporation has the Documentation module on. Same rules and numbering as the MDT. Scope: records: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
character_id (chr_… id, required): Cited character.
issuing_officer_id (mem_… id, required): Officer who issues it (corporation member).
penal_article_id (art_… id, nullable, optional): Penal code article.
description (string, max 2000, nullable, optional): Description (max 2000).
fine_amount (integer, nullable, optional): Fine amount.
location (string, max 256, nullable, optional): Location (max 256).
vehicle_id (veh_… id, nullable, optional): Vehicle involved.
curl -X POST "https://api.blixye.com/v1/citations" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 5f7c1d2e-mi-reintento-1" \
-d '{"character_id":"chr_3tq0vJ1c9Ydl2Hk7WqPzEw","issuing_officer_id":"mem_3tq0vJ1c9Ydl2Hk7WqPzEw","penal_article_id":"art_3tq0vJ1c9Ydl2Hk7WqPzEw"}'
curl -X POST "https://api.blixye.com/v1/citations" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 5f7c1d2e-mi-reintento-1" \
-d '{"character_id":"chr_3tq0vJ1c9Ydl2Hk7WqPzEw","issuing_officer_id":"mem_3tq0vJ1c9Ydl2Hk7WqPzEw","penal_article_id":"art_3tq0vJ1c9Ydl2Hk7WqPzEw"}'
NOTE
curl -X POST "https://api.blixye.com/v1/citations" \
-H "Authorization: Bearer bx_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 5f7c1d2e-mi-reintento-1" \
-d '{"character_id":"chr_3tq0vJ1c9Ydl2Hk7WqPzEw","issuing_officer_id":"mem_3tq0vJ1c9Ydl2Hk7WqPzEw","penal_article_id":"art_3tq0vJ1c9Ydl2Hk7WqPzEw"}'
Response 201: Created.
Response 201: Created.
NOTE
Response 201: Created.
{
"data": {
"id": "cit_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"issuing_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"description": "Two suspects, one armed.",
"fine_amount": 250,
"location": "Innocence Blvd, Strawberry",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"is_paid": false,
"created_at": "2026-09-27T18:04:05Z"
}
}
{
"data": {
"id": "cit_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"issuing_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"description": "Two suspects, one armed.",
"fine_amount": 250,
"location": "Innocence Blvd, Strawberry",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"is_paid": false,
"created_at": "2026-09-27T18:04:05Z"
}
}
NOTE
{
"data": {
"id": "cit_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"issuing_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"description": "Two suspects, one armed.",
"fine_amount": 250,
"location": "Innocence Blvd, Strawberry",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"is_paid": false,
"created_at": "2026-09-27T18:04:05Z"
}
}
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.
List arrests
List arrests
NOTE
List arrests
GET /arrests. Arrests with their charges. Scope: records:read.
GET /arrests. Arrests with their charges. Scope: records:read.
NOTE
GET /arrests. Arrests with their charges. Scope: records: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.
character_id (query; string, optional): Arrested character (chr_…).
curl "https://api.blixye.com/v1/arrests?limit=25" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/arrests?limit=25" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/arrests?limit=25" \
-H "Authorization: Bearer bx_live_…"
Response 200: A page of arrests.
Response 200: A page of arrests.
NOTE
Response 200: A page of arrests.
{
"data": [
{
"id": "arr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"booking_number": "BK-000031",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"arresting_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"call_id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"location": "Innocence Blvd, Strawberry",
"narrative": "Suspect detained without incident.",
"status": "processing",
"charges": [
{
"name": "Armed robbery",
"severity": "misdemeanor",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"fine_amount": 250,
"prison_time": 1,
"is_paid": false
}
],
"arrested_at": "2026-09-27T18:04:05Z",
"released_at": null,
"created_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
{
"data": [
{
"id": "arr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"booking_number": "BK-000031",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"arresting_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"call_id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"location": "Innocence Blvd, Strawberry",
"narrative": "Suspect detained without incident.",
"status": "processing",
"charges": [
{
"name": "Armed robbery",
"severity": "misdemeanor",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"fine_amount": 250,
"prison_time": 1,
"is_paid": false
}
],
"arrested_at": "2026-09-27T18:04:05Z",
"released_at": null,
"created_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
NOTE
{
"data": [
{
"id": "arr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"booking_number": "BK-000031",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"arresting_officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"call_id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"location": "Innocence Blvd, Strawberry",
"narrative": "Suspect detained without incident.",
"status": "processing",
"charges": [
{
"name": "Armed robbery",
"severity": "misdemeanor",
"penal_article_id": "art_3tq0vJ1c9Ydl2Hk7WqPzEw",
"fine_amount": 250,
"prison_time": 1,
"is_paid": false
}
],
"arrested_at": "2026-09-27T18:04:05Z",
"released_at": null,
"created_at": "2026-09-27T18:04:05Z"
}
],
"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.
List criminal records
List criminal records
NOTE
List criminal records
GET /records. Criminal records (only the public narrative). Scope: records:read.
GET /records. Criminal records (only the public narrative). Scope: records:read.
NOTE
GET /records. Criminal records (only the public narrative). Scope: records: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.
character_id (query; string, optional): Subject (chr_…).
type (query; string, optional): Record type.
curl "https://api.blixye.com/v1/records?limit=25" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/records?limit=25" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/records?limit=25" \
-H "Authorization: Bearer bx_live_…"
Response 200: A page of records.
Response 200: A page of records.
NOTE
Response 200: A page of records.
{
"data": [
{
"id": "rec_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"type": "report",
"status": "open",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"location": "Innocence Blvd, Strawberry",
"narrative": "Suspect detained without incident.",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"call_id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"total_prison_months": 6,
"total_fine": 750,
"total_points": 2,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
{
"data": [
{
"id": "rec_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"type": "report",
"status": "open",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"location": "Innocence Blvd, Strawberry",
"narrative": "Suspect detained without incident.",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"call_id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"total_prison_months": 6,
"total_fine": 750,
"total_points": 2,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
NOTE
{
"data": [
{
"id": "rec_3tq0vJ1c9Ydl2Hk7WqPzEw",
"number": "C-000142",
"type": "report",
"status": "open",
"character_id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"officer_id": "mem_3tq0vJ1c9Ydl2Hk7WqPzEw",
"corporation_id": "crp_3tq0vJ1c9Ydl2Hk7WqPzEw",
"location": "Innocence Blvd, Strawberry",
"narrative": "Suspect detained without incident.",
"vehicle_id": "veh_3tq0vJ1c9Ydl2Hk7WqPzEw",
"call_id": "cal_3tq0vJ1c9Ydl2Hk7WqPzEw",
"total_prison_months": 6,
"total_fine": 750,
"total_points": 2,
"created_at": "2026-09-27T18:04:05Z",
"updated_at": "2026-09-27T18:04:05Z"
}
],
"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.