Skip to main content

Public Partner API Quick Reference

External integrations primarily authenticated with X-API-Key.

Base URL

https://service-gateway.loscenotes.com/api/partner

Authentication

X-API-Key: sk_live_your_api_key

Key environments

  • Use sk_live_ for all /api/partner/* examples below.
  • sk_test_ is rejected on /api/partner/* with Forbidden error.partner.sandbox_key_not_allowed_on_production_api. Sandbox keys are only for /api/partner-sandbox/* and the webhook simulator.

Exception: seed-test-data

POST /api/partner/seed-test-data is @Public (no API key), but it is not a partner production helper. It is allowed only when config.environment is development or test. In production it returns Forbidden error.partner.seed_not_allowed_in_production.

Endpoints

MethodEndpointDescription
GET/api/partner/reservationsList reservations for the authenticated partner
GET/api/partner/reservations/:idGet one reservation
POST/api/partner/reservationsCreate a reservation
POST/api/partner/reservations/:id/cancelCancel a reservation
GET/api/partner/cenotesList cenotes available to partners
GET/api/partner/availability/:cenoteId?date=YYYY-MM-DDGet cenote availability
POST/api/partner/seed-test-dataDev/test only (@Public); Forbidden in production

Reservation list example

curl -X GET "https://service-gateway.loscenotes.com/api/partner/reservations?page=1&perPage=20" \
-H "X-API-Key: sk_live_your_api_key" \
-H "Content-Type: application/json"

Reservation create example

curl -X POST "https://service-gateway.loscenotes.com/api/partner/reservations" \
-H "X-API-Key: sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"cenoteId": "550e8400-e29b-41d4-a716-446655440000",
"date": "2026-04-20",
"startTime": "09:00",
"endTime": "13:00",
"visitors": 4,
"firstName": "John",
"lastName": "Smith",
"guestEmail": "john@example.com",
"guestPhone": "+52 999 123 4567"
}'

Response notes

  • monetary fields are returned in cents
  • list endpoints use the standard pagination wrapper
  • detail/create/cancel responses return normalized reservation summaries