distribution.techdistribution.tech

API reference, Inventory and audience

Network coverage for your audience

GET /inventory

Scope: inventory:read.

View .md

Overview

Scope: inventory:read.

Endpoint
GET https://app.distribution.tech/api/v1/inventory
Scope
inventory:read
Changes data
No, a read
MCP tool
inventory

Parameters

This endpoint takes no parameters beyond the API key.

Request with curl

Set DISTRIBUTION_API_KEY to a key from Developers with the inventory:read scope, and each path variable to an id from an earlier answer. The body carries the required fields.

curl
curl "https://app.distribution.tech/api/v1/inventory" \
  -H "Authorization: Bearer $DISTRIBUTION_API_KEY"

Response

200 OK. The body has these fields:

Response fields of GET /inventory
NameTypeRequiredDescription
segmentsarray of objectYes
unresolvedbooleanYes
coverage_as_ofstring (date-time) or nullYes
channelsarray of objectYes
200 response body, every field with its type
{
  "segments": [
    {
      "id": "<string>",
      "label": "<string>"
    }
  ],
  "unresolved": false,
  "coverage_as_of": "<date-time>",
  "channels": [
    {
      "channel": "x_creators",
      "label": "<string>",
      "sale": "live",
      "level": "strong",
      "verified_nodes": 0,
      "bookable_nodes": 0,
      "priced_units": 0,
      "note": "<string>"
    }
  ]
}

Errors

Error statuses of GET /inventory
StatusWhen
400A parameter is not valid: details.problems names each field and what it accepts.
401No API key, an unknown one, or a revoked one.
403The key does not have this endpoint's scope.
429Too many requests for this key in the current minute (60); Retry-After and RateLimit-Reset say when to try again. On POST /campaigns and on POST /plans/current/lines when it starts a plan: the brand's 3 new campaigns in 24 hours are used (details.reason daily_campaign_limit); details.resets_at and Retry-After say when the limit reopens, a rolling 24 hours from the first of them, not a calendar day; archiving or deleting a campaign does not give its slot back. On GET /creators and GET /creators/{id}: a creator read limit is used (details.reason per_minute, daily_lists, daily_reveals, daily_seen or locked). daily_seen is your workspace's one pool of 300 creator views a day (300 different creators shown or opened since midnight UTC), shared by the app and every API key of the brand: details.scope workspace and details.limit 300; a creator already seen today, in the app or through any key, still opens and costs nothing. daily_lists is the day's list calls (each GET /creators page or creators_search is one; details.limit, 60): it is counted apart from creator views, resets at midnight UTC, and Retry-After says when. daily_reveals is the day's creator profiles opened (details.limit, 60). The other reasons are this key's own limit (details.scope key) or the brand's ceiling over all its keys (details.scope api).
500internal: the request failed on our side. Try again.
503unavailable: the service or this part of it is not reachable right now. Try again shortly.
  • GET /audience: Audience fit for one of your campaigns, or for a profile

Get access

Keys are created in Developers once your brand is approved. Connect an agent to ask for access, then read the agent guide for the full flow.