API reference / Operations by tag
apps
Mobile apps, partner access, install attribution, deep links, SKAN and events.
42 operations. Base URL https://api.metrixed.com/v1; see authentication, errors and pagination.
Operations
| Method | Path | Summary |
|---|---|---|
| GET | /app-partners | List app x partner postback settings |
| POST | /app-partners | Create app x partner postback settings (send_all vs attributed_only) |
| GET | /app-partners/{id} | Get app x partner settings |
| PATCH | /app-partners/{id} | Update app x partner settings |
| DELETE | /app-partners/{id} | Delete app x partner settings |
| GET | /apps | List Apps |
| POST | /apps | Create App (returns sdk_secret and s2s_key once) |
| GET | /apps/{id} | Get App |
| PATCH | /apps/{id} | Update App |
| DELETE | /apps/{id} | Delete App |
| GET | /apps/{id}/partners | Partner postback settings of an app |
| POST | /apps/{id}/partners | Add partner postback settings to an app |
| POST | /apps/{id}/rotate-secret | Rotate the SDK signing secret (previous stays valid until end_rotation) or the S2S key; kind sdk|s2s|end_rotation |
| GET | /apps/{id}/sdk-config | SDK integration config: app token, endpoints, signature scheme |
| GET | /skan/cv-schemas | List SKAN / AAK conversion-value schema |
| POST | /skan/cv-schemas | Create SKAN / AAK conversion-value schema |
| GET | /skan/cv-schemas/{id} | Get SKAN / AAK conversion-value schema |
| PATCH | /skan/cv-schemas/{id} | Update SKAN / AAK conversion-value schema |
| DELETE | /skan/cv-schemas/{id} | Delete SKAN / AAK conversion-value schema |
| POST | /skan/cv-schemas/{id}/activate | Make the schema the app's active one (served to SDKs; the previous active one is archived) |
| GET | /skan/cv-schemas/{id}/decode-table | Decode table: fine 0-63 and coarse per window -> implied events and revenue estimate |
| POST | /skan/cv-schemas/simulate | Simulate the device evaluator: {schema, install, steps[{at,event,revenue}]} -> postback updates |
| GET | /skan/mappings | List SKAN source mapping (ad network + source identifier -> partner / offer / campaign) |
| POST | /skan/mappings | Create SKAN source mapping (ad network + source identifier -> partner / offer / campaign) |
| GET | /skan/mappings/{id} | Get SKAN source mapping (ad network + source identifier -> partner / offer / campaign) |
| PATCH | /skan/mappings/{id} | Update SKAN source mapping (ad network + source identifier -> partner / offer / campaign) |
| DELETE | /skan/mappings/{id} | Delete SKAN source mapping (ad network + source identifier -> partner / offer / campaign) |
| GET | /skan/postbacks | List received SKAN / AAK postback |
| GET | /skan/postbacks/{id} | Get received SKAN / AAK postback |
| GET | /unilink-templates | List unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking) |
| POST | /unilink-templates | Create unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking) |
| GET | /unilink-templates/{id} | Get unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking) |
| PATCH | /unilink-templates/{id} | Update unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking) |
| DELETE | /unilink-templates/{id} | Delete unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking) |
| GET | /unilinks | List unilink (short code on a template; attributed when offer + partner are set) |
| POST | /unilinks | Create unilink (short code on a template; attributed when offer + partner are set) |
| GET | /unilinks/{id} | Get unilink (short code on a template; attributed when offer + partner are set) |
| PATCH | /unilinks/{id} | Update unilink (short code on a template; attributed when offer + partner are set) |
| DELETE | /unilinks/{id} | Delete unilink (short code on a template; attributed when offer + partner are set) |
| GET | /unilinks/{id}/preview | Preview a stored unilink |
| GET | /unilinks/{id}/qr | QR code of the short link (format png|svg, size px) |
| POST | /unilinks/preview | Live preview of a draft unilink: short URL, per-platform redirect, OG, AASA / assetlinks |
GET /app-partners
List app x partner postback settings
Operation getAppPartners. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AppPartnerList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/app-partners?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /app-partners
Create app x partner postback settings (send_all vs attributed_only)
Operation postAppPartners. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): AppPartnerCreate
| Field | Type | Flags | Description |
|---|---|---|---|
app_id | string | required | |
partner_id | string | required | |
postback_mode | enum: attributed_only, send_all | ||
send_installs | boolean | ||
send_reattributions | boolean | ||
events | array of string | ||
status | enum: active, paused |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json AppPartner |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/app-partners' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"app_id":"","partner_id":""}'
Example 201 response:
{
"external_ref": ""
}
GET /app-partners/{id}
Get app x partner settings
Operation getAppPartnersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AppPartner |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/app-partners/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /app-partners/{id}
Update app x partner settings
Operation patchAppPartnersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): AppPartnerUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
app_id | string | ||
partner_id | string | ||
postback_mode | enum: attributed_only, send_all | ||
send_installs | boolean | ||
send_reattributions | boolean | ||
events | array of string | ||
status | enum: active, paused |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AppPartner |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/app-partners/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"app_id":"","partner_id":"","postback_mode":"attributed_only","send_installs":false}'
Example 200 response:
{
"external_ref": ""
}
DELETE /app-partners/{id}
Delete app x partner settings
Operation deleteAppPartnersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/app-partners/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /apps
List Apps
Operation getApps. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
curl 'https://api.metrixed.com/v1/apps?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /apps
Create App (returns sdk_secret and s2s_key once)
Operation postApps. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): AppCreate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | required | |
platform | enum: ios, android, web | required | |
bundle_id | string | required | iOS bundle id / Android package / web origin |
store_id | string | ||
store_url | string | ||
icon_url | string | ||
advertiser_id | string | ||
offer_id | string | default offer installs are attributed under | |
status | enum: active, paused, archived | ||
currency | string | ||
timezone | string | ||
require_signature | boolean | ||
click_window_hours | integer | ||
view_window_hours | integer | ||
probabilistic_enabled | boolean | ||
probabilistic_window_hours | integer | ||
probabilistic_ios_att_denied | boolean | ||
reattribution_enabled | boolean | ||
reattribution_inactivity_days | integer | ||
reattribution_window_days | integer | ||
reengagement_enabled | boolean | ||
reengagement_window_days | integer | ||
reinstall_exclusion_days | integer | ||
click_injection_guard | boolean | ||
uninstall_tracking | boolean | ||
uninstall_push_provider | enum: fcm, apns, other | ||
validation_rules | object (free-form) | events{name:{required[],revenue_required,value_min,value_max,currencies[]}}, allow_unknown_events, require_event_id, max_revenue | |
san_config | object (free-form) | networks[{key,name,partner_id,offer_id,priority,enabled}] | |
preinstall_config | object (free-form) | campaigns[{key,partner_id,offer_id}] | |
settings | object (free-form) |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json AppSecrets |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/apps' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":"","platform":"ios","bundle_id":""}'
Example 201 response:
{
"id": "",
"sdk_key": "",
"sdk_secret": "",
"s2s_key": ""
}
GET /apps/{id}
Get App
Operation getAppsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/apps/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /apps/{id}
Update App
Operation patchAppsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): AppUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | ||
platform | enum: ios, android, web | ||
bundle_id | string | iOS bundle id / Android package / web origin | |
store_id | string | ||
store_url | string | ||
icon_url | string | ||
advertiser_id | string | ||
offer_id | string | default offer installs are attributed under | |
status | enum: active, paused, archived | ||
currency | string | ||
timezone | string | ||
require_signature | boolean | ||
click_window_hours | integer | ||
view_window_hours | integer | ||
probabilistic_enabled | boolean | ||
probabilistic_window_hours | integer | ||
probabilistic_ios_att_denied | boolean | ||
reattribution_enabled | boolean | ||
reattribution_inactivity_days | integer | ||
reattribution_window_days | integer | ||
reengagement_enabled | boolean | ||
reengagement_window_days | integer | ||
reinstall_exclusion_days | integer | ||
click_injection_guard | boolean | ||
uninstall_tracking | boolean | ||
uninstall_push_provider | enum: fcm, apns, other | ||
validation_rules | object (free-form) | events{name:{required[],revenue_required,value_min,value_max,currencies[]}}, allow_unknown_events, require_event_id, max_revenue | |
san_config | object (free-form) | networks[{key,name,partner_id,offer_id,priority,enabled}] | |
preinstall_config | object (free-form) | campaigns[{key,partner_id,offer_id}] | |
settings | object (free-form) |
curl -X PATCH 'https://api.metrixed.com/v1/apps/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":"","platform":"ios","bundle_id":"","store_id":""}'
Example 200 response:
{
"external_ref": ""
}
DELETE /apps/{id}
Delete App
Operation deleteAppsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/apps/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /apps/{id}/partners
Partner postback settings of an app
Operation getAppsIdPartners. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AppPartnerList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/apps/<id>/partners?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /apps/{id}/partners
Add partner postback settings to an app
Operation postAppsIdPartners. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): AppPartnerCreate
| Field | Type | Flags | Description |
|---|---|---|---|
app_id | string | required | |
partner_id | string | required | |
postback_mode | enum: attributed_only, send_all | ||
send_installs | boolean | ||
send_reattributions | boolean | ||
events | array of string | ||
status | enum: active, paused |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json AppPartner |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/apps/<id>/partners' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"app_id":"","partner_id":""}'
Example 201 response:
{
"external_ref": ""
}
POST /apps/{id}/rotate-secret
Rotate the SDK signing secret (previous stays valid until end_rotation) or the S2S key; kind sdk|s2s|end_rotation
Operation postAppsIdRotateSecret. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): Ok
| Field | Type | Flags | Description |
|---|---|---|---|
ok | boolean |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AppSecrets |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/apps/<id>/rotate-secret' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"ok":false}'
Example 200 response:
{
"id": "",
"sdk_key": "",
"sdk_secret": "",
"s2s_key": ""
}
GET /apps/{id}/sdk-config
SDK integration config: app token, endpoints, signature scheme
Operation getAppsIdSdkConfig. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/apps/<id>/sdk-config' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"ok": false
}
GET /skan/cv-schemas
List SKAN / AAK conversion-value schema
Operation getSkanCvSchemas. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanCvSchemaList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/skan/cv-schemas?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /skan/cv-schemas
Create SKAN / AAK conversion-value schema
Operation postSkanCvSchemas. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): SkanCvSchemaCreate
| Field | Type | Flags | Description |
|---|---|---|---|
app_id | string | required | |
name | string | required | |
currency | string | ||
schema | object (free-form) | SDK contract: version, windows[{window 0-2, lock_at_fine_gte, rules[{fine 0-63, coarse low|medium|high, lock, when{event, count_gte, revenue_gte}}]}] (sdks/test-vectors/cv-schema.json) |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json SkanCvSchema |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/skan/cv-schemas' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"app_id":"","name":""}'
Example 201 response:
{
"external_ref": ""
}
GET /skan/cv-schemas/{id}
Get SKAN / AAK conversion-value schema
Operation getSkanCvSchemasId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanCvSchema |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/skan/cv-schemas/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /skan/cv-schemas/{id}
Update SKAN / AAK conversion-value schema
Operation patchSkanCvSchemasId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): SkanCvSchemaUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
app_id | string | ||
name | string | ||
currency | string | ||
schema | object (free-form) | SDK contract: version, windows[{window 0-2, lock_at_fine_gte, rules[{fine 0-63, coarse low|medium|high, lock, when{event, count_gte, revenue_gte}}]}] (sdks/test-vectors/cv-schema.json) |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanCvSchema |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/skan/cv-schemas/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"app_id":"","name":"","currency":"","schema":{}}'
Example 200 response:
{
"external_ref": ""
}
DELETE /skan/cv-schemas/{id}
Delete SKAN / AAK conversion-value schema
Operation deleteSkanCvSchemasId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/skan/cv-schemas/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
POST /skan/cv-schemas/{id}/activate
Make the schema the app's active one (served to SDKs; the previous active one is archived)
Operation postSkanCvSchemasIdActivate. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanCvSchema |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/skan/cv-schemas/<id>/activate' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
GET /skan/cv-schemas/{id}/decode-table
Decode table: fine 0-63 and coarse per window -> implied events and revenue estimate
Operation getSkanCvSchemasIdDecodeTable. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/skan/cv-schemas/<id>/decode-table' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"ok": false
}
POST /skan/cv-schemas/simulate
Simulate the device evaluator: {schema, install, steps[{at,event,revenue}]} -> postback updates
Operation postSkanCvSchemasSimulate. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): Ok
| Field | Type | Flags | Description |
|---|---|---|---|
ok | boolean |
curl -X POST 'https://api.metrixed.com/v1/skan/cv-schemas/simulate' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"ok":false}'
Example 200 response:
{
"ok": false
}
GET /skan/mappings
List SKAN source mapping (ad network + source identifier -> partner / offer / campaign)
Operation getSkanMappings. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanSourceMappingList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/skan/mappings?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /skan/mappings
Create SKAN source mapping (ad network + source identifier -> partner / offer / campaign)
Operation postSkanMappings. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): SkanSourceMappingCreate
| Field | Type | Flags | Description |
|---|---|---|---|
app_id | string | ||
ad_network_id | string | required | |
source_identifier | string | SKAN 4 / AAK source identifier or SKAN <=3 campaign id; empty = network default | |
source_app_id | string | ||
partner_id | string | ||
offer_id | string | ||
campaign_name | string | ||
status | enum: active, paused |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json SkanSourceMapping |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/skan/mappings' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"ad_network_id":""}'
Example 201 response:
{
"external_ref": ""
}
GET /skan/mappings/{id}
Get SKAN source mapping (ad network + source identifier -> partner / offer / campaign)
Operation getSkanMappingsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanSourceMapping |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/skan/mappings/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /skan/mappings/{id}
Update SKAN source mapping (ad network + source identifier -> partner / offer / campaign)
Operation patchSkanMappingsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): SkanSourceMappingUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
app_id | string | ||
ad_network_id | string | ||
source_identifier | string | SKAN 4 / AAK source identifier or SKAN <=3 campaign id; empty = network default | |
source_app_id | string | ||
partner_id | string | ||
offer_id | string | ||
campaign_name | string | ||
status | enum: active, paused |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanSourceMapping |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/skan/mappings/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"app_id":"","ad_network_id":"","source_identifier":"","source_app_id":""}'
Example 200 response:
{
"external_ref": ""
}
DELETE /skan/mappings/{id}
Delete SKAN source mapping (ad network + source identifier -> partner / offer / campaign)
Operation deleteSkanMappingsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/skan/mappings/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /skan/postbacks
List received SKAN / AAK postback
Operation getSkanPostbacks. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanPostbackList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/skan/postbacks?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
GET /skan/postbacks/{id}
Get received SKAN / AAK postback
Operation getSkanPostbacksId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SkanPostback |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/skan/postbacks/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
GET /unilink-templates
List unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking)
Operation getUnilinkTemplates. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json UnilinkTemplateList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/unilink-templates?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /unilink-templates
Create unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking)
Operation postUnilinkTemplates. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): UnilinkTemplateCreate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | required | |
status | enum: active, paused, archived | ||
tracking_domain_id | string | empty = every tracking domain | |
ios_app_id | string | ||
android_app_id | string | ||
ios_team_id | string | Apple Team ID (AASA appID prefix) | |
ios_scheme | string | ||
ios_universal_links | boolean | ||
ios_store_url | string | ||
ios_fallback | enum: store, web | ||
android_scheme | string | ||
android_app_links | boolean | ||
android_store_url | string | ||
android_sha256_fingerprints | array of string | ||
android_fallback | enum: store, web | ||
android_intent | boolean | ||
web_url | string | ||
desktop_behavior | enum: web, qr_page, custom | ||
desktop_url | string | ||
og_title | string | ||
og_description | string | ||
og_image_url | string | ||
deferred_enabled | boolean | ||
deferred_ttl_hours | integer | ||
fingerprint_ttl_minutes | integer | ||
default_payload | object (free-form) |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json UnilinkTemplate |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/unilink-templates' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":""}'
Example 201 response:
{
"external_ref": ""
}
GET /unilink-templates/{id}
Get unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking)
Operation getUnilinkTemplatesId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json UnilinkTemplate |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/unilink-templates/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /unilink-templates/{id}
Update unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking)
Operation patchUnilinkTemplatesId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): UnilinkTemplateUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | ||
status | enum: active, paused, archived | ||
tracking_domain_id | string | empty = every tracking domain | |
ios_app_id | string | ||
android_app_id | string | ||
ios_team_id | string | Apple Team ID (AASA appID prefix) | |
ios_scheme | string | ||
ios_universal_links | boolean | ||
ios_store_url | string | ||
ios_fallback | enum: store, web | ||
android_scheme | string | ||
android_app_links | boolean | ||
android_store_url | string | ||
android_sha256_fingerprints | array of string | ||
android_fallback | enum: store, web | ||
android_intent | boolean | ||
web_url | string | ||
desktop_behavior | enum: web, qr_page, custom | ||
desktop_url | string | ||
og_title | string | ||
og_description | string | ||
og_image_url | string | ||
deferred_enabled | boolean | ||
deferred_ttl_hours | integer | ||
fingerprint_ttl_minutes | integer | ||
default_payload | object (free-form) |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json UnilinkTemplate |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/unilink-templates/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":"","status":"active","tracking_domain_id":"","ios_app_id":""}'
Example 200 response:
{
"external_ref": ""
}
DELETE /unilink-templates/{id}
Delete unilink template (per-app routing, AASA / assetlinks data, OG, deferred deep linking)
Operation deleteUnilinkTemplatesId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/unilink-templates/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /unilinks
List unilink (short code on a template; attributed when offer + partner are set)
Operation getUnilinks. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json UnilinkList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/unilinks?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /unilinks
Create unilink (short code on a template; attributed when offer + partner are set)
Operation postUnilinks. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): UnilinkCreate
| Field | Type | Flags | Description |
|---|---|---|---|
template_id | string | required | |
code | string | generated when omitted; short link https://{domain}/u/{code} | |
name | string | ||
status | enum: active, paused, archived | ||
offer_id | string | ||
partner_id | string | ||
params | object (free-form) | sub1..sub5, source, campaign (strings) | |
deep_link_value | string | ||
payload | object (free-form) | ||
web_url | string | ||
og_title | string | ||
og_description | string | ||
og_image_url | string |
curl -X POST 'https://api.metrixed.com/v1/unilinks' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"template_id":""}'
Example 201 response:
{
"external_ref": ""
}
GET /unilinks/{id}
Get unilink (short code on a template; attributed when offer + partner are set)
Operation getUnilinksId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/unilinks/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /unilinks/{id}
Update unilink (short code on a template; attributed when offer + partner are set)
Operation patchUnilinksId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): UnilinkUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
template_id | string | ||
code | string | generated when omitted; short link https://{domain}/u/{code} | |
name | string | ||
status | enum: active, paused, archived | ||
offer_id | string | ||
partner_id | string | ||
params | object (free-form) | sub1..sub5, source, campaign (strings) | |
deep_link_value | string | ||
payload | object (free-form) | ||
web_url | string | ||
og_title | string | ||
og_description | string | ||
og_image_url | string |
curl -X PATCH 'https://api.metrixed.com/v1/unilinks/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"template_id":"","code":"","name":"","status":"active"}'
Example 200 response:
{
"external_ref": ""
}
DELETE /unilinks/{id}
Delete unilink (short code on a template; attributed when offer + partner are set)
Operation deleteUnilinksId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/unilinks/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /unilinks/{id}/preview
Preview a stored unilink
Operation getUnilinksIdPreview. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/unilinks/<id>/preview' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"ok": false
}
GET /unilinks/{id}/qr
QR code of the short link (format png|svg, size px)
Operation getUnilinksIdQr. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
format | query | enum: png, svg | no | |
size | query | integer | no |
curl 'https://api.metrixed.com/v1/unilinks/<id>/qr' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"ok": false
}
POST /unilinks/preview
Live preview of a draft unilink: short URL, per-platform redirect, OG, AASA / assetlinks
Operation postUnilinksPreview. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): Ok
| Field | Type | Flags | Description |
|---|---|---|---|
ok | boolean |
curl -X POST 'https://api.metrixed.com/v1/unilinks/preview' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"ok":false}'
Example 200 response:
{
"ok": false
}