API reference / Operations by tag
advertisers
Advertisers (the brands or networks that pay for conversions), their billing and portal settings.
66 operations. Base URL https://api.metrixed.com/v1; see authentication, errors and pagination.
Operations
| Method | Path | Summary |
|---|---|---|
| POST | /advertiser/assistant/chat | Advertiser portal: ask the AI assistant about own offers, conversions, caps, disputes and invoices (no partner payouts); streams Server-Sent Events conversation, text, tool_call, tool_result, done, error |
| GET | /advertiser/billing/summary | Advertiser portal: balance, amount owed, credit limit and available credit, outstanding and overdue per currency, spend this and last month |
| GET | /advertiser/caps | Advertiser portal: live usage of the caps on own offers (payout caps hidden; revenue caps shown as spend) |
| POST | /advertiser/clicks/search | Advertiser portal: raw click log of own offers (partner fields only when exposed, ip/user agent only when the tenant allows) |
| POST | /advertiser/conversions/{id}/status | Advertiser portal: approve, reject, cancel or re-open a conversion (applied at once or opened as a dispute per the tenant policy) |
| POST | /advertiser/conversions/bulk-status | Advertiser portal: status change for up to 500 conversions |
| GET | /advertiser/disputes | Advertiser portal: own conversion disputes (filter status, conversion_id) with counts per status |
| POST | /advertiser/disputes/{id}/withdraw | Advertiser portal: withdraw an open dispute |
| GET | /advertiser/invoices/{id} | Advertiser portal: invoice detail (lines, payments, paid, outstanding, pay state, payment link) |
| GET | /advertiser/invoices/{id}/pdf | Advertiser portal: invoice as PDF (application/pdf) |
| GET | /advertiser/login-history | Advertiser portal: recent sign-ins (all users for admins, own otherwise) |
| GET | /advertiser/me | Advertiser profile |
| GET | /advertiser/mmp-templates | Advertiser portal: own postback, reversal and MMP setup |
| GET | /advertiser/notification-prefs | Advertiser portal: own notification preferences per kind (in_app, email) |
| PUT | /advertiser/notification-prefs | Advertiser portal: update own notification preferences |
| GET | /advertiser/notifications | Advertiser portal: notifications for the account and the user (filter=unread, kind, cursor) |
| POST | /advertiser/notifications/read | Advertiser portal: mark notifications read (ids[] or all; unread=true marks unread) |
| GET | /advertiser/notifications/summary | Advertiser portal: unread notification count |
| GET | /advertiser/offers | Advertiser offers |
| GET | /advertiser/offers/{id} | Advertiser portal: offer detail with goals and what each costs, caps and remaining, creatives, landing pages and tracking setup |
| GET | /advertiser/onboarding | Advertiser portal: first-login checklist (profile, prepaid top-up, first postback) |
| POST | /advertiser/onboarding/dismiss | Advertiser portal: hide the first-login checklist |
| GET | /advertiser/payments | Advertiser portal: payment history (invoice payments and other ledger credits) |
| GET | /advertiser/permissions | Advertiser portal: own role, permissions, role matrix and the tenant's conversion-action policy (dispute|direct|off) |
| POST | /advertiser/postback-test | Advertiser portal: dry-run an inbound postback for an own offer (nothing is recorded) |
| POST | /advertiser/postback-token/rotate | Advertiser portal: rotate the postback security token (old token stops working) |
| GET | /advertiser/profile | Advertiser portal: company profile, contact, billing details and account manager |
| PATCH | /advertiser/profile | Advertiser portal: update company, reporting time zone, contact and billing details (account permission) |
| GET | /advertiser/reconciliation/jobs | Advertiser portal: reconciliation upload history with result counts |
| GET | /advertiser/reconciliation/jobs/{id} | Advertiser portal: one reconciliation upload with per-row results |
| GET | /advertiser/reports/catalog | Advertiser portal: report catalogue (only what the advertiser may see) |
| POST | /advertiser/reports/export | Advertiser portal: async report export (CSV/XLSX of the whole result) |
| GET | /advertiser/reports/export/{id} | Advertiser portal: export job status (own exports only) |
| GET | /advertiser/reports/saved | Advertiser portal: saved reports (own and team) |
| POST | /advertiser/reports/saved | Advertiser portal: save a report |
| GET | /advertiser/reports/saved/{id} | Advertiser portal: get a saved report |
| PATCH | /advertiser/reports/saved/{id} | Advertiser portal: update a saved report |
| DELETE | /advertiser/reports/saved/{id} | Advertiser portal: delete a saved report |
| GET | /advertiser/reports/schedules | Advertiser portal: scheduled reports |
| POST | /advertiser/reports/schedules | Advertiser portal: schedule a saved report (or the default performance report) by email |
| PATCH | /advertiser/reports/schedules/{id} | Advertiser portal: update or pause a scheduled report |
| DELETE | /advertiser/reports/schedules/{id} | Advertiser portal: delete a scheduled report |
| POST | /advertiser/reports/schedules/{id}/run | Advertiser portal: run a scheduled report now (within a minute) |
| GET | /advertiser/security | Advertiser portal: portal IP allowlist, caller IP and MFA coverage |
| PUT | /advertiser/security | Advertiser portal: set the portal IP allowlist (IPs/CIDRs; must include the caller's IP; empty = everyone) |
| GET | /advertiser/statement | Advertiser portal: statement of account (from, to, currency): opening balance, daily charges and payments with running balance |
| GET | /advertiser/statement/export | Advertiser portal: statement of account as CSV or PDF (format=csv|pdf) |
| GET | /advertiser/topups | Advertiser portal: top-up requests and credited top-ups |
| GET | /advertiser/users | Advertiser portal: own team members and pending invitations |
| POST | /advertiser/users | Advertiser portal: invite a team member |
| PATCH | /advertiser/users/{id} | Advertiser portal: change a team member's role or disable / re-enable them |
| DELETE | /advertiser/users/invitations/{id} | Advertiser portal: revoke a pending invitation |
| POST | /advertiser/users/invitations/{id}/resend | Advertiser portal: resend a pending invitation (new link, 7 more days) |
| GET | /advertisers | List Advertisers |
| POST | /advertisers | Create Advertiser |
| GET | /advertisers/{id} | Get Advertiser |
| PATCH | /advertisers/{id} | Update Advertiser |
| DELETE | /advertisers/{id} | Delete Advertiser |
| GET | /advertisers/{id}/postback-setup | Postback setup of one advertiser: tracking origin, postback and reversal URL templates with its token, MMP templates |
| GET | /advertisers/{id}/users | Advertiser users |
| POST | /advertisers/{id}/users | Create advertiser user |
| POST | /advertisers/bulk/apply | Bulk edit apply |
| POST | /advertisers/bulk/delete | Delete up to 500 advertisers in one transaction (dry_run: true previews without saving) |
| POST | /advertisers/bulk/preview | Bulk edit preview |
| POST | /advertisers/search | Search Advertisers (advanced) |
| GET | /mmp-templates | MMP postback templates (AppsFlyer, Adjust, Branch, Singular, Kochava): inbound postback URL for the MMP's partner setup and the outbound mmp: S2S preset; advertiser_id renders the URL with that advertiser's token |
POST /advertiser/assistant/chat
Advertiser portal: ask the AI assistant about own offers, conversions, caps, disputes and invoices (no partner payouts); streams Server-Sent Events conversation, text, tool_call, tool_result, done, error
Operation postAdvertiserAssistantChat. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): PortalDoc
curl -X POST 'https://api.metrixed.com/v1/advertiser/assistant/chat' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
GET /advertiser/billing/summary
Advertiser portal: balance, amount owed, credit limit and available credit, outstanding and overdue per currency, spend this and last month
Operation getAdvertiserBillingSummary. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserBillingSummary |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/billing/summary' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/caps
Advertiser portal: live usage of the caps on own offers (payout caps hidden; revenue caps shown as spend)
Operation getAdvertiserCaps. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserCaps |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/caps' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /advertiser/clicks/search
Advertiser portal: raw click log of own offers (partner fields only when exposed, ip/user agent only when the tenant allows)
Operation postAdvertiserClicksSearch. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): LogSearchRequest
| Field | Type | Flags | Description |
|---|---|---|---|
from | string (date-time) | ||
to | string (date-time) | ||
timezone | string | ||
filters | array of object (free-form) | ||
search | object (free-form) | type, value | |
fields | array of string | ||
limit | integer | ||
cursor | string | ||
sort | object (free-form) |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserClickPage |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertiser/clicks/search' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"from":"1970-01-01T00:00:00.000Z","to":"1970-01-01T00:00:00.000Z","timezone":"","filters":[{}]}'
Example 200 response:
{}
POST /advertiser/conversions/{id}/status
Advertiser portal: approve, reject, cancel or re-open a conversion (applied at once or opened as a dispute per the tenant policy)
Operation postAdvertiserConversionsIdStatus. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): AdvertiserStatusChange
| Field | Type | Flags | Description |
|---|---|---|---|
status | enum: approved, rejected, cancelled, pending | required | |
reason | enum: valid, duplicate, fraud, returned, cancelled_order, test, not_qualified, invalid_data, chargeback, advertiser_reconciliation, other | ||
note | string | ||
ids | array of string |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserStatusResult |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertiser/conversions/<id>/status' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"status":"approved"}'
Example 200 response:
{}
POST /advertiser/conversions/bulk-status
Advertiser portal: status change for up to 500 conversions
Operation postAdvertiserConversionsBulkStatus. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): AdvertiserBulkStatusChange
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserStatusResult |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertiser/conversions/bulk-status' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
GET /advertiser/disputes
Advertiser portal: own conversion disputes (filter status, conversion_id) with counts per status Advertiser portal: own conversion disputes (filter status, conversion_id) with counts per status. WP-67: paged; q matches conversion / txn id or offer; counts per status.
Operation getAdvertiserDisputes. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
q | query | string | no | |
page | query | string | no | |
page_size | query | string | no | |
status | query | string | no | |
conversion_id | query | string | no |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserDisputeList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/disputes?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /advertiser/disputes/{id}/withdraw
Advertiser portal: withdraw an open dispute
Operation postAdvertiserDisputesIdWithdraw. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X POST 'https://api.metrixed.com/v1/advertiser/disputes/<id>/withdraw' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"ok": false
}
GET /advertiser/invoices/{id}
Advertiser portal: invoice detail (lines, payments, paid, outstanding, pay state, payment link)
Operation getAdvertiserInvoicesId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserInvoiceDetail |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/invoices/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/invoices/{id}/pdf
Advertiser portal: invoice as PDF (application/pdf)
Operation getAdvertiserInvoicesIdPdf. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/advertiser/invoices/<id>/pdf' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/login-history
Advertiser portal: recent sign-ins (all users for admins, own otherwise) Advertiser portal: recent sign-ins (all users for admins, own otherwise). WP-71: paged with page/page_size (page.total over the whole match); unpaged returns the previous bound with total and capped/cap.
Operation getAdvertiserLoginHistory. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | string | no | |
page_size | query | string | no |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json LoginHistory |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/login-history?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/me
Advertiser profile
Operation getAdvertiserMe. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json Advertiser |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/me' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
GET /advertiser/mmp-templates
Advertiser portal: own postback, reversal and MMP setup
Operation getAdvertiserMmpTemplates. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json PostbackSetup |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/mmp-templates' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"tracking_base": "",
"token_secured": false,
"postback_url": "",
"reversal_url": ""
}
GET /advertiser/notification-prefs
Advertiser portal: own notification preferences per kind (in_app, email)
Operation getAdvertiserNotificationPrefs. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json NotificationPrefs |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/notification-prefs' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
PUT /advertiser/notification-prefs
Advertiser portal: update own notification preferences
Operation putAdvertiserNotificationPrefs. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): NotificationPrefs
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json NotificationPrefs |
| default | error | application/json Error |
curl -X PUT 'https://api.metrixed.com/v1/advertiser/notification-prefs' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
GET /advertiser/notifications
Advertiser portal: notifications for the account and the user (filter=unread, kind, cursor)
Operation getAdvertiserNotifications. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserNotificationList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/notifications' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /advertiser/notifications/read
Advertiser portal: mark notifications read (ids[] or all; unread=true marks unread)
Operation postAdvertiserNotificationsRead. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): NotificationRead
curl -X POST 'https://api.metrixed.com/v1/advertiser/notifications/read' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{
"ok": false
}
GET /advertiser/notifications/summary
Advertiser portal: unread notification count
Operation getAdvertiserNotificationsSummary. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json NotificationSummary |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/notifications/summary' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/offers
Advertiser offers Advertiser offers. WP-71: paged with page/page_size (page.total over the whole match); unpaged returns the previous bound with total and capped/cap.
Operation getAdvertiserOffers. 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/advertiser/offers?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
GET /advertiser/offers/{id}
Advertiser portal: offer detail with goals and what each costs, caps and remaining, creatives, landing pages and tracking setup
Operation getAdvertiserOffersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserOfferDetail |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/offers/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/onboarding
Advertiser portal: first-login checklist (profile, prepaid top-up, first postback)
Operation getAdvertiserOnboarding. Auth: API key (Bearer) or session cookie.
curl 'https://api.metrixed.com/v1/advertiser/onboarding' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /advertiser/onboarding/dismiss
Advertiser portal: hide the first-login checklist
Operation postAdvertiserOnboardingDismiss. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): PortalDoc
curl -X POST 'https://api.metrixed.com/v1/advertiser/onboarding/dismiss' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
GET /advertiser/payments
Advertiser portal: payment history (invoice payments and other ledger credits) Advertiser portal: payment history (invoice payments and other ledger credits). WP-67: naturally small; returns at most 500 rows and capped: true when that cap is hit.
Operation getAdvertiserPayments. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserPaymentList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/payments' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/permissions
Advertiser portal: own role, permissions, role matrix and the tenant's conversion-action policy (dispute|direct|off)
Operation getAdvertiserPermissions. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserPermissions |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/permissions' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /advertiser/postback-test
Advertiser portal: dry-run an inbound postback for an own offer (nothing is recorded)
Operation postAdvertiserPostbackTest. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): ConversionCreate
| Field | Type | Flags | Description |
|---|---|---|---|
conversion_id | string | ||
click_id | string | ||
impression_id | string | ||
txn_id | string | ||
order_id | string | ||
conversion_type | enum: base, goal, event, upsell, rebill, refund, chargeback, adjustment | ||
goal_id | string | ||
goal_key | string | ||
offer_id | string | ||
partner_id | string | ||
advertiser_id | string | ||
landing_page_id | string | ||
creative_id | string | ||
coupon_code | string | ||
ts | string (date-time) | ||
click_ts | string (date-time) | ||
ctit_seconds | integer | ||
status | enum: pending, approved, rejected, cancelled, extended, flagged, scrubbed | ||
status_reason | string | ||
status_source | string | ||
is_hidden_from_partner | boolean | ||
payout | string | decimal string | |
revenue | string | decimal string | |
sale_amount | string | decimal string | |
currency | string | ||
fx_rate | string | decimal string | |
profit | string | decimal string | |
adv | object (free-form) | adv1..adv10 | |
params | object (free-form) | sub1..sub15, source, ... | |
method | enum: postback, pixel, iframe, js, sdk, s2s, coupon, manual, import | ||
attribution | object (free-form) | model, touch, confidence, is_organic | |
ip | string | ||
click_ip | string | ||
geo | object (free-form) | ||
device | object (free-form) | ||
user_id | string | ||
fraud | object (free-form) | score, reasons, rule_ids | |
is_test | boolean | ||
raw_request | string | ||
history | array of object (free-form) |
curl -X POST 'https://api.metrixed.com/v1/advertiser/postback-test' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"conversion_id":"","click_id":"","impression_id":"","txn_id":""}'
Example 200 response:
{}
POST /advertiser/postback-token/rotate
Advertiser portal: rotate the postback security token (old token stops working)
Operation postAdvertiserPostbackTokenRotate. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json PostbackToken |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertiser/postback-token/rotate' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/profile
Advertiser portal: company profile, contact, billing details and account manager
Operation getAdvertiserProfile. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserProfile |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/profile' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
PATCH /advertiser/profile
Advertiser portal: update company, reporting time zone, contact and billing details (account permission)
Operation patchAdvertiserProfile. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): AdvertiserProfile
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserProfile |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/advertiser/profile' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
GET /advertiser/reconciliation/jobs
Advertiser portal: reconciliation upload history with result counts Advertiser portal: reconciliation upload history with result counts. WP-71: paged with page/page_size (page.total over the whole match); unpaged returns the previous bound with total and capped/cap.
Operation getAdvertiserReconciliationJobs. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | string | no | |
page_size | query | string | no |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json ReconJobList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/reconciliation/jobs?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/reconciliation/jobs/{id}
Advertiser portal: one reconciliation upload with per-row results
Operation getAdvertiserReconciliationJobsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/advertiser/reconciliation/jobs/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/reports/catalog
Advertiser portal: report catalogue (only what the advertiser may see)
Operation getAdvertiserReportsCatalog. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json ReportCatalog |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/reports/catalog' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"principal": "network",
"endpoint": "",
"dimensions": [
{}
],
"metrics": [
{}
]
}
POST /advertiser/reports/export
Advertiser portal: async report export (CSV/XLSX of the whole result)
Operation postAdvertiserReportsExport. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): ExportRequest
| Field | Type | Flags | Description |
|---|---|---|---|
query | ReportQuery | ||
log | LogSearchRequest | ||
format | enum: csv, tsv, xlsx, json, parquet | ||
notify_email | string | ||
labels | boolean |
curl -X POST 'https://api.metrixed.com/v1/advertiser/reports/export' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"query":{"from":"","to":""},"log":{},"format":"csv","notify_email":""}'
Example 202 response:
{
"external_ref": ""
}
GET /advertiser/reports/export/{id}
Advertiser portal: export job status (own exports only)
Operation getAdvertiserReportsExportId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json ExportStatus |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/reports/export/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"job_id": "",
"status": "queued",
"progress": 0,
"kind": ""
}
GET /advertiser/reports/saved
Advertiser portal: saved reports (own and team)
Operation getAdvertiserReportsSaved. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SavedReportList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/reports/saved' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"rows": [
{}
],
"has_more": false
}
POST /advertiser/reports/saved
Advertiser portal: save a report
Operation postAdvertiserReportsSaved. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): SavedReport
| Field | Type | Flags | Description |
|---|---|---|---|
id | string | read-only | |
display_id | integer | read-only | |
hash_id | string | read-only | |
external_ref | string | ||
custom_fields | object (free-form) | tenant-defined fields | |
version | integer | read-only | |
created_at | string (date-time) | read-only | |
updated_at | string (date-time) | read-only | |
deleted_at | string (date-time) | read-only | |
name | string | ||
query | ReportQuery | ||
is_shared | boolean | ||
description | string | ||
visibility | enum: private, team | ||
pinned | boolean | ||
owner_user_id | string | read-only | |
principal_type | enum: network, partner, advertiser | read-only |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json SavedReport |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertiser/reports/saved' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"external_ref":""}'
Example 201 response:
{
"external_ref": ""
}
GET /advertiser/reports/saved/{id}
Advertiser portal: get a saved report
Operation getAdvertiserReportsSavedId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SavedReport |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/reports/saved/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /advertiser/reports/saved/{id}
Advertiser portal: update a saved report
Operation patchAdvertiserReportsSavedId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): SavedReport
| Field | Type | Flags | Description |
|---|---|---|---|
id | string | read-only | |
display_id | integer | read-only | |
hash_id | string | read-only | |
external_ref | string | ||
custom_fields | object (free-form) | tenant-defined fields | |
version | integer | read-only | |
created_at | string (date-time) | read-only | |
updated_at | string (date-time) | read-only | |
deleted_at | string (date-time) | read-only | |
name | string | ||
query | ReportQuery | ||
is_shared | boolean | ||
description | string | ||
visibility | enum: private, team | ||
pinned | boolean | ||
owner_user_id | string | read-only | |
principal_type | enum: network, partner, advertiser | read-only |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json SavedReport |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/advertiser/reports/saved/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"external_ref":""}'
Example 200 response:
{
"external_ref": ""
}
DELETE /advertiser/reports/saved/{id}
Advertiser portal: delete a saved report
Operation deleteAdvertiserReportsSavedId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/advertiser/reports/saved/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /advertiser/reports/schedules
Advertiser portal: scheduled reports
Operation getAdvertiserReportsSchedules. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserScheduleList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/reports/schedules' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /advertiser/reports/schedules
Advertiser portal: schedule a saved report (or the default performance report) by email
Operation postAdvertiserReportsSchedules. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): AdvertiserSchedule
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json AdvertiserSchedule |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertiser/reports/schedules' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 201 response:
{}
PATCH /advertiser/reports/schedules/{id}
Advertiser portal: update or pause a scheduled report
Operation patchAdvertiserReportsSchedulesId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): AdvertiserSchedule
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserSchedule |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/advertiser/reports/schedules/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
DELETE /advertiser/reports/schedules/{id}
Advertiser portal: delete a scheduled report
Operation deleteAdvertiserReportsSchedulesId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/advertiser/reports/schedules/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
POST /advertiser/reports/schedules/{id}/run
Advertiser portal: run a scheduled report now (within a minute)
Operation postAdvertiserReportsSchedulesIdRun. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X POST 'https://api.metrixed.com/v1/advertiser/reports/schedules/<id>/run' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 202 response:
{
"ok": false
}
GET /advertiser/security
Advertiser portal: portal IP allowlist, caller IP and MFA coverage
Operation getAdvertiserSecurity. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserSecurity |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/security' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
PUT /advertiser/security
Advertiser portal: set the portal IP allowlist (IPs/CIDRs; must include the caller's IP; empty = everyone)
Operation putAdvertiserSecurity. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): AdvertiserSecurity
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserSecurity |
| default | error | application/json Error |
curl -X PUT 'https://api.metrixed.com/v1/advertiser/security' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
GET /advertiser/statement
Advertiser portal: statement of account (from, to, currency): opening balance, daily charges and payments with running balance
Operation getAdvertiserStatement. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserStatement |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertiser/statement' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/statement/export
Advertiser portal: statement of account as CSV or PDF (format=csv|pdf)
Operation getAdvertiserStatementExport. Auth: API key (Bearer) or session cookie.
curl 'https://api.metrixed.com/v1/advertiser/statement/export' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/topups
Advertiser portal: top-up requests and credited top-ups
Operation getAdvertiserTopups. Auth: API key (Bearer) or session cookie.
curl 'https://api.metrixed.com/v1/advertiser/topups' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertiser/users
Advertiser portal: own team members and pending invitations
Operation getAdvertiserUsers. Auth: API key (Bearer) or session cookie.
curl 'https://api.metrixed.com/v1/advertiser/users' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /advertiser/users
Advertiser portal: invite a team member
Operation postAdvertiserUsers. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): PortalDoc
curl -X POST 'https://api.metrixed.com/v1/advertiser/users' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 201 response:
{}
PATCH /advertiser/users/{id}
Advertiser portal: change a team member's role or disable / re-enable them
Operation patchAdvertiserUsersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): TeamMemberPatch
curl -X PATCH 'https://api.metrixed.com/v1/advertiser/users/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{
"ok": false
}
DELETE /advertiser/users/invitations/{id}
Advertiser portal: revoke a pending invitation
Operation deleteAdvertiserUsersInvitationsId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/advertiser/users/invitations/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
POST /advertiser/users/invitations/{id}/resend
Advertiser portal: resend a pending invitation (new link, 7 more days)
Operation postAdvertiserUsersInvitationsIdResend. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json TeamInvitation |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertiser/users/invitations/<id>/resend' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
GET /advertisers
List Advertisers
Operation getAdvertisers. 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 AdvertiserList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertisers?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /advertisers
Create Advertiser
Operation postAdvertisers. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): AdvertiserCreate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | required | |
company | string | ||
status | enum: active, pending, paused, disabled, rejected | ||
business_unit_id | string | ||
account_manager_id | string | ||
sales_manager_id | string | ||
internal_notes | string | ||
tags | array of string | ||
contact | object (free-form) | email, phone, website, address{address1,address2,city,region_code,country_code,zip}, accounting_contact_email, tax_id, vat_number | |
default_currency | string | ||
reporting_timezone | string | ||
redirect_mode | enum: http302, http302_hide_referrer, http200_js, http200_js_hide_referrer, meta_refresh_single, meta_refresh_double, seo_friendly_301, direct_link, interstitial, app_store_smart | ||
fallback_url | string | ||
blocked_partner_ids | array of string | ||
platform | object (free-form) | platform_name, platform_url, platform_username, offer_id_macro, affiliate_id_macro | |
postback_whitelist_ips | array of string | ||
postback_security_mode | enum: none, token, ip, hmac | ||
attribution_method | enum: last_touch, first_touch, linear, position_based, time_decay | ||
email_attribution_method | string | ||
attribution_priority | enum: click, coupon | ||
is_expose_partner_reporting_data | boolean | ||
billing | object (free-form) | mode prepaid|postpaid, frequency, details, invoice_generation_days_delay, invoice_amount_threshold, default_payment_terms, credit_limit, auto_pause_on_zero_balance, is_invoice_creation_auto | |
signup_answers | object (free-form) |
| Status | Description | Body |
|---|---|---|
| 201 | ok | application/json Advertiser |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertisers' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":""}'
Example 201 response:
{
"external_ref": ""
}
GET /advertisers/{id}
Get Advertiser
Operation getAdvertisersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json Advertiser |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertisers/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /advertisers/{id}
Update Advertiser
Operation patchAdvertisersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): AdvertiserUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | ||
company | string | ||
status | enum: active, pending, paused, disabled, rejected | ||
business_unit_id | string | ||
account_manager_id | string | ||
sales_manager_id | string | ||
internal_notes | string | ||
tags | array of string | ||
contact | object (free-form) | email, phone, website, address{address1,address2,city,region_code,country_code,zip}, accounting_contact_email, tax_id, vat_number | |
default_currency | string | ||
reporting_timezone | string | ||
redirect_mode | enum: http302, http302_hide_referrer, http200_js, http200_js_hide_referrer, meta_refresh_single, meta_refresh_double, seo_friendly_301, direct_link, interstitial, app_store_smart | ||
fallback_url | string | ||
blocked_partner_ids | array of string | ||
platform | object (free-form) | platform_name, platform_url, platform_username, offer_id_macro, affiliate_id_macro | |
postback_whitelist_ips | array of string | ||
postback_security_mode | enum: none, token, ip, hmac | ||
attribution_method | enum: last_touch, first_touch, linear, position_based, time_decay | ||
email_attribution_method | string | ||
attribution_priority | enum: click, coupon | ||
is_expose_partner_reporting_data | boolean | ||
billing | object (free-form) | mode prepaid|postpaid, frequency, details, invoice_generation_days_delay, invoice_amount_threshold, default_payment_terms, credit_limit, auto_pause_on_zero_balance, is_invoice_creation_auto | |
signup_answers | object (free-form) |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json Advertiser |
| default | error | application/json Error |
curl -X PATCH 'https://api.metrixed.com/v1/advertisers/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":"","company":"","status":"active","business_unit_id":""}'
Example 200 response:
{
"external_ref": ""
}
DELETE /advertisers/{id}
Delete Advertiser
Operation deleteAdvertisersId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/advertisers/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /advertisers/{id}/postback-setup
Postback setup of one advertiser: tracking origin, postback and reversal URL templates with its token, MMP templates
Operation getAdvertisersIdPostbackSetup. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json PostbackSetup |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/advertisers/<id>/postback-setup' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"tracking_base": "",
"token_secured": false,
"postback_url": "",
"reversal_url": ""
}
GET /advertisers/{id}/users
Advertiser users
Operation getAdvertisersIdUsers. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/advertisers/<id>/users' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /advertisers/{id}/users
Create advertiser user
Operation postAdvertisersIdUsers. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): UserCreate
| Field | Type | Flags | Description |
|---|---|---|---|
email | string (email) | required | |
name | string | required | |
status | string | ||
locale | string | ||
timezone | string | ||
avatar_url | string |
curl -X POST 'https://api.metrixed.com/v1/advertisers/<id>/users' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"email":"user@example.com","name":""}'
Example 201 response:
{
"external_ref": ""
}
POST /advertisers/bulk/apply
Bulk edit apply
Operation postAdvertisersBulkApply. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): BulkPatch
| Field | Type | Flags | Description |
|---|---|---|---|
ids | array of string | required | |
patches | array of object | required |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json BulkPreview |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertisers/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:
{
"affected": 0,
"changes": [
{}
],
"warnings": [
""
],
"token": ""
}
POST /advertisers/bulk/delete
Delete up to 500 advertisers in one transaction (dry_run: true previews without saving)
Operation postAdvertisersBulkDelete. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): BulkDeleteRequest
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json BulkActionResult |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertisers/bulk/delete' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
POST /advertisers/bulk/preview
Bulk edit preview
Operation postAdvertisersBulkPreview. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): BulkPatch
| Field | Type | Flags | Description |
|---|---|---|---|
ids | array of string | required | |
patches | array of object | required |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json BulkPreview |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertisers/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:
{
"affected": 0,
"changes": [
{}
],
"warnings": [
""
],
"token": ""
}
POST /advertisers/search
Search Advertisers (advanced)
Operation postAdvertisersSearch. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): SearchRequest
| Field | Type | Flags | Description |
|---|---|---|---|
filters | array of object | ||
search | string | ||
sort | array of object (free-form) | ||
page | integer | ||
page_size | integer | ||
include | array of string |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json AdvertiserList |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/advertisers/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:
{
"data": [
{}
],
"page": {}
}
GET /mmp-templates
MMP postback templates (AppsFlyer, Adjust, Branch, Singular, Kochava): inbound postback URL for the MMP's partner setup and the outbound mmp: S2S preset; advertiser_id renders the URL with that advertiser's token
Operation getMmpTemplates. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
advertiser_id | query | string | no |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json MMPTemplateList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/mmp-templates' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
]
}