API Documentation

API Endpoint

Bookings

Bookings

The Booking object represents a scheduled time allocation for a person, serving as a core component for tracking time, managing availability, and organizing resource allocation. There are two main types of bookings:

  1. Budget bookings - where a person is allocated to work on a specific deal/budget. These bookings are linked to a service object, which represents the actual work being done.

  2. Absence bookings - which track time off and remote work absences. These bookings are linked to an event object, representing the type of absence (time off or remote work).

Each booking method defines how time is allocated and requires specific attributes to be set: Per day (requires hours and time attributes to specify hours and time for each day), Percentage (requires percentage attribute to allocate a portion of a person’s available time) and Total hours (requires total_time attribute to specify the total amount of hours for the selected period).

Bookings can have different states depending on their type:

  • Budget bookings can be either Tentative (when there’s a possibility of the time allocation but it’s not yet confirmed, indicated by draft: true) or Confirmed

  • Absence bookings go through an approval workflow with the following states: Pending (waiting for approval), Approved, Rejected (with a reason), or Canceled (if cancelled after submitting for approval)

Bookings can also be customized with custom fields to store additional information about booking. Custom fields allow you to add custom attributes or any other metadata relevant to your booking workflow. For more details on how to work with custom fields please refer to Working with custom fields guide.

The following diagram shows bookings in our data hierarchy:

Booking diagram

Supported attributes

  • person_id (integer) - ID of the person booking is assigned to

  • service_id (integer) - ID of the service booking is linked to (for budget bookings)

  • event_id (integer) - ID of the event booking is linked to (for absence bookings)

  • task_id (integer) - ID of the task booking is linked to (for budget bookings)

  • started_on (date) - Start date of the booking

  • ended_on (date) - End date of the booking

  • time (integer) - Time allocation in minutes (for per day booking method)

  • total_time (integer) - Total time allocation in minutes (for total hours booking method)

  • percentage (integer) - Percentage of available time (for percentage booking method)

  • booking_method_id (integer) - Method of booking allocation

    • 1 (Per day)
    • 2 (Percentage)
    • 3 (Total hours)
  • origin_id (integer) - ID of the initial (first) booking when other bookings are created through a repeat action

  • draft (boolean) - Indicates if the booking is in tentative state

  • note (text) - Additional notes about the booking

  • rejected_reason (text) - Reason for rejection if booking was rejected

  • approver_id (integer) - ID of the person who approved the booking

  • autotracking (boolean) - Enables automatic time tracking for the booking

  • custom_fields (json) - Custom field key (ID) - value pairs for the booking

  • attachment_ids (array) - IDs of attachments linked to the booking

Supported filter params

  • id (integer) (array)

  • person_id (integer) (array)

  • approver_id (integer) (array)

  • event_id (integer) (array)

  • task_id (integer) (array)

  • draft (boolean) - filter bookings by their tentative state (true for tentative bookings, false for confirmed)

  • with_draft (boolean) - when true, includes tentative bookings in the response

  • approved_at (date)

  • created_at (date)

  • updated_at (date)

  • rejected_at (date)

  • canceled_at (date)

  • last_activity_at (date)

  • origin_id (integer) (array)

  • company_id (integer) (array)

  • budget_id (integer) (array)

  • project_id (integer) (array)

  • tags (array)

  • after (date)

  • before (date)

  • started_on (date)

  • ended_on (date)

  • people_custom_fields (string)

  • note (string)

  • project_type (array)

  • person_type (1: user, 2: contact, 3: placeholder)

  • approval_status (array)

  • status (array) - alias for approval_status

  • billing_type_id (integer) (array) (Fixed: 1, Actuals: 2, None: 3)

  • autotracking (boolean)

  • booking_type (event, service) - where ‘event’ filters absence bookings and ‘service’ filters budget bookings

  • person_subsidiary_id (integer)

  • canceled (boolean)

Supported sort params

  • id (integer)

  • started_on (date)

  • last_activity_at (date)

  • draft (boolean)

GET /api/v2/bookings
Requestsreturns bookings

GET  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "1",
      "type": "bookings",
      "attributes": {
        "hours": 6,
        "time": 360,
        "started_on": "2026-03-17",
        "ended_on": "2026-03-17",
        "note": null,
        "total_time": 360,
        "total_working_days": 1,
        "percentage": null,
        "created_at": "2026-03-17T05:04:05.774+01:00",
        "updated_at": "2026-03-17T05:04:05.774+01:00",
        "people_custom_fields": null,
        "approved": false,
        "approved_at": null,
        "rejected": false,
        "rejected_reason": null,
        "rejected_at": null,
        "canceled": false,
        "canceled_at": null,
        "booking_method_id": 1,
        "autotracking": false,
        "draft": false,
        "custom_fields": null,
        "external_id": null,
        "last_activity_at": "2026-03-17T05:04:05.000+01:00",
        "stage_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "108"
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "event": {
          "meta": {
            "included": false
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "approver": {
          "meta": {
            "included": false
          }
        },
        "rejecter": {
          "meta": {
            "included": false
          }
        },
        "canceler": {
          "meta": {
            "included": false
          }
        },
        "origin": {
          "meta": {
            "included": false
          }
        },
        "approval_statuses": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        },
        "attachments": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "2",
      "type": "bookings",
      "attributes": {
        "hours": 6,
        "time": 360,
        "started_on": "2026-03-17",
        "ended_on": "2026-03-17",
        "note": null,
        "total_time": 360,
        "total_working_days": 1,
        "percentage": null,
        "created_at": "2026-03-17T05:04:05.794+01:00",
        "updated_at": "2026-03-17T05:04:05.794+01:00",
        "people_custom_fields": null,
        "approved": false,
        "approved_at": null,
        "rejected": false,
        "rejected_reason": null,
        "rejected_at": null,
        "canceled": false,
        "canceled_at": null,
        "booking_method_id": 1,
        "autotracking": false,
        "draft": false,
        "custom_fields": null,
        "external_id": null,
        "last_activity_at": "2026-03-17T05:04:05.000+01:00",
        "stage_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "108"
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "event": {
          "meta": {
            "included": false
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "approver": {
          "meta": {
            "included": false
          }
        },
        "rejecter": {
          "meta": {
            "included": false
          }
        },
        "canceler": {
          "meta": {
            "included": false
          }
        },
        "origin": {
          "meta": {
            "included": false
          }
        },
        "approval_statuses": {
          "meta": {
            "included": false
          }
        },
        "custom_field_people": {
          "meta": {
            "included": false
          }
        },
        "custom_field_attachments": {
          "meta": {
            "included": false
          }
        },
        "attachments": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/bookings?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/bookings?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 2,
    "page_size": 30,
    "max_page_size": 200
  }
}

Get bookings
GET/api/v2/bookings


GET /api/v2/bookings/1
Requestsreturns booking

GET  /api/v2/bookings/3

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "3",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-17",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2026-03-17T05:04:06.063+01:00",
      "updated_at": "2026-03-17T05:04:06.063+01:00",
      "people_custom_fields": null,
      "approved": false,
      "approved_at": null,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:06.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "109"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a booking
GET/api/v2/bookings/{id}

URI Parameters
HideShow
id
number (required) Example: 1

booking id


POST /api/v2/bookings
Requestsreturns bad requestcreates the bookingdoes not create the bookingdoes not create the bookingcreates the bookingreturns errorcreates the bookingcreates the bookingcreates the bookingcreates the bookingcreates the bookingcreates the bookingcreates the bookingcreates the bookingcreates the bookingcreates the bookingcreates the bookingreturns errorcreates booking with salary currencyreturns error

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": null
}
Responses400
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "400",
      "code": "bad_request",
      "title": "Bad Request",
      "meta": {},
      "source": {}
    }
  ]
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 17, 2026",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "19"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "199"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "200"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "10",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-17",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2026-03-17T05:04:10.611+01:00",
      "updated_at": "2026-03-17T05:04:10.643+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:10.638+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:10.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "114"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 17, 2026",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "20"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "204"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "205"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "entitlements_required",
      "title": "Invalid Attribute",
      "detail": "has no entitlements for this person",
      "meta": {},
      "source": {
        "pointer": "data/attributes/event"
      }
    }
  ]
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 17, 2026",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "21"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "209"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "210"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "no_usable_allocations",
      "title": "Invalid Attribute",
      "detail": "name surname has no usable absence allocations for selected dates",
      "meta": {},
      "source": {
        "pointer": "data/attributes/event"
      }
    },
    {
      "status": "422",
      "code": "no_bookable_dates",
      "title": "Invalid Attribute",
      "detail": "None of the selected dates can be booked",
      "meta": {},
      "source": {
        "pointer": "data/attributes/event"
      }
    },
    {
      "status": "422",
      "code": "missing_allocations",
      "title": "Invalid Attribute",
      "detail": "No Test name allocation exists for 17/03/2026",
      "meta": {},
      "source": {
        "pointer": "data/attributes/event"
      }
    }
  ]
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 17, 2026",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "22"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "214"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "215"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "11",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-17",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2026-03-17T05:04:12.878+01:00",
      "updated_at": "2026-03-17T05:04:12.890+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:12.885+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:12.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "117"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "time": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/person"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "meta": {
        "allow_nil": false
      },
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "meta": {
        "allow_nil": false,
        "after_or_equal_to": "started_on"
      },
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a number",
      "meta": {
        "if": {},
        "value": ""
      },
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {
        "if": {}
      },
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "booking_requires_service_or_event",
      "title": "Invalid Attribute",
      "detail": "service and event can't be blank simultaneously",
      "meta": {},
      "source": {
        "pointer": "data/attributes/base"
      }
    }
  ]
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 17, 2026",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "30"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "246"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "246"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses403
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "403",
      "code": "no_person",
      "title": "Access Denied",
      "detail": "User provided with X-Auth-Token header does not have a person associated in the organization provided with X-Organization-Id header",
      "meta": {},
      "source": {}
    }
  ]
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 19, 2026",
      "time": 360,
      "total_time": null,
      "percentage": null,
      "booking_method_id": null
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "31"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "249"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "18",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:04:19.864+01:00",
      "updated_at": "2026-03-17T05:04:19.864+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:19.864+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:19.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "124"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 19, 2026",
      "time": 360,
      "total_time": null,
      "percentage": null,
      "booking_method_id": 1
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "32"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "255"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "19",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:04:20.634+01:00",
      "updated_at": "2026-03-17T05:04:20.634+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:20.633+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:20.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "125"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 23, 2026",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "33"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "261"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "20",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-23",
      "note": null,
      "total_time": 3360,
      "total_working_days": 7,
      "percentage": 100,
      "created_at": "2026-03-17T05:04:21.325+01:00",
      "updated_at": "2026-03-17T05:04:21.325+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:21.325+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:21.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "126"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 23, 2026",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "34"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "267"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "21",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-23",
      "note": null,
      "total_time": 3060,
      "total_working_days": 7,
      "percentage": 100,
      "created_at": "2026-03-17T05:04:22.157+01:00",
      "updated_at": "2026-03-17T05:04:22.157+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:22.157+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:22.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "127"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 23, 2026",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "35"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "273"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "22",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-23",
      "note": null,
      "total_time": 2880,
      "total_working_days": 7,
      "percentage": 100,
      "created_at": "2026-03-17T05:04:23.093+01:00",
      "updated_at": "2026-03-17T05:04:23.093+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:23.092+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:23.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "128"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 19, 2026",
      "time": 360,
      "total_time": 360,
      "percentage": null,
      "booking_method_id": 3
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "36"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "279"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "23",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 360,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:04:23.910+01:00",
      "updated_at": "2026-03-17T05:04:23.910+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:23.910+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 3,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:23.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "129"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 19, 2026",
      "time": 360,
      "total_time": 10000,
      "percentage": null,
      "booking_method_id": 3
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "37"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "285"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "24",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 10000,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:04:24.717+01:00",
      "updated_at": "2026-03-17T05:04:24.717+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:24.717+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 3,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:24.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "130"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 19, 2026",
      "time": 360,
      "total_time": null,
      "percentage": null,
      "booking_method_id": 1
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "38"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "292"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "25",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 720,
      "total_working_days": 2,
      "percentage": null,
      "created_at": "2026-03-17T05:04:25.824+01:00",
      "updated_at": "2026-03-17T05:04:25.824+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:25.823+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:25.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "131"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 19, 2026",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "39"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "299"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "26",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 960,
      "total_working_days": 2,
      "percentage": 100,
      "created_at": "2026-03-17T05:04:26.917+01:00",
      "updated_at": "2026-03-17T05:04:26.917+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:26.916+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:26.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "132"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 19, 2026",
      "time": 360,
      "total_time": 360,
      "percentage": null,
      "booking_method_id": 3
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "40"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "306"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "27",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 360,
      "total_working_days": 2,
      "percentage": null,
      "created_at": "2026-03-17T05:04:28.014+01:00",
      "updated_at": "2026-03-17T05:04:28.014+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:28.013+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 3,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:28.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "133"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "time": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/person"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "meta": {
        "allow_nil": false
      },
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {},
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "meta": {
        "allow_nil": false,
        "after_or_equal_to": "started_on"
      },
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a number",
      "meta": {
        "if": {},
        "value": ""
      },
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {
        "if": {}
      },
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "booking_requires_service_or_event",
      "title": "Invalid Attribute",
      "detail": "service and event can't be blank simultaneously",
      "meta": {},
      "source": {
        "pointer": "data/attributes/base"
      }
    }
  ]
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "booking_method_id": "1",
      "started_on": "Mar 17, 2026",
      "ended_on": "Mar 17, 2026",
      "time": 480
    },
    "relationships": {
      "person": {
        "data": {
          "type": "people",
          "id": "390"
        }
      },
      "service": {
        "data": {
          "type": "services",
          "id": "43"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "50",
    "type": "bookings",
    "attributes": {
      "hours": 8,
      "time": 480,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-17",
      "note": null,
      "total_time": 480,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2026-03-17T05:04:45.907+01:00",
      "updated_at": "2026-03-17T05:04:45.907+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:45.907+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:45.000+01:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "148"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/bookings

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "started_on": "2024-03-17T05:04:51.089+01:00",
      "ended_on": "2028-03-17T05:04:51.090+01:00",
      "time": 100
    },
    "relationships": {
      "service": {
        "data": {
          "type": "services",
          "id": "49"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "416"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "booking_date_range_too_long",
      "title": "Invalid Attribute",
      "detail": "must be less than or equal to 2 years",
      "meta": {},
      "source": {
        "pointer": "data/attributes/date_range"
      }
    }
  ]
}

Create a booking
POST/api/v2/bookings

URI Parameters
HideShow
person_id
number (required) Example: 1

person id

started_on
date (required) Example: 2018-01-01

started on

ended_on
date (required) Example: 2018-01-31

ended on

time
number (required) Example: 60

time

booking_method_id
number (required) Example: 2

1: hours per day, time attribute needs to be set; 2: percentage per day, percentage attribute needs to be set; 3: total time

event_id
number (optional) Example: 1

Required if you are making a Timeoff/Event booking

service_id
number (optional) Example: 1

Required if you are making a Service booking

task_id
number (optional) Example: 1

task id

note
string (optional) Example: some+note

booking note

percentage
number (optional) Example: 100

percentage of working hours, must be set to 50 or 100, required with booking_method_id 2


PATCH /api/v2/bookings/1
Requestsreturns errorupdates bookingupdates bookingupdates bookingupdates bookingupdates bookingupdates booking and tracks planhat activityupdates bookingupdates bookingupdates bookingupdates bookingupdates bookingreturns error

PATCH  /api/v2/bookings/62

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "time": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a number",
      "meta": {
        "if": {},
        "value": ""
      },
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "meta": {
        "if": {}
      },
      "source": {
        "pointer": "data/attributes/time"
      }
    }
  ]
}

PATCH  /api/v2/bookings/63

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "time": 120,
      "booking_method_id": 1
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "63",
    "type": "bookings",
    "attributes": {
      "hours": 2,
      "time": 120,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 360,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:04:57.354+01:00",
      "updated_at": "2026-03-17T05:04:57.459+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:57.327+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:57.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "160"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/64

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "percentage": 50,
      "booking_method_id": 2
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "64",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 540,
      "total_working_days": 3,
      "percentage": 50,
      "created_at": "2026-03-17T05:04:58.333+01:00",
      "updated_at": "2026-03-17T05:04:58.473+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:58.307+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:58.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "161"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/65

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "total_time": 900,
      "booking_method_id": 3
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "65",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 900,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:04:59.292+01:00",
      "updated_at": "2026-03-17T05:04:59.379+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:04:59.292+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 3,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:04:59.000+01:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "162"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/66

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "percentage": 100,
      "booking_method_id": 2
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "66",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 1440,
      "total_working_days": 3,
      "percentage": 100,
      "created_at": "2026-03-17T05:05:00.492+01:00",
      "updated_at": "2026-03-17T05:05:00.580+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:00.466+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:00.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "163"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/67

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "percentage": 35,
      "booking_method_id": 2
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "67",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 504,
      "total_working_days": 3,
      "percentage": 35,
      "created_at": "2026-03-17T05:05:01.417+01:00",
      "updated_at": "2026-03-17T05:05:01.518+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:01.387+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:01.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "164"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/68

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "total_time": 900,
      "booking_method_id": 3
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "68",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 900,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:05:02.339+01:00",
      "updated_at": "2026-03-17T05:05:02.428+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:02.339+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 3,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:02.000+01:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "165"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/69

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "time": 245,
      "booking_method_id": 1
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "69",
    "type": "bookings",
    "attributes": {
      "hours": 4,
      "time": 245,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 735,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:05:03.315+01:00",
      "updated_at": "2026-03-17T05:05:03.404+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:03.315+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:03.000+01:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "166"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/70

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "percentage": 50,
      "booking_method_id": 2
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "70",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 720,
      "total_working_days": 3,
      "percentage": 50,
      "created_at": "2026-03-17T05:05:04.267+01:00",
      "updated_at": "2026-03-17T05:05:04.363+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:04.267+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 2,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:04.000+01:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "167"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/71

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "person_id": 496
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "71",
    "type": "bookings",
    "attributes": {
      "hours": null,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 600,
      "total_working_days": 0,
      "percentage": null,
      "created_at": "2026-03-17T05:05:05.225+01:00",
      "updated_at": "2026-03-17T05:05:05.344+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:05.225+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 3,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:05.000+01:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "168"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/72

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "draft": false
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "72",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:05:06.351+01:00",
      "updated_at": "2026-03-17T05:05:06.444+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:06.324+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:06.000+01:00",
      "stage_type": 1
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "169"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/73

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "draft": true
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "73",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-19",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2026-03-17T05:05:07.445+01:00",
      "updated_at": "2026-03-17T05:05:07.528+01:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2026-03-17T05:05:07.416+01:00",
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": true,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:07.000+01:00",
      "stage_type": 1
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "170"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/bookings/74

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "bookings",
    "attributes": {
      "ended_on": "2029-03-17T05:05:08.578+01:00"
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "booking_date_range_too_long",
      "title": "Invalid Attribute",
      "detail": "must be less than or equal to 2 years",
      "meta": {},
      "source": {
        "pointer": "data/attributes/date_range"
      }
    }
  ]
}

Update a booking
PATCH/api/v2/bookings/{id}

URI Parameters
HideShow
id
number (required) Example: 1

booking id


DELETE /api/v2/bookings/1
Requestsdeletes booking

DELETE  /api/v2/bookings/76

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes a booking
DELETE/api/v2/bookings/{id}

URI Parameters
HideShow
id
number (required) Example: 1

booking id


PATCH /api/v2/bookings/1/unapprove
Requestsunapproves booking

PATCH  /api/v2/bookings/81/unapprove

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "81",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2026-03-17",
      "ended_on": "2026-03-17",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2026-03-17T05:05:12.237+01:00",
      "updated_at": "2026-03-17T05:05:12.264+01:00",
      "people_custom_fields": null,
      "approved": false,
      "approved_at": null,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "canceled": false,
      "canceled_at": null,
      "booking_method_id": 1,
      "autotracking": false,
      "draft": false,
      "custom_fields": null,
      "external_id": null,
      "last_activity_at": "2026-03-17T05:05:12.000+01:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "177"
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "event": {
        "meta": {
          "included": false
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "canceler": {
        "meta": {
          "included": false
        }
      },
      "origin": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      },
      "custom_field_people": {
        "meta": {
          "included": false
        }
      },
      "custom_field_attachments": {
        "meta": {
          "included": false
        }
      },
      "attachments": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Unapproves a booking
PATCH/api/v2/bookings/{id}/unapprove

URI Parameters
HideShow
id
number (required) Example: 1

booking id


Generated by aglio on 17 Mar 2026