> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get multiple BookingProducts

> Retrieve multiple BookingProduct records by their Ids in a single request.

Fetch several BookingProduct records in a single request by passing their Ids as a comma-separated list enclosed in square brackets.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`BookingProduct-Read`** role.
</Note>

## Query Parameters

<ParamField query="id" type="integer[]" required>
  A comma-separated list of BookingProduct Ids enclosed in square brackets, e.g. `[123,456,789]`.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/spaces/bookingproducts/?id=[87654321,87654322,87654323]" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/spaces/bookingproducts/?id=[87654321,87654322,87654323]',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const records = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/spaces/bookingproducts/',
      params={
          'id': '[87654321,87654322,87654323]'
      },
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  records = response.json()
  ```
</CodeGroup>

## Response

### 200

Returns an array of BookingProduct records. Each record has the same structure as the response from the [Get one BookingProduct](/rest-api/spaces/get-bookingproducts-by-id) endpoint.

<Warning>
  **Partial records** — This endpoint returns a summary representation of each BookingProduct. The following fields are **not populated** in the response: `BookingId`, `InvoiceInMinutes`.

  To get all fields, fetch the full record using the [Get one BookingProduct](/rest-api/spaces/get-bookingproducts-by-id) endpoint.

  **Important for updates:** When updating a record via `PUT`, always retrieve the full record with a `GET` request first, apply your changes to that complete data, and then send the updated record. Do not use data from this endpoint as the base for a `PUT` request, as missing fields may be unintentionally cleared.
</Warning>

```json Example Response theme={null}
[
  {
    "ProductId": 0,
    "ProductName": null,
    "ProductPrice": 0,
    "ProductCurrencyCode": null,
    "Quantity": 0,
    "MrmReminded": false,
    "Id": 87654321,
    "UpdatedOn": "2025-01-15T10:30:00Z",
    "CreatedOn": "2025-01-10T08:00:00Z",
    "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "UpdatedBy": "admin@example.com",
    "IsNew": false,
    "SystemId": null,
    "ToStringText": "BookingProduct Example",
    "LocalizationDetails": null,
    "CustomFields": null
  }
]
```
