Are actions available from bookings endpoint?

I’m trying to fetch the actions associated with each booking from this endpoint:

/v1/{accountId}/profiles/{profileId}/bookings

The request I’m making looks like:

https://api.youcanbook.me/v1/XXXXXXXXXXXXXXXXX/profiles/e1e4a471-7e28-48e1-b81a-e5d975ff83dd/bookings?fields=id%2Cactions%2Cactions.*

And the response I’m getting only includes the id not any actions:

[
  {
    "id": "58359b66-9be5-428b-932a-825947d1c176"
  },
  {
    "id": "3aa2e789-8285-4146-9140-75903634b054"
  }
]

Making the same request against a specific booking (/bookings/:id) returns the actions as expected.

Is this intentional? There’s no mention of actions not being returned in the docs for the /bookings endpoint. I need to pull the actions for 10000+ bookings, so ideally I’d like to avoid making that many requests if possible.

Hi @stuartbates great question here. You are looking to run a query to the booking page to paginate through the bookings and you want to get the actions for each of them? The end point for the booking id is the only way to pull the actions array at this time. Let me talk to the development team on if we can get it added where you need it. Do you have any questions on booking pagination at the profile level?

Thanks, Ben.

That solution is fine, I can load all bookings into a worker queue and let them chug through. I guess my only related question would be, are there any rate limits I need to observe?

I can’t find any mention of a rate limit in the API docs or via Google. How many threads can I spin up to process the jobs?

Equally is 10 results per page the max on the bookings collection endpoint? I understand it’s a graph like query and so can be expensive but is 10 the max or am I missing a per_page param? Again, nothing in the docs AFAIK.

Maybe the docs should just be updated as they seem to suggest that it should be possible to query the endpoint on actions currently.

Hi @stuartbates you are right on the money with the need to update our API documentation. This is something I will be working with the development team to get improved. Right now with booking pagination we are sending a signal to the calendar and retrieving updated information to serve them, because of the varying number of bookings between accounts we need to throttle the collection to not impact the connection to the underlying calendar. I will double check on the rate limit, but this may come down to the underlying calendars ability to process information.