This documentation aims to provide all the information you need to work with our API. The v2 (and above) API follows the Design Principles and Guidelines. If you find anything that doesn't comply, please complain to the dev team immediately 👮
To authenticate requests, include a Authorization
header with the value "{accessToken}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
For more information see Authentication in the P&E docs.
Manages the creator blocklist for an advertiser.
Creators added to the blocklist will not see the advertiser nor be able to convert links for that advertiser.
The ID of the advertiser.
Filters results to match user ID or username. Must not be greater than 128 characters.
curl --request GET \
--get "https://api.metapic.dev/v2/advertisers/15/blocklist?query=gtjedlfvjzouyjc" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 81,
"created_at": "2025-10-13 11:27:36",
"created_by": {
"id": 3654,
"username": "kaelyn.mccullough",
"display_name": "Cheyanne Zieme",
"email": "[email protected]",
"client_id": 3831
},
"client": {
"id": 3832,
"name": "Dr. Vern Grimes Jr.",
"client_id": "rCAFJCUTCS",
"has_own_payment_system": false,
"revenue_share": 1
}
},
{
"id": 82,
"created_at": "2025-10-13 11:27:36",
"created_by": {
"id": 3655,
"username": "emilia77",
"display_name": "Liliane Schaefer",
"email": "[email protected]",
"client_id": 3833
},
"client": {
"id": 3834,
"name": "Minnie Ortiz DDS",
"client_id": "mAXQFruwzy",
"has_own_payment_system": false,
"revenue_share": 1
}
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
Adds the given entries to the blocklist, ignoring them if they previously existed.
The ID of the advertiser.
curl --request POST \
"https://api.metapic.dev/v2/advertisers/2/blocklist" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"users\": [
{
\"id\": 123,
\"validate_clicks\": true
},
{
\"id\": 456,
\"validate_clicks\": false
}
],
\"user_tag_ids\": [
10
],
\"client_ids\": [
20
]
}"
The ID of the advertiser.
The ID of the target.
curl --request DELETE \
"https://api.metapic.dev/v2/advertisers/8/blocklist/11" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Returns the settings to be added to the sales pixel script.
The advertiser.
curl --request GET \
--get "https://api.metapic.dev/v2/advertisers/accusamus/order-collectors/sales-pixel" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
Returns the tracking configuration for the advertiser.
The advertiser.
The identifier of the collector
woocommerce
curl --request GET \
--get "https://api.metapic.dev/v2/advertisers/assumenda/order-collectors/woocommerce" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
Activates the tracking plugin with the given activation key.
Returns the parameters to insert into the Javascript tracking snippet.
curl --request POST \
"https://api.metapic.dev/v2/activate-tracking-plugin" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"metapic_activation_key\": \"consequatur\"
}"
Returns remaining email quota for the advertiser.
The ID of the advertiser.
curl --request GET \
--get "https://api.metapic.dev/v2/advertisers/8/email-quota" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
Endpoint for querying & sorting all stores.
Query by either of the following: ID, store name.
Returns all stores with id equal to query
OR name contains query
. Must not be greater than 255 characters.
Query by store's store group. Returns all stores which belong to the given store_group_id
.
Page size. Defaults to 20. Must not be greater than 100.
Must follow the correct format: column_name:direction
,
where column_name
must be a valid property for given resource and direction
can be one of asc|desc
,
both of which are required if sort_by
is present.
curl --request GET \
--get "https://api.metapic.dev/v2/stores?query=nike&store_group_id=15&size=20&sort_by=error" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 2222,
"name": "Kunze, Kulas and Fadel"
},
{
"id": 2223,
"name": "Collins-Ullrich"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 20,
"to": 2,
"total": 2
}
}
Manages url matching rules for an advertiser. Url Matching rule can either be to allow or to block matching of a URL based on added rules.
Returns all url matching rules defined for the advertiser.
The ID of the advertiser.
curl --request GET \
--get "https://api.metapic.dev/v2/advertisers/8/url-matching-rules" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[
{
"id": 293,
"type": "allow",
"is_main": false,
"url": "testcompany.com",
"updated_at": "2025-10-13T11:27:36.000000Z"
},
{
"id": 294,
"type": "allow",
"is_main": false,
"url": "testcompany.com",
"updated_at": "2025-10-13T11:27:36.000000Z"
}
]
Adds a new rule to the url matching for the advertiser.
The ID of the advertiser.
curl --request POST \
"https://api.metapic.dev/v2/advertisers/18/url-matching-rules" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"allow\",
\"url\": \"https:\\/\\/www.gerhold.com\\/explicabo-pariatur-et-vitae-in\",
\"keyword\": \"mxbqawxjgl\",
\"is_main\": true
}"
Updates existing url matching rule for the advertiser.
The ID of the advertiser.
The ID of the urlMatchingRule.
curl --request PUT \
"https://api.metapic.dev/v2/advertisers/16/url-matching-rules/1" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"allow\",
\"url\": \"http:\\/\\/www.cruickshank.com\\/\",
\"keyword\": \"vxgidrfabatebycgmouichk\",
\"is_main\": true
}"
Removes existing url matching rule for the advertiser.
The ID of the advertiser.
The ID of the urlMatchingRule.
curl --request DELETE \
"https://api.metapic.dev/v2/advertisers/10/url-matching-rules/13" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request POST \
"https://api.metapic.dev/v2/stores" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"My Store\",
\"domains\": [
[
\"dev.test-test.com\"
]
],
\"categories\": [
9
],
\"logo_url\": \"http:\\/\\/www.bahringer.net\\/\",
\"country\": \" Example: SE\",
\"currency\": \"Example: EUR\",
\"language\": \"sv\",
\"billing\": {
\"company_name\": \"qui\",
\"street\": \"laboriosam\",
\"postal_code\": \"velit\",
\"city\": \"tempora\",
\"vat_number\": \"illum\"
}
}"
{
"id": 2224,
"name": "Runolfsdottir Inc"
}
Deactivates the advertiser.
The ID of the advertiser.
curl --request POST \
"https://api.metapic.dev/v2/advertisers/17/deactivate" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
App\Http\Resources\Store\StoreResource
Endpoint for querying & sorting all advertiser groups.
Only return advertiser groups which have return ads enabled.
Page size. Defaults to 20. Must not be greater than 100.
Must follow the correct format: column_name:direction
,
where column_name
must be a valid property for given resource and direction
can be one of asc|desc
,
both of which are required if sort_by
is present.
curl --request GET \
--get "https://api.metapic.dev/v2/advertiser-groups?return_ad_enabled=&size=20&sort_by=eligendi" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 4578,
"name": "McClure-Ledner",
"key": "ti_ET",
"currency": "PLN"
},
{
"id": 4579,
"name": "Stamm-Hudson",
"key": "nr_ZA",
"currency": "EUR"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 20,
"to": 2,
"total": 2
}
}
The ID of the affiliate link.
curl --request GET \
--get "https://api.metapic.dev/v2/affiliate-links/officia" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 852,
"url": "http://heaney.com/autem-sed-delectus-consequatur-repellendus-quia-consectetur",
"original_url": "http://www.hand.com/nulla-velit-est-laudantium-ex",
"mtpc_url": "https://c.mtpc.se/852",
"user_id": 3659,
"country": "SK",
"provider": "fuchsia",
"advertiser": {
"id": 2227,
"name": "Grady Inc"
}
}
Returns advertisers if there are multiple advertisers to match the url with. Otherwise, returns the affiliate link.
curl --request POST \
"https://api.metapic.dev/v2/affiliate-links" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"url\": \"https:\\/\\/advertiser.com\",
\"advertiser_id\": 20,
\"advertiser_preview\": true,
\"advertiser_group_id\": 1,
\"dry\": false
}"
{
"status": "success",
"affiliate_link": {
"status": "success",
"id": 853,
"url": "http://www.rowe.com/autem-et-minima-tenetur-voluptatum-ab-optio.html",
"original_url": "http://robel.net/cum-culpa-ipsum-dignissimos-sit.html",
"mtpc_url": "https://c.mtpc.se/853",
"user_id": 3660,
"country": "LC",
"provider": "aqua",
"advertiser": {
"id": 2228,
"name": "Haag-Turcotte"
}
}
}
Returns advertisers if there are multiple advertisers to match the url with. Otherwise, returns the affiliate link.
The ID of the user.
curl --request POST \
"https://api.metapic.dev/v2/users/14/affiliate-links" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"url\": \"https:\\/\\/advertiser.com\",
\"advertiser_id\": 8,
\"advertiser_preview\": true,
\"advertiser_group_id\": 1,
\"dry\": false
}"
{
"status": "success",
"affiliate_link": {
"status": "success",
"id": 854,
"url": "http://bernhard.com/",
"original_url": "http://kohler.com/ex-laborum-vitae-quia-autem-culpa-ut-nam-ut",
"mtpc_url": "https://c.mtpc.se/854",
"user_id": 3661,
"country": "CA",
"provider": "silver",
"advertiser": {
"id": 2229,
"name": "Upton, Larson and Balistreri"
}
}
}
Endpoint for querying & sorting all clients.
Query by id or name. Returns all clients where id is equal to query
OR name contains query
OR any revenue tier name contains query
. Must not be greater than 128 characters.
Query by advertiser group. Returns all clients which belong to the given advertiser_group_ids
.
Page size. Defaults to 20. Must not be greater than 500.
Must follow the correct format: column_name:direction
,
where column_name
must be a valid property for given resource and direction
can be one of asc|desc
,
both of which are required if sort_by
is present.
curl --request GET \
--get "https://api.metapic.dev/v2/clients?query=internal+name&advertiser_group_ids[]=1&size=20&sort_by=dolorem" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 3835,
"name": "Otto Lang",
"client_id": "cyPySxrkvM",
"has_own_payment_system": false,
"revenue_share": 1
},
{
"id": 3836,
"name": "Gerardo Yundt",
"client_id": "WdPRHVcNOT",
"has_own_payment_system": false,
"revenue_share": 1
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 20,
"to": 2,
"total": 2
}
}
Operations on Media posted by Creators
Filters media by username.
Filter user media by show store value.
all
0
1
2
Filters media by type.
all
instagram
tiktok
youtube
Filter user media by favorite value.
all
1
0
:shrug:.
Format to export.
csv
xlsx
json
curl --request GET \
--get "https://api.metapic.dev/v2/user-media?query=ducimus&status=2&type=instagram&favorite=1&group=7&format=csv" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"current_page": 1,
"data": [
{
"id": 1,
"media_type": "youtube",
"media_id": "FLR0BB4qDt8",
"username": "hamida_most",
"tag_id": null,
"user_id": null,
"favorite": 1,
"show_store": 1,
"published_at": "2023-05-13",
"created_at": "2023-07-18T12:02:53.000000Z",
"updated_at": "2023-07-18T12:09:13.000000Z"
},
{
"id": 2,
"media_type": "tiktok",
"username": "juliaringblomm",
"tag_id": null,
"user_id": null,
"favorite": 1,
"show_store": 0,
"published_at": "2023-06-17",
"created_at": "2023-07-18T12:10:49.000000Z",
"updated_at": "2023-07-18T13:39:28.000000Z",
"media": {
"content_type": "video/mp4",
"href": "https://metapic-tiktok-media.example/juliaringblomm/7245692137566653722"
}
},
{
"id": 3,
"media_type": "instagram",
"username": "juliaringblomm",
"tag_id": null,
"user_id": null,
"favorite": 1,
"show_store": 0,
"published_at": "2023-06-17",
"created_at": "2023-07-18T12:10:49.000000Z",
"updated_at": "2023-07-18T13:39:28.000000Z",
"media": {
"content_type": "video/mp4",
"href": "https://metapic-instragram-media.example/juliaringblomm/7245692137566653722"
}
},
{
"id": 4,
"media_type": "instagram",
"username": "juliaringblomm",
"tag_id": null,
"user_id": null,
"favorite": 1,
"show_store": 0,
"published_at": "2023-06-17",
"created_at": "2023-07-18T12:10:49.000000Z",
"updated_at": "2023-07-18T13:39:28.000000Z",
"media": {
"content_type": "image/jpeg",
"href": "https://metapic-instragram-media.example/juliaringblomm/7245692137566653722"
}
}
],
"first_page_url": "http://metapic-api.my/user-media?page=1",
"from": 1,
"last_page": 3,
"last_page_url": "http://metapic-api.my/user-media?page=3",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "http://metapic-api.my/user-media?page=1",
"label": "1",
"active": true
},
{
"url": "http://metapic-api.my/user-media?page=2",
"label": "2",
"active": false
},
{
"url": "http://metapic-api.my/user-media?page=3",
"label": "3",
"active": false
},
{
"url": "http://metapic-api.my/user-media?page=2",
"label": "Next »",
"active": false
}
],
"next_page_url": "http://metapic-api.my/user-media?page=2",
"path": "http://metapic-api.my/user-media",
"per_page": 5,
"prev_page_url": null,
"to": 5,
"total": 12
}
curl --request GET \
--get "https://api.metapic.dev/v2/health" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"status": "up"
}
curl --request GET \
--get "https://api.metapic.dev/v2/store-categories" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[
{
"id": 67,
"name": "Food"
},
{
"id": 68,
"name": "Books"
}
]
curl --request GET \
--get "https://api.metapic.dev/v2/payments/getPaymentInvoices" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_period\": \"2025-10\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
The ID of the user.
curl --request GET \
--get "https://api.metapic.dev/v2/users/13/stores-by-categories" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
The ID of the user.
curl --request GET \
--get "https://api.metapic.dev/v2/users/11/stores-by-toplist" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
curl --request POST \
"https://api.metapic.dev/v2/payments/upload-ax-id-matching" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file\": \"j\"
}"
curl --request POST \
"https://api.metapic.dev/v2/payments/mark-invoices-as-paid" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file\": \"kqvjrjtmuropwlculqclxovi\"
}"
Endpoint for generating a creator invoice from external component
curl --request POST \
"https://api.metapic.dev/v2/payments/generate-creator-invoice/delectus" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Endpoint for querying the current payment systems configuration
The payment date. Example: 2021-01-11. Must be a valid date.
Filter by client ID. The id
of an existing record in the clients table.
Filter by user ID. The id
of an existing record in the users table.
curl --request GET \
--get "https://api.metapic.dev/v2/payments/systems-config?date=2021-01-11&client_id=2&user_id=15" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
Endpoint for updating the current payment systems configuration
curl --request POST \
"https://api.metapic.dev/v2/payments/systems-config" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"date\": \"2025-10-13T13:27:36\",
\"client_id\": 7,
\"user_id\": 6,
\"system\": \"1\",
\"ignore_lock\": true
}"
curl --request GET \
--get "https://api.metapic.dev/v2/entrypoint" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"app\": \"admin\",
\"store_id\": 5
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
curl --request GET \
--get "https://api.metapic.dev/v2/notifications-proxy/)3!" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
Creates new campaign for a store.
The store ID.
curl --request POST \
"https://api.metapic.dev/v2/stores/15/offers" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"store_group_id\": 11,
\"type\": \"store_accept\",
\"name\": \"Summer campaign for VIP creators\",
\"campaign_title\": \"Summer campaign\",
\"campaign_text\": \"This is a summer campaign!\",
\"has_product_seeding\": false,
\"has_onetime_payment\": true,
\"per_user_limit\": false,
\"one_time_payment\": 261224068.77,
\"budget_limit\": 4,
\"max_clicks\": 13,
\"valid_from\": \"2025-10-13T13:27:30\",
\"valid_until\": \"2036-07-16\",
\"todo\": [
\"amujktjjdsndkwappqkp\"
],
\"show_for_advertiser\": false,
\"priority_after\": 6,
\"shared_budget_id\": 1,
\"shared_budget\": {
\"title\": \"Summer budget\",
\"amount\": 10000
},
\"targets\": {
\"user_ids\": [
16
],
\"user_tag_ids\": [
12
],
\"store_group_ids\": [
1
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"wnqs\"
],
\"client_ids\": [
14
],
\"revenue_tier_ids\": [
5
]
},
\"traffic_sources_costs\": [
{
\"source\": 1,
\"cpc\": 230,
\"cpa\": 0.2,
\"invoice_cpc\": 250,
\"invoice_cpa\": 0.25,
\"user_revenue\": 1
}
]
}"
{
"data": {
"id": 745,
"campaign_title": "Miss Agnes Carroll DVM",
"campaign_text": "Ullam dolorem perspiciatis et eaque aut. Vitae et totam ab suscipit eaque eos dicta. Aut nesciunt provident eligendi quam. Quia deleniti in consequatur veniam qui molestiae.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA2Njc3P3RleHQ9bmFt",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA2Njc3P3RleHQ9bmFt",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA2Njc3P3RleHQ9bmFt",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA2Njc3P3RleHQ9bmFt"
},
"store_id": 2186,
"store_name": "Kling Group",
"store_logo_url": null,
"store_logo": null,
"currency": "USD",
"token": "7myofojqo01skejr",
"type": "standard",
"warnings": {
"skipped_targets": {
"user_ids": [
12,
15
]
}
}
},
"warnings": {
"skipped_targets": {
"user_ids": [
12,
15
]
}
}
}
Returns information about a specific campaign.
The offer ID
curl --request GET \
--get "https://api.metapic.dev/v2/offers/15556" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 746,
"campaign_title": "Malachi Kemmer",
"campaign_text": "Dignissimos eos eos quae qui assumenda. Ipsum et voluptas ea praesentium. Optio velit voluptatem omnis excepturi sequi quia.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBmZmRkP3RleHQ9ZXhlcmNpdGF0aW9uZW0=",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBmZmRkP3RleHQ9ZXhlcmNpdGF0aW9uZW0=",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBmZmRkP3RleHQ9ZXhlcmNpdGF0aW9uZW0=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBmZmRkP3RleHQ9ZXhlcmNpdGF0aW9uZW0="
},
"store_id": 2187,
"store_name": "McDermott-McGlynn",
"store_logo_url": null,
"store_logo": null,
"currency": "USD",
"token": "tq5y58mwixtei45b",
"traffic_sources_costs": [
{
"id": 219,
"source": 0,
"source_name": "General",
"cpc": null,
"cpa": null,
"currency": "USD"
}
],
"type": "standard"
}
Updates existing campaign.
The ID of the offer.
The offer ID
curl --request PUT \
"https://api.metapic.dev/v2/offers/3" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"store_group_id\": 2,
\"type\": \"standard\",
\"name\": \"Summer campaign for VIP creators\",
\"campaign_title\": \"Summer campaign\",
\"campaign_text\": \"This is a summer campaign!\",
\"has_product_seeding\": false,
\"has_onetime_payment\": true,
\"per_user_limit\": true,
\"one_time_payment\": 23326322.04895376,
\"budget_limit\": 14,
\"max_clicks\": 14,
\"valid_from\": \"2025-10-13T13:27:31\",
\"valid_until\": \"2059-05-19\",
\"todo\": [
\"oqtdrcgzdhgcpnwzl\"
],
\"show_for_advertiser\": false,
\"priority_after\": 5,
\"traffic_sources_costs\": [
{
\"source\": 1,
\"cpc\": 230,
\"cpa\": 0.2,
\"invoice_cpc\": 250,
\"invoice_cpa\": 0.25,
\"user_revenue\": 1
}
],
\"targets\": {
\"0\": [],
\"user_ids\": [
18
],
\"user_tag_ids\": [
16
],
\"store_group_ids\": [
9
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"rj\"
],
\"client_ids\": [
9
],
\"revenue_tier_ids\": [
3
]
},
\"shared_budget_id\": 1,
\"shared_budget\": {
\"title\": \"Summer budget\",
\"amount\": 10000
}
}"
{
"data": {
"id": 747,
"campaign_title": "Kailee Rippin",
"campaign_text": "Et ut eum delectus vitae officia sapiente ipsum. Cupiditate modi culpa velit consequatur voluptas nihil. Id aut voluptatem tempore.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBiYjU1P3RleHQ9ZXJyb3I=",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBiYjU1P3RleHQ9ZXJyb3I=",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBiYjU1P3RleHQ9ZXJyb3I=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBiYjU1P3RleHQ9ZXJyb3I="
},
"store_id": 2188,
"store_name": "Hessel Group",
"store_logo_url": null,
"store_logo": null,
"currency": "SEK",
"token": "b38dplagi7fqbn5u",
"type": "standard",
"warnings": {
"skipped_targets": {
"user_ids": [
12,
15
]
}
}
},
"warnings": {
"skipped_targets": {
"user_ids": [
12,
15
]
}
}
}
Soft deletes a campaign.
The ID of the offer.
The offer ID
curl --request DELETE \
"https://api.metapic.dev/v2/offers/19" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Endpoint for querying & sorting all campaigns.
Query by either of the following: ID, internal name, title.
Returns all offers with id equal to query
OR name contains query
OR campaign_title contains query
. Must not be greater than 64 characters.
deleted
ended
scheduled
paused
active
Query by offer's store. Returns all offers which belong to the given store_ids
.
Query by offer's store group. Returns all offers which belong to the given store_group_ids
.
Query by offer's author ID. Returns all offers created by the user making the request
Query by offer's ID. Performs an 'OR' search, compared to 'AND' search for other filters, so an offer with given ID is always included in the results, if matched.
Page size. Defaults to 20. Must not be greater than 100.
Must follow the correct format: column_name:direction
,
where column_name
must be a valid property for given resource and direction
can be one of asc|desc
,
both of which are required if sort_by
is present.
ends_soon
csv
xlsx
Admin-only filter offers by visibility on the advertiser.
Filter offers by advertiser. Required when filtering as non-admin.
curl --request GET \
--get "https://api.metapic.dev/v2/offers?query=black+friday&statuses[]=deleted&store_ids[]=1&store_group_ids[]=1&created_by=5&or_id=1234&target_user_id=12&size=20&sort_by=at&custom_sort_by=ends_soon&format=xlsx&show_for_advertiser=&advertiser_id=123" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 748,
"campaign_title": "Yazmin Krajcik",
"campaign_text": "Illum qui architecto aut quis sapiente neque. Rerum doloribus et consequatur fugiat iste ea.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBhYTk5P3RleHQ9ZG9sb3JlbQ==",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBhYTk5P3RleHQ9ZG9sb3JlbQ==",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBhYTk5P3RleHQ9ZG9sb3JlbQ==",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBhYTk5P3RleHQ9ZG9sb3JlbQ=="
},
"store_id": 2189,
"store_name": "Runolfsdottir, Torphy and Legros",
"store_logo_url": null,
"store_logo": null,
"currency": "PLN",
"token": "6rqa1sec2c1wqqam",
"type": "standard"
},
{
"id": 749,
"campaign_title": "Dr. Bernita VonRueden Jr.",
"campaign_text": "Quis eaque a et modi nesciunt ipsam omnis. Amet nisi suscipit rerum dolores laborum. Voluptate deserunt molestias minus quis ut magni. Eligendi voluptatum culpa veniam harum debitis.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBlZTAwP3RleHQ9cmVpY2llbmRpcw==",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBlZTAwP3RleHQ9cmVpY2llbmRpcw==",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBlZTAwP3RleHQ9cmVpY2llbmRpcw==",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBlZTAwP3RleHQ9cmVpY2llbmRpcw=="
},
"store_id": 2190,
"store_name": "Dietrich-Bartell",
"store_logo_url": null,
"store_logo": null,
"currency": "USD",
"token": "qbr1pbu87xlwynoq",
"type": "standard"
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 20,
"to": 2,
"total": 2
}
}
Uploads an image to a campaign.
The offer ID
curl --request POST \
"https://api.metapic.dev/v2/offers/15556/uploads" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"default\": \"et\"
}"
{
"id": 750,
"campaign_title": "Savannah Von",
"campaign_text": "Minima illum rerum perferendis hic omnis. Nulla laborum quibusdam perferendis et praesentium dolor. Et fugit sed earum molestiae. Eos qui cum exercitationem dolorem laboriosam porro ea.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OWZmP3RleHQ9YXBlcmlhbQ==",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OWZmP3RleHQ9YXBlcmlhbQ==",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OWZmP3RleHQ9YXBlcmlhbQ==",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OWZmP3RleHQ9YXBlcmlhbQ=="
},
"store_id": 2191,
"store_name": "King-Hegmann",
"store_logo_url": null,
"store_logo": null,
"currency": "EUR",
"token": "mvo4bwdf0dha7d1s",
"type": "standard"
}
The offer ID
curl --request POST \
"https://api.metapic.dev/v2/offers/15556/pause" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 751,
"campaign_title": "Myrna Schmidt",
"campaign_text": "Vel officia non rerum. Rem rerum sunt expedita distinctio repellat eveniet. Sint numquam excepturi excepturi quia repudiandae earum delectus.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAwMDMzP3RleHQ9bGFib3Jpb3NhbQ==",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAwMDMzP3RleHQ9bGFib3Jpb3NhbQ==",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAwMDMzP3RleHQ9bGFib3Jpb3NhbQ==",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAwMDMzP3RleHQ9bGFib3Jpb3NhbQ=="
},
"store_id": 2192,
"store_name": "O'Connell, Dooley and Zieme",
"store_logo_url": null,
"store_logo": null,
"currency": "GBP",
"token": "j8sptn3v863ushdz",
"type": "standard"
}
The offer ID
curl --request POST \
"https://api.metapic.dev/v2/offers/15556/unpause" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 752,
"campaign_title": "Lonnie Lesch V",
"campaign_text": "Deserunt at ut ratione est. Hic modi omnis ipsa incidunt sunt minima quae. Numquam tempore qui id. Error quibusdam eos velit esse. Officia ab et deserunt possimus recusandae doloribus id.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA1NWZmP3RleHQ9cmVwZWxsZW5kdXM=",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA1NWZmP3RleHQ9cmVwZWxsZW5kdXM=",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA1NWZmP3RleHQ9cmVwZWxsZW5kdXM=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA1NWZmP3RleHQ9cmVwZWxsZW5kdXM="
},
"store_id": 2193,
"store_name": "Gutkowski-Pollich",
"store_logo_url": null,
"store_logo": null,
"currency": "SEK",
"token": "ts1zsy7q8c8sutk2",
"type": "standard"
}
Returns statistics about a specific campaign.
The offer ID
The start date for the stats period (YYYY-MM-DD)
The end date for the stats period (YYYY-MM-DD)
curl --request GET \
--get "https://api.metapic.dev/v2/offers/15556/stats?start_date=2023-01-01&end_date=2023-01-31" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2013-02-17\",
\"end_date\": \"2110-01-01\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
The ID of the user.
curl --request GET \
--get "https://api.metapic.dev/v2/users/18/offers" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"product_sent\",
\"name\": \"noguxdbhrmxlazijxxibk\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
Returns information about a specific campaign.
The offer ID
curl --request GET \
--get "https://api.metapic.dev/v2/offer-by-token/harum" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 765,
"campaign_title": "Karson Little",
"campaign_text": "Aspernatur vel doloremque incidunt magnam minus qui est. Non quos dolores asperiores. Omnis asperiores saepe explicabo.",
"has_product_seeding": false,
"has_onetime_payment": false,
"status": "active",
"image_url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAzMzU1P3RleHQ9YWNjdXNhbnRpdW0=",
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAzMzU1P3RleHQ9YWNjdXNhbnRpdW0=",
"url": "https://media.metapic.com/insecure/rs:fill:800:500/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAzMzU1P3RleHQ9YWNjdXNhbnRpdW0=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAzMzU1P3RleHQ9YWNjdXNhbnRpdW0="
},
"store_id": 2230,
"store_name": "Abernathy-Rodriguez",
"store_logo_url": null,
"store_logo": null,
"currency": "SEK",
"token": "t43nrv0gtdy088ut",
"traffic_sources_costs": [
{
"id": 220,
"source": 2,
"source_name": "TikTok",
"cpc": null,
"cpa": null,
"currency": "SEK"
}
],
"type": "standard"
}
The offer ID
curl --request GET \
--get "https://api.metapic.dev/v2/offers/15556/targets" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
The offer ID
curl --request POST \
"https://api.metapic.dev/v2/offers/15556/targets" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_ids\": [
16
],
\"user_tag_ids\": [
18
],
\"store_group_ids\": [
12
],
\"emails\": [
\"[email protected]\"
],
\"social_media_identifiers\": [
\"acwislpokuotvstwu\"
],
\"client_ids\": [
5
],
\"revenue_tier_ids\": [
19
]
}"
The ID of the offer.
The ID of the user.
curl --request GET \
--get "https://api.metapic.dev/v2/offers/15/users/20" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
The ID of the offer.
curl --request GET \
--get "https://api.metapic.dev/v2/offers/10/participants" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"acmvaziwfgigjwirkrqleiwvp\",
\"status\": \"done\",
\"include\": [
\"has_unread_notifications\"
]
}"
{
"data": [
{
"id": null,
"offer_id": 754,
"user_id": null,
"display_name": "[email protected]",
"clicks": 613974,
"status": "applied",
"pre_registered_email": "[email protected]",
"todo": null,
"payment_amount": null
},
{
"id": null,
"offer_id": 756,
"user_id": null,
"display_name": "kris.lela",
"clicks": 47,
"status": "applied",
"pre_registered_identifier": "kris.lela",
"todo": null,
"payment_amount": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
The ID of the offer.
The ID of the participant.
curl --request GET \
--get "https://api.metapic.dev/v2/offers/5/participants/12" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": null,
"offer_id": 757,
"user_id": 3626,
"display_name": "anahi.mills",
"clicks": 19144986,
"status": "have_posted",
"todo": null,
"payment_amount": null,
"social_media": [],
"tags": [
{
"id": 2153,
"name": "Gaylord Pagac II",
"slug": "autem-est-nisi",
"access_level": 1,
"store_id": 2199
}
]
}
The ID of the offer.
curl --request GET \
--get "https://api.metapic.dev/v2/offers/4/participants-stats" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"query\": \"kdbjrqz\",
\"active\": true,
\"start_date\": \"2018-10-29\",
\"end_date\": \"2117-06-12\",
\"sort_by\": \"estimated_earning_to_cost_ratio:asc\"
}"
{
"data": [
{
"id": null,
"user_id": null,
"display_name": "[email protected]",
"clicks": 0,
"status": "open",
"links_created": null,
"estimated_gp": null,
"estimated_earning_to_cost_ratio": null
},
{
"id": null,
"user_id": null,
"display_name": "[email protected]",
"clicks": 0,
"status": "have_received",
"links_created": null,
"estimated_gp": null,
"estimated_earning_to_cost_ratio": null
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 10,
"to": 2,
"total": 2
}
}
The ID of the offer.
curl --request GET \
--get "https://api.metapic.dev/v2/offers/9/participants-count-by-click-activity" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2008-03-28\",
\"end_date\": \"2027-02-23\"
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
The ID of the offer.
The ID of the participant.
curl --request PATCH \
"https://api.metapic.dev/v2/offers/16/participants/20/update-status" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"open\"
}"
{
"id": null,
"offer_id": 760,
"user_id": null,
"display_name": "botsford.steve",
"clicks": 6117621,
"status": "product_sent",
"pre_registered_identifier": "botsford.steve",
"todo": null,
"payment_amount": null
}
The ID of the offer.
The ID of the participant.
curl --request PATCH \
"https://api.metapic.dev/v2/offers/17/participants/8/todo" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"todo\": [
{
\"key\": \"jxcenhvbtiillunctptqscoe\",
\"value\": false
}
]
}"
{
"id": null,
"offer_id": 761,
"user_id": null,
"display_name": "[email protected]",
"clicks": 7780,
"status": "product_sent",
"pre_registered_email": "[email protected]",
"todo": null,
"payment_amount": null
}
The ID of the offer.
The ID of the participant.
curl --request PUT \
"https://api.metapic.dev/v2/offers/17/participants/5/payment-amount" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_amount\": {
\"amount\": \"1.2\",
\"currency\": \"EUR\"
}
}"
{
"id": null,
"offer_id": 762,
"user_id": 3631,
"display_name": null,
"clicks": 7,
"status": "accepted",
"todo": null,
"payment_amount": null
}
The ID of the offer.
The ID of the participant.
curl --request PATCH \
"https://api.metapic.dev/v2/offers/1/participants/9/overrides/clicks" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"click_limit\": 5
}"
{
"id": null,
"offer_id": 763,
"user_id": 3633,
"display_name": null,
"clicks": 97177602,
"status": "suggestion",
"todo": null,
"payment_amount": null
}
The ID of the offer.
The ID of the participant.
curl --request PATCH \
"https://api.metapic.dev/v2/offers/7/participants/2/overrides/costs" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"traffic_sources_costs\": [
{
\"source\": 1,
\"cpc\": {
\"amount\": \"1.2\",
\"currency\": \"EUR\"
},
\"cpa\": 0.2
}
]
}"
{
"id": null,
"offer_id": 764,
"user_id": null,
"display_name": "[email protected]",
"clicks": 413427780,
"status": "accepted",
"pre_registered_email": "[email protected]",
"todo": null,
"payment_amount": null
}
The ID of the user.
curl --request GET \
--get "https://api.metapic.dev/v2/offer-by-token/molestias/users/11" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
access-control-allow-origin
: *
set-cookie
: metapic_session=eyJpdiI6InZUVmd0ZUY0ZjlTRHRRUCtSQlJlZGc9PSIsInZhbHVlIjoiUk1iNmhiVlF2b21GN3JHSmdBZ0xGWGwxVnNJZzhUZWtJTzVGcStmNnpMcTFIZGh2M1F6cE4zMzkrYWl6cWJiTHQ4UzdmYU5oWWFOU0M5UHNpV1Q2QWVmc01yNEkzdVhmMW4yNWEwZTBGNkVJVHFvWGZIdzVGcWp0dUt3T1RKcDgiLCJtYWMiOiJmNmJjMGY1MGY4MzBjNTA0MGZlNGY4YmNlMjMwYzg2MTI1ZGU3YzY5ZTM0ODVkYWU0YjQ5MzAzNWRiOTI0ODk4IiwidGFnIjoiIn0%3D; expires=Mon, 13 Oct 2025 13:27:36 GMT; Max-Age=7200; path=/; secure; httponly
{
"message": "Unauthenticated."
}
This can only be performed by the user themselves.
The ID of the user.
curl --request POST \
"https://api.metapic.dev/v2/offer-by-token/sapiente/users/13/join" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
The ID of the offerUser.
curl --request POST \
"https://api.metapic.dev/v2/offer-users/1/comments" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"comment\": \"hzyslcpyiaem\"
}"
The ID of the offerUser.
The ID of the comment.
The ID of the comment.
curl --request PUT \
"https://api.metapic.dev/v2/offer-users/1/comments/20" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"comment\": \"o\"
}"
The ID of the offerUser.
The ID of the comment.
The ID of the comment.
curl --request DELETE \
"https://api.metapic.dev/v2/offer-users/1/comments/20" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request GET \
--get "https://api.metapic.dev/v2/offer-users/qui/activities" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"include\": [
\"has_unread_notification\"
]
}"
cache-control
: no-cache, private
content-type
: application/json
x-ratelimit-limit
: 300
x-ratelimit-remaining
: 300
access-control-allow-origin
: *
{
"message": "Unauthenticated."
}
Creates a Metapic user when triggered by an Ory registration.after webhook.
curl --request POST \
"https://api.metapic.dev/v2/webhooks/ory/identities/created" \
--header "mtpc-api-key: {mtpc-api-key}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"identity\": {
\"id\": \"ory_identity_id_123\",
\"traits\": {
\"email\": \"[email protected]\"
}
},
\"app_source\": \"creator\"
}"
[Empty response]
Updates a user when triggered by an Ory settings.after webhook.
curl --request POST \
"https://api.metapic.dev/v2/webhooks/ory/identities/updated" \
--header "mtpc-api-key: {mtpc-api-key}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"identity\": {
\"id\": \"ory_identity_id_123\",
\"traits\": {
\"email\": \"[email protected]\"
}
}
}"
[Empty response]
Paginated list of Return Ads
Page size. Defaults to 20. Must not be greater than 100.
Query by either of the following: ID or name.
Returns all return ads with id equal to query
OR name contains query
. Must not be greater than 64 characters.
Query by return ad's advertiser group. Returns all return ads which belong to the given advertiser_group_ids
.
Query by return ad's advertiser. Returns all return ads which belong to the given advertiser_ids
.
deleted
ended
scheduled
paused
active
Query by return ad's ID. Performs an 'OR' search, compared to 'AND' search for other filters, so an return ad with given ID is always included in the results, if matched.
Query sorted by (name, created_at, starts_at, ends_at, current_clicks, current_views, order_count, order_value, earnings or click_through_rate). Must follow the correct format: column_name:direction
,
where column_name
must be a valid property for given resource and direction
can be one of asc|desc
,
both of which are required if sort_by
is present.
name:asc
name:desc
created_at:asc
created_at:desc
starts_at:asc
starts_at:desc
ends_at:asc
ends_at:desc
current_clicks:asc
current_clicks:desc
current_views:asc
current_views:desc
order_count:asc
order_count:desc
order_value:asc
order_value:desc
earnings:asc
earnings:desc
click_through_rate:asc
click_through_rate:desc
conversion_rate:asc
conversion_rate:desc
curl --request GET \
--get "https://api.metapic.dev/v2/return-ads?size=20&query=internal+name&advertiser_group_ids[]=1&advertiser_ids[]=1&statuses[]=scheduled&created_by=&or_id=1234&sort_by=current_clicks%3Aasc" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 276,
"name": "Prof. Elisa Brekke",
"advertiser_group_id": 4542,
"affiliate_link": {
"id": 843,
"url": "http://abbott.org/nihil-dignissimos-aut-iure-corrupti",
"original_url": "http://parker.biz/aut-est-molestiae-deleniti-inventore",
"mtpc_url": "https://c.mtpc.se/843",
"user_id": 3636,
"country": "VN",
"provider": "olive",
"advertiser": {
"id": 2211,
"name": "Stark PLC"
}
},
"author_id": 3637,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA0NDExP3RleHQ9c3VudA==",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA0NDExP3RleHQ9c3VudA==",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA0NDExP3RleHQ9c3VudA=="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
},
{
"id": 277,
"name": "Eusebio Padberg II",
"advertiser_group_id": 4545,
"affiliate_link": {
"id": 844,
"url": "http://www.schmidt.com/illo-illo-sunt-dignissimos-laborum-et",
"original_url": "https://haley.com/autem-ut-et-ut.html",
"mtpc_url": "https://c.mtpc.se/844",
"user_id": 3638,
"country": "BF",
"provider": "maroon",
"advertiser": {
"id": 2212,
"name": "Wiegand, Kris and Rosenbaum"
}
},
"author_id": 3639,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA4ODExP3RleHQ9ZXJyb3I=",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA4ODExP3RleHQ9ZXJyb3I=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA4ODExP3RleHQ9ZXJyb3I="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 20,
"to": 2,
"total": 2
}
}
curl --request POST \
"https://api.metapic.dev/v2/return-ads" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"xr\",
\"advertiser_group_id\": 11,
\"advertiser_id\": 13,
\"return_link\": \"https:\\/\\/advertiser.com\",
\"display_for_all_advertisers\": false,
\"advertiser_ids\": [
10
],
\"advertiser_category_ids\": [
6
],
\"styles\": {
\"color\": \"#ffffff\"
},
\"image_key\": \"dG1wL2ltYWdlLmpwZw==\",
\"starts_at\": \"2025-10-13T13:27:35\",
\"ends_at\": \"2069-06-08\",
\"click_limit\": 20,
\"view_limit\": 1
}"
{
"id": 278,
"name": "Dr. Lenora Bernier Sr.",
"advertiser_group_id": 4548,
"affiliate_link": {
"id": 845,
"url": "http://brakus.com/perferendis-animi-sed-asperiores-quibusdam-voluptas-non.html",
"original_url": "http://rosenbaum.com/et-dicta-odit-nesciunt-ipsum-aliquam-quidem-veniam-expedita",
"mtpc_url": "https://c.mtpc.se/845",
"user_id": 3640,
"country": "ML",
"provider": "blue",
"advertiser": {
"id": 2213,
"name": "Luettgen Inc"
}
},
"author_id": 3641,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OTg4P3RleHQ9aW1wZWRpdA==",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OTg4P3RleHQ9aW1wZWRpdA==",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OTg4P3RleHQ9aW1wZWRpdA=="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
}
The ID of the return ad.
curl --request GET \
--get "https://api.metapic.dev/v2/return-ads/14" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 279,
"name": "Elody Bergnaum",
"advertiser_group_id": 4551,
"affiliate_link": {
"id": 846,
"url": "http://ondricka.com/magni-minus-neque-sint-nobis",
"original_url": "http://www.kirlin.com/et-tempore-perferendis-placeat-dolorem-minus",
"mtpc_url": "https://c.mtpc.se/846",
"user_id": 3642,
"country": "LA",
"provider": "blue",
"advertiser": {
"id": 2214,
"name": "Purdy, Thompson and Langosh"
}
},
"author_id": 3643,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OTMzP3RleHQ9ZHVjaW11cw==",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OTMzP3RleHQ9ZHVjaW11cw==",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA5OTMzP3RleHQ9ZHVjaW11cw=="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
}
The ID of the return ad.
curl --request PUT \
"https://api.metapic.dev/v2/return-ads/3" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"hgrrbsmwhru\",
\"return_link\": \"https:\\/\\/advertiser.com\",
\"display_for_all_advertisers\": true,
\"advertiser_ids\": [
4
],
\"advertiser_category_ids\": [
10
],
\"styles\": {
\"color\": \"#ffffff\"
},
\"image_key\": \"dG1wL2ltYWdlLmpwZw==\",
\"starts_at\": \"2025-10-13T13:27:35\",
\"ends_at\": \"2028-05-14\",
\"click_limit\": 5,
\"view_limit\": 7
}"
{
"id": 280,
"name": "Dr. Gladys Heller MD",
"advertiser_group_id": 4554,
"affiliate_link": {
"id": 847,
"url": "http://prosacco.com/",
"original_url": "https://zboncak.com/autem-sit-accusamus-ea-ea-quae-ut-a-veritatis.html",
"mtpc_url": "https://c.mtpc.se/847",
"user_id": 3644,
"country": "RS",
"provider": "fuchsia",
"advertiser": {
"id": 2215,
"name": "Lebsack-Little"
}
},
"author_id": 3645,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBhYTQ0P3RleHQ9dmVs",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBhYTQ0P3RleHQ9dmVs",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDBhYTQ0P3RleHQ9dmVs"
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
}
The ID of the return ad.
curl --request DELETE \
"https://api.metapic.dev/v2/return-ads/2" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Deactivates Return Ad
The ID of the returnAd.
curl --request POST \
"https://api.metapic.dev/v2/return-ads/11/pause" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 281,
"name": "Nicholas Lowe",
"advertiser_group_id": 4557,
"affiliate_link": {
"id": 848,
"url": "http://www.stokes.com/doloremque-vitae-harum-tempore",
"original_url": "https://www.grant.biz/voluptate-rerum-omnis-id-neque-et-facere-nostrum-fugiat",
"mtpc_url": "https://c.mtpc.se/848",
"user_id": 3646,
"country": "GS",
"provider": "yellow",
"advertiser": {
"id": 2216,
"name": "Schultz LLC"
}
},
"author_id": 3647,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA2NmFhP3RleHQ9YWxpYXM=",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA2NmFhP3RleHQ9YWxpYXM=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA2NmFhP3RleHQ9YWxpYXM="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
}
The ID of the returnAd.
curl --request POST \
"https://api.metapic.dev/v2/return-ads/10/unpause" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 282,
"name": "Fausto Kunde",
"advertiser_group_id": 4560,
"affiliate_link": {
"id": 849,
"url": "http://von.com/laborum-quo-aut-autem-similique-harum",
"original_url": "http://kutch.com/quia-quia-quo-adipisci-impedit",
"mtpc_url": "https://c.mtpc.se/849",
"user_id": 3648,
"country": "CN",
"provider": "fuchsia",
"advertiser": {
"id": 2217,
"name": "Feest Inc"
}
},
"author_id": 3649,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA3NzAwP3RleHQ9ZG9sb3I=",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA3NzAwP3RleHQ9ZG9sb3I=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA3NzAwP3RleHQ9ZG9sb3I="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
}
List of Return Ads displayed for Advertiser by ID
The ID of the store.
curl --request GET \
--get "https://api.metapic.dev/v2/advertisers/16/return-ads" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[
{
"id": 283,
"name": "Prof. Jude Trantow",
"advertiser_group_id": 4563,
"affiliate_link": {
"id": 850,
"url": "http://www.mitchell.com/",
"original_url": "http://www.kihn.biz/qui-et-impedit-sapiente-nam",
"mtpc_url": "https://c.mtpc.se/850",
"user_id": 3650,
"country": "PT",
"provider": "purple",
"advertiser": {
"id": 2218,
"name": "Friesen-Yundt"
}
},
"author_id": 3651,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA0NDY2P3RleHQ9cmVwdWRpYW5kYWU=",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA0NDY2P3RleHQ9cmVwdWRpYW5kYWU=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDA0NDY2P3RleHQ9cmVwdWRpYW5kYWU="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
},
{
"id": 284,
"name": "Daron Ondricka",
"advertiser_group_id": 4566,
"affiliate_link": {
"id": 851,
"url": "https://von.com/beatae-fugit-in-provident-sed-architecto-fugit-dolor.html",
"original_url": "http://turner.com/id-et-sit-facere-animi-repudiandae",
"mtpc_url": "https://c.mtpc.se/851",
"user_id": 3652,
"country": "NI",
"provider": "white",
"advertiser": {
"id": 2219,
"name": "Wiza and Sons"
}
},
"author_id": 3653,
"display_for_all_advertisers": false,
"status": "active",
"styles": null,
"image": {
"key": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAwMGNjP3RleHQ9b2ZmaWNpaXM=",
"url": "https://media.metapic.com/insecure/rs:fit:2000:2000/g:sm/dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAwMGNjP3RleHQ9b2ZmaWNpaXM=",
"base_url": "https://media.metapic.com",
"base64": "dXBsb2Fkcy9odHRwczovL3ZpYS5wbGFjZWhvbGRlci5jb20vNjQweDQ4MC5wbmcvMDAwMGNjP3RleHQ9b2ZmaWNpaXM="
},
"starts_at": "2025-09-13 13:27:35",
"ends_at": "2025-11-13 13:27:35",
"stats": []
}
]
List Shared Budgets for Store
The ID of the store.
curl --request GET \
--get "https://api.metapic.dev/v2/stores/5/shared-budgets" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
[
{
"id": 44,
"title": "Prof. Stevie Hahn III",
"amount": 7,
"amount_v2": {
"amount": "0.07",
"currency": "SEK"
},
"consumed_budget": 0,
"consumed_budget_v2": {
"amount": "0",
"currency": "SEK"
},
"currency": "SEK"
},
{
"id": 45,
"title": "Marielle Glover",
"amount": 1,
"amount_v2": {
"amount": "0.01",
"currency": "GBP"
},
"consumed_budget": 0,
"consumed_budget_v2": {
"amount": "0",
"currency": "GBP"
},
"currency": "GBP"
}
]
Returns information about a specific budget.
The ID of the store.
The ID of the shared budget.
curl --request GET \
--get "https://api.metapic.dev/v2/stores/7/shared-budgets/13" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 46,
"title": "Cleta Grimes",
"amount": 7,
"amount_v2": {
"amount": "0.07",
"currency": "SEK"
},
"consumed_budget": 0,
"consumed_budget_v2": {
"amount": "0",
"currency": "SEK"
},
"currency": "SEK"
}
Updates existing budget.
The ID of the store.
The ID of the shared budget.
curl --request PUT \
"https://api.metapic.dev/v2/stores/11/shared-budgets/5" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"Summer budget\",
\"amount\": 10000
}"
{
"id": 47,
"title": "Josefa Renner",
"amount": 4,
"amount_v2": {
"amount": "0.04",
"currency": "USD"
},
"consumed_budget": 0,
"consumed_budget_v2": {
"amount": "0",
"currency": "USD"
},
"currency": "USD"
}
The ID of the store.
The ID of the shared budget.
curl --request DELETE \
"https://api.metapic.dev/v2/stores/11/shared-budgets/17" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
curl --request PUT \
"https://api.metapic.dev/v2/stores/5/payment" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_setup_id\": \"doloribus\"
}"
Uploads an image to tmp folder.
curl --request POST \
"https://api.metapic.dev/v2/image-uploads" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"image\": \"et\"
}"
Endpoint for querying & sorting all users.
Query by either of the following: ID, username, email.
Returns all users with id equal to query
OR username contains query
OR email contains query
. Must not be greater than 64 characters.
Query by user's client. Returns all users which belong to the given client_id
.
Query by user's store group. Returns all users which belong to the given store_group_id
.
Page size. Defaults to 20. Must not be greater than 100.
Must follow the correct format: column_name:direction
,
where column_name
must be a valid property for given resource and direction
can be one of asc|desc
,
both of which are required if sort_by
is present.
curl --request GET \
--get "https://api.metapic.dev/v2/users?query=testcreator123&client_id=2&store_group_id=15&size=20&sort_by=officia" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"data": [
{
"id": 3656,
"username": "qdonnelly",
"display_name": "Megane Bayer",
"email": "[email protected]",
"client_id": 3837
},
{
"id": 3657,
"username": "nakia85",
"display_name": "Angie Cruickshank",
"email": "[email protected]",
"client_id": 3838
}
],
"links": {
"first": "/?page=1",
"last": "/?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "/?page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "/",
"per_page": 20,
"to": 2,
"total": 2
}
}
Requires an Ory-issued JWT for a session not yet linked to a Metapic user (no user_id).
curl --request POST \
"https://api.metapic.dev/v2/users" \
--header "Authorization: Bearer {JWT}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"social_media\": [
{
\"type\": \"instagram\",
\"identifier\": \"https:\\/\\/instagram.com\\/example\"
},
{
\"type\": \"tiktok\",
\"identifier\": \"https:\\/\\/tiktok.com\\/@example\"
}
],
\"utm\": {
\"source\": \"instagram\",
\"medium\": \"social\",
\"campaign\": \"launch2025\",
\"term\": \"influencer\",
\"content\": \"story_ad\"
},
\"client_id\": \"client_12345\"
}"
{
"id": 3658,
"username": "darrin.mills",
"display_name": "Earline Friesen",
"email": "[email protected]",
"client_id": 3839
}
Query by user's advertiser group. Returns all users which belong to the given advertiser_group_id
.
a mix array of user emails and ids. Must not have more than 1000 items.
curl --request POST \
"https://api.metapic.dev/v2/match-users?advertiser_group_id=15&user_emails_or_ids[]=12345&user_emails_or_ids[]=email%40metapic.com" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Endpoint for querying & sorting all user tags.
Query by user tag's name. Returns all user tags whose name contains the given name
. Must not be greater than 255 characters.
Query by user tag's store. Returns all user tags which belong to the given store_id
.
Query by user tag's access levels. Returns all user tags which have the given access_levels
:
0
1
2
Page size. Defaults to 20. Must not be greater than 100.
Must follow the correct format: column_name:direction
,
where column_name
must be a valid property for given resource and direction
can be one of asc|desc
,
both of which are required if sort_by
is present.
curl --request GET \
--get "https://api.metapic.dev/v2/user-tags?name=favourites&store_id=15&access_levels[]=0&access_levels[]=1&size=20&sort_by=voluptatibus" \
--header "Authorization: {accessToken}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"