API V2.0
The L.A.S.S.I.E. API V 2.0 can be reached via
https://api.lassie.online/v2.0
Required POST Parameters
The parameters have to be send as URLencoded form data. The API needs at least two parameters to work:
- apikey
- request
- command (optional)
The API-Key has to be set in "System Settings" → "API Keys". Preferrably a longer and unique key (like a MD5SUM). An specific API key can only be used for a corresponding request type.
Requests and Commands | ||
---|---|---|
Request | Command | Description |
lostandfounddb | lostandfound | (Default) Returns all active (not returned) lost & found items from the Lost & Found Database |
lost | Returns all active (not returned) lost items from the Lost & Found Database | |
found | Returns all active (not returned) found items from the Lost & Found Database | |
returned | Returns all inactive / returned items from the Lost & Found Database | |
briefings | Returns all briefings (i.e. Security News) classified as PUBLIC |
The request "lostandfounddb" without a command will return the active Lost & Found Database entries for the respective Convention as a JSON. This includes Links to the uploaded images. Thus, the information can be processed on an external Website, e.g. the convention's homepage.
Example (CURL)
curl -X POST -d "apikey=ae629a834729fd3aac6d1f827b1793b0" -d "request=lostandfounddb" https://api.lassie.online/v2.0
This example will display the entire Lost & Found Database of FTC.
curl -X POST -d "apikey=ae629a834729fd3aac6d1f827b1793b0" -d "request=lostandfounddb" -d "command=lost" https://api.lassie.online/v2.0
This example will display only the lost items of the Lost & Found Database of FTC.
Test API Keys
The API Keys for FurtherTestCon (FTC) are:
ae629a834729fd3aac6d1f827b1793b2 Attendee Database ae629a834729fd3aac6d1f827b1793b1 Operatives Database ae629a834729fd3aac6d1f827b1793b0 Lost & Found Database ae629a834729fd3aac6d1f827b1793b3 Briefings Database
Output
The output of an valid request to the API will be a JSON-Object like the following examples:
Lost & Found Database
{
"data": [
{
"id": 1925,
"image": null,
"thumb": null,
"title": "Image",
"description": "invisible, watercolour, found in Schroedinger's box",
"status": "F",
"lost_timestamp": null,
"found_timestamp": "2023-11-24 00:27:24",
"return_timestamp": null
},
{
"id": 1921,
"image": "https://api.lassie.furcom.org/images/lostandfound_db/fe3c6670a33d8f4199ffa95a5c23b622.png",
"thumb": "https://api.lassie.furcom.org/images/lostandfound_db/thumbnail/fe3c6670a33d8f4199ffa95a5c23b622.png",
"title": "Sense of Taste",
"description": "lost in Hotel Restaurant",
"status": "L",
"lost_timestamp": "2023-11-01 16:13:02",
"found_timestamp": null,
"return_timestamp": null
},
{
"id": 1920,
"image": "https://api.lassie.furcom.org/images/lostandfound_db/bc7c343fb3807d4d41b7e04fa909aad5.png",
"thumb": "https://api.lassie.furcom.org/images/lostandfound_db/thumbnail/bc7c343fb3807d4d41b7e04fa909aad5.png",
"title": "Vape",
"description": "black / rainbow, \"GEEKVAPE\", found at Open Stage",
"status": "F",
"lost_timestamp": null,
"found_timestamp": "2023-09-30 23:52:38",
"return_timestamp": null
}
]
}
Lost & Found fieldset | ||
---|---|---|
Key | Field | NULL |
id | Numeric value, PRIMARY KEY | - |
image | URL | null |
thumb | URL | null |
title | Text | empty string |
description | Text | empty string |
status | L | F | R (Lost, Found or Returned) | - |
lost_timestamp | ISO date | null |
found_timestamp | ISO date | null |
return_timestamp | ISO date | null |
Briefings Database
{
"data": [
{
"id": "17",
"class": "P",
"topic": "UPDATE - Security News 21.12.2021",
"content": "<div id=\"briefing_content_content\"><div><b>Germany cancelled New Years Eve</b></div><div>Although it might calendar wise be unwise, Germany just cancelled New Years Eve. Further information can be obtained elsewhere.</div><div><br></div><div><b>Some things found</b></div><div>Security\r\n wants to remind all attendees that information about lost or found \r\nitems can be obtained via the APP or the Website of the convention. Lost\r\n & Found is maintained by security and located in the security \r\noffice.</div><div><br></div><div><b>Quote of the day</b></div><div>\"Where is your neighbour?\"</div><div>\"He's in the garden ...\"</div><div>\"I can't see him ...\"</div><div>\"Oh, you'd have to dig quite a bit ...\"<br></div><div><br></div></div>",
"ops_id": "112",
"datetime_creation": "2021-12-21 22:19:45",
"datetime_lastchange": "",
"datetime": "2021-12-21 22:19:45"
}
]
}
Briefings fieldset | ||
---|---|---|
Key | Field | NULL |
id | Numeric value, PRIMARY KEY | - |
class | P (hopefully only P) | - |
topic | Text | empty string |
content | HTML | empty string |
ops_id | Numeric value, the L.A.S.S.I.E. ID of the creator | - |
datetime_creation | ISO date | - |
datetime_lastchange | ISO date | null |
datetime | ISO date which should be displayed. Is creation or lastchange whatever is bigger. | - |
Empty Object
{
"data": []
}
Error Codes
The API will send a JSON-Object upon errors
{
"error": {
"code": "503",
"message": "Maintenance Mode enabled - please try again later"
}
}
The following error codes are implemented:
Error Codes | ||
---|---|---|
Code | Message | Description |
401 | Unauthorized | API-Key is not correct or no API-Key provided. |
500 | Internal server error | Most likely the mySQL-Connection failed. A certain Dingo might be rather busy at this time. |
501 | Bad or no request | Whatever you send, it wasn't a valid request. |
503 | Maintenance Mode enabled - please try again later | Might follow an error 500 and the Dingo is still busy ... |