Skip to main content

Documentation Index

Fetch the complete documentation index at: https://api.docs.onlydrams.app/llms.txt

Use this file to discover all available pages before exploring further.

Endpoints

GET    /odis/v1/producers
GET    /odis/v1/producers/:id
POST   /odis/v1/producers
PATCH  /odis/v1/producers/:id
DELETE /odis/v1/producers/:id
MethodPathNotes
GET/odis/v1/producersPaginated; any ODIS user
GET/odis/v1/producers/:idShow
POST/odis/v1/producersAdmin or editor
PATCH/odis/v1/producers/:idAdmin or editor
DELETE/odis/v1/producers/:idAdmin or editor

JSON attributes (producer key)

FieldTypeNotes
namestring
website_linkstring, optional
foundedstring, optional
locationstring, optional

Logo (create / update)

The logo is not inside producer. Pass a top-level string logo with a data URI (same pattern as other ODIS image fields):
{
  "producer": {
    "name": "Example Distilling Co"
  },
  "logo": "data:image/png;base64,..."
}
  • Omit logo to leave the existing attachment unchanged on update.
  • The string must be a full data URI, e.g. data:image/png;base64,... or data:image/jpeg;base64,.... A nested object (for example logo: { "logo": "..." }) is not supported and the attachment will be skipped.

Response shape (detail / list item)

  • List uses the list serializer; show returns at least: id, name, website_link, founded, location, logo_url (CDN URL or null if no file).

Example

POST /odis/v1/producers
curl -sS -X POST "https://api.onlydrams.app/odis/v1/producers" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "producer": { "name": "New Producer", "website_link": "https://example.com" },
    "logo": "data:image/png;base64,..."
  }'
See Spirits catalog overview for authentication and error format.