Get your API key
API reference

Schemas

The published JSON Schemas themselves, served over HTTP for any validator to resolve.

Auth: Public · Base URL: https://api.mailkite.dev

Endpoints

Each row expands to its request and response schema. The address bar follows along, so any endpoint can be linked to directly.

GET /v1/schemas List every published JSON Schema with the URL it is served from.

List every published JSON Schema with the URL it is served from.

Response body

list-schemas-response.json

GET /v1/schemas — every published JSON Schema with the URL it's served from.

FieldTypeNotes
version req stringThe contract version these schemas belong to.
schemas req object[]All published schemas, sorted by name.
schemas[].name req stringSchema id — the filename stem api.json references.
schemas[].title req stringHuman title from the schema.
schemas[].descriptionstringThe schema's description, when it has one.
schemas[].url req stringAbsolute URL the schema is served from.
GET /v1/schemas/:name Fetch one schema as application/schema+json, with an absolute $id a validator can resolve and cache.

Fetch one schema as application/schema+json, with an absolute $id a validator can resolve and cache.

Response body

schema-document.json

GET /v1/schemas/:name — the named JSON Schema itself, served as application/schema+json with an absolute $id a validator can resolve and cache.

No fields to table — switch to JSON for the schema itself.

Fetching schemas

Every request and response body in this reference is described by a JSON Schema (draft-07) — the same schemas our SDKs and MCP server validate against, so they can't drift from what the API enforces:

fetch the schemas
# every schema, with its URL
curl https://api.mailkite.dev/v1/schemas

# one schema — point a validator straight at it
curl https://api.mailkite.dev/v1/schemas/send-request.json
curl https://api.mailkite.dev/v1/schemas/email-received-event.json

Contract version 0.19.0. Schemas are served as application/schema+json with an absolute $id, and are additive — we add fields, we don't remove or repurpose them.