Characters, licenses and inventory. 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.
Characters, licenses and inventory. 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
Characters, licenses and inventory. 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 /characters: List characters (characters:read)
GET /characters/{id}: Get a character (characters:read)
GET /characters/{id}/licenses: A character's licenses (characters:read)
GET /characters/{id}/inventory: A character's inventory (characters:read + inventory:read)
List characters
List characters
NOTE
List characters
GET /characters. Characters of the server, with their ID card. Scope: characters:read.
GET /characters. Characters of the server, with their ID card. Scope: characters:read.
NOTE
GET /characters. Characters of the server, with their ID card. Scope: characters: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.
member_id (query; string, optional): Only the characters of this member (usr_…).
name (query; string, optional): Name contains this text.
dni_number (query; string, optional): Exact ID card number.
curl "https://api.blixye.com/v1/characters?limit=25" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/characters?limit=25" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/characters?limit=25" \
-H "Authorization: Bearer bx_live_…"
Response 200: A page of characters.
Response 200: A page of characters.
NOTE
Response 200: A page of characters.
{
"data": [
{
"id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"member_id": "usr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "John Carter",
"dni_number": "48213377K",
"status": "approved",
"is_dead": false,
"is_ck": false,
"is_frozen": false,
"is_admin": false,
"driving_points": 12,
"dni": {
"first_name": "John",
"last_name": "Carter",
"nationality": "American",
"gender": "male",
"birthdate": "1990-05-14",
"blood_type": "O+",
"photo_url": "https://cdn.example.com/photo.png"
},
"created_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
{
"data": [
{
"id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"member_id": "usr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "John Carter",
"dni_number": "48213377K",
"status": "approved",
"is_dead": false,
"is_ck": false,
"is_frozen": false,
"is_admin": false,
"driving_points": 12,
"dni": {
"first_name": "John",
"last_name": "Carter",
"nationality": "American",
"gender": "male",
"birthdate": "1990-05-14",
"blood_type": "O+",
"photo_url": "https://cdn.example.com/photo.png"
},
"created_at": "2026-09-27T18:04:05Z"
}
],
"meta": {
"next_cursor": "cur_3tq0vJ1c9Ydl2Hk7WqPzEw"
}
}
NOTE
{
"data": [
{
"id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"member_id": "usr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "John Carter",
"dni_number": "48213377K",
"status": "approved",
"is_dead": false,
"is_ck": false,
"is_frozen": false,
"is_admin": false,
"driving_points": 12,
"dni": {
"first_name": "John",
"last_name": "Carter",
"nationality": "American",
"gender": "male",
"birthdate": "1990-05-14",
"blood_type": "O+",
"photo_url": "https://cdn.example.com/photo.png"
},
"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.
Get a character
Get a character
NOTE
Get a character
GET /characters/{id}. One character, with its ID card. Scope: characters:read.
GET /characters/{id}. One character, with its ID card. Scope: characters:read.
NOTE
GET /characters/{id}. One character, with its ID card. Scope: characters:read.
Parameters:
Parameters:
NOTE
Parameters:
NOTE
id (path; string, required): Resource id.
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw" \
-H "Authorization: Bearer bx_live_…"
Response 200: The character.
Response 200: The character.
NOTE
Response 200: The character.
{
"data": {
"id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"member_id": "usr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "John Carter",
"dni_number": "48213377K",
"status": "approved",
"is_dead": false,
"is_ck": false,
"is_frozen": false,
"is_admin": false,
"driving_points": 12,
"dni": {
"first_name": "John",
"last_name": "Carter",
"nationality": "American",
"gender": "male",
"birthdate": "1990-05-14",
"blood_type": "O+",
"photo_url": "https://cdn.example.com/photo.png"
},
"created_at": "2026-09-27T18:04:05Z"
}
}
{
"data": {
"id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"member_id": "usr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "John Carter",
"dni_number": "48213377K",
"status": "approved",
"is_dead": false,
"is_ck": false,
"is_frozen": false,
"is_admin": false,
"driving_points": 12,
"dni": {
"first_name": "John",
"last_name": "Carter",
"nationality": "American",
"gender": "male",
"birthdate": "1990-05-14",
"blood_type": "O+",
"photo_url": "https://cdn.example.com/photo.png"
},
"created_at": "2026-09-27T18:04:05Z"
}
}
NOTE
{
"data": {
"id": "chr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"member_id": "usr_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "John Carter",
"dni_number": "48213377K",
"status": "approved",
"is_dead": false,
"is_ck": false,
"is_frozen": false,
"is_admin": false,
"driving_points": 12,
"dni": {
"first_name": "John",
"last_name": "Carter",
"nationality": "American",
"gender": "male",
"birthdate": "1990-05-14",
"blood_type": "O+",
"photo_url": "https://cdn.example.com/photo.png"
},
"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.
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.
A character's licenses
A character's licenses
NOTE
A character's licenses
GET /characters/{id}/licenses. The character's licenses (driving and the server's own). Scope: characters:read.
GET /characters/{id}/licenses. The character's licenses (driving and the server's own). Scope: characters:read.
NOTE
GET /characters/{id}/licenses. The character's licenses (driving and the server's own). Scope: characters:read.
Parameters:
Parameters:
NOTE
Parameters:
NOTE
id (path; string, required): Resource id.
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw/licenses" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw/licenses" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw/licenses" \
-H "Authorization: Bearer bx_live_…"
Response 200: Licenses.
Response 200: Licenses.
NOTE
Response 200: Licenses.
{
"data": [
{
"license_id": "lic_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "driving",
"label": "Driving licence",
"type": "driving",
"points_remaining": 12,
"max_points": 12,
"is_revoked": false,
"revoked_at": null,
"granted_at": "2026-09-27T18:04:05Z"
}
]
}
{
"data": [
{
"license_id": "lic_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "driving",
"label": "Driving licence",
"type": "driving",
"points_remaining": 12,
"max_points": 12,
"is_revoked": false,
"revoked_at": null,
"granted_at": "2026-09-27T18:04:05Z"
}
]
}
NOTE
{
"data": [
{
"license_id": "lic_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "driving",
"label": "Driving licence",
"type": "driving",
"points_remaining": 12,
"max_points": 12,
"is_revoked": false,
"revoked_at": null,
"granted_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.
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.
A character's inventory
A character's inventory
NOTE
A character's inventory
GET /characters/{id}/inventory. Items the character carries. Needs characters:read AND inventory:read. Scopes (all of them): characters:read and inventory:read.
GET /characters/{id}/inventory. Items the character carries. Needs characters:read AND inventory:read. Scopes (all of them): characters:read and inventory:read.
NOTE
GET /characters/{id}/inventory. Items the character carries. Needs characters:read AND inventory:read. Scopes (all of them): characters:read and inventory:read.
Parameters:
Parameters:
NOTE
Parameters:
NOTE
id (path; string, required): Resource id.
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw/inventory" \
-H "Authorization: Bearer bx_live_…"
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw/inventory" \
-H "Authorization: Bearer bx_live_…"
NOTE
curl "https://api.blixye.com/v1/characters/chr_3tq0vJ1c9Ydl2Hk7WqPzEw/inventory" \
-H "Authorization: Bearer bx_live_…"
Response 200: Inventory.
Response 200: Inventory.
NOTE
Response 200: Inventory.
{
"data": [
{
"item_id": "itm_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "phone",
"label": "Phone",
"quantity": 1,
"equipped_quantity": 0,
"uses_remaining": null,
"image_url": "https://cdn.example.com/item.png"
}
]
}
{
"data": [
{
"item_id": "itm_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "phone",
"label": "Phone",
"quantity": 1,
"equipped_quantity": 0,
"uses_remaining": null,
"image_url": "https://cdn.example.com/item.png"
}
]
}
NOTE
{
"data": [
{
"item_id": "itm_3tq0vJ1c9Ydl2Hk7WqPzEw",
"name": "phone",
"label": "Phone",
"quantity": 1,
"equipped_quantity": 0,
"uses_remaining": null,
"image_url": "https://cdn.example.com/item.png"
}
]
}
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.