Hightouch Idr API
The Idr API from Hightouch — 4 operation(s) for idr.
The Idr API from Hightouch — 4 operation(s) for idr.
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-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:
ValidateErrorJSON:
properties:
message:
type: string
enum:
- Validation failed
details:
properties: {}
additionalProperties: {}
type: object
required:
- message
- details
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
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.
TriggerRunIdrOutput:
properties:
id:
type: string
description: The id of the triggered run.
required:
- id
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
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
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
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
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: Bearer