# OpenDirect API

**Canonical:** https://apis.io/apis/iab-tech-lab/opendirect-api/  
**Provider:** IAB Tech Lab — https://apis.io/providers/iab-tech-lab/  
**Documentation:** https://iabtechlab.com/standards/opendirect/

OpenDirect API is one of 9 APIs that [IAB Tech Lab](https://apis.io/providers/iab-tech-lab/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include Programmatic Direct, Media Buying, and Order. The published artifact set on APIs.io includes API documentation and an OpenAPI specification.

OpenDirect is IAB Tech Lab's standard REST API for programmatic direct (guaranteed) media buying: organizations, accounts, products, orders, lines, creatives, assignments, change requests and messages exchanged between buyer and seller systems. The 1.5.1 Swagger 2.0 contract is published verbatim; OpenDirect 2.1 is published as prose plus an MCP tool catalog (33 tools) in the mcp-config reference implementation. There is no IAB Tech Lab-hosted instance — every seller hosts its own endpoint, which is why the contract's host is a placeholder.

## Operations (51)

| Method | Path | Summary |
|---|---|---|
| GET | `/accounts` | — |
| POST | `/accounts` | — |
| GET | `/accounts/{accountId}` | — |
| GET | `/accounts/{accountId}/assignments` | — |
| POST | `/accounts/{accountId}/assignments` | — |
| GET | `/accounts/{accountId}/assignments/{assignmentId}` | — |
| PUT | `/accounts/{accountId}/assignments/{assignmentId}` | — |
| DELETE | `/accounts/{accountId}/assignments/{assignmentId}` | — |
| PUT | `/accounts/{accountId}/assignments/{assignmentId}?disable` | — |
| GET | `/accounts/{accountId}/creatives` | — |
| POST | `/accounts/{accountId}/creatives` | — |
| GET | `/accounts/{accountId}/creatives/{creativeId}` | — |
| PUT | `/accounts/{accountId}/creatives/{creativeId}` | — |
| DELETE | `/accounts/{accountId}/creatives/{creativeId}` | — |
| GET | `/accounts/{accountId}/orders` | — |
| POST | `/accounts/{accountId}/orders` | — |
| GET | `/accounts/{accountId}/orders/{orderId}` | — |
| PUT | `/accounts/{accountId}/orders/{orderId}` | — |
| DELETE | `/accounts/{accountId}/orders/{orderId}` | — |
| GET | `/accounts/{accountId}/orders/{orderId}/lines` | — |
| POST | `/accounts/{accountId}/orders/{orderId}/lines` | — |
| GET | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}` | — |
| PUT | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}` | — |
| DELETE | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}` | — |
| PUT | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}?book` | — |
| PUT | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}?reserve` | — |
| PUT | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}?cancel` | — |
| PUT | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}?reset` | — |
| GET | `/organizations` | — |
| POST | `/organizations` | — |
| GET | `/organizations/{organizationId}` | — |
| PUT | `/organizations/{organizationId}` | — |
| DELETE | `/organizations/{organizationId}` | — |
| GET | `/products` | — |
| GET | `/products/{productId}` | — |
| POST | `/products/search` | — |
| POST | `/products/avails` | — |
| GET | `/accounts/{accountId}/changerequest` | — |
| POST | `/accounts/{accountId}/changerequest` | — |
| GET | `/accounts/{accountId}/changerequest/{changerequestId}` | — |
| PUT | `/accounts/{accountId}/changerequest/{changerequestId}` | — |
| DELETE | `/accounts/{accountId}/changerequest/{changerequestId}` | — |
| PUT | `/accounts/{accountId}/changerequest/{changerequestId}?approve` | — |
| PUT | `/accounts/{accountId}/changerequest/{changerequestId}?reject` | — |
| GET | `/accounts/{accountId}/changerequest/{changerequestId}/lines` | — |
| POST | `/accounts/{accountId}/changerequest/{changerequestId}/lines` | — |
| GET | `/accounts/{accountId}/changerequest/{changerequestId}/lines/{lineId}` | — |
| PUT | `/accounts/{accountId}/changerequest/{changerequestId}/lines/{lineId}` | — |
| DELETE | `/accounts/{accountId}/changerequest/{changerequestId}/lines/{lineId}` | — |
| GET | `/accounts/{accountId}/orders/{orderId}/lines/stats` | — |
| GET | `/accounts/{accountId}/orders/{orderId}/lines/{lineId}/stats` | — |

## Machine-readable artifacts (7)

- **Documentation** — https://github.com/InteractiveAdvertisingBureau/OpenDirect
- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/iab-tech-lab/refs/heads/main/openapi/iab-tech-lab-opendirect-1-5-1-swagger.yaml
- **MCPServer** — https://raw.githubusercontent.com/api-evangelist/iab-tech-lab/refs/heads/main/mcp/iab-tech-lab-mcp.yml
- **ToolCrosswalk** — https://raw.githubusercontent.com/api-evangelist/iab-tech-lab/refs/heads/main/mcp/iab-tech-lab-tool-crosswalk.yml
- **Overlay** — https://raw.githubusercontent.com/api-evangelist/iab-tech-lab/refs/heads/main/overlays/iab-tech-lab-opendirect-1-5-1-overlay.yaml
- **AgentSkill** — https://raw.githubusercontent.com/api-evangelist/iab-tech-lab/refs/heads/main/skills/iab-tech-lab-opendirect-book-line.md
- **APIsJSON** — https://raw.githubusercontent.com/api-evangelist/iab-tech-lab/refs/heads/main/apis.yml

## Other IAB Tech Lab APIs (8)

- [IAB Agentic Advertising API](https://apis.io/apis/iab-tech-lab/agentic-advertising-api/)
- [Seller Agent API](https://apis.io/apis/iab-tech-lab/seller-agent-api/)
- [Buyer Agent API](https://apis.io/apis/iab-tech-lab/buyer-agent-api/)
- [OpenRTB 2.x Protocol](https://apis.io/apis/iab-tech-lab/openrtb/)
- [AdCOM Protobuf](https://apis.io/apis/iab-tech-lab/adcom/)
- [Agentic RTB Framework gRPC](https://apis.io/apis/iab-tech-lab/agentic-rtb-framework/)
- [VAST and VMAP Schemas](https://apis.io/apis/iab-tech-lab/vast/)
- [Supply Chain API](https://apis.io/apis/iab-tech-lab/supply-chain-api/)

## Tags

Programmatic Direct, Media Buying, Order

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/iab-tech-lab/opendirect-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/iab-tech-lab/.
