Hightouch Idr API
The Idr API from Hightouch — 4 operation(s) for idr.
Operations 4
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
The Idr API from Hightouch — 4 operation(s) for idr.
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/hightouch:hightouch-idr-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Hightouch Idr API
version: 1.0.0
description: Hightouch Public Rest API to access syncs, models, sources and destinations
contact:
name: Hightouch
url: https://hightouch.com
servers:
- url: https://api.hightouch.com/api/v1
tags:
- name: Idr
paths:
/idr/{graphId}/trigger:
post:
operationId: TriggerIdrRun
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerRunIdrOutput'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateErrorJSON'
description: Trigger a new IDR run for a graph
summary: Trigger IDR run
security:
- bearerAuth: []
parameters:
- in: path
name: graphId
required: true
schema:
type: string
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerRunIdrInput'
tags:
- Idr
/idr/{graphId}/runs:
get:
operationId: ListIdrRuns
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/ListIdrRunsOutput'
examples:
Example 1:
value:
data:
- id: 715eba82-2097-4c1b-91c0-ae7c279c763a
graphId: e9037b3e-2401-48f9-85eb-8c6e75e3a813
status: SUCCESS
createdAt: '2025-06-01T00:00:00.000Z'
startedAt: '2025-06-01T00:00:01.000Z'
finishedAt: '2025-06-01T00:00:02.000Z'
fullRerun: false
stats:
deterministic:
numUniqueProfiles: 100
numNewUniqueProfiles: 50
numSourceRows: 1000
hasMore: true
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateErrorJSON'
description: List runs for a given IDR graph
summary: List IDR runs
security:
- bearerAuth: []
parameters:
- description: Required. ID of the graph to list runs for.
in: path
name: graphId
required: true
schema:
type: string
- description: Run ID to query for.
in: query
name: runId
required: false
schema:
type: string
- description: Select runs that started on or after this ISO timestamp.
in: query
name: after
required: false
schema:
format: date-time
type: string
- description: Select runs that started on or before this ISO timestamp.
in: query
name: before
required: false
schema:
format: date-time
type: string
- description: Maximum number of runs to return.
in: query
name: limit
required: false
schema:
default: 20
format: double
type: number
- description: Offset to start at for pagination.
in: query
name: offset
required: false
schema:
default: 0
format: double
type: number
- description: Field to sort by.
in: query
name: orderBy
required: false
schema:
default: created_at
type: string
enum:
- created_at
- started_at
- finished_at
tags:
- Idr
/idr/{graphId}/queue-for-reprocessing:
post:
operationId: QueueForReprocessing
responses:
'200':
description: ID associated with the reprocessing request. This can be used to query the status of the request.
content:
application/json:
schema:
$ref: '#/components/schemas/IdrQueueForReprocessingOutput'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateErrorJSON'
description: 'Trigger an async job to queue identifier values for reprocessing, optionally adding them to the blocklist.
If `block` is true (the default), identifier values will be added to the blocklist and ignored in future runs.
Clusters containing these identifier values will be queued for reprocessing.'
summary: Queue identifier values for reprocessing
security:
- bearerAuth: []
parameters:
- description: Required. ID of the graph containing the identifiers.
in: path
name: graphId
required: true
schema:
type: string
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/IdrQueueForReprocessingInput'
example:
identifiers:
- identifier: email
value: a@b.com
- identifier: phone
value: '1234567890'
block: true
tags:
- Idr
/idr/{graphId}/reprocess-status/{requestId}:
get:
operationId: ReprocessStatus
responses:
'200':
description: The status of the reprocessing request.
content:
application/json:
schema:
$ref: '#/components/schemas/IdrReprocessStatusOutput'
examples:
queueing:
value:
status: queueing
queuedAt: null
reprocessedAt: null
reprocessedRunId: null
error: null
queued:
value:
status: queued
queuedAt: '2025-10-07T01:23:45.678Z'
reprocessedAt: null
reprocessedRunId: null
error: null
reprocessed:
value:
status: reprocessed
queuedAt: '2025-10-07T01:23:45.678Z'
reprocessedAt: '2025-10-07T01:23:45.678Z'
reprocessedRunId: 123e4567-e89b-12d3-a456-426614174000
error: null
failed:
value:
status: failed
queuedAt: null
reprocessedAt: null
reprocessedRunId: null
error: Failed to write identifiers to data warehouse
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'422':
description: Validation Failed
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateErrorJSON'
description: Get the status of a reprocessing request
security:
- bearerAuth: []
parameters:
- description: Required. ID of the graph for the reprocessing request.
in: path
name: graphId
required: true
schema:
type: string
- description: Required. ID of the reprocessing request.
in: path
name: requestId
required: true
schema:
type: string
tags:
- Idr
summary: Reprocess status
x-summary-source: derived
components:
schemas:
TriggerRunIdrOutput:
properties:
id:
type: string
description: The id of the triggered run.
required:
- id
type: object
additionalProperties: false
ValidateErrorJSON:
properties:
message:
type: string
enum:
- Validation failed
details:
properties: {}
additionalProperties: {}
type: object
required:
- message
- details
type: object
additionalProperties: false
IdrRunStats:
properties:
numSourceRows:
type: number
format: double
description: The exact number of rows processed from sources in this run.
numNewUniqueProfiles:
type: number
format: double
description: The exact number of unique profiles in the graph created during this run.
numUniqueProfiles:
type: number
format: double
description: The exact number of unique profiles in the graph at the end of the run.
required:
- numSourceRows
- numNewUniqueProfiles
- numUniqueProfiles
type: object
IdrReprocessStatusOutput:
properties:
status:
type: string
enum:
- queueing
- queued
- reprocessed
- failed
- cancelled
description: '"queueing": The identifiers are being queued for reprocessing.
"queued": The identifiers have been queued and added to the blocklist. Their associated clusters will be reprocessed next time the graph runs.
"reprocessed": The identifiers'' clusters have been reprocessed during a run.
"failed": We failed to queue the identifiers for reprocessing.
"cancelled": The reprocessing request has been cancelled.'
queuedAt:
type:
- string
- 'null'
format: date-time
description: Set if the status is "queued" or "reprocessed". The timestamp when the identifiers were queued for reprocessing.
reprocessedAt:
type:
- string
- 'null'
format: date-time
description: Set if the status is "reprocessed". The timestamp when the identifiers' clusters were reprocessed.
reprocessedRunId:
type:
- string
- 'null'
description: Set if the status is "reprocessed". The ID of the run that reprocessed the identifiers' clusters.
error:
type:
- string
- 'null'
description: If available, the error message from failing to queue the identifiers for reprocessing.
required:
- status
- queuedAt
- reprocessedAt
- reprocessedRunId
- error
type: object
additionalProperties: false
IdrRun:
properties:
fullRerun:
type: boolean
stats:
$ref: '#/components/schemas/IdrRunStatsByThreshold'
description: If available, the stats at the end of a successful run.
finishedAt:
type: string
format: date-time
description: Timestamp of the run's completion. Only set for successful or failed runs.
startedAt:
type: string
format: date-time
description: Timestamp of the run's start. Not set for queued runs.
createdAt:
type: string
format: date-time
error:
type: string
description: If available, the error associated with a failed status.
status:
type: string
enum:
- QUEUED
- PROCESSING
- SUCCESS
- FAILURE
- CANCELLED
graphId:
type: string
id:
type: string
required:
- fullRerun
- createdAt
- status
- graphId
- id
type: object
ListIdrRunsOutput:
description: The output of a request to list runs for an IDR graph.
properties:
data:
items:
$ref: '#/components/schemas/IdrRun'
type: array
hasMore:
type: boolean
required:
- data
- hasMore
type: object
additionalProperties: false
IdrQueueForReprocessingOutput:
properties:
requestId:
type: string
description: ID associated with the reprocessing request. This can be used to query the status of the request.
required:
- requestId
type: object
additionalProperties: false
IdrRunStatsByThreshold:
properties:
probabilistic-loose:
$ref: '#/components/schemas/IdrRunStats'
probabilistic-strict:
$ref: '#/components/schemas/IdrRunStats'
deterministic:
$ref: '#/components/schemas/IdrRunStats'
additionalProperties:
$ref: '#/components/schemas/IdrRunStats'
type: object
IdrQueueForReprocessingInput:
properties:
identifiers:
items:
properties:
value:
type: string
identifier:
type: string
required:
- value
- identifier
type: object
type: array
description: 'e.g. [{ identifier: "email", value: "a@b.com" }]
Identifier values will be queued for reprocessing.
Clusters containing these identifiers will be reprocessed on the next run.'
block:
type: boolean
description: If true, identifier values will also be added to the blocklist and ignored in future runs.
default: 'true'
required:
- identifiers
type: object
additionalProperties: false
TriggerRunIdrInput:
properties:
fullRerun:
type: boolean
description: Whether to resync the entire Identity Graph or process incrementally.
default: 'false'
type: object
description: The input of a trigger action to run IDR.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: Bearer