Introduction
This documentation aims to provide all the information you need to work with our API.
As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
You can retrieve your token by visiting your profile and clicking Generate API token.
Customer endpoints
Create application
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "url=http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html"\
--form "apple_id_package=i"\
--form "package_name=k"\
--form "package_description=architecto"\
--form "timezone=Asia/Ulaanbaatar"\
--form "app_status=architecto"\
--form "currency=architecto"\
--form "name=n"\
--form "icon=architecto"\
--form "client_url=http://bailey.com/"\
--form "apk=@/tmp/phpPgKdOm" const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('url', 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html');
body.append('apple_id_package', 'i');
body.append('package_name', 'k');
body.append('package_description', 'architecto');
body.append('timezone', 'Asia/Ulaanbaatar');
body.append('app_status', 'architecto');
body.append('currency', 'architecto');
body.append('name', 'n');
body.append('icon', 'architecto');
body.append('client_url', 'http://bailey.com/');
body.append('apk', document.querySelector('input[name="apk"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'url',
'contents' => 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
],
[
'name' => 'apple_id_package',
'contents' => 'i'
],
[
'name' => 'package_name',
'contents' => 'k'
],
[
'name' => 'package_description',
'contents' => 'architecto'
],
[
'name' => 'timezone',
'contents' => 'Asia/Ulaanbaatar'
],
[
'name' => 'app_status',
'contents' => 'architecto'
],
[
'name' => 'currency',
'contents' => 'architecto'
],
[
'name' => 'name',
'contents' => 'n'
],
[
'name' => 'icon',
'contents' => 'architecto'
],
[
'name' => 'client_url',
'contents' => 'http://bailey.com/'
],
[
'name' => 'apk',
'contents' => fopen('/tmp/phpPgKdOm', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 73,
"status": "active",
"store": "telegram",
"url": "https://t.me/+G-SOmeChaNNeluRl",
"client_id": 1,
"package_name": "Velit et.",
"package_description": "SAID was, 'Why is a very interesting dance to watch,' said Alice, as she spoke; 'either you or your head must be on the floor, as it left no mark on.",
"timezone": "America/Lima",
"app_status": "at_store",
"currency": "DOP",
"currency_iso": "DOP",
"name": "architecto eius et",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"is_default": false,
"secret_key": "4b764e67-4468-4652-98c7-1d4f59472746",
"api_secret_key": null,
"token": "ES17FD8IRTJ8L",
"agency_invite_token": "UZXR3B31GQ5GV",
"is_active": true,
"decryption_key": null,
"fb_app_id": null,
"fb_meta_pixel_id": null,
"fb_access_token": null,
"fb_pixel_access_token": null,
"fbc_api_enabled": null,
"fbc_api_events": null,
"fbc_api_events_mapping": null,
"fb_marketing_events_mapping": null,
"fb_pixel_events_mapping": null,
"fbc_api_value": null,
"fbc_api_send_organic": null,
"use_pixel_api": null,
"fb_send_organic": false,
"fb_send_googleads": false,
"fcm_key": null,
"created_at": "2026-01-23T10:24:16.000000Z",
"updated_at": "2026-01-23T10:24:15Z",
"probabilistic": true,
"apple_s2s_tracking_url_v1": null,
"apple_s2s_tracking_url_v2": null,
"cross_postback_url": null,
"default_postback_url": null,
"postback_url": null,
"send_organic": false,
"cross_postback_for_all_conversions": false,
"secure_code": null,
"fingerprint_available": null,
"device_id_available": null,
"re_attribution": null,
"unity_ads_setting": null,
"is_google_adwords_enabled": false,
"sdk_callback": null,
"anti_fraud_settings": {
"social_traffic": null,
"emulators": null,
"ctit_sec": null,
"session_count": null,
"session_sec": null,
"proxy": null,
"24metrics_enabled": null,
"24metrics_level": null
},
"tiktok_attribution": {
"access_token": null,
"pixel_code": null,
"tiktok_app_id": null,
"offline_event_set_id": null,
"api_events_mapping": null
},
"google_ads_attribution": {
"events_mapping": null,
"api_events_mapping": null,
"link_id": null
},
"google_firebase_attribution": {
"project_id": null
},
"bigo_attributes": {
"events_mapping": null
},
"subscriptions": {
"saved": null,
"urls": null,
"secure_code": "h5S8tS"
},
"settings": [],
"signature_name": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List applications
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"view\": \"compact\",
\"filter\": {
\"query\": \"architecto\"
}
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"view": "compact",
"filter": {
"query": "architecto"
}
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'view' => 'compact',
'filter' => [
'query' => 'architecto',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 74,
"status": "active",
"store": "telegram",
"url": "https://t.me/+G-SOmeChaNNeluRl",
"client_id": 1,
"package_name": "Et fugiat.",
"package_description": "Dormouse said--' the Hatter instead!' CHAPTER VII. A Mad Tea-Party There was a large kitchen, which was the first position in which case it would.",
"timezone": "America/Monterrey",
"app_status": "at_store",
"currency": "PHP",
"currency_iso": "PHP",
"name": "eius et animi",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"is_default": false,
"secret_key": "89a5d6ad-d9e9-4e6a-827d-352da84864cc",
"api_secret_key": null,
"token": "V9PP8ULGYAUSH",
"agency_invite_token": "FQSLQ6KTD7C1J",
"is_active": true,
"decryption_key": null,
"fb_app_id": null,
"fb_meta_pixel_id": null,
"fb_access_token": null,
"fb_pixel_access_token": null,
"fbc_api_enabled": null,
"fbc_api_events": null,
"fbc_api_events_mapping": null,
"fb_marketing_events_mapping": null,
"fb_pixel_events_mapping": null,
"fbc_api_value": null,
"fbc_api_send_organic": null,
"use_pixel_api": null,
"fb_send_organic": false,
"fb_send_googleads": false,
"fcm_key": null,
"created_at": "2026-01-23T10:24:16.000000Z",
"updated_at": "2026-01-23T10:24:15Z",
"probabilistic": true,
"apple_s2s_tracking_url_v1": null,
"apple_s2s_tracking_url_v2": null,
"cross_postback_url": null,
"default_postback_url": null,
"postback_url": null,
"send_organic": false,
"cross_postback_for_all_conversions": false,
"secure_code": null,
"fingerprint_available": null,
"device_id_available": null,
"re_attribution": null,
"unity_ads_setting": null,
"is_google_adwords_enabled": false,
"sdk_callback": null,
"anti_fraud_settings": {
"social_traffic": null,
"emulators": null,
"ctit_sec": null,
"session_count": null,
"session_sec": null,
"proxy": null,
"24metrics_enabled": null,
"24metrics_level": null
},
"tiktok_attribution": {
"access_token": null,
"pixel_code": null,
"tiktok_app_id": null,
"offline_event_set_id": null,
"api_events_mapping": null
},
"google_ads_attribution": {
"events_mapping": null,
"api_events_mapping": null,
"link_id": null
},
"google_firebase_attribution": {
"project_id": null
},
"bigo_attributes": {
"events_mapping": null
},
"subscriptions": {
"saved": null,
"urls": null,
"secure_code": "GZRkcL"
},
"settings": [],
"signature_name": null
},
{
"id": 75,
"status": "active",
"store": "telegram",
"url": "https://t.me/+G-SOmeChaNNeluRl",
"client_id": 1,
"package_name": "Quis.",
"package_description": "Hatter, 'when the Queen was close behind her, listening: so she tried the effect of lying down on one side, to look over their heads. She felt that.",
"timezone": "America/Matamoros",
"app_status": "at_store",
"currency": "CLP",
"currency_iso": "CLP",
"name": "enim non facere",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"is_default": false,
"secret_key": "af056617-7769-421a-9f17-fcffc3974e72",
"api_secret_key": null,
"token": "DFNNGWT105S60",
"agency_invite_token": "1C8S3MLHB8FM9",
"is_active": true,
"decryption_key": null,
"fb_app_id": null,
"fb_meta_pixel_id": null,
"fb_access_token": null,
"fb_pixel_access_token": null,
"fbc_api_enabled": null,
"fbc_api_events": null,
"fbc_api_events_mapping": null,
"fb_marketing_events_mapping": null,
"fb_pixel_events_mapping": null,
"fbc_api_value": null,
"fbc_api_send_organic": null,
"use_pixel_api": null,
"fb_send_organic": false,
"fb_send_googleads": false,
"fcm_key": null,
"created_at": "2026-01-23T10:24:16.000000Z",
"updated_at": "2026-01-23T10:24:15Z",
"probabilistic": true,
"apple_s2s_tracking_url_v1": null,
"apple_s2s_tracking_url_v2": null,
"cross_postback_url": null,
"default_postback_url": null,
"postback_url": null,
"send_organic": false,
"cross_postback_for_all_conversions": false,
"secure_code": null,
"fingerprint_available": null,
"device_id_available": null,
"re_attribution": null,
"unity_ads_setting": null,
"is_google_adwords_enabled": false,
"sdk_callback": null,
"anti_fraud_settings": {
"social_traffic": null,
"emulators": null,
"ctit_sec": null,
"session_count": null,
"session_sec": null,
"proxy": null,
"24metrics_enabled": null,
"24metrics_level": null
},
"tiktok_attribution": {
"access_token": null,
"pixel_code": null,
"tiktok_app_id": null,
"offline_event_set_id": null,
"api_events_mapping": null
},
"google_ads_attribution": {
"events_mapping": null,
"api_events_mapping": null,
"link_id": null
},
"google_firebase_attribution": {
"project_id": null
},
"bigo_attributes": {
"events_mapping": null
},
"subscriptions": {
"saved": null,
"urls": null,
"secure_code": "eRlq7z"
},
"settings": [],
"signature_name": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 76,
"status": "active",
"store": "apple",
"url": "https://apps.apple.com/us/app/aut-adipisci-quidem/id387771637",
"client_id": 1,
"package_name": "Commodi.",
"package_description": "King, looking round the refreshments!' But there seemed to be a lesson to you to leave it behind?' She said this last word with such a long hookah.",
"timezone": "America/Miquelon",
"app_status": "at_store",
"currency": "CZK",
"currency_iso": "CZK",
"name": "aut adipisci quidem",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"is_default": false,
"secret_key": "1b6cee82-c501-4b28-9f51-b4e61389ac72",
"api_secret_key": null,
"token": "6SGDPP05ONI3D",
"agency_invite_token": "62F9T5G6UMVDI",
"is_active": true,
"decryption_key": null,
"fb_app_id": null,
"fb_meta_pixel_id": null,
"fb_access_token": null,
"fb_pixel_access_token": null,
"fbc_api_enabled": null,
"fbc_api_events": null,
"fbc_api_events_mapping": null,
"fb_marketing_events_mapping": null,
"fb_pixel_events_mapping": null,
"fbc_api_value": null,
"fbc_api_send_organic": null,
"use_pixel_api": null,
"fb_send_organic": false,
"fb_send_googleads": false,
"fcm_key": null,
"created_at": "2026-01-23T10:24:17.000000Z",
"updated_at": "2026-01-23T10:24:16Z",
"probabilistic": true,
"apple_s2s_tracking_url_v1": null,
"apple_s2s_tracking_url_v2": null,
"cross_postback_url": null,
"default_postback_url": null,
"postback_url": null,
"send_organic": false,
"cross_postback_for_all_conversions": false,
"secure_code": null,
"fingerprint_available": null,
"device_id_available": null,
"re_attribution": null,
"unity_ads_setting": null,
"is_google_adwords_enabled": false,
"apple_id_package": null,
"sdk_callback": null,
"anti_fraud_settings": {
"social_traffic": null,
"emulators": null,
"ctit_sec": null,
"session_count": null,
"session_sec": null,
"proxy": null,
"24metrics_enabled": null,
"24metrics_level": null
},
"tiktok_attribution": {
"access_token": null,
"pixel_code": null,
"tiktok_app_id": null,
"offline_event_set_id": null,
"api_events_mapping": null
},
"google_ads_attribution": {
"events_mapping": null,
"api_events_mapping": null,
"link_id": null
},
"google_firebase_attribution": {
"project_id": null
},
"bigo_attributes": {
"events_mapping": null
},
"subscriptions": {
"saved": null,
"urls": null,
"secure_code": "gBnBlO"
},
"settings": [],
"signature_name": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete application
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/applications/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Partially update application
Example request:
curl --request PATCH \
"https://app.affisemmp.com/api/v2/client/applications/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"sdk_callback\": \"n\",
\"package_name\": \"g\",
\"package_description\": \"architecto\",
\"fcm_key\": \"n\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"sdk_callback": "n",
"package_name": "g",
"package_description": "architecto",
"fcm_key": "n"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1';
$response = $client->patch(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'sdk_callback' => 'n',
'package_name' => 'g',
'package_description' => 'architecto',
'fcm_key' => 'n',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application general settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/general" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"timezone\": \"Asia\\/Yekaterinburg\",
\"currency_iso\": \"architecto\",
\"probabilistic\": false
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/general"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"timezone": "Asia\/Yekaterinburg",
"currency_iso": "architecto",
"probabilistic": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/general';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'timezone' => 'Asia/Yekaterinburg',
'currency_iso' => 'architecto',
'probabilistic' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"cross_postback_url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
\"default_postback_url\": \"https:\\/\\/www.runte.com\\/ab-provident-perspiciatis-quo-omnis-nostrum-aut-adipisci\",
\"send_organic\": false,
\"cross_postback_for_all_conversions\": true,
\"secure_code\": \"lvqwrsitcpscqldz\",
\"fingerprint_available\": 8,
\"device_id_available\": 3601,
\"re_attribution\": false,
\"client_url\": \"https:\\/\\/www.feeney.com\\/praesentium-quis-adipisci-molestias-fugit\",
\"conversion_postbacks\": [
{
\"conversion_type\": \"architecto\",
\"postback_urls\": [
\"n\"
],
\"click_filter\": [
{
\"param\": \"g\",
\"values\": []
}
],
\"cost\": 1,
\"send_organic\": false
}
],
\"settings\": {
\"tracking_block_list\": [
{
\"param\": \"g\",
\"values\": [
\"architecto\"
]
}
]
}
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"cross_postback_url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
"default_postback_url": "https:\/\/www.runte.com\/ab-provident-perspiciatis-quo-omnis-nostrum-aut-adipisci",
"send_organic": false,
"cross_postback_for_all_conversions": true,
"secure_code": "lvqwrsitcpscqldz",
"fingerprint_available": 8,
"device_id_available": 3601,
"re_attribution": false,
"client_url": "https:\/\/www.feeney.com\/praesentium-quis-adipisci-molestias-fugit",
"conversion_postbacks": [
{
"conversion_type": "architecto",
"postback_urls": [
"n"
],
"click_filter": [
{
"param": "g",
"values": []
}
],
"cost": 1,
"send_organic": false
}
],
"settings": {
"tracking_block_list": [
{
"param": "g",
"values": [
"architecto"
]
}
]
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'cross_postback_url' => 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html',
'default_postback_url' => 'https://www.runte.com/ab-provident-perspiciatis-quo-omnis-nostrum-aut-adipisci',
'send_organic' => false,
'cross_postback_for_all_conversions' => true,
'secure_code' => 'lvqwrsitcpscqldz',
'fingerprint_available' => 8,
'device_id_available' => 3601,
're_attribution' => false,
'client_url' => 'https://www.feeney.com/praesentium-quis-adipisci-molestias-fugit',
'conversion_postbacks' => [
[
'conversion_type' => 'architecto',
'postback_urls' => [
'n',
],
'click_filter' => [
[
'param' => 'g',
'values' => [],
],
],
'cost' => 1,
'send_organic' => false,
],
],
'settings' => [
'tracking_block_list' => [
[
'param' => 'g',
'values' => [
'architecto',
],
],
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Publish application
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/publish" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"url\": \"http:\\/\\/bailey.com\\/\",
\"icon\": \"architecto\",
\"package_description\": \"architecto\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/publish"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"url": "http:\/\/bailey.com\/",
"icon": "architecto",
"package_description": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/publish';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'url' => 'http://bailey.com/',
'icon' => 'architecto',
'package_description' => 'architecto',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 77,
"status": "active",
"store": "telegram",
"url": "https://t.me/+G-SOmeChaNNeluRl",
"client_id": 1,
"package_name": "Et fugiat.",
"package_description": "Dormouse said--' the Hatter instead!' CHAPTER VII. A Mad Tea-Party There was a large kitchen, which was the first position in which case it would.",
"timezone": "America/Monterrey",
"app_status": "at_store",
"currency": "LTL",
"currency_iso": "LTL",
"name": "eius et animi",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"is_default": false,
"secret_key": "878a7333-8e02-48c3-a527-336519e37acf",
"api_secret_key": null,
"token": "ECA9MWZCF9T9Y",
"agency_invite_token": "RLDAWQAHFA88K",
"is_active": true,
"decryption_key": null,
"fb_app_id": null,
"fb_meta_pixel_id": null,
"fb_access_token": null,
"fb_pixel_access_token": null,
"fbc_api_enabled": null,
"fbc_api_events": null,
"fbc_api_events_mapping": null,
"fb_marketing_events_mapping": null,
"fb_pixel_events_mapping": null,
"fbc_api_value": null,
"fbc_api_send_organic": null,
"use_pixel_api": null,
"fb_send_organic": false,
"fb_send_googleads": false,
"fcm_key": null,
"created_at": "2026-01-23T10:24:17.000000Z",
"updated_at": "2026-01-23T10:24:16Z",
"probabilistic": true,
"apple_s2s_tracking_url_v1": null,
"apple_s2s_tracking_url_v2": null,
"cross_postback_url": null,
"default_postback_url": null,
"postback_url": null,
"send_organic": false,
"cross_postback_for_all_conversions": false,
"secure_code": null,
"fingerprint_available": null,
"device_id_available": null,
"re_attribution": null,
"unity_ads_setting": null,
"is_google_adwords_enabled": false,
"sdk_callback": null,
"anti_fraud_settings": {
"social_traffic": null,
"emulators": null,
"ctit_sec": null,
"session_count": null,
"session_sec": null,
"proxy": null,
"24metrics_enabled": null,
"24metrics_level": null
},
"tiktok_attribution": {
"access_token": null,
"pixel_code": null,
"tiktok_app_id": null,
"offline_event_set_id": null,
"api_events_mapping": null
},
"google_ads_attribution": {
"events_mapping": null,
"api_events_mapping": null,
"link_id": null
},
"google_firebase_attribution": {
"project_id": null
},
"bigo_attributes": {
"events_mapping": null
},
"subscriptions": {
"saved": null,
"urls": null,
"secure_code": "453Sh9"
},
"settings": [],
"signature_name": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application apk version
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/update-apk" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "apk=@/tmp/phpEEaNhD" const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/update-apk"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('apk', document.querySelector('input[name="apk"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/update-apk';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'apk',
'contents' => fopen('/tmp/phpEEaNhD', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application anti fraud settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/anti-fraud-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"social_traffic\": false,
\"emulators\": false,
\"ctit_sec\": 7,
\"session_count\": 16,
\"session_sec\": 17,
\"proxy\": true,
\"24metrics_enabled\": true
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/anti-fraud-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"social_traffic": false,
"emulators": false,
"ctit_sec": 7,
"session_count": 16,
"session_sec": 17,
"proxy": true,
"24metrics_enabled": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/anti-fraud-settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'social_traffic' => false,
'emulators' => false,
'ctit_sec' => 7,
'session_count' => 16,
'session_sec' => 17,
'proxy' => true,
'24metrics_enabled' => true,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application subscriptions
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/subscriptions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/subscriptions"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/subscriptions';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete application signature
Removes the APK signing configuration for an application. After deletion, the default signature will be used.
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/applications/1/signature" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/signature"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/signature';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Application signature successfully deleted"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get store metadata
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/application/store-data" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"store\": \"architecto\",
\"url\": \"http:\\/\\/bailey.com\\/\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/application/store-data"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"store": "architecto",
"url": "http:\/\/bailey.com\/"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/application/store-data';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'store' => 'architecto',
'url' => 'http://bailey.com/',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
set-cookie: attribution_api_local_session=eyJpdiI6IjVzemhhWHk0VHpaeFNxbVk3ejZCU2c9PSIsInZhbHVlIjoib2Y5Wm9LdS96YUVXN3RuSFZzSkUyMW5sV2ptVWhxa3pGcTBDMnJZdmpuRzBDVXAyc3N2Ym5GbHFER0FEN3phZXI4NUJzdmJwK25MWUwwd0taZWxsbkUrSTEvTE9tejNLQng5a0hyNE1rMWtXSTNCaHUweENMVEF0S3NxdEVBVHEiLCJtYWMiOiI1OWFjYWI4OGM2NDI0NGUzODkyN2FhMzBmZmFiN2JjNTUwMmJlMmQwZjdkNzRiNzRhMGY4ZDIxN2UzNTlmMTk3IiwidGFnIjoiIn0%3D; expires=Fri, 30 Jan 2026 10:24:17 GMT; Max-Age=604800; path=/; httponly; samesite=lax
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application facebook settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/fb-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"decryption_key\": \"b\",
\"fb_app_id\": \"n\",
\"fb_meta_pixel_id\": \"g\",
\"fb_access_token\": \"z\",
\"fb_pixel_access_token\": \"m\",
\"fbc_api_enabled\": true,
\"fbc_api_value\": \"y\",
\"fbc_api_send_organic\": false,
\"use_pixel_api\": false,
\"fb_send_organic\": false,
\"fb_send_googleads\": false,
\"fbc_api_events_mapping\": [
[]
],
\"fb_marketing_events_mapping\": [
{
\"affise_event\": \"architecto\",
\"adapty_subs_event\": \"architecto\",
\"apphud_subs_event\": \"architecto\",
\"revenuecat_subs_event\": \"architecto\",
\"facebook_marketing_event\": \"fb_mobile_rate\"
}
],
\"fb_pixel_events_mapping\": [
{
\"affise_event\": \"architecto\",
\"adapty_subs_event\": \"architecto\",
\"apphud_subs_event\": \"architecto\",
\"revenuecat_subs_event\": \"architecto\",
\"facebook_pixel_event\": \"AddToWishlist\"
}
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/fb-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"decryption_key": "b",
"fb_app_id": "n",
"fb_meta_pixel_id": "g",
"fb_access_token": "z",
"fb_pixel_access_token": "m",
"fbc_api_enabled": true,
"fbc_api_value": "y",
"fbc_api_send_organic": false,
"use_pixel_api": false,
"fb_send_organic": false,
"fb_send_googleads": false,
"fbc_api_events_mapping": [
[]
],
"fb_marketing_events_mapping": [
{
"affise_event": "architecto",
"adapty_subs_event": "architecto",
"apphud_subs_event": "architecto",
"revenuecat_subs_event": "architecto",
"facebook_marketing_event": "fb_mobile_rate"
}
],
"fb_pixel_events_mapping": [
{
"affise_event": "architecto",
"adapty_subs_event": "architecto",
"apphud_subs_event": "architecto",
"revenuecat_subs_event": "architecto",
"facebook_pixel_event": "AddToWishlist"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/fb-settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'decryption_key' => 'b',
'fb_app_id' => 'n',
'fb_meta_pixel_id' => 'g',
'fb_access_token' => 'z',
'fb_pixel_access_token' => 'm',
'fbc_api_enabled' => true,
'fbc_api_value' => 'y',
'fbc_api_send_organic' => false,
'use_pixel_api' => false,
'fb_send_organic' => false,
'fb_send_googleads' => false,
'fbc_api_events_mapping' => [
[],
],
'fb_marketing_events_mapping' => [
[
'affise_event' => 'architecto',
'adapty_subs_event' => 'architecto',
'apphud_subs_event' => 'architecto',
'revenuecat_subs_event' => 'architecto',
'facebook_marketing_event' => 'fb_mobile_rate',
],
],
'fb_pixel_events_mapping' => [
[
'affise_event' => 'architecto',
'adapty_subs_event' => 'architecto',
'apphud_subs_event' => 'architecto',
'revenuecat_subs_event' => 'architecto',
'facebook_pixel_event' => 'AddToWishlist',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application tiktok settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/tiktok-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"access_token\": \"b\",
\"pixel_code\": \"n\",
\"tiktok_app_id\": \"g\",
\"offline_event_set_id\": \"z\",
\"api_events_mapping\": [
{
\"affise_event\": \"architecto\",
\"tiktok_event\": \"SubmitForm\"
}
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/tiktok-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"access_token": "b",
"pixel_code": "n",
"tiktok_app_id": "g",
"offline_event_set_id": "z",
"api_events_mapping": [
{
"affise_event": "architecto",
"tiktok_event": "SubmitForm"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/tiktok-settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'access_token' => 'b',
'pixel_code' => 'n',
'tiktok_app_id' => 'g',
'offline_event_set_id' => 'z',
'api_events_mapping' => [
[
'affise_event' => 'architecto',
'tiktok_event' => 'SubmitForm',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application bigo settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/bigo-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"events_mapping\": [
{
\"affise_event\": \"ViewAdv\",
\"bigo_event\": \"loan_issued\"
}
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/bigo-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"events_mapping": [
{
"affise_event": "ViewAdv",
"bigo_event": "loan_issued"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/bigo-settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'events_mapping' => [
[
'affise_event' => 'ViewAdv',
'bigo_event' => 'loan_issued',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application bigo partners
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1/bigo-partners" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"view\": \"compact\",
\"filter\": {
\"query\": \"architecto\"
}
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/bigo-partners"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"view": "compact",
"filter": {
"query": "architecto"
}
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/bigo-partners';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'view' => 'compact',
'filter' => [
'query' => 'architecto',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 49,
"name": "Ms. Elisabeth Okuneva",
"tracking_url": null,
"impression_tracking_url": null,
"created_at": "2026-01-23T10:24:18.000000Z",
"updated_at": "2026-01-23T10:24:18.000000Z"
},
{
"id": 50,
"name": "Mr. Adriel Romaguera",
"tracking_url": null,
"impression_tracking_url": null,
"created_at": "2026-01-23T10:24:18.000000Z",
"updated_at": "2026-01-23T10:24:18.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application appnext partners
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1/appnext-partners" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"view\": \"compact\",
\"filter\": {
\"query\": \"architecto\"
}
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/appnext-partners"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"view": "compact",
"filter": {
"query": "architecto"
}
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/appnext-partners';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'view' => 'compact',
'filter' => [
'query' => 'architecto',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 51,
"name": "Ms. Elisabeth Okuneva",
"tracking_url": null,
"impression_tracking_url": null,
"created_at": "2026-01-23T10:24:18.000000Z",
"updated_at": "2026-01-23T10:24:18.000000Z"
},
{
"id": 52,
"name": "Mr. Adriel Romaguera",
"tracking_url": null,
"impression_tracking_url": null,
"created_at": "2026-01-23T10:24:18.000000Z",
"updated_at": "2026-01-23T10:24:18.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application google accounts
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1/google/accounts" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 16,
\"limit\": 16
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/google/accounts"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": 16,
"limit": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/google/accounts';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => 16,
'limit' => 16,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 7,
"partner_id": null,
"email": "[email protected]",
"connected_at": "2026-01-23 10:24:18",
"last_error": "Nihil.",
"data_last_update_at": "2026-01-23 10:24:18",
"status": "{\"some_key\":\"some value\"}",
"created_at": "2026-01-23T10:24:18Z",
"updated_at": "2026-01-23T10:24:18Z"
},
{
"id": 8,
"partner_id": null,
"email": "[email protected]",
"connected_at": "2026-01-23 10:24:18",
"last_error": "Quo omnis.",
"data_last_update_at": "2026-01-23 10:24:18",
"status": "{\"some_key\":\"some value\"}",
"created_at": "2026-01-23T10:24:18Z",
"updated_at": "2026-01-23T10:24:18Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete application google account
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/applications/1/google/accounts/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/google/accounts/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/google/accounts/16';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application google settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/google-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"link_id\": \"b\",
\"events_mapping\": [
[]
],
\"api_events_mapping\": [
{
\"affise_event\": \"architecto\",
\"adapty_subs_event\": \"architecto\",
\"apphud_subs_event\": \"architecto\",
\"revenuecat_subs_event\": \"architecto\",
\"google_ads_event\": \"view_item_list\"
}
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/google-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"link_id": "b",
"events_mapping": [
[]
],
"api_events_mapping": [
{
"affise_event": "architecto",
"adapty_subs_event": "architecto",
"apphud_subs_event": "architecto",
"revenuecat_subs_event": "architecto",
"google_ads_event": "view_item_list"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/google-settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'link_id' => 'b',
'events_mapping' => [
[],
],
'api_events_mapping' => [
[
'affise_event' => 'architecto',
'adapty_subs_event' => 'architecto',
'apphud_subs_event' => 'architecto',
'revenuecat_subs_event' => 'architecto',
'google_ads_event' => 'view_item_list',
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application google firebase settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/google-firebase-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"project_id\": \"b\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/google-firebase-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"project_id": "b"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/google-firebase-settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'project_id' => 'b',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 78,
"status": "active",
"store": "telegram",
"url": "https://t.me/+G-SOmeChaNNeluRl",
"client_id": 1,
"package_name": "Et fugiat.",
"package_description": "Dormouse said--' the Hatter instead!' CHAPTER VII. A Mad Tea-Party There was a large kitchen, which was the first position in which case it would.",
"timezone": "America/Monterrey",
"app_status": "at_store",
"currency": "BSD",
"currency_iso": "BSD",
"name": "eius et animi",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"is_default": false,
"secret_key": "27d878ec-47bd-4f82-bd99-40f4bf03d11e",
"api_secret_key": null,
"token": "366B35GZEMF0Y",
"agency_invite_token": "DW91SVAWS9KBR",
"is_active": true,
"decryption_key": null,
"fb_app_id": null,
"fb_meta_pixel_id": null,
"fb_access_token": null,
"fb_pixel_access_token": null,
"fbc_api_enabled": null,
"fbc_api_events": null,
"fbc_api_events_mapping": null,
"fb_marketing_events_mapping": null,
"fb_pixel_events_mapping": null,
"fbc_api_value": null,
"fbc_api_send_organic": null,
"use_pixel_api": null,
"fcm_key": null,
"created_at": "2026-01-23T10:24:18.000000Z",
"updated_at": "2026-01-23T10:24:17Z",
"probabilistic": true,
"apple_s2s_tracking_url_v1": "http://tracking.affattr.loc/notification/apple/s2s/v1/0GldIz",
"apple_s2s_tracking_url_v2": "http://tracking.affattr.loc/notification/apple/s2s/v2/0GldIz",
"cross_postback_url": null,
"default_postback_url": null,
"postback_url": null,
"send_organic": false,
"cross_postback_for_all_conversions": false,
"secure_code": null,
"fingerprint_available": 86400,
"device_id_available": 86400,
"re_attribution": true,
"unity_ads_setting": null,
"is_google_adwords_enabled": false,
"sdk_callback": null,
"anti_fraud_settings": {
"social_traffic": null,
"emulators": null,
"ctit_sec": null,
"session_count": null,
"session_sec": null,
"proxy": null
},
"tiktok_attribution": {
"access_token": null,
"pixel_code": null,
"tiktok_app_id": null,
"offline_event_set_id": null,
"api_events_mapping": null
},
"google_ads_attribution": {
"events_mapping": null,
"api_events_mapping": null,
"link_id": null
},
"google_firebase_attribution": {
"project_id": null
},
"subscriptions": {
"saved": null,
"urls": {
"apple": [
"http://tracking.affattr.loc/notification/apple/s2s/v1/0GldIz",
"http://tracking.affattr.loc/notification/apple/s2s/v2/0GldIz"
],
"app_hud": [
"http://tracking.affattr.loc/notification/apphud/s2s"
],
"revenue_cat": [
"http://tracking.affattr.loc/notification/revenuecat/s2s/0GldIz"
],
"google": [
"http://tracking.affattr.loc/notification/google/s2s/0GldIz"
],
"adapty": [
"http://tracking.affattr.loc/notification/adapty/s2s/0GldIz"
]
},
"secure_code": "0GldIz"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application unity ads settings
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/unity-ads-settings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"game_id\": \"b\",
\"api_key\": \"n\",
\"organization_id\": \"g\",
\"advertiser_name\": \"z\",
\"partner_ids\": [
16
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/unity-ads-settings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"game_id": "b",
"api_key": "n",
"organization_id": "g",
"advertiser_name": "z",
"partner_ids": [
16
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/unity-ads-settings';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'game_id' => 'b',
'api_key' => 'n',
'organization_id' => 'g',
'advertiser_name' => 'z',
'partner_ids' => [
16,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 4,
"game_id": "a4855dc5-0acb-33c3-b921-f4291f719ca0",
"api_key": "46a4ed44298ebae0f425ce192685f8022c9e483477edc4356e98152e1e0a370e",
"organization_id": "7",
"advertiser_name": "Adidas",
"created_at": "2026-01-23T10:24:18Z",
"updated_at": "2026-01-23T10:24:18Z",
"partner": null,
"click_tracking_link": null,
"impression_tracking_link": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List application partners
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1/partners" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"view\": \"compact\",
\"filter\": {
\"query\": \"architecto\"
}
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/partners"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"view": "compact",
"filter": {
"query": "architecto"
}
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/partners';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'view' => 'compact',
'filter' => [
'query' => 'architecto',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
set-cookie: attribution_api_local_session=eyJpdiI6IjZCUE5WeVVGSm5ZSGVnNXJUZE5oUnc9PSIsInZhbHVlIjoieWs5UFB3Qm03MzFMZGpFZjBZdUFNbWJBYy9XSEdLSTUzSnpLWEpMbHROODJOWXI4MFl5aTUwMTIxcE5WckxxZnB2M3NRRUwydUh1dGRlMmFPKzZhKzdQcXEvVlFRWjNGWnJhb2s1MnJOYzNQN1NzTXJPNk5wekczM1ZkMUxMbk8iLCJtYWMiOiIyZDNjYTJmZmIzZjdiNDQ5OGQxMDgwZmQ2ODgzNWQyOTRjYWU3ZmQzNWFkNDAzYjI0YjkzNTNmMTc3OTlkZDQ4IiwidGFnIjoiIn0%3D; expires=Fri, 30 Jan 2026 10:24:18 GMT; Max-Age=604800; path=/; httponly; samesite=lax
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application partner
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/application/1/partner/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/application/1/partner/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/application/1/partner/1';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
set-cookie: attribution_api_local_session=eyJpdiI6Ii9BTlcwcmpGU2ZDcVRSSXZ4ZmV1QVE9PSIsInZhbHVlIjoiMElCYStlMnA4M1JVeVVxUGUvQ2Q0blkwajVZK3BJVW40WFdJKzVocWlKUHV2OEY1N2w0dnV3QmFJWkc4U2RIT1Vkd3p0Uko3eExTeVM5a3BzNExhSEsyNkhDN24xNVZ5QlRsZFF2L2hCVFF6aFNYblFlWDc4aWJVOVA2RHNwWjciLCJtYWMiOiJjOTY5NWM3MGQxZmU4YmExNWE0OTg2NzUxYzI1ZDQ3NmU3NTU2NTI3ZWVlNzU0Mjc3NTNhYWMxYjFjZTlkMzMwIiwidGFnIjoiIn0%3D; expires=Fri, 30 Jan 2026 10:24:18 GMT; Max-Age=604800; path=/; httponly; samesite=lax
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application partner
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/applications/1/partners/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"link_settings\": {
\"traffic_source\": \"architecto\",
\"fingerprint_available\": 3601,
\"device_id_available\": 3600,
\"re_attribution\": false
},
\"postback_url\": \"http:\\/\\/rempel.com\\/sunt-nihil-accusantium-harum-mollitia\",
\"tracking_url_params\": \"k\",
\"conversion_postbacks\": [
{
\"conversion_type\": \"architecto\",
\"postback_urls\": [
\"n\"
],
\"click_filter\": [
{
\"param\": \"g\",
\"values\": []
}
],
\"cost\": 1,
\"send_organic\": false
}
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/partners/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"link_settings": {
"traffic_source": "architecto",
"fingerprint_available": 3601,
"device_id_available": 3600,
"re_attribution": false
},
"postback_url": "http:\/\/rempel.com\/sunt-nihil-accusantium-harum-mollitia",
"tracking_url_params": "k",
"conversion_postbacks": [
{
"conversion_type": "architecto",
"postback_urls": [
"n"
],
"click_filter": [
{
"param": "g",
"values": []
}
],
"cost": 1,
"send_organic": false
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/partners/1';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'link_settings' => [
'traffic_source' => 'architecto',
'fingerprint_available' => 3601,
'device_id_available' => 3600,
're_attribution' => false,
],
'postback_url' => 'http://rempel.com/sunt-nihil-accusantium-harum-mollitia',
'tracking_url_params' => 'k',
'conversion_postbacks' => [
[
'conversion_type' => 'architecto',
'postback_urls' => [
'n',
],
'click_filter' => [
[
'param' => 'g',
'values' => [],
],
],
'cost' => 1,
'send_organic' => false,
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application facebook partners
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1/partners/facebook" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/partners/facebook"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/partners/facebook';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 7,
"application_id": 80,
"partner_id": 53,
"partner_name": "Hank Batz",
"fb_account_id": null,
"fb_pixel_access_token": null
},
{
"id": 8,
"application_id": 81,
"partner_id": 54,
"partner_name": "Dr. Lucie Bauch",
"fb_account_id": null,
"fb_pixel_access_token": null
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List partners
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/partners" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 16,
\"limit\": 16,
\"filter\": {
\"query\": \"architecto\"
}
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": 16,
"limit": 16,
"filter": {
"query": "architecto"
}
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => 16,
'limit' => 16,
'filter' => [
'query' => 'architecto',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 55,
"name": "Ms. Elisabeth Okuneva",
"url": "https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt",
"applications": [],
"traffic_source": null,
"attribution_settings": null,
"postback_url": null,
"affiliate_id": 8143,
"is_external": true
},
{
"id": 56,
"name": "Mr. Adriel Romaguera",
"url": "http://swift.com/quidem-nostrum-qui-commodi-incidunt-iure-odit.html",
"applications": [],
"traffic_source": null,
"attribution_settings": null,
"postback_url": null,
"affiliate_id": 35,
"is_external": true
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get available parent partners
Returns a list of internal partners (those connected to agencies) that can be used as parent partners when converting external partners to sub-partners.
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/partners/available-parent-partners" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners/available-parent-partners"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners/available-parent-partners';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 57,
"name": "Morgan Hirthe",
"url": "http://www.dare.org/iure-odit-et-et-modi-ipsum-nostrum-omnis",
"applications": [],
"traffic_source": null,
"attribution_settings": null,
"postback_url": null,
"affiliate_id": 9607,
"is_external": true
},
{
"id": 58,
"name": "Myrtis Tromp",
"url": "http://www.stokes.com/tempora-ex-voluptatem-laboriosam-praesentium-quis.html",
"applications": [],
"traffic_source": null,
"attribution_settings": null,
"postback_url": null,
"affiliate_id": 9724,
"is_external": true
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create partner
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/partners" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"url\": \"http:\\/\\/bailey.com\\/\",
\"postback_url\": \"http:\\/\\/rempel.com\\/sunt-nihil-accusantium-harum-mollitia\",
\"traffic_source\": \"architecto\",
\"fingerprint_available\": 3601,
\"device_id_available\": 3600,
\"re_attribution\": false,
\"affiliate_id\": 16,
\"conversion_postbacks\": [
{
\"conversion_type\": \"architecto\",
\"postback_urls\": [
\"n\"
],
\"click_filter\": [
{
\"param\": \"g\",
\"values\": []
}
],
\"cost\": 1,
\"send_organic\": false
}
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"url": "http:\/\/bailey.com\/",
"postback_url": "http:\/\/rempel.com\/sunt-nihil-accusantium-harum-mollitia",
"traffic_source": "architecto",
"fingerprint_available": 3601,
"device_id_available": 3600,
"re_attribution": false,
"affiliate_id": 16,
"conversion_postbacks": [
{
"conversion_type": "architecto",
"postback_urls": [
"n"
],
"click_filter": [
{
"param": "g",
"values": []
}
],
"cost": 1,
"send_organic": false
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'url' => 'http://bailey.com/',
'postback_url' => 'http://rempel.com/sunt-nihil-accusantium-harum-mollitia',
'traffic_source' => 'architecto',
'fingerprint_available' => 3601,
'device_id_available' => 3600,
're_attribution' => false,
'affiliate_id' => 16,
'conversion_postbacks' => [
[
'conversion_type' => 'architecto',
'postback_urls' => [
'n',
],
'click_filter' => [
[
'param' => 'g',
'values' => [],
],
],
'cost' => 1,
'send_organic' => false,
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 59,
"name": "Ramiro Okuneva",
"url": "https://www.gulgowski.com/nihil-accusantium-harum-mollitia-modi-deserunt",
"applications": [],
"traffic_source": null,
"attribution_settings": null,
"postback_url": null,
"affiliate_id": 8143,
"is_external": true
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get partner
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/partners/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners/1';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 60,
"name": "Morgan Hirthe",
"url": "http://www.dare.org/iure-odit-et-et-modi-ipsum-nostrum-omnis",
"applications": [],
"traffic_source": null,
"attribution_settings": null,
"postback_url": null,
"affiliate_id": 9607,
"is_external": true
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update partner
Example request:
curl --request PUT \
"https://app.affisemmp.com/api/v2/client/partners/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"url\": \"http:\\/\\/bailey.com\\/\",
\"postback_url\": \"http:\\/\\/rempel.com\\/sunt-nihil-accusantium-harum-mollitia\",
\"traffic_source\": \"architecto\",
\"fingerprint_available\": 3601,
\"device_id_available\": 3600,
\"re_attribution\": false,
\"affiliate_id\": 16,
\"conversion_postbacks\": [
{
\"conversion_type\": \"architecto\",
\"postback_urls\": [
\"n\"
],
\"click_filter\": [
{
\"param\": \"g\",
\"values\": []
}
],
\"cost\": 1,
\"send_organic\": false
}
]
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"url": "http:\/\/bailey.com\/",
"postback_url": "http:\/\/rempel.com\/sunt-nihil-accusantium-harum-mollitia",
"traffic_source": "architecto",
"fingerprint_available": 3601,
"device_id_available": 3600,
"re_attribution": false,
"affiliate_id": 16,
"conversion_postbacks": [
{
"conversion_type": "architecto",
"postback_urls": [
"n"
],
"click_filter": [
{
"param": "g",
"values": []
}
],
"cost": 1,
"send_organic": false
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners/1';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'url' => 'http://bailey.com/',
'postback_url' => 'http://rempel.com/sunt-nihil-accusantium-harum-mollitia',
'traffic_source' => 'architecto',
'fingerprint_available' => 3601,
'device_id_available' => 3600,
're_attribution' => false,
'affiliate_id' => 16,
'conversion_postbacks' => [
[
'conversion_type' => 'architecto',
'postback_urls' => [
'n',
],
'click_filter' => [
[
'param' => 'g',
'values' => [],
],
],
'cost' => 1,
'send_organic' => false,
],
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Make partner a sub-partner
Converts an external partner (without agency) into a sub-partner by connecting it to a parent partner's agency. If the agency is not yet connected to the partner's applications, connections will be created automatically.
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/partners/1/make-sub-partner" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"parent_partner_id\": 15
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners/1/make-sub-partner"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"parent_partner_id": 15
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners/1/make-sub-partner';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'parent_partner_id' => 15,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"message": "Partner has been successfully made a sub-partner."
}
Example response (403):
{
"message": "Access denied"
}
Example response (422):
{
"message": "Partner is already connected to an agency as sub-partner"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create application facebook partner
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/partners/facebook" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"application_id\": 16,
\"partner_id\": 16,
\"fb_account_id\": \"137449171671936806\",
\"fb_pixel_access_token\": \"z\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners/facebook"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"application_id": 16,
"partner_id": 16,
"fb_account_id": "137449171671936806",
"fb_pixel_access_token": "z"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners/facebook';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'application_id' => 16,
'partner_id' => 16,
'fb_account_id' => '137449171671936806',
'fb_pixel_access_token' => 'z',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application facebook partner
Example request:
curl --request PUT \
"https://app.affisemmp.com/api/v2/client/partners/facebook/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"partner_id\": 16,
\"fb_account_id\": \"137449171671936806\",
\"fb_pixel_access_token\": \"z\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners/facebook/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"partner_id": 16,
"fb_account_id": "137449171671936806",
"fb_pixel_access_token": "z"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners/facebook/16';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'partner_id' => 16,
'fb_account_id' => '137449171671936806',
'fb_pixel_access_token' => 'z',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete application facebook partner
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/partners/facebook/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/partners/facebook/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/partners/facebook/16';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application integration api keys
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1/integration-api-keys" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/integration-api-keys"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/integration-api-keys';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 7,
"application_id": 82,
"type": "applovin_revenue",
"api_key": "Aut quis ut dolores omnis et earum. Asperiores est vel id aut officiis eos. Et qui unde et."
},
{
"id": 8,
"application_id": 83,
"type": "iron_source_revenue",
"api_key": "Laboriosam id enim aut aut sequi saepe. Cupiditate earum labore quae. Ut in quos omnis quis."
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create single link
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/single-links" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"android_app_id\": 16,
\"ios_app_id\": 16,
\"huawei_app_id\": 16,
\"samsung_app_id\": 16,
\"xiaomi_app_id\": 16,
\"oppo_app_id\": 16,
\"vivo_app_id\": 16,
\"custom_app_id\": 16,
\"destination_url\": \"http:\\/\\/bailey.com\\/\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/single-links"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"android_app_id": 16,
"ios_app_id": 16,
"huawei_app_id": 16,
"samsung_app_id": 16,
"xiaomi_app_id": 16,
"oppo_app_id": 16,
"vivo_app_id": 16,
"custom_app_id": 16,
"destination_url": "http:\/\/bailey.com\/"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/single-links';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'android_app_id' => 16,
'ios_app_id' => 16,
'huawei_app_id' => 16,
'samsung_app_id' => 16,
'xiaomi_app_id' => 16,
'oppo_app_id' => 16,
'vivo_app_id' => 16,
'custom_app_id' => 16,
'destination_url' => 'http://bailey.com/',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 17,
"name": "Quos velit et.",
"link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid={pid}",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid={pid}",
"destination_url": "https://gaylord.com/modi-deserunt-aut-ab-provident-perspiciatis.html",
"applications": [],
"partners_single_links": [
{
"partner_id": 1,
"partner_name": "S.H.I.E.L.D",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=1",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=1"
},
{
"partner_id": 4,
"partner_name": "Test Partner Network - Griffin",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=4",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=4"
},
{
"partner_id": 5,
"partner_name": "Test Partner Network - Abel",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=5",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=5"
},
{
"partner_id": 6,
"partner_name": "Test Partner Network - Damon",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=6",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=6"
}
],
"created_at": "2026-01-23T10:24:19Z",
"updated_at": "2026-01-23T10:24:19Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update single link
Example request:
curl --request PUT \
"https://app.affisemmp.com/api/v2/client/single-links/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"b\",
\"android_app_id\": 16,
\"ios_app_id\": 16,
\"huawei_app_id\": 16,
\"samsung_app_id\": 16,
\"xiaomi_app_id\": 16,
\"oppo_app_id\": 16,
\"vivo_app_id\": 16,
\"custom_app_id\": 16,
\"destination_url\": \"http:\\/\\/bailey.com\\/\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/single-links/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "b",
"android_app_id": 16,
"ios_app_id": 16,
"huawei_app_id": 16,
"samsung_app_id": 16,
"xiaomi_app_id": 16,
"oppo_app_id": 16,
"vivo_app_id": 16,
"custom_app_id": 16,
"destination_url": "http:\/\/bailey.com\/"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/single-links/1';
$response = $client->put(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'b',
'android_app_id' => 16,
'ios_app_id' => 16,
'huawei_app_id' => 16,
'samsung_app_id' => 16,
'xiaomi_app_id' => 16,
'oppo_app_id' => 16,
'vivo_app_id' => 16,
'custom_app_id' => 16,
'destination_url' => 'http://bailey.com/',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 18,
"name": "Quos velit et.",
"link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid={pid}",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid={pid}",
"destination_url": "https://gaylord.com/modi-deserunt-aut-ab-provident-perspiciatis.html",
"applications": [],
"partners_single_links": [
{
"partner_id": 1,
"partner_name": "S.H.I.E.L.D",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=1",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=1"
},
{
"partner_id": 4,
"partner_name": "Test Partner Network - Griffin",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=4",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=4"
},
{
"partner_id": 5,
"partner_name": "Test Partner Network - Abel",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=5",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=5"
},
{
"partner_id": 6,
"partner_name": "Test Partner Network - Damon",
"single_link": "http://trk.affattr.loc/sl/129b23?clickid={clickid}&pid=6",
"impression_link": "http://trk.affattr.loc/sl/imp/129b23?clickid={clickid}&pid=6"
}
],
"created_at": "2026-01-23T10:24:19Z",
"updated_at": "2026-01-23T10:24:19Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete single link
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/single-links/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/single-links/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/single-links/1';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get single link
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/single-links/1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/single-links/1"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/single-links/1';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 19,
"name": "Aut adipisci quidem.",
"link": "http://trk.affattr.loc/sl/795466?clickid={clickid}&pid={pid}",
"impression_link": "http://trk.affattr.loc/sl/imp/795466?clickid={clickid}&pid={pid}",
"destination_url": "https://leuschke.com/et-et-modi-ipsum-nostrum.html",
"applications": [],
"partners_single_links": [
{
"partner_id": 1,
"partner_name": "S.H.I.E.L.D",
"single_link": "http://trk.affattr.loc/sl/795466?clickid={clickid}&pid=1",
"impression_link": "http://trk.affattr.loc/sl/imp/795466?clickid={clickid}&pid=1"
},
{
"partner_id": 4,
"partner_name": "Test Partner Network - Griffin",
"single_link": "http://trk.affattr.loc/sl/795466?clickid={clickid}&pid=4",
"impression_link": "http://trk.affattr.loc/sl/imp/795466?clickid={clickid}&pid=4"
},
{
"partner_id": 5,
"partner_name": "Test Partner Network - Abel",
"single_link": "http://trk.affattr.loc/sl/795466?clickid={clickid}&pid=5",
"impression_link": "http://trk.affattr.loc/sl/imp/795466?clickid={clickid}&pid=5"
},
{
"partner_id": 6,
"partner_name": "Test Partner Network - Damon",
"single_link": "http://trk.affattr.loc/sl/795466?clickid={clickid}&pid=6",
"impression_link": "http://trk.affattr.loc/sl/imp/795466?clickid={clickid}&pid=6"
}
],
"created_at": "2026-01-23T10:24:19Z",
"updated_at": "2026-01-23T10:24:19Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List single links
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/single-links" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 16,
\"limit\": 16,
\"filter\": []
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/single-links"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": 16,
"limit": 16,
"filter": []
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/single-links';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => 16,
'limit' => 16,
'filter' => [],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 20,
"name": "Eius et animi quos.",
"link": "http://trk.affattr.loc/sl/c44b30?clickid={clickid}&pid={pid}",
"impression_link": "http://trk.affattr.loc/sl/imp/c44b30?clickid={clickid}&pid={pid}",
"destination_url": "http://www.ernser.org/harum-mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html",
"applications": [],
"partners_single_links": [
{
"partner_id": 1,
"partner_name": "S.H.I.E.L.D",
"single_link": "http://trk.affattr.loc/sl/c44b30?clickid={clickid}&pid=1",
"impression_link": "http://trk.affattr.loc/sl/imp/c44b30?clickid={clickid}&pid=1"
},
{
"partner_id": 4,
"partner_name": "Test Partner Network - Griffin",
"single_link": "http://trk.affattr.loc/sl/c44b30?clickid={clickid}&pid=4",
"impression_link": "http://trk.affattr.loc/sl/imp/c44b30?clickid={clickid}&pid=4"
},
{
"partner_id": 5,
"partner_name": "Test Partner Network - Abel",
"single_link": "http://trk.affattr.loc/sl/c44b30?clickid={clickid}&pid=5",
"impression_link": "http://trk.affattr.loc/sl/imp/c44b30?clickid={clickid}&pid=5"
},
{
"partner_id": 6,
"partner_name": "Test Partner Network - Damon",
"single_link": "http://trk.affattr.loc/sl/c44b30?clickid={clickid}&pid=6",
"impression_link": "http://trk.affattr.loc/sl/imp/c44b30?clickid={clickid}&pid=6"
}
],
"created_at": "2026-01-23T10:24:19Z",
"updated_at": "2026-01-23T10:24:19Z"
},
{
"id": 21,
"name": "Omnis nostrum aut.",
"link": "http://trk.affattr.loc/sl/b530a9?clickid={clickid}&pid={pid}",
"impression_link": "http://trk.affattr.loc/sl/imp/b530a9?clickid={clickid}&pid={pid}",
"destination_url": "http://www.dare.org/iure-odit-et-et-modi-ipsum-nostrum-omnis",
"applications": [],
"partners_single_links": [
{
"partner_id": 1,
"partner_name": "S.H.I.E.L.D",
"single_link": "http://trk.affattr.loc/sl/b530a9?clickid={clickid}&pid=1",
"impression_link": "http://trk.affattr.loc/sl/imp/b530a9?clickid={clickid}&pid=1"
},
{
"partner_id": 4,
"partner_name": "Test Partner Network - Griffin",
"single_link": "http://trk.affattr.loc/sl/b530a9?clickid={clickid}&pid=4",
"impression_link": "http://trk.affattr.loc/sl/imp/b530a9?clickid={clickid}&pid=4"
},
{
"partner_id": 5,
"partner_name": "Test Partner Network - Abel",
"single_link": "http://trk.affattr.loc/sl/b530a9?clickid={clickid}&pid=5",
"impression_link": "http://trk.affattr.loc/sl/imp/b530a9?clickid={clickid}&pid=5"
},
{
"partner_id": 6,
"partner_name": "Test Partner Network - Damon",
"single_link": "http://trk.affattr.loc/sl/b530a9?clickid={clickid}&pid=6",
"impression_link": "http://trk.affattr.loc/sl/imp/b530a9?clickid={clickid}&pid=6"
}
],
"created_at": "2026-01-23T10:24:19Z",
"updated_at": "2026-01-23T10:24:19Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create short link
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/short-links" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"application_id\": 16,
\"single_link_id\": 16,
\"params\": [
\"architecto\"
],
\"generate_qr\": false
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/short-links"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"application_id": 16,
"single_link_id": 16,
"params": [
"architecto"
],
"generate_qr": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/short-links';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'application_id' => 16,
'single_link_id' => 16,
'params' => [
'architecto',
],
'generate_qr' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 4,
"token": "8d7330",
"application": {
"id": 84,
"name": "velit et fugiat",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"store": "google"
},
"single_link": null,
"parameters": {},
"short_link": "http://trk.affattr.loc/s/8d7330",
"impression_short_link": "http://trk.affattr.loc/s/i/8d7330",
"tracking_url": "http://trk.affattr.loc/5OPXP61954UC8",
"created_at": "2025-03-31T12:51:45Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete short link
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/short-links/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/short-links/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/short-links/16';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get short link qr image
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/short-links/16/qr" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"format\": \"png\"
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/short-links/16/qr"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"format": "png"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/short-links/16/qr';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'format' => 'png',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
Binary data - Qr image
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List short links
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/short-links" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 16,
\"limit\": 16,
\"is_qr\": false
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/short-links"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": 16,
"limit": 16,
"is_qr": false
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/short-links';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => 16,
'limit' => 16,
'is_qr' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"links": [
{
"id": 33,
"token": "9mvTRo",
"application": {
"id": 3,
"name": "laborum nostrum ut",
"icon": "https://.amazonaws.com/04Y7HOqMLzofp0ab.png",
"store": "google"
},
"single_link": null,
"parameters": {},
"short_link": "http://trk.affattr.loc/s/9mvTRo",
"impression_short_link": "http://trk.affattr.loc/s/i/9mvTRo",
"tracking_url": "http://trk.affattr.loc/27AHN1RGY5LEE",
"created_at": "2025-11-10T10:16:30Z"
},
],
"limit": {
"used": 1,
"max": 50
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get application google firebase settings
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/applications/1/integrations-google-firebase" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 16,
\"limit\": 16
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/integrations-google-firebase"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": 16,
"limit": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/integrations-google-firebase';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => 16,
'limit' => 16,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 7,
"partner_id": null,
"email": "[email protected]",
"connected_at": "2026-01-23 10:24:20",
"last_error": "Nihil.",
"data_last_update_at": null,
"status": {
"some_key": "some value"
},
"created_at": "2026-01-23T10:24:20Z",
"updated_at": "2026-01-23T10:24:20Z"
},
{
"id": 8,
"partner_id": null,
"email": "[email protected]",
"connected_at": "2026-01-23 10:24:20",
"last_error": "Quo omnis.",
"data_last_update_at": null,
"status": {
"some_key": "some value"
},
"created_at": "2026-01-23T10:24:20Z",
"updated_at": "2026-01-23T10:24:20Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete application google firebase account
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/applications/1/integrations-google-firebase/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/applications/1/integrations-google-firebase/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/applications/1/integrations-google-firebase/16';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List integrations
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/integrations" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 16,
\"limit\": 16,
\"query\": \"architecto\",
\"is_active\": false
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/integrations"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": 16,
"limit": 16,
"query": "architecto",
"is_active": false
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/integrations';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => 16,
'limit' => 16,
'query' => 'architecto',
'is_active' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 16,
"title": "dolores",
"is_active": false,
"type": {
"label": "petalads",
"value": "Petal Ads"
},
"context": "application",
"application": {
"id": 85,
"name": "et animi quos",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg"
},
"settings": [],
"events_mapping": []
},
{
"id": 17,
"title": "voluptate",
"is_active": false,
"type": {
"label": "petalads",
"value": "Petal Ads"
},
"context": "application",
"application": {
"id": 86,
"name": "enim non facere",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg"
},
"settings": [],
"events_mapping": []
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create integration
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/integrations" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxn\",
\"type\": \"petalads\",
\"context\": \"single_link\",
\"model_id\": 16,
\"is_active\": false
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/integrations"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxn",
"type": "petalads",
"context": "single_link",
"model_id": 16,
"is_active": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/integrations';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxn',
'type' => 'petalads',
'context' => 'single_link',
'model_id' => 16,
'is_active' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 18,
"title": "dolores",
"is_active": false,
"type": {
"label": "petalads",
"value": "Petal Ads"
},
"context": "application",
"application": {
"id": 87,
"name": "et animi quos",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg"
},
"settings": [],
"events_mapping": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get integration
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/integrations/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/integrations/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/integrations/16';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 19,
"title": "libero",
"is_active": false,
"type": {
"label": "petalads",
"value": "Petal Ads"
},
"context": "application",
"application": {
"id": 88,
"name": "aut adipisci quidem",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg"
},
"settings": [],
"events_mapping": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update integration
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/client/integrations/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxn\",
\"is_active\": false
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/integrations/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxn",
"is_active": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/integrations/16';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'title' => 'bngzmiyvdljnikhwaykcmyuwpwlvqwrsitcpscqldzsnrwtujwvlxjklqppwqbewtnnoqitpxn',
'is_active' => false,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 20,
"title": "officiis",
"is_active": false,
"type": {
"label": "petalads",
"value": "Petal Ads"
},
"context": "application",
"application": {
"id": 89,
"name": "odio veritatis excepturi",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg"
},
"settings": [],
"events_mapping": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete integration
Example request:
curl --request DELETE \
"https://app.affisemmp.com/api/v2/client/integrations/16" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/integrations/16"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/integrations/16';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get integration links
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/integrations/16/links" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"page\": 16,
\"limit\": 16
}"
const url = new URL(
"https://app.affisemmp.com/api/v2/client/integrations/16/links"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"page": 16,
"limit": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/integrations/16/links';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'page' => 16,
'limit' => 16,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": [
{
"id": 61,
"name": "Ms. Elisabeth Okuneva",
"tracking_url": null,
"impression_tracking_url": null,
"created_at": "2026-01-23T10:24:20.000000Z",
"updated_at": "2026-01-23T10:24:20.000000Z"
},
{
"id": 62,
"name": "Mr. Adriel Romaguera",
"tracking_url": null,
"impression_tracking_url": null,
"created_at": "2026-01-23T10:24:20.000000Z",
"updated_at": "2026-01-23T10:24:20.000000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload Token
Endpoints for generating upload tokens used for large file uploads. Upload tokens provide temporary authentication for file upload endpoints, bypassing the standard authentication flow which may have request size limits.
Get upload token
Generate a temporary JWT upload token for authenticated file uploads. This token should be used as Bearer token with the upload endpoints to upload large files (such as APK files). Token is valid for 5 minutes and can only be used once.
Example request:
curl --request GET \
--get "https://app.affisemmp.com/api/v2/client/upload-token" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://app.affisemmp.com/api/v2/client/upload-token"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/client/upload-token';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200, Success):
{
"upload_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"expires_in": 300
}
Example response (403, No associated client):
{
"error": "User has no associated client"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload endpoints
Endpoints for uploading large files using upload token authentication. These endpoints use a special JWT upload token (passed as Bearer token) instead of standard Sanctum authentication, allowing for larger file uploads that bypass normal request size limits.
⚠️ Important: These endpoints must be called on the dedicated upload domain:
https://mmp.affise.cominstead of the standard API domain. This domain is specifically configured to handle large file uploads.
Applications
Create application with APK upload
Create a new application with APK file upload support. This endpoint uses upload token (JWT) passed as Bearer token instead of standard Sanctum token.
Base URL: https://mmp.affise.com
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/upload/applications" \
--header "Authorization: string required Bearer token obtained from the upload-token endpoint. Example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "store=google"\
--form "url=https://play.google.com/store/apps/details?id=com.example.app"\
--form "apple_id_package=com.example.app"\
--form "package_name=com.example.app"\
--form "package_description=architecto"\
--form "timezone=Europe/Moscow"\
--form "app_status=apk"\
--form "currency=USD"\
--form "name=My App"\
--form "icon=https://example.com/icon.png"\
--form "client_url=http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html"\
--form "apk=@/tmp/phpjiNMJK" const url = new URL(
"https://app.affisemmp.com/api/v2/upload/applications"
);
const headers = {
"Authorization": "string required Bearer token obtained from the upload-token endpoint. Example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('store', 'google');
body.append('url', 'https://play.google.com/store/apps/details?id=com.example.app');
body.append('apple_id_package', 'com.example.app');
body.append('package_name', 'com.example.app');
body.append('package_description', 'architecto');
body.append('timezone', 'Europe/Moscow');
body.append('app_status', 'apk');
body.append('currency', 'USD');
body.append('name', 'My App');
body.append('icon', 'https://example.com/icon.png');
body.append('client_url', 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html');
body.append('apk', document.querySelector('input[name="apk"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/upload/applications';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'string required Bearer token obtained from the upload-token endpoint. Example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...',
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'store',
'contents' => 'google'
],
[
'name' => 'url',
'contents' => 'https://play.google.com/store/apps/details?id=com.example.app'
],
[
'name' => 'apple_id_package',
'contents' => 'com.example.app'
],
[
'name' => 'package_name',
'contents' => 'com.example.app'
],
[
'name' => 'package_description',
'contents' => 'architecto'
],
[
'name' => 'timezone',
'contents' => 'Europe/Moscow'
],
[
'name' => 'app_status',
'contents' => 'apk'
],
[
'name' => 'currency',
'contents' => 'USD'
],
[
'name' => 'name',
'contents' => 'My App'
],
[
'name' => 'icon',
'contents' => 'https://example.com/icon.png'
],
[
'name' => 'client_url',
'contents' => 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
],
[
'name' => 'apk',
'contents' => fopen('/tmp/phpjiNMJK', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200):
{
"data": {
"id": 90,
"status": "active",
"store": "telegram",
"url": "https://t.me/+G-SOmeChaNNeluRl",
"client_id": 1,
"package_name": "Velit et.",
"package_description": "SAID was, 'Why is a very interesting dance to watch,' said Alice, as she spoke; 'either you or your head must be on the floor, as it left no mark on.",
"timezone": "America/Lima",
"app_status": "at_store",
"currency": "BTC",
"currency_iso": "BTC",
"name": "architecto eius et",
"icon": "https://s3.eu-central-1.amazonaws.com/attribution.stage/public/applications/icons/icon.jpeg",
"is_default": false,
"secret_key": "323b6a8d-e367-448b-a725-570558d9afbd",
"api_secret_key": null,
"token": "SAXJA5CSYMTCN",
"agency_invite_token": "FQ1FQNFJ8VG8W",
"is_active": true,
"decryption_key": null,
"fb_app_id": null,
"fb_meta_pixel_id": null,
"fb_access_token": null,
"fb_pixel_access_token": null,
"fbc_api_enabled": null,
"fbc_api_events": null,
"fbc_api_events_mapping": null,
"fb_marketing_events_mapping": null,
"fb_pixel_events_mapping": null,
"fbc_api_value": null,
"fbc_api_send_organic": null,
"use_pixel_api": null,
"fb_send_organic": false,
"fb_send_googleads": false,
"fcm_key": null,
"created_at": "2026-01-23T10:24:20.000000Z",
"updated_at": "2026-01-23T10:24:19Z",
"probabilistic": true,
"apple_s2s_tracking_url_v1": null,
"apple_s2s_tracking_url_v2": null,
"cross_postback_url": null,
"default_postback_url": null,
"postback_url": null,
"send_organic": false,
"cross_postback_for_all_conversions": false,
"secure_code": null,
"fingerprint_available": null,
"device_id_available": null,
"re_attribution": null,
"unity_ads_setting": null,
"is_google_adwords_enabled": false,
"sdk_callback": null,
"anti_fraud_settings": {
"social_traffic": null,
"emulators": null,
"ctit_sec": null,
"session_count": null,
"session_sec": null,
"proxy": null,
"24metrics_enabled": null,
"24metrics_level": null
},
"tiktok_attribution": {
"access_token": null,
"pixel_code": null,
"tiktok_app_id": null,
"offline_event_set_id": null,
"api_events_mapping": null
},
"google_ads_attribution": {
"events_mapping": null,
"api_events_mapping": null,
"link_id": null
},
"google_firebase_attribution": {
"project_id": null
},
"bigo_attributes": {
"events_mapping": null
},
"subscriptions": {
"saved": null,
"urls": null,
"secure_code": "zfviD8"
},
"settings": [],
"signature_name": null
}
}
Example response (201, Success):
{
"message": "Application successfully created",
"data": {
"id": "01234567-89ab-cdef-0123-456789abcdef",
"name": "My App",
"package_name": "com.example.app"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update application APK
Update the APK file for an existing application. This endpoint uses upload token (JWT) passed as Bearer token instead of standard Sanctum token. The application must have app_status of "apk" to use this endpoint.
Base URL: https://mmp.affise.com
Example request:
curl --request POST \
"https://app.affisemmp.com/api/v2/upload/applications/1/update-apk" \
--header "Authorization: string required Bearer token obtained from the upload-token endpoint. Example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "apk=@/tmp/phpJBFihN" const url = new URL(
"https://app.affisemmp.com/api/v2/upload/applications/1/update-apk"
);
const headers = {
"Authorization": "string required Bearer token obtained from the upload-token endpoint. Example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('apk', document.querySelector('input[name="apk"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());$client = new \GuzzleHttp\Client();
$url = 'https://app.affisemmp.com/api/v2/upload/applications/1/update-apk';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'string required Bearer token obtained from the upload-token endpoint. Example: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...',
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/json',
],
'multipart' => [
[
'name' => 'apk',
'contents' => fopen('/tmp/phpJBFihN', 'r')
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));Example response (200, Success):
{
"message": "Application APK successfully updated",
"apk_url": "https://storage.example.com/apks/app-v2.apk"
}
Example response (422, Invalid status):
{
"message": "The given data was invalid.",
"errors": {
"apk": [
"Application not in status apk"
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.