42min · Schema

Booking

SchedulingFreeWebhookAutomation

Properties

Name Type Description
uid string
version integer Incremented on every write. Surfaced as the ETag.
event_type_id string
event_type_slug stringnull
title stringnull
status string
start_at string
end_at string
timezone string
host objectnull
attendees array
guests array
location objectnull
metadata objectnull Your own key-value data, echoed back unchanged.
responses objectnull Answers to the invitee form. Populated on single-booking reads; null in list responses, so fetch the booking directly when you need them.
calendar_sync_status string
calendar_event_id stringnull
rescheduled_from_uid stringnull The booking this one replaced, if it came from a reschedule.
cancelled_at stringnull Note the British spelling of this field name, which is fixed by the contract.
cancellation_reason stringnull
no_show_at stringnull
no_show_reason stringnull
created_at string
updated_at string
series_id stringnull The recurring series this booking belongs to, or null.
series_index integernull 0-based position of this booking in its series, or null.
payment object The payment collected for this booking on the public booking page, or null for an unpaid booking. Bookings created through this API or MCP are never paid.
View JSON Schema on GitHub

JSON Schema

42min-us-booking-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/42min-us/json-schema/42min-us-booking-schema.json",
  "title": "Booking",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/42min-us-api-openapi.yml#/components/schemas/Booking",
  "type": "object",
  "required": [
    "uid",
    "version",
    "event_type_id",
    "status",
    "start_at",
    "end_at",
    "timezone",
    "attendees",
    "guests",
    "calendar_sync_status",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "uid": {
      "type": "string"
    },
    "version": {
      "type": "integer",
      "description": "Incremented on every write. Surfaced as the ETag."
    },
    "event_type_id": {
      "type": "string",
      "format": "uuid"
    },
    "event_type_slug": {
      "type": [
        "string",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": "string"
    },
    "start_at": {
      "type": "string",
      "format": "date-time"
    },
    "end_at": {
      "type": "string",
      "format": "date-time"
    },
    "timezone": {
      "type": "string"
    },
    "host": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "user_id": {
          "type": "string",
          "format": "uuid"
        },
        "username": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": [
            "string",
            "null"
          ],
          "description": "The address can change; use the id to identify a user."
        }
      }
    },
    "attendees": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "name": {
            "type": "string"
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "guests": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "name": {
            "type": "string"
          }
        }
      }
    },
    "location": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "type": {
          "type": [
            "string",
            "null"
          ]
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "description": "Conferencing link, when one was generated."
        },
        "value": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ],
      "description": "Your own key-value data, echoed back unchanged.",
      "additionalProperties": true
    },
    "responses": {
      "type": [
        "object",
        "null"
      ],
      "description": "Answers to the invitee form. Populated on single-booking reads; null in list\nresponses, so fetch the booking directly when you need them.\n",
      "additionalProperties": true
    },
    "calendar_sync_status": {
      "type": "string",
      "enum": [
        "synced",
        "pending",
        "failed",
        "not_applicable"
      ]
    },
    "calendar_event_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "rescheduled_from_uid": {
      "type": [
        "string",
        "null"
      ],
      "description": "The booking this one replaced, if it came from a reschedule."
    },
    "cancelled_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Note the British spelling of this field name, which is fixed by the contract."
    },
    "cancellation_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "no_show_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "no_show_reason": {
      "type": [
        "string",
        "null"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "series_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The recurring series this booking belongs to, or null."
    },
    "series_index": {
      "type": [
        "integer",
        "null"
      ],
      "description": "0-based position of this booking in its series, or null."
    },
    "payment": {
      "oneOf": [
        {
          "$ref": "#/$defs/PaymentSummary"
        },
        {
          "type": "null"
        }
      ],
      "description": "The payment collected for this booking on the public booking page, or null for\nan unpaid booking. Bookings created through this API or MCP are never paid.\n"
    }
  },
  "$defs": {
    "PaymentSummary": {
      "type": "object",
      "required": [
        "provider",
        "status",
        "amount",
        "currency",
        "amount_refunded",
        "paid_at",
        "receipt_url"
      ],
      "properties": {
        "provider": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "paid",
            "partially_refunded",
            "refunded"
          ],
          "description": "Derived from the amount refunded; a disputed payment keeps its status."
        },
        "amount": {
          "type": "integer",
          "description": "ISO 4217 minor units."
        },
        "currency": {
          "type": "string",
          "description": "Lowercase ISO 4217 code."
        },
        "amount_refunded": {
          "type": "integer",
          "description": "ISO 4217 minor units; the provider's absolute figure."
        },
        "paid_at": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "receipt_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "The provider's receipt page; Stripe's expires after 30 days."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/42min-us-booking"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.