Introduction

The DJfindr API is organized around REST. It has predictable, resource-oriented
URLs, returns JSON-encoded responses, and uses standard HTTP response codes,
authentication, and verbs.

The API is backed by two types: public and management.

The public API publishes the DJfindr catalog — DJ profiles and
search, their mixes, posts, live events and reviews, plus reference data for
occasions, genres, extras, requisites, profile tags and locations. There are no
endpoints that create, change or delete anything, and nothing you can reach
here is specific to a DJfindr account.

The management API publishes endpoints to manage your account as a DJ or client including your profile, bookings, payments, documents, proposals, and more. Read and write is available via the management API, and a DJfindr.com account is required.

Every response uses the same envelope, whether it succeeds or fails. A single
record returns success, error and data; a list returns those plus count,
remaining and cursor. The keys never vary by outcome, so you can parse a
response the same way before you have looked at the status code.

https://api.djfindr.com/prod/v1

Monetary values are integers in minor units with an explicit currency: an
amount of 25000 with currency: "USD" is $250.00. Fields that have no value
are null rather than an empty string, so a DJ who has not written a bio
returns "bio": null — not "".

Genres, occasions, extras, requisites and profile tags appear throughout as
{ slug, name } pairs. Filter on the slug; show the name. A slug of null
means the value is no longer in its reference set, which happens when a tag is
retired but a DJ still carries it.

The same catalog is available to AI assistants through a Model Context Protocol
server at POST /prod/v1/mcp, using the same token.