# Defense Innovation Unit — 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 the Defense Innovation Unit's catalog of commercial technology solutions prototyped for the Department of Defense. Retrieve catalog entries by keyword or explore the full listing across project names, vendor names, portfolios, and technology areas.

**Category:** Government & Public Data | **Website:** [www.diu.mil/](https://www.diu.mil/) | **Docs:** [parse.bot/marketplace/a794a451-cc38-4965-9091-a0593e289549/diu-mil-api](https://parse.bot/marketplace/a794a451-cc38-4965-9091-a0593e289549/diu-mil-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/defense-innovation-unit/`
**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

### Get catalog

Retrieve DIU commercial solutions catalog entries with optional keyword filtering. Paginates automatically through results. Each entry represents a prototyped commercial technology solution available to DoD. Without a query, returns all entries; with a query, filters across project names, vendor names, portfolios, and key terms. Results are ordered by year referenced (newest first).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return. |
| `offset` | integer | No | Starting offset for pagination. |
| `query` | string | No | Search keyword to filter catalog entries across project names, vendor names, portfolios, and key terms. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/defense-innovation-unit/get-catalog \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","offset":"<integer>","query":"<string>"}'
```

### Search catalog

Search the DIU catalog by keyword. Returns matching entries across project names, vendor names, portfolios, and key terms. Requires a non-empty query string. Returns up to the specified limit of results in a single page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return. |
| `query` | string | Yes | Search keyword (e.g., 'cyber', 'AI', 'drone'). |

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