# Orchestral Tools — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Browse and search Orchestral Tools' collection of virtual instruments, samples, and bundles by series, genre, and price to find exactly what you need. Add products to your cart and view detailed specifications, pricing, and availability for each instrument.

**Category:** Music | **Website:** [orchestraltools.com/](https://orchestraltools.com/) | **Docs:** [parse.bot/marketplace/219bfe73-1e22-48d1-bbb6-2fbce22cf2e2/orchestraltools-com-api](https://parse.bot/marketplace/219bfe73-1e22-48d1-bbb6-2fbce22cf2e2/orchestraltools-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Add to cart

Add an item to the shopping cart using its hub product ID. Returns the current cart state including any error or success messages. The hub_product_id is obtained from get_product_details. Does not require authentication for guest carts.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | Product name (e.g. Berlin Strings). |
| `store_id` | string | Yes | Hub product ID (e.g. 4015 for Berlin Strings). Obtain from hub_product_id field in get_product_details response. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/add-to-cart \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"name":"<string>","store_id":"<string>"}'
```

### Get all products

Full-text search across the Orchestral Tools product catalog with optional filters for type, genre, series, and price. Returns paginated results ordered by relevance. Each product summary exposes a slug for detail lookup. Server-side filtering is limited to the declared params; finer filtering is client-side over the returned list.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `genre` | string | No | Filter by genre. Values from get_filter_options genres (e.g. Strings, Brass, Woodwinds, Percussion, Piano, Choir, Epic, Full Orchestra). |
| `page` | integer | No | Page number for pagination (1-based). |
| `price_max` | number | No | Maximum price in EUR to filter by. |
| `query` | string | No | Search query for product titles and descriptions. Use * for all products. |
| `series` | string | No | Filter by product series. Values from get_filter_options series (e.g. Berlin Strings, Metropolis Ark, Artist Series). |
| `type` | string | No | Filter by product type. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/get-all-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"genre":"<string>","page":"<integer>","price_max":"<number>","query":"<string>","series":"<string>","type":"<string>"}'
```

### Get bundles

Retrieve all product bundles available in the catalog. Returns the same product summary shape as get_all_products, pre-filtered to type=bundle.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/get-bundles \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get filter options

Retrieve all available filter options for series, genres, and studios. Each option has a label (display name) and value (backtick-wrapped string for use in get_all_products filtering). Use these values to populate filter parameters.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/get-filter-options \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get free instruments

Retrieve all free virtual instruments available for download from the SINEfactory and other free offerings. These instruments have price_eur of 0 and can be downloaded without purchase.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/get-free-instruments \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get price

Get current pricing information for a product using its hub product ID. The hub_product_id is obtained from get_product_details and differs from the store_id in catalog listings. Returns price in cents.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `store_id` | string | Yes | Hub product ID (e.g. 4015 for Berlin Strings, 4011 for Metropolis Ark 3). Obtain from hub_product_id field in get_product_details response. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/get-price \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"store_id":"<string>"}'
```

### Get product details

Retrieve full detail for a single product by its URL slug. Returns metadata, hub_product_id (required for pricing and cart operations), highlights, specs, and child instruments for collections. The slug is the last path segment of the product URL on orchestraltools.com.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Product slug from the URL path (e.g. berlin-strings, metropolis-ark-3, symphonic-sphere). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/orchestral-tools/get-product-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.