CustomerOS Outreach API

The Outreach API from CustomerOS — 1 operation(s) for outreach.

Operations 1

POST /outreach/v1/email/tracking Generate email tracking URLs

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/customeros-outreach-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

customeros-outreach-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CustomerOS Outreach API
  description: CustomerOS API for multiple services (Verify, Enrich, Orgs)
  contact: {}
  version: '1.0'
servers:
- url: https://api.customeros.ai/
tags:
- name: Outreach
paths:
  /outreach/v1/email/tracking:
    post:
      tags:
      - Outreach
      summary: Generate email tracking URLs
      description: Generates tracking pixels, click tracking URLs, and unsubscribe links for email campaigns
      requestBody:
        description: Tracking URL generation configuration
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/restoutreach.EmailTrackingRequest'
        required: true
      responses:
        '200':
          description: Tracking URLs generated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/restoutreach.EmailTrackingResponse'
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rest.ErrorResponse'
        '401':
          description: Unauthorized - Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rest.ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rest.ErrorResponse'
      security:
      - ApiKeyAuth: []
      x-codegen-request-body-name: body
components:
  schemas:
    rest.ErrorResponse:
      type: object
      properties:
        message:
          type: string
        requestId:
          type: string
          example: 1234567890abcdef
        status:
          type: string
          description: Status indicates the result of the operation ("success" or "error")
          example: success
    restoutreach.EmailTrackingRequest:
      type: object
      properties:
        campaignId:
          type: string
          description: 'Unique identifier for the email campaign

            required: true

            example: camp_123456'
        generateUnsubscribeLink:
          type: boolean
          description: 'Enable unsubscribe link generation

            required: false

            default: false'
        links:
          type: array
          description: 'List of URLs to be tracked

            required: false

            example: ["https://example.com/page1", "https://example.com/page2"]'
          items:
            type: string
        messageId:
          type: string
          description: 'Unique identifier for the message (optional, generated if not provided)

            required: false

            example: msg_123456'
        recipientId:
          type: string
          description: 'Unique identifier for the recipient

            required: true

            example: recipient_123456'
        trackClicks:
          type: boolean
          description: 'Enable click tracking for links

            required: false

            default: false'
        trackOpens:
          type: boolean
          description: 'Enable open tracking via pixel

            required: false

            default: false'
        trackerDomain:
          type: string
          description: 'Domain to use for tracking URLs (optional, system default used if not provided)

            required: false

            format: hostname

            example: track.example.com'
        unsubscribeLink:
          type: string
          description: 'URL for unsubscribe page

            required: false

            format: uri

            example: https://example.com/unsubscribe'
      description: Request payload for generating email tracking URLs and pixels
    restoutreach.TrackedLink:
      type: object
      properties:
        original:
          type: string
          description: 'Original URL before tracking

            required: true

            format: uri'
          example: https://example.com/page1
        tracked:
          type: string
          description: 'Generated tracking URL

            required: true

            format: uri'
          example: https://track.example.com/r/abc123
      description: Pair of original and tracking-enabled URLs
    restoutreach.EmailTrackingResponse:
      type: object
      properties:
        status:
          type: string
          description: 'Operation status

            required: true

            enum: success'
          example: success
        trackedLinks:
          type: array
          description: 'List of original and tracked URLs (only if TrackClicks is true)

            required: false'
          items:
            $ref: '#/components/schemas/restoutreach.TrackedLink'
        trackingId:
          type: string
          description: 'Generated or provided message ID

            required: true'
          example: msg_123456
        trackingPixel:
          type: string
          description: 'URL for tracking pixel (only if TrackOpens is true)

            required: false

            format: uri'
          example: https://track.example.com/p/abc123
        unsubscribeLink:
          type: string
          description: 'Generated unsubscribe link (only if GenerateUnsubscribeLink is true)

            required: false

            format: uri'
          example: https://track.example.com/u/abc123
      description: Response containing generated tracking URLs and pixel
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: X-CUSTOMER-OS-API-KEY
      in: header
x-original-swagger-version: '2.0'