Skip to content
Docs

API reference / Operations by tag

smartlinks

SmartLinks: one link that routes traffic across a pool of offers.

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

Operations

MethodPathSummary
GET/smartlinksList Smartlinks
POST/smartlinksCreate Smartlink
GET/smartlinks/{id}Get Smartlink
PATCH/smartlinks/{id}Update Smartlink
DELETE/smartlinks/{id}Delete Smartlink
GET/smartlinks/{id}/offersList member offers
POST/smartlinks/{id}/offersAdd member offer
PATCH/smartlinks/{id}/offers/{entry_id}Update member offer (priority, weight, filters)
DELETE/smartlinks/{id}/offers/{entry_id}Remove member offer
GET/smartlinks/{id}/reportSmartlink performance by member offer (reporting engine, dimension smartlink)
POST/smartlinks/{id}/simulateSimulate clicks: which member offer N clicks (country, device, os, partner) would get and why the others are skipped. Same ranking as the edge; caps and live KPI stats are not applied
POST/smartlinks/{id}/tracking-linkGenerate smartlink tracking link (+QR PNG data URL)
POST/smartlinks/bulk/applyBulk edit apply
POST/smartlinks/bulk/deleteDelete up to 500 smartlinks in one transaction (dry_run: true previews without saving)
POST/smartlinks/bulk/previewBulk edit preview
POST/smartlinks/searchSearch Smartlinks (advanced)

List Smartlinks

Operation getSmartlinks. 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 SmartlinkList
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/smartlinks?page=1&page_size=50' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

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

POST /smartlinks

Create Smartlink

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

Request body (application/json, required): SmartlinkCreate

FieldTypeFlagsDescription
namestringrequired
descriptionstring
statusenum: active, paused, archived
eventenum: click, impression
typeenum: manual, category
routing_typeenum: priority, weight, kpi_auto, round_robin, epc
lookback_hoursinteger
kpiobject (free-form)metric epc|cr, min_clicks
offer_group_idstring
advertiser_idsarray of string
categoriesarray of string
allowed_partner_idsarray of string
blocked_partner_idsarray of string
is_open_to_partnersboolean
catch_all_offer_idstring
fail_traffic_targetobject (free-form)type offer|offer_url|offer_group|smartlink, routing_value
fallback_urlstring
targetingobject (free-form)geo_allow[], geo_deny[], device_types[], os[]
append_urlobject (free-form)key -> value
tagsarray of string
tracking_domain_idstring
is_use_secure_linkboolean
hash_idstring
StatusDescriptionBody
201okapplication/json Smartlink
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/smartlinks' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":""}'

Example 201 response:

json
{
  "hash_id": "",
  "external_ref": ""
}

GET /smartlinks/{id}

Get Smartlink

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

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

Example 200 response:

json
{
  "hash_id": "",
  "external_ref": ""
}

PATCH /smartlinks/{id}

Update Smartlink

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): SmartlinkUpdate

FieldTypeFlagsDescription
namestring
descriptionstring
statusenum: active, paused, archived
eventenum: click, impression
typeenum: manual, category
routing_typeenum: priority, weight, kpi_auto, round_robin, epc
lookback_hoursinteger
kpiobject (free-form)metric epc|cr, min_clicks
offer_group_idstring
advertiser_idsarray of string
categoriesarray of string
allowed_partner_idsarray of string
blocked_partner_idsarray of string
is_open_to_partnersboolean
catch_all_offer_idstring
fail_traffic_targetobject (free-form)type offer|offer_url|offer_group|smartlink, routing_value
fallback_urlstring
targetingobject (free-form)geo_allow[], geo_deny[], device_types[], os[]
append_urlobject (free-form)key -> value
tagsarray of string
tracking_domain_idstring
is_use_secure_linkboolean
hash_idstring
StatusDescriptionBody
200okapplication/json Smartlink
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/smartlinks/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"","description":"","status":"active","event":"click"}'

Example 200 response:

json
{
  "hash_id": "",
  "external_ref": ""
}

DELETE /smartlinks/{id}

Delete Smartlink

Operation deleteSmartlinksId. 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/smartlinks/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 204 response:

json
{
  "ok": false
}

GET /smartlinks/{id}/offers

List member offers

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

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

Example 200 response:

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

POST /smartlinks/{id}/offers

Add member offer

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): SmartlinkOfferCreate

FieldTypeFlagsDescription
smartlink_idstring
offer_idstringrequired
statusenum: active, paused
priorityinteger
weightinteger
geo_allowarray of string
geo_denyarray of string
device_typesarray of string
osarray of string
StatusDescriptionBody
201okapplication/json SmartlinkOffer
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/smartlinks/<id>/offers' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"offer_id":""}'

Example 201 response:

json
{
  "external_ref": ""
}

PATCH /smartlinks/{id}/offers/{entry_id}

Update member offer (priority, weight, filters)

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

ParameterInTypeRequiredDescription
idpathstringyes
entry_idpathstringyes

Request body (application/json, required): SmartlinkOfferUpdate

FieldTypeFlagsDescription
smartlink_idstring
offer_idstring
statusenum: active, paused
priorityinteger
weightinteger
geo_allowarray of string
geo_denyarray of string
device_typesarray of string
osarray of string
StatusDescriptionBody
200okapplication/json SmartlinkOffer
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/smartlinks/<id>/offers/<entry_id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"smartlink_id":"","offer_id":"","status":"active","priority":0}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /smartlinks/{id}/offers/{entry_id}

Remove member offer

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

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

Example 204 response:

json
{
  "ok": false
}

GET /smartlinks/{id}/report

Smartlink performance by member offer (reporting engine, dimension smartlink)

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

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

Example 200 response:

json
{
  "columns": [
    {}
  ],
  "rows": [
    [
      {}
    ]
  ],
  "totals": {},
  "next_cursor": ""
}

POST /smartlinks/{id}/simulate

Simulate clicks: which member offer N clicks (country, device, os, partner) would get and why the others are skipped. Same ranking as the edge; caps and live KPI stats are not applied

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): SmartlinkSimulateRequest

StatusDescriptionBody
200okapplication/json SmartlinkSimulateResult
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/smartlinks/<id>/simulate' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{}'

Example 200 response:

json
{}

POST /smartlinks/{id}/tracking-link

Generate smartlink tracking link (+QR PNG data URL)

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): TrackingLinkRequest

FieldTypeFlagsDescription
partner_idstringrequired
tracking_domain_idstring
landing_page_idstring
creative_idstring
styleenum: native, numeric, trackier, everflow, tune, affise, cake, app
paramsobject (free-form)sub1.. source etc.
deep_linkstring
encode_deep_linkboolean
with_qrboolean
with_pixelsboolean
google_ads_formatboolean
force_transparentboolean
StatusDescriptionBody
200okapplication/json TrackingLinkResult
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/smartlinks/<id>/tracking-link' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"partner_id":""}'

Example 200 response:

json
{
  "url": "",
  "impression_url": "",
  "click_pixel_html": "",
  "impression_pixel_html": ""
}

POST /smartlinks/bulk/apply

Bulk edit apply

Operation postSmartlinksBulkApply. 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/smartlinks/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 /smartlinks/bulk/delete

Delete up to 500 smartlinks in one transaction (dry_run: true previews without saving)

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

Request body (application/json, required): BulkDeleteRequest

StatusDescriptionBody
200okapplication/json BulkActionResult
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/smartlinks/bulk/delete' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{}'

Example 200 response:

json
{}

POST /smartlinks/bulk/preview

Bulk edit preview

Operation postSmartlinksBulkPreview. 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/smartlinks/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 /smartlinks/search

Search Smartlinks (advanced)

Operation postSmartlinksSearch. 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 SmartlinkList
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/smartlinks/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": {}
}