Hightouch API

The Hightouch API provides programmatic access to manage data sources, models, destinations, syncs, and audiences. The Resource API enables teams to manage Hightouch resources via git, CI/CD, and approval workflows.

OpenAPI Specification

hightouch-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Hightouch Management API
  description: >-
    Minimal OpenAPI description for the Hightouch Management API covering
    sources, models, destinations, and syncs as documented in the API guide.
    Authentication is via workspace API key. Generated from public
    documentation; verify before production use.
  version: "v1"
  contact:
    name: Hightouch Documentation
    url: https://hightouch.com/docs/developer-tools/api-guide
  x-generated-from: https://hightouch.com/docs/developer-tools/api-guide
  x-generated-by: claude-crawl-2026-05-08
servers:
  - url: https://api.hightouch.com
    description: Hightouch production
security:
  - bearerAuth: []
tags:
  - name: Sources
    description: Data sources
  - name: Models
    description: Data models
  - name: Destinations
    description: Data destinations
  - name: Syncs
    description: Data syncs and runs
paths:
  /api/v1/sources:
    get:
      operationId: listSources
      summary: List sources
      tags:
        - Sources
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createSource
      summary: Create a source
      tags:
        - Sources
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Source'
      responses:
        '201':
          description: Created
  /api/v1/sources/{id}:
    get:
      operationId: getSource
      summary: Get a source
      tags:
        - Sources
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Source'
  /api/v1/models:
    get:
      operationId: listModels
      summary: List models
      tags:
        - Models
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createModel
      summary: Create a model
      tags:
        - Models
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Model'
      responses:
        '201':
          description: Created
  /api/v1/models/{id}:
    get:
      operationId: getModel
      summary: Get a model
      tags:
        - Models
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
  /api/v1/destinations:
    get:
      operationId: listDestinations
      summary: List destinations
      tags:
        - Destinations
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
  /api/v1/destinations/{id}:
    get:
      operationId: getDestination
      summary: Get a destination
      tags:
        - Destinations
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
  /api/v1/syncs:
    get:
      operationId: listSyncs
      summary: List syncs
      tags:
        - Syncs
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createSync
      summary: Create a sync
      tags:
        - Syncs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Sync'
      responses:
        '201':
          description: Created
  /api/v1/syncs/{id}:
    get:
      operationId: getSync
      summary: Get a sync
      tags:
        - Syncs
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sync'
  /api/v1/syncs/{id}/trigger:
    post:
      operationId: triggerSync
      summary: Trigger a sync run
      tags:
        - Syncs
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Triggered
          content:
            application/json:
              schema:
                type: object
  /api/v1/syncs/{id}/runs:
    get:
      operationId: listSyncRuns
      summary: List sync runs
      tags:
        - Syncs
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
  schemas:
    Source:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        slug:
          type: string
        type:
          type: string
    Model:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        slug:
          type: string
        sourceId:
          type: string
    Destination:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        slug:
          type: string
        type:
          type: string
    Sync:
      type: object
      properties:
        id:
          type: string
        slug:
          type: string
        modelId:
          type: string
        destinationId:
          type: string
        schedule:
          type: object