Teads / Outbrain Conversion API

Server-to-server Conversion API for advertisers running on the combined Teads / Outbrain open-internet platform. Lets advertisers send first-party conversion events (Purchase, Lead, AddToCart, ViewContent) directly from backends or server-side GTM, independent of browser cookies. Modeled on the public Teads server-side GTM template.

Teads / Outbrain Conversion API is one of 3 APIs that Outbrain publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Advertising, Conversion API, Server Side, Measurement, and First Party Data. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

outbrain-teads-conversion-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Teads Advertiser Conversion API
  description: >
    Server-to-server Conversion API for advertisers running on the Teads /
    Outbrain combined open-internet platform. Lets advertisers send first-party
    conversion events directly from their backend (or via Google Tag Manager
    server-side container) to Teads for campaign measurement, optimization,
    attribution, and audience signals — independent of browser cookies. Modeled
    on the public Teads Conversion API GTM server-side template and Teads /
    Outbrain advertiser tagging documentation.
  version: '1.0'
  contact:
    name: Teads Support
    url: https://www.teads.com
  license:
    name: Teads Terms of Service
    url: https://www.teads.com/

servers:
  - url: https://r.teads.tv
    description: Teads Conversion API endpoint

security:
  - BearerAuth: []

tags:
  - name: Conversions
    description: Server-side conversion events

paths:
  /capi/event:
    post:
      summary: Send A Server Side Conversion Event
      description: >
        Submit a conversion event (e.g. purchase, lead, sign-up, add-to-cart)
        from the advertiser's backend to Teads. Used for measurement, conversion
        attribution, and feeding Teads' predictive AI optimization engine
        without requiring browser-side pixels.
      operationId: sendConversionEvent
      tags:
        - Conversions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversionEvent'
      responses:
        '202':
          description: Event accepted for processing.
        '400':
          description: Invalid event payload.

  /capi/event/batch:
    post:
      summary: Send A Batch Of Conversion Events
      description: Submit up to 1000 conversion events in a single request.
      operationId: sendConversionEventBatch
      tags:
        - Conversions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [events]
              properties:
                events:
                  type: array
                  maxItems: 1000
                  items:
                    $ref: '#/components/schemas/ConversionEvent'
      responses:
        '202':
          description: Batch accepted.

components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

  schemas:
    ConversionEvent:
      type: object
      required: [event_name, event_time, pixel_id]
      properties:
        pixel_id:
          type: string
          description: Teads conversion pixel identifier.
        event_name:
          type: string
          enum: [PageView, ViewContent, AddToCart, InitiateCheckout, Purchase, Lead, CompleteRegistration, Custom]
        event_time:
          type: integer
          description: Unix timestamp (seconds) when the event occurred.
        event_id:
          type: string
          description: Client-generated dedupe key.
        event_source_url:
          type: string
          format: uri
        action_source:
          type: string
          enum: [website, app, system_generated, other]
        user_data:
          type: object
          description: Hashed user identifiers (email, phone, IDFA, GAID) for matching.
          properties:
            em:
              type: string
              description: SHA-256 hashed email.
            ph:
              type: string
              description: SHA-256 hashed phone number.
            client_ip_address:
              type: string
            client_user_agent:
              type: string
            external_id:
              type: string
        custom_data:
          type: object
          properties:
            currency:
              type: string
            value:
              type: number
            content_ids:
              type: array
              items:
                type: string
            num_items:
              type: integer
            order_id:
              type: string