Chimeling API
Presence, devices, apps, everything, over HTTP.
One job per call, verbs you already know, and standards-compliant
One job per call
The path names the resource, and one operation does one thing.
Verbs you already know
Presence is a
GET. A report is aPUTof the whole state. Offline is aDELETE.Standards-compliant
The contract is OpenAPI 3.1. Auth is a Bearer token, and a bad reference comes back as
422.
Paths you can guess
A resource is a path, and the method is the action.
GET /api/v1/presence/{userId}returns the presence.PUTreplaces a device's report, andDELETEtakes it offline.A shape for every body
Every request and response has a schema in the OpenAPI document. A field is a string, a datetime, an enum, or null. A client fails to compile when a call no longer matches.
The reference is the document
Scalar and the OpenAPI 3.1 document are generated from the same routes. Summaries, examples, and the Bearer scheme sit on the operations. A route change keeps the page up to date.
The tools you already run
JSON, HTTP status codes, and a Bearer token. cURL works. Any HTTP library does, and so does an agent that reads OpenAPI. No private protocol to learn.
Room
in the object
A device stores presence as an open object. status, reportedAt, and activity are the fields this API reads today.
The next fact does not need a new endpoint. A track, a game, or a playable character can sit in that same object, and the public read grows when those fields do.
Call it from anything
The reference is generated from the routes. Start with the public read, or take the document and generate a client.
- POST/api/v1/icons
- GET/api/v1/devices/{deviceId}/apps
- HEAD/api/v1/icons/{hash}
- GET/api/v1/devices
- GET/api/v1/devices/{deviceId}/apps/{appId}
- POST/api/v1/devices
- DELETE/api/v1/devices/{deviceId}/presence
- DELETE/api/v1/devices/{deviceId}/apps/{appId}
- GET/api/v1/icons/{hash}/image
- GET/api/v1/presence/{userId}
- PATCH/api/v1/devices/{deviceId}/apps/{appId}
- PUT/api/v1/devices/{deviceId}/presence
- PATCH/api/v1/devices/{deviceId}
- GET/api/v1/devices/{deviceId}
- DELETE/api/v1/devices/{deviceId}
- POST/api/v1/devices/{deviceId}/apps
- GET/api/v1/icons/{hash}
Grow with Chimeling
Save your seat. We’ll call you over.