Update Reservation

Modify an existing reservation — change dates, update guest count, adjust pricing, or add notes. Only send the fields you want to change.

When to use this endpoint

  • Change check-in or check-out dates after a guest requests a modification
  • Update guest count when the party size changes
  • Adjust pricing or add custom surcharges
  • Attach internal notes or custom fields for your team

Partial updates only

This endpoint accepts partial updates. Only include the fields you want to change — omitted fields remain untouched. You never need to re-send the entire reservation object.

Update a reservation

PATCH/v1/reservations/:id
curl -X PATCH "https://api.repull.dev/v1/reservations/456" \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "checkIn": "2026-06-02",
    "checkOut": "2026-06-07",
    "notes": { "host": "Guest requested late check-in at 8 PM" }
  }'

Body parameters

statusstring

Update reservation status.

PENDING CONFIRMED CANCELLED
checkIndate

New check-in date. Format: YYYY-MM-DD.

checkOutdate

New check-out date. Format: YYYY-MM-DD.

notesobject

Host and guest-facing notes.

{ host?: string, guest?: string }
customFieldsobject

Arbitrary key-value pairs for your own metadata. Existing keys are overwritten; new keys are added.

Response format

Returns the full updated reservation object.

{
  "data": {
    "id": "456",
    "propertyId": "123",
    "status": "CONFIRMED",
    "source": "AIRBNB",
    "confirmationCode": "HM12345",
    "checkIn": "2026-06-02",
    "checkOut": "2026-06-07",
    "primaryGuest": {
      "firstName": "Sarah",
      "lastName": "Mitchell",
      "email": "sarah@example.com",
      "phone": "+1-555-0123",
      "language": "en"
    },
    "occupancy": {
      "adults": 2,
      "children": 1,
      "infants": 0,
      "pets": 0
    },
    "financials": {
      "totalPrice": 2250,
      "currency": "USD",
      "paymentStatus": "paid",
      "breakdown": {
        "basePrice": 1875,
        "cleaningFee": 150,
        "fees": [{ "type": "SERVICE_FEE", "amount": 125 }],
        "taxes": [{ "type": "LODGING_TAX", "amount": 100, "rate": 0.09 }],
        "discounts": []
      }
    },
    "notes": {
      "host": "Guest requested late check-in at 8 PM"
    },
    "bookedAt": "2026-05-15T09:00:00Z",
    "updatedAt": "2026-05-20T14:30:00Z"
  }
}

Response fields

idstring

Unique reservation identifier.

propertyIdstring

ID of the property this reservation belongs to.

statusstring

Current status: PENDING, CONFIRMED, or CANCELLED.

sourcestring

Platform where the booking originated.

confirmationCodestring

Platform-specific confirmation code.

checkInstring

Check-in date (YYYY-MM-DD).

checkOutstring

Check-out date (YYYY-MM-DD).

primaryGuestobject

Guest who made the booking.

occupancyobject

Number of guests by category.

financialsobject

Complete pricing breakdown.

notesobject

Host and guest-facing notes.

updatedAtstring

ISO 8601 timestamp of the last update.

Common update patterns

Change dates only

curl -X PATCH "https://api.repull.dev/v1/reservations/456" \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{ "checkIn": "2026-06-03", "checkOut": "2026-06-08" }'

Add custom fields

curl -X PATCH "https://api.repull.dev/v1/reservations/456" \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "X-Workspace-Id: YOUR_WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{ "customFields": { "vipGuest": true, "specialRequests": "Extra towels" } }'

API Reference

See the complete Reservations API Reference for all endpoints including list, create, and cancel.

AI