Connect Meta
One-click Meta tracking — creates (or updates) BOTH halves of a deduplicated setup: the managed Meta Pixel browser tag (fired by the SDK with the event uuid as Meta's eventID) and a meta_capi server destination sending the same uuid as its CAPI event_id. Idempotent: reconnecting updates the stored config.
curl -X POST "https://mythic-analytics.gulp.workers.dev/client/v1/destinations/integrations/meta" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"pixel_id": "example_string",
"capi_token": "example_string",
"event_mapping": {},
"test_event_code": "example_string",
"browser_tag": true
}'
import requests
import json
url = "https://mythic-analytics.gulp.workers.dev/client/v1/destinations/integrations/meta"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"pixel_id": "example_string",
"capi_token": "example_string",
"event_mapping": {},
"test_event_code": "example_string",
"browser_tag": true
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://mythic-analytics.gulp.workers.dev/client/v1/destinations/integrations/meta", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"pixel_id": "example_string",
"capi_token": "example_string",
"event_mapping": {},
"test_event_code": "example_string",
"browser_tag": true
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"pixel_id": "example_string",
"capi_token": "example_string",
"event_mapping": {},
"test_event_code": "example_string",
"browser_tag": true
}`)
req, err := http.NewRequest("POST", "https://mythic-analytics.gulp.workers.dev/client/v1/destinations/integrations/meta", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://mythic-analytics.gulp.workers.dev/client/v1/destinations/integrations/meta')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"pixel_id": "example_string",
"capi_token": "example_string",
"event_mapping": {},
"test_event_code": "example_string",
"browser_tag": true
}'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"platform": "example_string",
"destination_id": "example_string",
"tag_id": "example_string",
"browser_tag": true,
"dedup": {}
}
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Forbidden",
"message": "You don't have permission to access this resource",
"code": 403
}
{
"error": "Conflict",
"message": "The request conflicts with the current state of the resource",
"code": 409,
"details": "Resource already exists"
}
{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Please try again later",
"code": 429,
"retryAfter": 3600
}
/client/v1/destinations/integrations/meta
Target server for requests. Edit to use your own host.
Client key as bearer token. Use an agency key (Bearer ak_...) for read-write access or a location secret key (Bearer sk_...) for read-only access. Scoped keys (mcp_) are accepted too and need destinations:read or destinations:write. See Using an mcp_ key over HTTP.
Bearer ak_...) for read-write access or a location secret key (Bearer sk_...) for read-only access. Scoped keys (mcp_) are accepted too and need destinations:read or destinations:write. See Using an mcp_ key over HTTP.
The media type of the request body
Meta pixel id (15-16 digits).
Conversions API system-user token. Required unless a meta_capi credential is already stored. Write-only — never returned.
Mythic event name -> Meta event name overrides, merged over the built-in standard-event defaults. Unmapped Mythic events are not sent to Meta.
Meta test event code for CAPI verification.
Set false when the site already runs its own Meta pixel — Mythic then only sends CAPI. Default true.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Client key as bearer token. Use an agency key (Bearer ak_...) for read-write access or a location secret key (Bearer sk_...) for read-only access. Scoped keys (mcp_) are accepted too and need destinations:read or destinations:write. See Using an mcp_ key over HTTP.
Body
Meta pixel id (15-16 digits).
Conversions API system-user token. Required unless a meta_capi credential is already stored. Write-only — never returned.
Mythic event name -\> Meta event name overrides, merged over the built-in standard-event defaults. Unmapped Mythic events are not sent to Meta.
Meta test event code for CAPI verification.
Set false when the site already runs its own Meta pixel — Mythic then only sends CAPI. Default true.