Skip to content
Docs

API reference / Operations by tag

imports

Migration imports from TUNE, Everflow, Trackier, Affise and CAKE, plus forwarding rules.

56 operations. Base URL https://api.metrixed.com/v1; see authentication, errors and pagination.

Operations

MethodPathSummary
GET/import-schedulesScheduled offer imports
POST/import-schedulesCreate a scheduled offer import
GET/import-schedules/{id}Get a scheduled offer import
PATCH/import-schedules/{id}Update a scheduled offer import (the next run is recomputed)
DELETE/import-schedules/{id}Delete a scheduled offer import
POST/import-schedules/{id}/runQueue a run now (409 run_in_progress while the previous run is queued or running)
GET/import-schedules/{id}/runsRuns of a schedule (import jobs with progress)
POST/import-schedules/previewPreview: the first page of the source's offers the filters keep (nothing is written)
GET/importsImports
POST/importsStart import
GET/imports/canonical-fieldsGeneric CSV vocabulary and required fields per entity
GET/imports/checklistCutover checklist with per-step status
PUT/imports/checklist/{step}Set a manual checklist step status
GET/imports/forward-logDual-postback forwarding log and 24h counters
GET/imports/forward-rulesList PostbackForwardRules
POST/imports/forward-rulesCreate PostbackForwardRule
GET/imports/forward-rules/{id}Get PostbackForwardRule
PATCH/imports/forward-rules/{id}Update PostbackForwardRule
DELETE/imports/forward-rules/{id}Delete PostbackForwardRule
POST/imports/forward-rules/bulk/applyBulk edit apply
POST/imports/forward-rules/bulk/previewBulk edit preview
POST/imports/forward-rules/searchSearch PostbackForwardRules (advanced)
GET/imports/id-mapsBrowse legacy id <-> our id maps
GET/imports/jobsList import jobs
POST/imports/jobsCreate an import job (API source or CSV files with mapping)
GET/imports/jobs/{id}Job status, checkpoint and per-kind progress
POST/imports/jobs/{id}/cancelCancel (takes effect between chunks)
POST/imports/jobs/{id}/dry-runQueue a dry run (create/update/skip/conflict diff, nothing written)
GET/imports/jobs/{id}/errors.csvCSV of errors and conflicts
GET/imports/jobs/{id}/itemsDiff / result rows (filter phase, action, kind, q)
POST/imports/jobs/{id}/runQueue the import; failed or cancelled jobs resume from their checkpoint
GET/imports/legacy-domainsList LegacyDomains
POST/imports/legacy-domainsCreate LegacyDomain
GET/imports/legacy-domains/{id}Get LegacyDomain
PATCH/imports/legacy-domains/{id}Update LegacyDomain
DELETE/imports/legacy-domains/{id}Delete LegacyDomain
POST/imports/legacy-domains/bulk/applyBulk edit apply
POST/imports/legacy-domains/bulk/previewBulk edit preview
POST/imports/legacy-domains/searchSearch LegacyDomains (advanced)
GET/imports/legacy/tables/{platform}Per-platform param and macro translation tables
POST/imports/legacy/translateTranslate a legacy template / query string
GET/imports/mappingsList ImportMappings
POST/imports/mappingsCreate ImportMapping
GET/imports/mappings/{id}Get ImportMapping
PATCH/imports/mappings/{id}Update ImportMapping
DELETE/imports/mappings/{id}Delete ImportMapping
POST/imports/mappings/bulk/applyBulk edit apply
POST/imports/mappings/bulk/previewBulk edit preview
POST/imports/mappings/previewPreview a CSV column mapping: effective mapping, problems, first records
POST/imports/mappings/searchSearch ImportMappings (advanced)
GET/imports/sourcesList import sources (credentials masked)
POST/imports/sourcesCreate an import source (credentials sealed at rest)
GET/imports/sources/{id}Get an import source
PATCH/imports/sources/{id}Update an import source (blank or masked secrets are kept)
DELETE/imports/sources/{id}Delete an import source
POST/imports/sources/{id}/testTest the connection by reading one record through the platform adapter

GET /import-schedules

Scheduled offer imports

Operation getImportSchedules. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json ImportScheduleList
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/import-schedules' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "total": 0,
  "frequencies": [
    ""
  ]
}

POST /import-schedules

Create a scheduled offer import

Operation postImportSchedules. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): ImportScheduleInput

FieldTypeFlagsDescription
namestring
source_idstring
advertiser_idstring
frequencyenum: hourly, every_6_hours, daily, weekly
run_hourinteger
filtersobject (free-form)statuses[], name_contains, external_ids[], visibility[], currencies[], max_offers
enabledboolean
StatusDescriptionBody
201okapplication/json ImportSchedule
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/import-schedules' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"","source_id":"","advertiser_id":"","frequency":"hourly"}'

Example 201 response:

json
{
  "id": "",
  "name": "",
  "source_id": "",
  "source_name": ""
}

GET /import-schedules/{id}

Get a scheduled offer import

Operation getImportSchedulesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json ImportSchedule
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/import-schedules/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "id": "",
  "name": "",
  "source_id": "",
  "source_name": ""
}

PATCH /import-schedules/{id}

Update a scheduled offer import (the next run is recomputed)

Operation patchImportSchedulesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): ImportScheduleInput

FieldTypeFlagsDescription
namestring
source_idstring
advertiser_idstring
frequencyenum: hourly, every_6_hours, daily, weekly
run_hourinteger
filtersobject (free-form)statuses[], name_contains, external_ids[], visibility[], currencies[], max_offers
enabledboolean
StatusDescriptionBody
200okapplication/json ImportSchedule
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/import-schedules/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"","source_id":"","advertiser_id":"","frequency":"hourly"}'

Example 200 response:

json
{
  "id": "",
  "name": "",
  "source_id": "",
  "source_name": ""
}

DELETE /import-schedules/{id}

Delete a scheduled offer import

Operation deleteImportSchedulesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
204okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X DELETE 'https://api.metrixed.com/v1/import-schedules/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 204 response:

json
{
  "ok": false
}

POST /import-schedules/{id}/run

Queue a run now (409 run_in_progress while the previous run is queued or running)

Operation postImportSchedulesIdRun. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
202okapplication/json ImportScheduleQueued
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/import-schedules/<id>/run' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 202 response:

json
{
  "job_id": "",
  "status": ""
}

GET /import-schedules/{id}/runs

Runs of a schedule (import jobs with progress)

Operation getImportSchedulesIdRuns. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json ImportScheduleRuns
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/import-schedules/<id>/runs' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "total": 0
}

POST /import-schedules/preview

Preview: the first page of the source's offers the filters keep (nothing is written)

Operation postImportSchedulesPreview. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): ImportSchedulePreviewRequest

FieldTypeFlagsDescription
source_idstringrequired
filtersobject (free-form)
StatusDescriptionBody
200okapplication/json ImportSchedulePreview
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/import-schedules/preview' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"source_id":""}'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "more": false
}

GET /imports

Imports

Operation getImports. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
pagequeryintegerno
page_sizequeryintegerno
sortquerystringnofield or -field
includequerystringnocomma-separated relationships
filterqueryobject (free-form)no
qquerystringnofree-text search
StatusDescriptionBody
200okapplication/json LogSearchResult
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports?page=1&page_size=50' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "rows": [
    {}
  ],
  "next_cursor": "",
  "has_more": false
}

POST /imports

Start import

Operation postImports. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): ImportJob

FieldTypeFlagsDescription
idstringread-only
display_idintegerread-only
hash_idstringread-only
external_refstring
custom_fieldsobject (free-form)tenant-defined fields
versionintegerread-only
created_atstring (date-time)read-only
updated_atstring (date-time)read-only
deleted_atstring (date-time)read-only
source_idstring
platformstring
modeenum: api, csv
statusenum: draft, dry_running, dry_run_done, queued, running, completed, failed, cancelled
optionsobject (free-form)kinds[], chunk_size, adopt, file_kinds[]
filesobject (free-form)csv mode, create only: kind -> csv text
mappingsobject (free-form)csv mode, create only: kind -> {columns,defaults}
checkpointobject (free-form)
progressobject (free-form)kind -> {fetched,created,updated,skipped,conflict,error}
summaryobject (free-form)
progress_pctinteger
errorstring
cancel_requestedboolean
StatusDescriptionBody
202okapplication/json ImportJob
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"external_ref":""}'

Example 202 response:

json
{
  "external_ref": ""
}

GET /imports/canonical-fields

Generic CSV vocabulary and required fields per entity

Operation getImportsCanonicalFields. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/canonical-fields' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /imports/checklist

Cutover checklist with per-step status

Operation getImportsChecklist. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/checklist' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

PUT /imports/checklist/{step}

Set a manual checklist step status

Operation putImportsChecklistStep. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
steppathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X PUT 'https://api.metrixed.com/v1/imports/checklist/<step>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /imports/forward-log

Dual-postback forwarding log and 24h counters Dual-postback forwarding log and 24h counters. WP-71: paged with page/page_size (page.total over the whole match); unpaged returns the previous bound with total and capped/cap.

Operation getImportsForwardLog. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
qquerystringno
pagequerystringno
page_sizequerystringno
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/forward-log?page=1&page_size=50' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /imports/forward-rules

List PostbackForwardRules

Operation getImportsForwardRules. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
pagequeryintegerno
page_sizequeryintegerno
sortquerystringnofield or -field
includequerystringnocomma-separated relationships
filterqueryobject (free-form)no
qquerystringnofree-text search
StatusDescriptionBody
200okapplication/json PostbackForwardRuleList
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/forward-rules?page=1&page_size=50' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "page": {}
}

POST /imports/forward-rules

Create PostbackForwardRule

Operation postImportsForwardRules. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): PostbackForwardRuleCreate

FieldTypeFlagsDescription
advertiser_idstring
offer_idstring
platformstring
url_templatestringrequired
methodenum: GET, POST
append_raw_queryboolean
enabledboolean
max_attemptsinteger
timeout_msinteger
notesstring
StatusDescriptionBody
201okapplication/json PostbackForwardRule
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/forward-rules' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"url_template":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /imports/forward-rules/{id}

Get PostbackForwardRule

Operation getImportsForwardRulesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json PostbackForwardRule
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/forward-rules/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /imports/forward-rules/{id}

Update PostbackForwardRule

Operation patchImportsForwardRulesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): PostbackForwardRuleUpdate

FieldTypeFlagsDescription
advertiser_idstring
offer_idstring
platformstring
url_templatestring
methodenum: GET, POST
append_raw_queryboolean
enabledboolean
max_attemptsinteger
timeout_msinteger
notesstring
StatusDescriptionBody
200okapplication/json PostbackForwardRule
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/imports/forward-rules/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"advertiser_id":"","offer_id":"","platform":"","url_template":""}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /imports/forward-rules/{id}

Delete PostbackForwardRule

Operation deleteImportsForwardRulesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
204okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X DELETE 'https://api.metrixed.com/v1/imports/forward-rules/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 204 response:

json
{
  "ok": false
}

POST /imports/forward-rules/bulk/apply

Bulk edit apply

Operation postImportsForwardRulesBulkApply. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): BulkPatch

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/forward-rules/bulk/apply' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'

Example 200 response:

json
{
  "affected": 0,
  "changes": [
    {}
  ],
  "warnings": [
    ""
  ],
  "token": ""
}

POST /imports/forward-rules/bulk/preview

Bulk edit preview

Operation postImportsForwardRulesBulkPreview. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): BulkPatch

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/forward-rules/bulk/preview' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'

Example 200 response:

json
{
  "affected": 0,
  "changes": [
    {}
  ],
  "warnings": [
    ""
  ],
  "token": ""
}

POST /imports/forward-rules/search

Search PostbackForwardRules (advanced)

Operation postImportsForwardRulesSearch. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): SearchRequest

FieldTypeFlagsDescription
filtersarray of object
searchstring
sortarray of object (free-form)
pageinteger
page_sizeinteger
includearray of string
StatusDescriptionBody
200okapplication/json PostbackForwardRuleList
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/forward-rules/search' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"filters":[{}],"search":"","sort":[{}],"page":0}'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "page": {}
}

GET /imports/id-maps

Browse legacy id <-> our id maps

Operation getImportsIdMaps. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/id-maps' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /imports/jobs

List import jobs List import jobs. WP-71: paged with page/page_size (page.total over the whole match); unpaged returns the previous bound with total and capped/cap.

Operation getImportsJobs. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
qquerystringno
pagequerystringno
page_sizequerystringno
StatusDescriptionBody
200okapplication/json LogSearchResult
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/jobs?page=1&page_size=50' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "rows": [
    {}
  ],
  "next_cursor": "",
  "has_more": false
}

POST /imports/jobs

Create an import job (API source or CSV files with mapping)

Operation postImportsJobs. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): ImportJob

FieldTypeFlagsDescription
idstringread-only
display_idintegerread-only
hash_idstringread-only
external_refstring
custom_fieldsobject (free-form)tenant-defined fields
versionintegerread-only
created_atstring (date-time)read-only
updated_atstring (date-time)read-only
deleted_atstring (date-time)read-only
source_idstring
platformstring
modeenum: api, csv
statusenum: draft, dry_running, dry_run_done, queued, running, completed, failed, cancelled
optionsobject (free-form)kinds[], chunk_size, adopt, file_kinds[]
filesobject (free-form)csv mode, create only: kind -> csv text
mappingsobject (free-form)csv mode, create only: kind -> {columns,defaults}
checkpointobject (free-form)
progressobject (free-form)kind -> {fetched,created,updated,skipped,conflict,error}
summaryobject (free-form)
progress_pctinteger
errorstring
cancel_requestedboolean
StatusDescriptionBody
201okapplication/json ImportJob
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/jobs' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"external_ref":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /imports/jobs/{id}

Job status, checkpoint and per-kind progress

Operation getImportsJobsId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json ImportJob
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/jobs/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "external_ref": ""
}

POST /imports/jobs/{id}/cancel

Cancel (takes effect between chunks)

Operation postImportsJobsIdCancel. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
202okapplication/json ImportJob
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/jobs/<id>/cancel' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 202 response:

json
{
  "external_ref": ""
}

POST /imports/jobs/{id}/dry-run

Queue a dry run (create/update/skip/conflict diff, nothing written)

Operation postImportsJobsIdDryRun. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
202okapplication/json ImportJob
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/jobs/<id>/dry-run' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 202 response:

json
{
  "external_ref": ""
}

GET /imports/jobs/{id}/errors.csv

CSV of errors and conflicts

Operation getImportsJobsIdErrors.csv. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/jobs/<id>/errors.csv' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /imports/jobs/{id}/items

Diff / result rows (filter phase, action, kind, q)

Operation getImportsJobsIdItems. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/jobs/<id>/items' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

POST /imports/jobs/{id}/run

Queue the import; failed or cancelled jobs resume from their checkpoint

Operation postImportsJobsIdRun. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
202okapplication/json ImportJob
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/jobs/<id>/run' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 202 response:

json
{
  "external_ref": ""
}

GET /imports/legacy-domains

List LegacyDomains

Operation getImportsLegacyDomains. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
pagequeryintegerno
page_sizequeryintegerno
sortquerystringnofield or -field
includequerystringnocomma-separated relationships
filterqueryobject (free-form)no
qquerystringnofree-text search
StatusDescriptionBody
200okapplication/json LegacyDomainList
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/legacy-domains?page=1&page_size=50' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "page": {}
}

POST /imports/legacy-domains

Create LegacyDomain

Operation postImportsLegacyDomains. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): LegacyDomainCreate

FieldTypeFlagsDescription
hoststringrequired
platformenum: tune, everflow, trackier, affise, cakerequired
id_map_strategyenum: id_map, native
param_mapobject (free-form)tenant overrides: legacy param -> canonical param
statusenum: active, disabled
notesstring
StatusDescriptionBody
201okapplication/json LegacyDomain
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/legacy-domains' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"host":"","platform":"tune"}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /imports/legacy-domains/{id}

Get LegacyDomain

Operation getImportsLegacyDomainsId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json LegacyDomain
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/legacy-domains/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /imports/legacy-domains/{id}

Update LegacyDomain

Operation patchImportsLegacyDomainsId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LegacyDomainUpdate

FieldTypeFlagsDescription
hoststring
platformenum: tune, everflow, trackier, affise, cake
id_map_strategyenum: id_map, native
param_mapobject (free-form)tenant overrides: legacy param -> canonical param
statusenum: active, disabled
notesstring
StatusDescriptionBody
200okapplication/json LegacyDomain
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/imports/legacy-domains/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"host":"","platform":"tune","id_map_strategy":"id_map","param_map":{}}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /imports/legacy-domains/{id}

Delete LegacyDomain

Operation deleteImportsLegacyDomainsId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
204okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X DELETE 'https://api.metrixed.com/v1/imports/legacy-domains/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 204 response:

json
{
  "ok": false
}

POST /imports/legacy-domains/bulk/apply

Bulk edit apply

Operation postImportsLegacyDomainsBulkApply. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): BulkPatch

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/legacy-domains/bulk/apply' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'

Example 200 response:

json
{
  "affected": 0,
  "changes": [
    {}
  ],
  "warnings": [
    ""
  ],
  "token": ""
}

POST /imports/legacy-domains/bulk/preview

Bulk edit preview

Operation postImportsLegacyDomainsBulkPreview. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): BulkPatch

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/legacy-domains/bulk/preview' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'

Example 200 response:

json
{
  "affected": 0,
  "changes": [
    {}
  ],
  "warnings": [
    ""
  ],
  "token": ""
}

POST /imports/legacy-domains/search

Search LegacyDomains (advanced)

Operation postImportsLegacyDomainsSearch. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): SearchRequest

FieldTypeFlagsDescription
filtersarray of object
searchstring
sortarray of object (free-form)
pageinteger
page_sizeinteger
includearray of string
StatusDescriptionBody
200okapplication/json LegacyDomainList
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/legacy-domains/search' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"filters":[{}],"search":"","sort":[{}],"page":0}'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "page": {}
}

GET /imports/legacy/tables/{platform}

Per-platform param and macro translation tables

Operation getImportsLegacyTablesPlatform. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
platformpathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/legacy/tables/<platform>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

POST /imports/legacy/translate

Translate a legacy template / query string

Operation postImportsLegacyTranslate. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/legacy/translate' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /imports/mappings

List ImportMappings

Operation getImportsMappings. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
pagequeryintegerno
page_sizequeryintegerno
sortquerystringnofield or -field
includequerystringnocomma-separated relationships
filterqueryobject (free-form)no
qquerystringnofree-text search
StatusDescriptionBody
200okapplication/json ImportMappingList
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/mappings?page=1&page_size=50' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "page": {}
}

POST /imports/mappings

Create ImportMapping

Operation postImportsMappings. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): ImportMappingCreate

FieldTypeFlagsDescription
namestringrequired
platformenum: generic, tune, everflow, trackier, affise, cake
entityenum: advertisers, partners, offers, partner_offers, domainsrequired
mappingobject (free-form)requiredcolumns{csv header: canonical field}, defaults{field: constant}
StatusDescriptionBody
201okapplication/json ImportMapping
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/mappings' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"","entity":"advertisers","mapping":{}}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /imports/mappings/{id}

Get ImportMapping

Operation getImportsMappingsId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json ImportMapping
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/mappings/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /imports/mappings/{id}

Update ImportMapping

Operation patchImportsMappingsId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): ImportMappingUpdate

FieldTypeFlagsDescription
namestring
platformenum: generic, tune, everflow, trackier, affise, cake
entityenum: advertisers, partners, offers, partner_offers, domains
mappingobject (free-form)columns{csv header: canonical field}, defaults{field: constant}
StatusDescriptionBody
200okapplication/json ImportMapping
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/imports/mappings/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"","platform":"generic","entity":"advertisers","mapping":{}}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /imports/mappings/{id}

Delete ImportMapping

Operation deleteImportsMappingsId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
204okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X DELETE 'https://api.metrixed.com/v1/imports/mappings/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 204 response:

json
{
  "ok": false
}

POST /imports/mappings/bulk/apply

Bulk edit apply

Operation postImportsMappingsBulkApply. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): BulkPatch

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/mappings/bulk/apply' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'

Example 200 response:

json
{
  "affected": 0,
  "changes": [
    {}
  ],
  "warnings": [
    ""
  ],
  "token": ""
}

POST /imports/mappings/bulk/preview

Bulk edit preview

Operation postImportsMappingsBulkPreview. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): BulkPatch

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/mappings/bulk/preview' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'

Example 200 response:

json
{
  "affected": 0,
  "changes": [
    {}
  ],
  "warnings": [
    ""
  ],
  "token": ""
}

POST /imports/mappings/preview

Preview a CSV column mapping: effective mapping, problems, first records

Operation postImportsMappingsPreview. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/mappings/preview' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

POST /imports/mappings/search

Search ImportMappings (advanced)

Operation postImportsMappingsSearch. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): SearchRequest

FieldTypeFlagsDescription
filtersarray of object
searchstring
sortarray of object (free-form)
pageinteger
page_sizeinteger
includearray of string
StatusDescriptionBody
200okapplication/json ImportMappingList
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/mappings/search' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"filters":[{}],"search":"","sort":[{}],"page":0}'

Example 200 response:

json
{
  "data": [
    {}
  ],
  "page": {}
}

GET /imports/sources

List import sources (credentials masked)

Operation getImportsSources. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json LogSearchResult
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/sources' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "rows": [
    {}
  ],
  "next_cursor": "",
  "has_more": false
}

POST /imports/sources

Create an import source (credentials sealed at rest)

Operation postImportsSources. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): ImportSource

FieldTypeFlagsDescription
idstringread-only
display_idintegerread-only
hash_idstringread-only
external_refstring
custom_fieldsobject (free-form)tenant-defined fields
versionintegerread-only
created_atstring (date-time)read-only
updated_atstring (date-time)read-only
deleted_atstring (date-time)read-only
platformenum: tune, everflow, trackier, affise, cakerequired
namestringrequired
base_urlstring
configobject (free-form)api_key (write-only, returned masked), network_id, extra{}
statusenum: active, disabled
last_tested_atstring (date-time)
last_errorstring
StatusDescriptionBody
201okapplication/json ImportSource
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/sources' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"platform":"tune","name":""}'

Example 201 response:

json
{
  "platform": "tune",
  "name": ""
}

GET /imports/sources/{id}

Get an import source

Operation getImportsSourcesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json ImportSource
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/imports/sources/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "platform": "tune",
  "name": ""
}

PATCH /imports/sources/{id}

Update an import source (blank or masked secrets are kept)

Operation patchImportsSourcesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): ImportSource

FieldTypeFlagsDescription
idstringread-only
display_idintegerread-only
hash_idstringread-only
external_refstring
custom_fieldsobject (free-form)tenant-defined fields
versionintegerread-only
created_atstring (date-time)read-only
updated_atstring (date-time)read-only
deleted_atstring (date-time)read-only
platformenum: tune, everflow, trackier, affise, cakerequired
namestringrequired
base_urlstring
configobject (free-form)api_key (write-only, returned masked), network_id, extra{}
statusenum: active, disabled
last_tested_atstring (date-time)
last_errorstring
StatusDescriptionBody
200okapplication/json ImportSource
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/imports/sources/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"platform":"tune","name":""}'

Example 200 response:

json
{
  "platform": "tune",
  "name": ""
}

DELETE /imports/sources/{id}

Delete an import source

Operation deleteImportsSourcesId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
204okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X DELETE 'https://api.metrixed.com/v1/imports/sources/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 204 response:

json
{
  "ok": false
}

POST /imports/sources/{id}/test

Test the connection by reading one record through the platform adapter

Operation postImportsSourcesIdTest. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/imports/sources/<id>/test' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}