Hightouch Destinations API

Destination connectors receiving synced data.

OpenAPI Specification

hightouch-destinations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Hightouch Destinations API
  description: Hightouch Public Rest API to access syncs, models, sources and destinations
  version: 1.0.0
  contact:
    name: Hightouch
    url: https://hightouch.com
  x-harvested-from: https://api.hightouch.io/api/swagger.json
  x-harvested-on: '2026-08-13'
  x-source-document: openapi/_original/hightouch-api-openapi.json
servers:
- url: https://api.hightouch.com/api/v1
tags:
- name: Destinations
paths:
  /destinations/{destinationId}:
    get:
      operationId: GetDestination
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Destination'
              examples:
                Example 1:
                  value:
                    id: 1
                    name: testdestination
                    slug: testdestination
                    workspaceId: 1
                    createdAt: '2022-02-16T21:37:58.510Z'
                    updatedAt: '2022-02-16T21:37:58.510Z'
                    type: salesforce
                    syncs:
                    - 1
                    - 2
                    configuration:
                      hostname: foo
                      region: bar
        '401':
          description: Unauthorized
        '404':
          description: Not found
      description: Retrieve a destination based on its Hightouch ID
      summary: Get Destination
      security:
      - bearerAuth: []
      parameters:
      - description: The destination's ID
        in: path
        name: destinationId
        required: true
        schema:
          format: double
          type: number
      tags:
      - Destinations
    patch:
      operationId: UpdateDestination
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/Destination'
                - $ref: '#/components/schemas/ValidateErrorJSON'
                - $ref: '#/components/schemas/InternalServerError'
              examples:
                Example 1:
                  value:
                    id: 1
                    name: Webhook Website code 201
                    slug: webhookwebsite
                    workspaceId: 1
                    createdAt: '2022-11-09T18:39:24.957Z'
                    updatedAt: '2022-12-10T00:14:17.938Z'
                    type: webhook
                    syncs: []
                    configuration:
                      url: http://httpstat.us/201
                      methodKey: url
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '422':
          description: Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '500':
          description: Something went wrong
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      description: 'Update an existing destination


        Patch a destination based on its Hightouch ID'
      summary: Update Destination
      security:
      - bearerAuth: []
      parameters:
      - description: The destination's ID
        in: path
        name: destinationId
        required: true
        schema:
          format: double
          type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DestinationUpdate'
            example:
              name: Webhook Website code 201
              configuration:
                url: http://httpstat.us/201
                methodKey: url
      tags:
      - Destinations
  /destinations:
    get:
      operationId: ListDestination
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/Destination'
                    type: array
                required:
                - data
                type: object
              examples:
                Example 1:
                  value:
                    data:
                    - id: 1
                      name: testdestination1
                      slug: testdestination1
                      workspaceId: 1
                      createdAt: '2022-02-16T21:37:58.510Z'
                      updatedAt: '2022-02-16T21:37:58.510Z'
                      type: salesforce
                      syncs:
                      - 1
                      - 2
                      configuration:
                        hostname: foo
                        region: bar
                    - id: 2
                      name: testdestination2
                      slug: testdestination2
                      workspaceId: 1
                      createdAt: '2022-02-16T21:37:58.510Z'
                      updatedAt: '2022-02-16T21:37:58.510Z'
                      type: hubspot
                      syncs:
                      - 1
                      - 2
                      configuration:
                        hostname: foo
                        region: bar
                    hasMore: false
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '422':
          description: Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
      description: List the destinations in the user's workspace
      summary: List Destinations
      security:
      - bearerAuth: []
      parameters:
      - description: Filter based on the destination's name
        in: query
        name: name
        required: false
        schema:
          type: string
      - description: Filter based on destination's slug
        in: query
        name: slug
        required: false
        schema:
          type: string
      - description: set the offset on results (for pagination)
        in: query
        name: offset
        required: false
        schema:
          default: 0
          format: double
          type: number
      - description: limit the number of objects returned (default is 100)
        in: query
        name: limit
        required: false
        schema:
          default: 100
          format: double
          type: number
      - description: Order the returned destinations
        in: query
        name: orderBy
        required: false
        schema:
          default: id
          type: string
          enum:
          - id
          - name
          - slug
          - createdAt
          - updatedAt
      tags:
      - Destinations
    post:
      operationId: CreateDestination
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/Destination'
                - $ref: '#/components/schemas/ValidateErrorJSON'
                - $ref: '#/components/schemas/InternalServerError'
              examples:
                Example 1:
                  value:
                    id: 1
                    name: Webhook Website
                    slug: webhookwebsite
                    workspaceId: 1
                    createdAt: '2022-11-09T18:39:24.957Z'
                    updatedAt: '2022-11-09T18:39:24.957Z'
                    type: webhook
                    syncs: []
                    configuration:
                      url: http://httpstat.us/200
                      methodKey: url
        '401':
          description: Unauthorized
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '422':
          description: Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '500':
          description: Something went wrong
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      description: Create a new destination
      summary: Create Destination
      security:
      - bearerAuth: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DestinationCreate'
            example:
              name: Webhook Website
              slug: webhookwebsite
              type: webhook
              configuration:
                url: http://httpstat.us/200
                methodKey: url
      tags:
      - Destinations
components:
  schemas:
    Destination:
      description: 'The service receiving your data (e.g. Salesforce, Hubspot, Customer.io, or a

        SFTP server)'
      properties:
        id:
          type: number
          format: double
          description: The destination's id
        name:
          type: string
          description: The destination's name
        slug:
          type: string
          description: The destination's slug
        workspaceId:
          type: number
          format: double
          description: The id of the workspace that the destination belongs to
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the destination was created
        updatedAt:
          type: string
          format: date-time
          description: The timestamp when the destination was last updated
        type:
          type: string
          description: The destination's type (e.g. salesforce or hubspot).
        configuration:
          properties: {}
          additionalProperties: {}
          type: object
          description: 'The destination''s configuration. This specifies general metadata about destination,
            like hostname and username.

            Hightouch will be using this configuration to connect to destination.


            The schema depends on the destination type.


            Consumers should NOT make assumptions on the contents of the

            configuration. It may change as Hightouch updates its internal code.'
        syncs:
          items:
            type: number
            format: double
          type: array
          description: A list of syncs that sync to this destination.
      required:
      - id
      - name
      - slug
      - workspaceId
      - createdAt
      - updatedAt
      - type
      - configuration
      - syncs
      type: object
      additionalProperties: false
    DestinationCreate:
      description: The input for creating a Destination
      properties:
        name:
          type: string
          description: The destination's name
        slug:
          type: string
          description: The destination's slug
        type:
          type: string
          description: The destination's type (e.g. salesforce or hubspot).
        configuration:
          properties: {}
          additionalProperties: {}
          type: object
          description: 'The destination''s configuration. This specifies general metadata about destination,
            like hostname and username.

            Hightouch will be using this configuration to connect to destination.


            The schema depends on the destination type.


            Consumers should NOT make assumptions on the contents of the

            configuration. It may change as Hightouch updates its internal code.'
      required:
      - name
      - slug
      - type
      - configuration
      type: object
      additionalProperties: false
    DestinationUpdate:
      description: The input for updating a Destination
      properties:
        name:
          type: string
          description: The destination's name
        configuration:
          properties: {}
          additionalProperties: {}
          type: object
          description: 'The destination''s configuration. This specifies general metadata about destination,
            like hostname and username.

            Hightouch will be using this configuration to connect to destination.


            The schema depends on the destination type.


            Consumers should NOT make assumptions on the contents of the

            configuration. It may change as Hightouch updates its internal code.'
      type: object
      additionalProperties: false
    InternalServerError:
      type: string
      enum:
      - Internal Server Error
      nullable: false
    ValidateErrorJSON:
      properties:
        message:
          type: string
          enum:
          - Validation failed
          nullable: false
        details:
          properties: {}
          additionalProperties: {}
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Bearer
security:
- bearerAuth: []