# WideOrbit > WideOrbit is a premium ad management platform for the media industry, giving broadcast television, cable and broadcast networks, radio and digital publishers a single system to sell, traffic, bill and reconcile advertising across linear, digital and cross-media campaigns. WideOrbit manages roughly $33 billion in annual ad revenue for 6,450+ stations and networks, and has been a wholly owned subsidiary of Lumine Group (Constellation Software) since February 2023. This file was GENERATED by API Evangelist from the WideOrbit public surface on 2026-08-12. WideOrbit does not publish an llms.txt of its own (https://www.wideorbit.com/llms.txt returns 404). ## What an agent needs to know first - WideOrbit has **no openly published machine-readable API contract**. There is no OpenAPI, no AsyncAPI, no GraphQL SDL, no JSON Schema and no public Postman collection anywhere on wideorbit.com, wocentral.com or the WideOrbit GitHub organization. - The only public API reference is a **60-page PDF**, the WO Data API Guide 4.2.1. - API access is limited to **WideOrbit-certified Connectors**. Credentials, and even the base URL of the WO Data API, are provisioned by WideOrbit Support — they are not published. - There is **no MCP server, no A2A agent card, no llms.txt and no /.well-known/ document** on any WideOrbit host except the Keycloak OpenID Connect discovery document. ## APIs - [WideOrbit.io API Gateway](https://www.wideorbit.com/io/): Certified-partner gateway providing real-time, object-level interaction with WO Traffic, WO Network and WO Omni. Base https://apigateway.wideorbit.com (a Kong edge). Every unauthenticated request — including /openapi.json and /.well-known/* — 302s to the WO Central Keycloak sign-in, so the catalog and specifications are readable only inside the authenticated Dev Portal. - [WO Data API (DAPI) 4.2.1](https://www.wideorbit.com/wp-content/uploads/2022/07/WO-DATA-API-Guide-Version-421_New.pdf): REST bulk-export service over WO Network, WO Traffic and WO Omni data, "in a unified version agnostic manner". Asynchronous: a submit call returns a RequestId and the data is pushed later to a destination the caller nominates. Base URL is templated as {root} and is not published. ## Authentication - **WideOrbit.io API Gateway** — OpenID Connect against a Keycloak realm at WO Central. Issuer https://sso.wocentral.com/auth/realms/externalgateway (pre-production: https://ppe-sso.wocentral.com/auth/realms/externalgateway). Authorization-code flow observed with client_id=apigateway and scope=openid; client_credentials is advertised for machine-to-machine partners. Discovery document: https://sso.wocentral.com/auth/realms/externalgateway/.well-known/openid-configuration - **WO Data API** — three flat request headers: `partner-id`, `api-key`, `agreement-key`. The combination identifies both the calling client and the data area it may reach. A bad combination returns `401` with `{ "Error": "Unauthorized access" }`. The diagnostic endpoint uses a separate `DiagnosticSecurityKey` header. ## WO Data API operations All paths are relative to the per-partner `{root}`. - `GET {root}/api/Stations/GetAllowedStations` — stations list. **DEPRECATED**; use Request Traffic Stations List. - `GET` Request Traffic Stations List — stations available to the current agreement; the replacement for the deprecated method above. **The guide documents the method, the headers and the response schema but publishes no URI for it** — ask WideOrbit Support. - `POST {root}/api/RequestData/GetData` — submit an export delivered to an HTTP endpoint. - `POST {root}/api/RequestData/GetDataFtp` — submit an export delivered to FTP. - `POST {root}/api/RequestData/GetDataLocalStorage` — submit an export delivered to local storage. - `POST {root}/api/RequestData/GetDataEmail` — submit an export delivered by e-mail. - `POST {root}/api/RequestData/GetDataAWSS3` — submit an export delivered to AWS S3. - `POST {root}/api/RequestData/GetDataGCP` — submit an export delivered to Google Cloud. - `POST {root}/api/RequestData/GetDataKafka` — submit an export delivered to the caller's Kafka brokers. - `POST {root}/api/RequestStats/GetRequestStatus` — status and timings for a RequestId. - `POST {root}/api/RequestStats/CancelRequest/{request_id}` — cancel one request. - `POST {root}/api/RequestStats/CancelRequestsPerAgreement` — cancel every request under an agreement. - `POST {root}/api/ImportData` — submit an import request. - `POST {root}/api/Requests/Update/{requestId}` — the integrator's callback acknowledgement. - `GET {root}/api/Diagnostic/status_check[?full=true]` — broadcaster connection health. ## Runtime semantics an agent must respect - **Asynchronous by default.** A submit returns a RequestId; the data arrives later as an out-of-band POST to your `TargetUrl`. Poll `GetRequestStatus` for `Pending | PostedToBa | In_Progress | Complete | Failed | PartiallyCompleted | Deleted | Inactive | Canceling | Canceled | Abandoned`. - **Chunking, not pagination.** No cursor, offset or next-link. `ChunkRowsCount` (10–9999) sizes each packet; each packet carries `requestId`, `chunkId` and `resultSet`, and the **last chunk is signalled by a negative chunkId equal to the total chunk count**. You must stitch the chunks yourself. - **No idempotency.** No idempotency key and no dedupe window. Retrying a submit creates a second export with a second RequestId. - **No rate limits are published**, and no `RateLimit-*`, `X-RateLimit-*` or `Retry-After` headers are documented. Backpressure appears as a request moving to `Abandoned` after expiring in the queue. - **No versioning in the URI or headers.** The guide revision (4.2.1) is the version. - **Errors are proprietary and inconsistent**: `401` returns `{"Error": ...}`, `500` returns `{"Message": ...}`. No RFC 9457, no error codes. - Format is chosen in the request body via `DataExportFormat` (JSON, XML, CSV, RAW), not by the `Accept` header. `Accept-Encoding: gzip` works on HTTP delivery only. ## SDKs and packages None. WideOrbit publishes no first-party client library on npm, PyPI, NuGet, RubyGems, Packagist, crates.io or the PowerShell Gallery. The `@wostreaming/*` packages belong to WO Streaming, which Audacy acquired from WideOrbit in October 2021 and now operates as AmperWave — they are not a WideOrbit surface. ## Pricing None published. `https://www.wideorbit.com/pricing/` returns 404; every path ends at an Account Executive. ## Links - [WideOrbit.io](https://www.wideorbit.com/io/): the developer program landing page - [WideOrbit Connectors](https://www.wideorbit.com/connectors/): how a software provider gets certified - [Integrations](https://www.wideorbit.com/integrations/): the certified Connector directory - [WO Data Bridge](https://www.wideorbit.com/products/data-bridge/): the cloud data-warehouse alternative to calling the API - [Product support](https://www.wideorbit.com/product-support/) - [Blog](https://www.wideorbit.com/blog/) - [Contact](https://www.wideorbit.com/contact/) - [Terms and conditions](https://www.wideorbit.com/terms-and-conditions) - [Privacy policy](https://www.wideorbit.com/privacy) ## Not available - No OpenAPI / Swagger — every candidate path on apigateway.wideorbit.com answers 302 to sign-in. - No public status page (status.wideorbit.com does not resolve; /status/ is 404). - No public changelog — releasenotes.wideorbit.com renders the WO Central sign-in. - No security.txt, api-catalog, ai-plugin.json or agent-card.json on any host. - No MCP server and no A2A agent card.