QUICKSTARTAGENTS

Book a gas safety certificate in three requests

From intent to confirmed engineer, with a binding price and a certificate on the other side.

How does an agent book a CP12 through UKLSP? Three requests: discover providers for cp12_gas_safety in the property's postcode district, fetch the chosen provider's slots, and POST a booking request with the human principal's confirmed details. Over MCP it is one tool call per step, or a single uklsp_create_booking if the principal has already chosen from cached discovery results.

1 · Discover

GET /v0/discover?service=cp12_gas_safety&postcode_district=LS6

Returns ranked providers with pricing, lead time, credentials and certification level. The reference ranking prefers higher certification, fixed prices, and shorter lead times — operators may apply their own policy but MUST NOT hide the demo flag.

2 · Slots

GET /v0/providers/prv_…/slots?service=cp12_gas_safety

Windows come back as am/pm/all_day — present them to your principal as a trades visit really works ("Tuesday morning, engineer arrives between 9 and 1"), not as false-precision appointment times.

3 · Book

POST /v0/bookings
{ "booking_request": {
    "request_id": "req_…", "provider_id": "prv_…",
    "service_code": "cp12_gas_safety", "slot_id": "slt_…",
    "property": { "postcode": "LS6 2AB", "address_line1": "…" },
    "customer": { "name": "…", "phone_e164": "+44…", "role": "landlord" },
    "agent": { "agent_name": "…", "on_behalf_of_human": true },
    "price_accepted": { "amount": 68, "currency": "GBP", "vat_treatment": "ex_vat" } } }

A 201 returns the confirmation: binding price, confirmed window, cancellation policy, and the deliverable ("certificate PDF within 24 hours of the visit"). Retrying the same request_id can never double-book.

Try it against the demo inventory

The reference deployment at https://api.uklsp.org serves three fictional providers marked demo:true across Leeds, Manchester and Birmingham districts. Quote them freely; bookings return 403 DEMO_PROVIDER by design. Start at openapi.yaml or /.well-known/uklsp.json.

Well-behaved agents: confirm price and window with your human before booking, surface the cancellation policy, prefer operator-verified credentials, and on SLOT_TAKEN go back to your principal — never silently switch windows.