Truex Media · Authentication Profile

Truex Media Authentication

Authentication

Truex Media secures its APIs with apiKey, oauth2, and hmac across 4 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

CompanyAdvertisingAdTechVideo AdvertisingConnected TVInteractive AdvertisingSDKMobileAd ServingReportingAttention MeasurementOTT
Methods: apiKey, oauth2, hmac Schemes: 4 OAuth flows: authorizationCode API key in: query

Security Schemes

reporting_api_key apiKey
· in: query (api_key)
placement_key apiKey
· in: query (placement.key)
engagement_callback_signature hmac
infillion_agent_connector_oauth oauth2
· flows: authorizationCode

Source

Authentication Profile

truex-media-authentication.yml Raw ↑
generated: '2026-08-12'
method: searched
source: >-
  Derived from the provider's own published reference in
  https://github.com/socialvibe/truex-ads-docs (web_service_ad_api.md,
  reporting_api.md, js_ad_api.md) plus live unauthenticated probes of
  get.truex.com, api.truex.com and mcp.infillion.com. true[X] publishes no
  OpenAPI, so there are no securitySchemes to derive from; every scheme below
  is read from the provider's documentation and confirmed against a live
  response where possible.
docs: https://github.com/socialvibe/truex-ads-docs/blob/master/web_service_ad_api.md
summary:
  types:
  - apiKey
  - oauth2
  - hmac
  api_key_in:
  - query
  oauth2_flows:
  - authorizationCode
  spec_derived: false
  note: >-
    Three distinct auth models across four surfaces. The ad-request surface is
    identified by an opaque placement key rather than a secret; the reporting
    surface uses a query-string API key; the server-to-server callback is
    HMAC-SHA1 signed with a shared application_secret and IP-allowlisted; the
    parent-company MCP gateway is OAuth 2.1.
schemes:
- name: reporting_api_key
  api: truex-media-reporting-api
  type: apiKey
  in: query
  parameter: api_key
  required: true
  issued_by: true[X] (partner-specific reporting API key, provisioned manually)
  description: >-
    The partner-specific reporting API key provided by true[X]. Passed as a
    query-string parameter on every Reporting API request.
  transport_note: >-
    The published reference documents the endpoint over plain http://. The host
    301s http to https, but the key is carried in the URL query string either
    way, so it is exposed to logs, proxies and Referer headers. Recommend a
    header-based credential.
  verified:
    url: https://api.truex.com/v1/publisher/performance.json?api_key=<invalid>&start_date=2026-01-01
    http_status: 401
    body: '401 Unauthorized: Invalid API key'
    fetched: '2026-08-12'
  source: https://github.com/socialvibe/truex-ads-docs/blob/master/reporting_api.md
- name: placement_key
  api: truex-media-web-service-ad-api
  type: apiKey
  in: query
  parameter: placement.key
  aliases:
  - placement_hash
  - partner_config_hash
  required: true
  issued_by: true[X] (one placement key per integrating publisher placement)
  description: >-
    A unique alphanumeric identifier generated by true[X] that identifies the
    publisher placement making the ad request. Documented as an identifier, not
    a secret — it is embedded in client-side integrations and in VAST tags.
  transport_note: >-
    Not a confidential credential. The Web Service Ad API additionally requires
    user.id, ip and user_agent on server-side calls; access control is by
    placement provisioning and bid eligibility rather than by a secret.
  verified:
    url: https://get.truex.com/v2
    http_status: 400
    body: '{"error":"partner_config_hash is missing","request_id":"..."}'
    fetched: '2026-08-12'
  source: https://github.com/socialvibe/truex-ads-docs/blob/master/web_service_ad_api.md
- name: engagement_callback_signature
  api: truex-media-web-service-ad-api
  surface: server-to-server callback (true[X] -> partner)
  type: hmac
  algorithm: HMAC-SHA1
  encoding: base64, then URL-escaped
  parameter: sig
  key: application_secret (partner-specific, issued by true[X])
  identity_parameter: application_key
  canonicalization: >-
    Parameters as key=value pairs, sorted alphabetically by key, concatenated
    with no separator, with the application_secret appended to the string before
    the HMAC is computed.
  description: >-
    Every engagement callback true[X] sends to a partner's callback URL is
    signed, so the partner can verify the request originated from true[X] and
    was not forged.
  additional_controls:
  - engagement_id uniqueness validation (duplicate suppression)
  - source IP allowlist (8 published egress addresses)
  source: https://github.com/socialvibe/truex-ads-docs/blob/master/web_service_ad_api.md
- name: infillion_agent_connector_oauth
  api: infillion-agent-connector-mcp
  surface: https://mcp.infillion.com/mcp
  type: oauth2
  operator: Infillion (parent company)
  flows:
  - flow: authorizationCode
    authorizationUrl: https://mcp.infillion.com/oauth/authorize
    tokenUrl: https://mcp.infillion.com/oauth/token
    registrationUrl: https://mcp.infillion.com/register
    pkce: S256
    refresh: true
    scopes: {}
    scopes_note: >-
      The RFC 8414 metadata publishes no scopes_supported and Infillion
      publishes no scope reference, so no scopes are recorded. A scopes/
      artifact is deliberately NOT emitted rather than invented.
  token_endpoint_auth_methods_supported:
  - none
  discovery:
  - well-known/truex-media-oauth-authorization-server.json
  - well-known/truex-media-oauth-protected-resource.json
  verified:
    url: https://mcp.infillion.com/mcp
    http_status: 401
    www_authenticate: 'Bearer realm="Infillion Gateway"'
    fetched: '2026-08-12'
  source: https://mcp.infillion.com/.well-known/oauth-authorization-server
gaps:
- No published OAuth or OIDC on the true[X] APIs themselves.
- No documented key rotation, expiry or revocation procedure for the reporting API key.
- No documented scopes or permission model on any surface.
- Reporting credential travels in the query string rather than an Authorization header.
- No OpenAPI, so none of this is machine-readable from the provider.