Atlas Open API
  1. Incoming
Atlas Open API
  • Introduction
  • Authentication
  • Date and Time
  • Errors
  • Webhooks
    • Incoming
      • Reservations (BETA)
        POST
    • Outgoing
      • Menus, Stocks, Orders, Outlets, Users
  • Menus
    • Menu List
      GET
    • Menu Details
      GET
  • Orders
    • Create Order
      POST
    • Order Details
      GET
    • Update Order
      PATCH
  • Stocks
    • Outlet Stocks
      GET
  • Users
    • User Sync
      GET
  1. Incoming

Reservations (BETA)

POST
/webhooks/reservations
Sends data from external apps into Atlas.
Based on the supplied data, Atlas will either create or update a reservation.
If reservation_id already exists, it will update the reservation.
If not, it will create a new reservation with the reservation_id.

Request

Header Params
X-Api-Key
string 
required
Your API credentials for Atlas Reservation (Request this from Atlas)
Example:
{{reservation_api_key}}
X-Outlet-Id
integer 
required
ID of the outlet on Atlas the reservation belongs to
Example:
1
X-Platform
string 
required
Name of the reservation platform you are sending data from
Example:
Chope
X-Merchant-ID
string 
required
Your designated merchant ID (Request this from Atlas)
Example:
atlas-merchant-id-1
Body Params application/json
event_type
enum<string> 
optional
Allowed values:
reservations.createreservations.update
event_payload
object (ReservationEventPayload) 
required
reservation_id
string 
required
The unique ID for the reservation
reservation_datetime
string 
required
The date and time the reservation is booked for
confirmed_at
string 
required
The date and time the reservation was made
diner_name
string 
required
Diner contact name
diner_email
string 
optional
Diner contact email
diner_mobile_number
string 
optional
Diner contact number
pax
integer 
required
No. of pax the reservation covers
tables
array[string]
optional
Assigned table(s), if any
area
string 
optional
Assigned area the reservation is made for, if any
reservation_notes
string 
optional
Notes, if any
reservation_tags
string 
optional
Tags, if any
deposit_fractional
integer 
required
Deposit or prepaid amount, in cents (e.g. $50 = 5000 cents)
status
enum<string> 
optional
Status of the reservation
Allowed values:
confirmedcompletedcancelled
reservation_source
string 
optional
Source the reservation was made from (e.g. phone, online, etc.)
Example
{
  "event_type": "reservations.create",
  "event_payload": {
    "reservation_id": "ORTIXZRIJBEP",
    "reservation_datetime": "2025-03-14T11:00:00.000Z",
    "confirmed_at": "2025-03-07T10:51:28.228Z",
    "diner_name": "Jum T",
    "diner_email": "jum@atlas.kitchen",
    "diner_mobile_number": "+6587286354",
    "pax": 2,
    "tables": [
      "T1",
      "T2"
    ],
    "area": "Main dining",
    "reservation_notes": "Selected: Counter Top Seating",
    "reservation_tags": "Birthday",
    "deposit_fractional": 5000,
    "status": "confirmed",
    "reservation_source": "Phone"
  }
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/webhooks/reservations' \
--header 'X-Api-Key: {{reservation_api_key}}' \
--header 'X-Outlet-Id: 1' \
--header 'X-Platform: Chope' \
--header 'X-Merchant-ID: atlas-merchant-id-1' \
--header 'Content-Type: application/json' \
--data-raw '{
    "event_type": "reservations.create",
    "event_payload": {
        "reservation_id": "ORTIXZRIJBEP",
        "reservation_datetime": "2025-03-14T11:00:00.000Z",
        "confirmed_at": "2025-03-07T10:51:28.228Z",
        "diner_name": "Jum T",
        "diner_email": "jum@atlas.kitchen",
        "diner_mobile_number": "+6587286354",
        "pax": 2,
        "tables": [
            "T1",
            "T2"
        ],
        "area": "Main dining",
        "reservation_notes": "Selected: Counter Top Seating",
        "reservation_tags": "Birthday",
        "deposit_fractional": 5000,
        "status": "confirmed",
        "reservation_source": "Phone"
    }
}'

Responses

🟢200Success
This response does not have a body.
🟠401Unauthorized
🟠422Invalid Parameter
Previous
Errors
Next
Menus, Stocks, Orders, Outlets, Users
Built with