# Uline — 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.

> Search Uline's catalog by keyword or category to instantly access product details, pricing, and real-time stock availability. Browse product lines and subcategories, retrieve individual model specifications, and check inventory levels across Uline's full range of industrial and commercial supplies.

**Category:** E-commerce | **Website:** [uline.com/](https://uline.com/) | **Docs:** [parse.bot/marketplace/0b3e25e8-d219-4686-832f-2b7570e6663b/uline-com-api](https://parse.bot/marketplace/0b3e25e8-d219-4686-832f-2b7570e6663b/uline-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/uline/`
**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

### Check stock availability

Check stock status and ship-today availability for a product model. Returns boolean indicators for in-stock and ships-today status along with the raw stock status text from the product page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `model_number` | string | Yes | The Uline model number (e.g. 'S-21261', 'S-15745') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/uline/check-stock-availability \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"model_number":"<string>"}'
```

### Get category products

Retrieve products or subcategories from a specific Uline path. Returns product listings with pricing when given a product line path (starting with /BL_), or subcategory navigation links when given a group (/Grp_) or class (/Cls_) path. Product line pages include model numbers, sizes, quantities per case, and tiered pricing.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `path` | string | Yes | The Uline URL path starting with /Cls_, /Grp_, or /BL_ (e.g. '/BL_6540/Foam-Cups', '/Grp_320/Cups', '/Cls_35/Food-Service-and-Packaging') |

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

### Get product detail

Get full details for a specific product by model number. Returns product name, description, stock status, pricing tiers, and all variants available on that product page. Each variant includes model number, description, size, quantity per case, and tiered pricing.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `model_number` | string | Yes | The Uline model number (e.g. 'S-21261', 'S-6859') |

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

### Search products

Search for products by keyword. Returns categories or product listings depending on query specificity. A broad query like 'tape' returns subcategory navigation links; a specific query like 'foam cups' returns individual product models with pricing. The site redirects to the most relevant category or product line page for the query.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword (e.g. 'tape', 'foam cups', 'boxes') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/uline/search-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"query":"<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.