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)

  • 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)

  • 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": "2025-07-31",
        "ended_on": "2025-07-31",
        "note": null,
        "total_time": 360,
        "total_working_days": 1,
        "percentage": null,
        "created_at": "2025-07-31T06:03:30.778+02:00",
        "updated_at": "2025-07-31T06:03:30.778+02: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": "2025-07-31T06:03:30.000+02:00",
        "stage_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "101"
          }
        },
        "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": "2025-07-31",
        "ended_on": "2025-07-31",
        "note": null,
        "total_time": 360,
        "total_working_days": 1,
        "percentage": null,
        "created_at": "2025-07-31T06:03:30.803+02:00",
        "updated_at": "2025-07-31T06:03:30.803+02: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": "2025-07-31T06:03:30.000+02:00",
        "stage_type": null
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "101"
          }
        },
        "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": "2025-07-31",
      "ended_on": "2025-07-31",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2025-07-31T06:03:31.093+02:00",
      "updated_at": "2025-07-31T06:03:31.093+02: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": "2025-07-31T06:03:31.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "102"
        }
      },
      "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 booking and tracks absence_booking_created eventcreates 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",
      "title": "Bad Request",
      "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": "Jul 31, 2025",
      "ended_on": "Jul 31, 2025",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "23"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "215"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "216"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-07-31",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2025-07-31T06:03:34.762+02:00",
      "updated_at": "2025-07-31T06:03:34.787+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:34.784+02: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": "2025-07-31T06:03:34.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "107"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Jul 31, 2025",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "24"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "220"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "221"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "has no entitlements for this person",
      "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": "Jul 31, 2025",
      "ended_on": "Jul 31, 2025",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "25"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "225"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "226"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "no useable event entitlements",
      "source": {
        "pointer": "data/attributes/event"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "no bookable dates in range",
      "source": {
        "pointer": "data/attributes/event"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "missing entitlement for 31/07/2025",
      "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": "Jul 31, 2025",
      "ended_on": "Jul 31, 2025",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "26"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "230"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "231"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-07-31",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2025-07-31T06:03:36.343+02:00",
      "updated_at": "2025-07-31T06:03:36.353+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:36.349+02: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": "2025-07-31T06:03:36.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "110"
        }
      },
      "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",
      "source": {
        "pointer": "data/attributes/person"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a number",
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "service and event can't be blank simultaneously",
      "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": "Jul 31, 2025",
      "ended_on": "Jul 31, 2025",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "33"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "257"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "255"
        }
      },
      "origin": {
        "data": {
          "type": "bookings",
          "id": ""
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "17",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2025-07-31",
      "ended_on": "2025-07-31",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2025-07-31T06:03:39.992+02:00",
      "updated_at": "2025-07-31T06:03:40.027+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:40.024+02: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": "2025-07-31T06:03:39.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "115"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Jul 31, 2025",
      "time": 360
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "34"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "262"
        }
      },
      "approver": {
        "data": {
          "type": "people",
          "id": "262"
        }
      },
      "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",
      "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": "Jul 31, 2025",
      "ended_on": "Aug  2, 2025",
      "time": 360,
      "total_time": null,
      "percentage": null,
      "booking_method_id": null
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "35"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "265"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:03:41.031+02:00",
      "updated_at": "2025-07-31T06:03:41.031+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:41.031+02: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": "2025-07-31T06:03:41.000+02: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": {
      "started_on": "Jul 31, 2025",
      "ended_on": "Aug  2, 2025",
      "time": 360,
      "total_time": null,
      "percentage": null,
      "booking_method_id": 1
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "36"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "271"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:03:41.602+02:00",
      "updated_at": "2025-07-31T06:03:41.602+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:41.601+02: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": "2025-07-31T06:03:41.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "118"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Aug  6, 2025",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "37"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "277"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-06",
      "note": null,
      "total_time": 3360,
      "total_working_days": 7,
      "percentage": 100,
      "created_at": "2025-07-31T06:03:42.287+02:00",
      "updated_at": "2025-07-31T06:03:42.287+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:42.287+02: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": "2025-07-31T06:03:42.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "119"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Aug  6, 2025",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "38"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "283"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-06",
      "note": null,
      "total_time": 3060,
      "total_working_days": 7,
      "percentage": 100,
      "created_at": "2025-07-31T06:03:42.985+02:00",
      "updated_at": "2025-07-31T06:03:42.985+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:42.984+02: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": "2025-07-31T06:03:42.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "120"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Aug  6, 2025",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "39"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "289"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-06",
      "note": null,
      "total_time": 2880,
      "total_working_days": 7,
      "percentage": 100,
      "created_at": "2025-07-31T06:03:43.723+02:00",
      "updated_at": "2025-07-31T06:03:43.723+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:43.722+02: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": "2025-07-31T06:03:43.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "121"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Aug  2, 2025",
      "time": 360,
      "total_time": 360,
      "percentage": null,
      "booking_method_id": 3
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "40"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "295"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 360,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:03:44.276+02:00",
      "updated_at": "2025-07-31T06:03:44.276+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:44.275+02: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": "2025-07-31T06:03:44.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "122"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Aug  2, 2025",
      "time": 360,
      "total_time": 10000,
      "percentage": null,
      "booking_method_id": 3
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "41"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "301"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 10000,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:03:45.087+02:00",
      "updated_at": "2025-07-31T06:03:45.087+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:45.086+02: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": "2025-07-31T06:03:45.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "123"
        }
      },
      "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": "Jul 31, 2025",
      "ended_on": "Aug  2, 2025",
      "time": 360,
      "total_time": null,
      "percentage": null,
      "booking_method_id": 1
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "42"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "308"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 720,
      "total_working_days": 2,
      "percentage": null,
      "created_at": "2025-07-31T06:03:45.826+02:00",
      "updated_at": "2025-07-31T06:03:45.826+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:45.825+02: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": "2025-07-31T06:03:45.000+02: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": "Jul 31, 2025",
      "ended_on": "Aug  2, 2025",
      "time": 360,
      "total_time": null,
      "percentage": 100,
      "booking_method_id": 2
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "43"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "315"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 960,
      "total_working_days": 2,
      "percentage": 100,
      "created_at": "2025-07-31T06:03:46.624+02:00",
      "updated_at": "2025-07-31T06:03:46.624+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:46.624+02: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": "2025-07-31T06:03:46.000+02: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": "Jul 31, 2025",
      "ended_on": "Aug  2, 2025",
      "time": 360,
      "total_time": 360,
      "percentage": null,
      "booking_method_id": 3
    },
    "relationships": {
      "event": {
        "data": {
          "type": "events",
          "id": "44"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "322"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 360,
      "total_working_days": 2,
      "percentage": null,
      "created_at": "2025-07-31T06:03:47.429+02:00",
      "updated_at": "2025-07-31T06:03:47.429+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:47.428+02: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": "2025-07-31T06:03:47.000+02: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": {
      "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",
      "source": {
        "pointer": "data/attributes/person"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "source": {
        "pointer": "data/attributes/started_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "source": {
        "pointer": "data/attributes/ended_on"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a number",
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "service and event can't be blank simultaneously",
      "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": "Jul 31, 2025",
      "ended_on": "Jul 31, 2025",
      "time": 480
    },
    "relationships": {
      "person": {
        "data": {
          "type": "people",
          "id": "406"
        }
      },
      "service": {
        "data": {
          "type": "services",
          "id": "41"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "50",
    "type": "bookings",
    "attributes": {
      "hours": 8,
      "time": 480,
      "started_on": "2025-07-31",
      "ended_on": "2025-07-31",
      "note": null,
      "total_time": 480,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2025-07-31T06:03:59.660+02:00",
      "updated_at": "2025-07-31T06:03:59.660+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:03:59.660+02: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": "2025-07-31T06:03:59.000+02:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "141"
        }
      },
      "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": "2023-07-31T06:04:03.810+02:00",
      "ended_on": "2027-07-31T06:04:03.811+02:00",
      "time": 100
    },
    "relationships": {
      "service": {
        "data": {
          "type": "services",
          "id": "47"
        }
      },
      "person": {
        "data": {
          "type": "people",
          "id": "432"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "must be less than or equal to 2 years",
      "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

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
Requestsupdates booking and tracks intercom eventreturns errorupdates bookingupdates bookingupdates bookingupdates bookingupdates bookingupdates booking and tracks intercom eventupdates bookingupdates bookingupdates bookingupdates bookingupdates bookingreturns error

PATCH  /api/v2/bookings/61

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
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "61",
    "type": "bookings",
    "attributes": {
      "hours": 2,
      "time": 120,
      "started_on": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 360,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:04:06.924+02:00",
      "updated_at": "2025-07-31T06:04:06.995+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:06.920+02: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": "2025-07-31T06:04:06.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "151"
        }
      },
      "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/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",
      "source": {
        "pointer": "data/attributes/time"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 360,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:04:08.005+02:00",
      "updated_at": "2025-07-31T06:04:08.078+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:07.985+02: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": "2025-07-31T06:04:08.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "153"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 540,
      "total_working_days": 3,
      "percentage": 50,
      "created_at": "2025-07-31T06:04:08.999+02:00",
      "updated_at": "2025-07-31T06:04:09.112+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:08.978+02: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": "2025-07-31T06:04:08.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "154"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 900,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:04:09.840+02:00",
      "updated_at": "2025-07-31T06:04:09.906+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:09.840+02: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": "2025-07-31T06:04:09.000+02:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "155"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 1440,
      "total_working_days": 3,
      "percentage": 100,
      "created_at": "2025-07-31T06:04:10.857+02:00",
      "updated_at": "2025-07-31T06:04:10.927+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:10.835+02: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": "2025-07-31T06:04:10.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "156"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 504,
      "total_working_days": 3,
      "percentage": 35,
      "created_at": "2025-07-31T06:04:11.677+02:00",
      "updated_at": "2025-07-31T06:04:11.754+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:11.657+02: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": "2025-07-31T06:04:11.000+02:00",
      "stage_type": null
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "157"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 900,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:04:12.643+02:00",
      "updated_at": "2025-07-31T06:04:12.711+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:12.643+02: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": "2025-07-31T06:04:12.000+02:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "158"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 735,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:04:13.495+02:00",
      "updated_at": "2025-07-31T06:04:13.563+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:13.495+02: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": "2025-07-31T06:04:13.000+02:00",
      "stage_type": 2
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "159"
        }
      },
      "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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 720,
      "total_working_days": 3,
      "percentage": 50,
      "created_at": "2025-07-31T06:04:14.478+02:00",
      "updated_at": "2025-07-31T06:04:14.544+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:14.478+02: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": "2025-07-31T06:04:14.000+02:00",
      "stage_type": 2
    },
    "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/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": 512
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "71",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 0,
      "total_working_days": 0,
      "percentage": null,
      "created_at": "2025-07-31T06:04:15.327+02:00",
      "updated_at": "2025-07-31T06:04:15.426+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:15.327+02: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": "2025-07-31T06:04:15.000+02:00",
      "stage_type": 2
    },
    "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/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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:04:16.450+02:00",
      "updated_at": "2025-07-31T06:04:16.513+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:16.427+02: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": "2025-07-31T06:04:16.000+02:00",
      "stage_type": 1
    },
    "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/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": "2025-07-31",
      "ended_on": "2025-08-02",
      "note": null,
      "total_time": 1080,
      "total_working_days": 3,
      "percentage": null,
      "created_at": "2025-07-31T06:04:17.383+02:00",
      "updated_at": "2025-07-31T06:04:17.446+02:00",
      "people_custom_fields": null,
      "approved": true,
      "approved_at": "2025-07-31T06:04:17.360+02: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": "2025-07-31T06:04:17.000+02:00",
      "stage_type": 1
    },
    "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/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": "2028-07-31T06:04:18.480+02:00"
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "must be less than or equal to 2 years",
      "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/75

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/80/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": "80",
    "type": "bookings",
    "attributes": {
      "hours": 6,
      "time": 360,
      "started_on": "2025-07-31",
      "ended_on": "2025-07-31",
      "note": null,
      "total_time": 360,
      "total_working_days": 1,
      "percentage": null,
      "created_at": "2025-07-31T06:04:20.628+02:00",
      "updated_at": "2025-07-31T06:04:20.649+02: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": "2025-07-31T06:04:20.000+02:00",
      "stage_type": null
    },
    "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": {}
}

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

URI Parameters
HideShow
id
number (required) Example: 1

booking id


Generated by aglio on 31 Jul 2025