Skip to content
Docs

API reference / Operations by tag

leads

Lead distribution: verticals, forms, buyers, ping/post routing, sales and returns.

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

Operations

MethodPathSummary
POST/advertiser/lead-returnsBuyer portal: request a return
GET/advertiser/lead-salesBuyer portal: sales charged to the advertiser
GET/lead-buyersList LeadBuyers
POST/lead-buyersCreate LeadBuyer
GET/lead-buyers/{id}Get LeadBuyer
PATCH/lead-buyers/{id}Update LeadBuyer
DELETE/lead-buyers/{id}Delete LeadBuyer
GET/lead-campaignsList LeadCampaigns
POST/lead-campaignsCreate LeadCampaign
GET/lead-campaigns/{id}Get LeadCampaign
PATCH/lead-campaigns/{id}Update LeadCampaign
DELETE/lead-campaigns/{id}Delete LeadCampaign
POST/lead-campaigns/{id}/test-sendMapping builder: render (and optionally send) a campaign ping/post for sample fields
GET/lead-delivery/templatesOne-click delivery/response mapping templates
GET/lead-fieldsList LeadFields
POST/lead-fieldsCreate LeadField
GET/lead-fields/{id}Get LeadField
PATCH/lead-fields/{id}Update LeadField
DELETE/lead-fields/{id}Delete LeadField
GET/lead-formsList LeadForms
POST/lead-formsCreate LeadForm
GET/lead-forms/{id}Get LeadForm
PATCH/lead-forms/{id}Update LeadForm
DELETE/lead-forms/{id}Delete LeadForm
GET/lead-return-reasonsClosed set of return reason codes
GET/lead-returnsList LeadReturns
GET/lead-returns/{id}Get LeadReturn
POST/lead-returns/{id}/approveApprove a return: sale marked returned, buyer charge and supplier payout reversed in the ledger
POST/lead-returns/{id}/rejectReject a return request
GET/lead-salesList LeadSales
GET/lead-sales/{id}Get LeadSale
POST/lead-sales/{id}/returnsRecord a buyer return request (inside the return window)
GET/lead-supplier-termsList LeadSupplierTerms
POST/lead-supplier-termsCreate LeadSupplierTerm
GET/lead-supplier-terms/{id}Get LeadSupplierTerm
PATCH/lead-supplier-terms/{id}Update LeadSupplierTerm
DELETE/lead-supplier-terms/{id}Delete LeadSupplierTerm
GET/lead-verticalsList LeadVerticals
POST/lead-verticalsCreate LeadVertical
GET/lead-verticals/{id}Get LeadVertical
PATCH/lead-verticals/{id}Update LeadVertical
DELETE/lead-verticals/{id}Delete LeadVertical
GET/leadsLead log (filter[status|vertical_id|partner_id])
POST/leadsSubmit a lead (supplier API key): validates, stores, runs ping/post, returns the supplier view
GET/leads/{id}Lead with the ping/post timeline, sales and returns
POST/leads/reportLead report by vertical/supplier/buyer/campaign/day: leads, sold %, revenue, cost, margin, return rate (reporting service)
GET/partner/lead-verticalsSupplier portal: active verticals with their field schema
GET/partner/leadsSupplier portal: own leads with masked PII and payout
GET/partner/leads/summarySupplier portal: leads / sold / rejected / returned / payout for the last N days
GET/public/lead-forms/{slug}Public: form schema (no auth)
GET/public/lead-forms/{slug}/embed.jsPublic: embeddable form script
GET/public/lead-forms/{slug}/pagePublic: hosted form page
POST/public/lead-forms/{slug}/submitPublic: submit a hosted/embedded form (JSON or urlencoded; CORS per allowed_origins)

POST /advertiser/lead-returns

Buyer portal: request a return

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

Request body (application/json, required): LeadReturnRequest

FieldTypeFlagsDescription
reason_codeenum: invalid_contact, duplicate, unreachable, not_interested, out_of_area, fraud, compliance, otherrequired
reasonstring
StatusDescriptionBody
201okapplication/json LeadReturn
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/advertiser/lead-returns' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"reason_code":"invalid_contact"}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /advertiser/lead-sales

Buyer portal: sales charged to the advertiser Buyer portal: sales charged to the advertiser. WP-71: paged with page/page_size (page.total over the whole match); unpaged returns the previous bound with total and capped/cap.

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

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

Example 200 response:

json
{
  "ok": false
}

GET /lead-buyers

List LeadBuyers

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

Example 200 response:

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

POST /lead-buyers

Create LeadBuyer

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

Request body (application/json, required): LeadBuyerCreate

FieldTypeFlagsDescription
namestringrequired
advertiser_idstring
statusenum: active, paused, archived
contact_emailstring
notesstring
currencystring
StatusDescriptionBody
201okapplication/json LeadBuyer
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-buyers' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /lead-buyers/{id}

Get LeadBuyer

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

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

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /lead-buyers/{id}

Update LeadBuyer

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadBuyerUpdate

FieldTypeFlagsDescription
namestring
advertiser_idstring
statusenum: active, paused, archived
contact_emailstring
notesstring
currencystring
StatusDescriptionBody
200okapplication/json LeadBuyer
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/lead-buyers/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"","advertiser_id":"","status":"active","contact_email":""}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /lead-buyers/{id}

Delete LeadBuyer

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

Example 204 response:

json
{
  "ok": false
}

GET /lead-campaigns

List LeadCampaigns

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

Example 200 response:

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

POST /lead-campaigns

Create LeadCampaign

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

Request body (application/json, required): LeadCampaignCreate

FieldTypeFlagsDescription
buyer_idstringrequired
vertical_idstringrequired
namestringrequired
statusenum: draft, active, paused, archived
priorityinteger
weightinteger
filtersarray of object (free-form)
filter_matchenum: all, any
capsobject (free-form)hourly, daily
scheduleobject (free-form)timezone, windows[{days[1-7],from,to}]
pricing_typeenum: fixed, bid
pricestringdecimal string
bid_floorstringdecimal string
bid_ceilingstringdecimal string
accepts_sharedboolean
ping_enabledboolean
ping_deliveryobject (free-form)delivery spec: kind, url, method, format json|form|xml, headers, auth, map[{to,from,value,template,transform,type,required}], body, root, email
ping_responseobject (free-form)response spec: accept/reject{status[],path,equals[],regex,contains}, price_path, reason_path, ref_path
deliveryobject (free-form)delivery spec (see ping_delivery)
post_responseobject (free-form)response spec (see ping_response)
timeout_msinteger
return_auto_approve_hoursinteger
currencystring
StatusDescriptionBody
201okapplication/json LeadCampaign
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-campaigns' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"buyer_id":"","vertical_id":"","name":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /lead-campaigns/{id}

Get LeadCampaign

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

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

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /lead-campaigns/{id}

Update LeadCampaign

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadCampaignUpdate

FieldTypeFlagsDescription
buyer_idstring
vertical_idstring
namestring
statusenum: draft, active, paused, archived
priorityinteger
weightinteger
filtersarray of object (free-form)
filter_matchenum: all, any
capsobject (free-form)hourly, daily
scheduleobject (free-form)timezone, windows[{days[1-7],from,to}]
pricing_typeenum: fixed, bid
pricestringdecimal string
bid_floorstringdecimal string
bid_ceilingstringdecimal string
accepts_sharedboolean
ping_enabledboolean
ping_deliveryobject (free-form)delivery spec: kind, url, method, format json|form|xml, headers, auth, map[{to,from,value,template,transform,type,required}], body, root, email
ping_responseobject (free-form)response spec: accept/reject{status[],path,equals[],regex,contains}, price_path, reason_path, ref_path
deliveryobject (free-form)delivery spec (see ping_delivery)
post_responseobject (free-form)response spec (see ping_response)
timeout_msinteger
return_auto_approve_hoursinteger
currencystring
StatusDescriptionBody
200okapplication/json LeadCampaign
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/lead-campaigns/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"buyer_id":"","vertical_id":"","name":"","status":"draft"}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /lead-campaigns/{id}

Delete LeadCampaign

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

Example 204 response:

json
{
  "ok": false
}

POST /lead-campaigns/{id}/test-send

Mapping builder: render (and optionally send) a campaign ping/post for sample fields

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadTestSend

FieldTypeFlagsDescription
phaseenum: ping, post
fieldsobject (free-form)sample values; synthesised from the schema when omitted
pricestringdecimal string
sendbooleanactually perform the call (SSRF-guarded)
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-campaigns/<id>/test-send' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"phase":"ping","fields":{},"price":"","send":false}'

Example 200 response:

json
{
  "ok": false
}

GET /lead-delivery/templates

One-click delivery/response mapping templates

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

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

Example 200 response:

json
{
  "ok": false
}

GET /lead-fields

List LeadFields

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

Example 200 response:

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

POST /lead-fields

Create LeadField

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

Request body (application/json, required): LeadFieldCreate

FieldTypeFlagsDescription
vertical_idstringrequired
keystringrequired
labelstring
typeenum: text, email, phone, zip, number, decimal, date, select, boolean, state, country, url, ...
requiredboolean
piiboolean
consentbooleanTCPA/consent field (boolean)
send_in_pingboolean
validationobject (free-form)min, max, min_length, max_length, regex, options[]
default_valuestring
helpstring
positioninteger
StatusDescriptionBody
201okapplication/json LeadField
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-fields' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"vertical_id":"","key":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /lead-fields/{id}

Get LeadField

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

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

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /lead-fields/{id}

Update LeadField

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadFieldUpdate

FieldTypeFlagsDescription
vertical_idstring
keystring
labelstring
typeenum: text, email, phone, zip, number, decimal, date, select, boolean, state, country, url, ...
requiredboolean
piiboolean
consentbooleanTCPA/consent field (boolean)
send_in_pingboolean
validationobject (free-form)min, max, min_length, max_length, regex, options[]
default_valuestring
helpstring
positioninteger
StatusDescriptionBody
200okapplication/json LeadField
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/lead-fields/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"vertical_id":"","key":"","label":"","type":"text"}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /lead-fields/{id}

Delete LeadField

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

Example 204 response:

json
{
  "ok": false
}

GET /lead-forms

List LeadForms

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

Example 200 response:

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

POST /lead-forms

Create LeadForm

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

Request body (application/json, required): LeadFormCreate

FieldTypeFlagsDescription
vertical_idstringrequired
partner_idstring
namestringrequired
slugstring
statusenum: active, paused, archived
fieldsarray of string
titlestring
consent_textstring
success_messagestring
redirect_urlstring
themeobject (free-form)
allowed_originsarray of string
StatusDescriptionBody
201okapplication/json LeadForm
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-forms' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"vertical_id":"","name":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /lead-forms/{id}

Get LeadForm

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

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

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /lead-forms/{id}

Update LeadForm

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadFormUpdate

FieldTypeFlagsDescription
vertical_idstring
partner_idstring
namestring
slugstring
statusenum: active, paused, archived
fieldsarray of string
titlestring
consent_textstring
success_messagestring
redirect_urlstring
themeobject (free-form)
allowed_originsarray of string
StatusDescriptionBody
200okapplication/json LeadForm
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/lead-forms/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"vertical_id":"","partner_id":"","name":"","slug":""}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /lead-forms/{id}

Delete LeadForm

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

Example 204 response:

json
{
  "ok": false
}

GET /lead-return-reasons

Closed set of return reason codes

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

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

Example 200 response:

json
{
  "ok": false
}

GET /lead-returns

List LeadReturns

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

Example 200 response:

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

GET /lead-returns/{id}

Get LeadReturn

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

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

Example 200 response:

json
{
  "external_ref": ""
}

POST /lead-returns/{id}/approve

Approve a return: sale marked returned, buyer charge and supplier payout reversed in the ledger

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

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

Example 200 response:

json
{
  "external_ref": ""
}

POST /lead-returns/{id}/reject

Reject a return request

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

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

Example 200 response:

json
{
  "external_ref": ""
}

GET /lead-sales

List LeadSales

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

Example 200 response:

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

GET /lead-sales/{id}

Get LeadSale

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

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

Example 200 response:

json
{
  "external_ref": ""
}

POST /lead-sales/{id}/returns

Record a buyer return request (inside the return window)

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadReturnRequest

FieldTypeFlagsDescription
reason_codeenum: invalid_contact, duplicate, unreachable, not_interested, out_of_area, fraud, compliance, otherrequired
reasonstring
StatusDescriptionBody
201okapplication/json LeadReturn
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-sales/<id>/returns' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"reason_code":"invalid_contact"}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /lead-supplier-terms

List LeadSupplierTerms

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

Example 200 response:

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

POST /lead-supplier-terms

Create LeadSupplierTerm

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

Request body (application/json, required): LeadSupplierTermCreate

FieldTypeFlagsDescription
partner_idstringrequired
vertical_idstring
payout_typeenum: percent, fixed
amountstringdecimal string
min_pricestringdecimal string
statusenum: active, paused
StatusDescriptionBody
201okapplication/json LeadSupplierTerm
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-supplier-terms' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"partner_id":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /lead-supplier-terms/{id}

Get LeadSupplierTerm

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

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

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /lead-supplier-terms/{id}

Update LeadSupplierTerm

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadSupplierTermUpdate

FieldTypeFlagsDescription
partner_idstring
vertical_idstring
payout_typeenum: percent, fixed
amountstringdecimal string
min_pricestringdecimal string
statusenum: active, paused
StatusDescriptionBody
200okapplication/json LeadSupplierTerm
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/lead-supplier-terms/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"partner_id":"","vertical_id":"","payout_type":"percent","amount":""}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /lead-supplier-terms/{id}

Delete LeadSupplierTerm

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

Example 204 response:

json
{
  "ok": false
}

GET /lead-verticals

List LeadVerticals

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

Example 200 response:

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

POST /lead-verticals

Create LeadVertical

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

Request body (application/json, required): LeadVerticalCreate

FieldTypeFlagsDescription
namestringrequired
slugstring
descriptionstring
statusenum: active, paused, archived
modeenum: auction, priority, round_robin, waterfall
max_salesinteger
ping_timeout_msinteger
post_timeout_msinteger
return_window_hoursinteger
dedupe_fieldstring
dedupe_daysinteger
require_consentboolean
StatusDescriptionBody
201okapplication/json LeadVertical
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/lead-verticals' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":""}'

Example 201 response:

json
{
  "external_ref": ""
}

GET /lead-verticals/{id}

Get LeadVertical

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

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

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /lead-verticals/{id}

Update LeadVertical

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

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): LeadVerticalUpdate

FieldTypeFlagsDescription
namestring
slugstring
descriptionstring
statusenum: active, paused, archived
modeenum: auction, priority, round_robin, waterfall
max_salesinteger
ping_timeout_msinteger
post_timeout_msinteger
return_window_hoursinteger
dedupe_fieldstring
dedupe_daysinteger
require_consentboolean
StatusDescriptionBody
200okapplication/json LeadVertical
defaulterrorapplication/json Error
bash
curl -X PATCH 'https://api.metrixed.com/v1/lead-verticals/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"","slug":"","description":"","status":"active"}'

Example 200 response:

json
{
  "external_ref": ""
}

DELETE /lead-verticals/{id}

Delete LeadVertical

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

Example 204 response:

json
{
  "ok": false
}

GET /leads

Lead log (filter[status|vertical_id|partner_id])

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

Example 200 response:

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

POST /leads

Submit a lead (supplier API key): validates, stores, runs ping/post, returns the supplier view

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

Request body (application/json, required): LeadSubmit

FieldTypeFlagsDescription
verticalstringrequiredvertical id or slug
fieldsobject (free-form)requiredfield key -> value (validated against the vertical schema)
partner_idstringrequired for non-partner credentials
external_idstringsupplier idempotency key
sub1string
sub2string
sub3string
ipstring
user_agentstring
consent_textstring
StatusDescriptionBody
201okapplication/json LeadSubmitResult
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/leads' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"vertical":"","fields":{}}'

Example 201 response:

json
{
  "id": "",
  "display_id": 0,
  "status": "sold",
  "sold": false
}

GET /leads/{id}

Lead with the ping/post timeline, sales and returns

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

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

Example 200 response:

json
{
  "external_ref": ""
}

POST /leads/report

Lead report by vertical/supplier/buyer/campaign/day: leads, sold %, revenue, cost, margin, return rate (reporting service)

Operation postLeadsReport. 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 LogSearchResult
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/leads/report' \
  -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
{
  "rows": [
    {}
  ],
  "next_cursor": "",
  "has_more": false
}

GET /partner/lead-verticals

Supplier portal: active verticals with their field schema

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

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

Example 200 response:

json
{
  "ok": false
}

GET /partner/leads

Supplier portal: own leads with masked PII and payout

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

Example 200 response:

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

GET /partner/leads/summary

Supplier portal: leads / sold / rejected / returned / payout for the last N days

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

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

Example 200 response:

json
{
  "ok": false
}

GET /public/lead-forms/{slug}

Public: form schema (no auth)

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

ParameterInTypeRequiredDescription
slugpathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/public/lead-forms/<slug>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /public/lead-forms/{slug}/embed.js

Public: embeddable form script

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

ParameterInTypeRequiredDescription
slugpathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/public/lead-forms/<slug>/embed.js' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

GET /public/lead-forms/{slug}/page

Public: hosted form page

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

ParameterInTypeRequiredDescription
slugpathstringyes
StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/public/lead-forms/<slug>/page' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "ok": false
}

POST /public/lead-forms/{slug}/submit

Public: submit a hosted/embedded form (JSON or urlencoded; CORS per allowed_origins)

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

ParameterInTypeRequiredDescription
slugpathstringyes

Request body (application/json, required): LeadSubmit

FieldTypeFlagsDescription
verticalstringrequiredvertical id or slug
fieldsobject (free-form)requiredfield key -> value (validated against the vertical schema)
partner_idstringrequired for non-partner credentials
external_idstringsupplier idempotency key
sub1string
sub2string
sub3string
ipstring
user_agentstring
consent_textstring
StatusDescriptionBody
201okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/public/lead-forms/<slug>/submit' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data-raw '{"vertical":"","fields":{}}'

Example 201 response:

json
{
  "ok": false
}