Skip to content

Conversions API Gateway and Signals Gateway Control Plane API: Reference

Updated: Jun 18, 2025

Starting from Conversions API Gateway and Signals Gateway v2.2.0, up-to-date versions of the Control Plane API reference docs, including examples with sample data, can be accessed inside your gateway UI. To find these docs:

  • Click on Settings
  • Choose API accounts
  • Click the API Reference link at the top of the API accounts page

Account Management

Create Account

Creates a Conversions API Gateway or Signals Gateway account, which can be managed by a partner or advertiser depending on the input.

Schema

POST https://{capig_domain}/hub/graphql/

---

mutation CreateTenantMutation(
        $input: CreateTenantInput!
      ) {
        tenantMutations {
          createTenant(input: $input) {
            tenant {
              id
              name
              status
              canPartnerManage
              users {
                id
                email
                roles {
                    name
                    displayName
                }
                tenants {
                    id
                    name
                    status
                    canPartnerManage
                    availableRoles {
                        name
                        displayName
                    }
                }
                isSelf
                canBeDeleted
                defaultTenantId
              }
              availableRoles {
                name
                displayName
              }
              tenantUsage {
                  totalActivePixels
                  totalInactivePixels
                  totalPixels
                  tenantUsageByTraffic {
                    totalEventsReceived
                    totalPixelsWithTraffic
                    publishError
                    durationInHours,
                    lastUpdatedAt
                 }
              }
              canEditTenantSettingsInUI
              canViewTenantInUI
              canEditTenantUsersInUI
            }
          }
        }
      }

---

input CreateTenantInput {
    name: String!
    canPartnerManage: Boolean!
    adminEmail: String
    eventEnrichment: Boolean!
}

Fields

CreateTenantInput

FieldDescription
name StringRequired Name of the account
canPartnerManage BooleanRequired Boolean indicating whether a partner can manage this account
adminEmail StringOptional Email address of the admin (This is required if canPartnerManage is false)
eventEnrichment BooleanRequired Enhance events with advanced matching data

Returns

CreateTenantResult

FieldDescription
tenant TenantNewly created tenant

Error Codes

CodeDescription
400Invalid input provided
401Not authorized to create account
500Internal server error

Sample Request

Mutation

mutation CreateTenantMutation(
       $input: CreateTenantInput!
     ) {
       tenantMutations {
         createTenant(input: $input) {
           tenant {
             id
             name
             status
             canPartnerManage
           }
         }
       }
     }

Variables

{
   "input": {
       "name": "TestAdvertiserViaAPI",
       "canPartnerManage": true,
       "eventEnrichment": true
       }
}

Sample Response

{
   "data": {
       "tenantMutations": {
         "createTenant": {
               "tenant": {
                 "id": "hU2koC34",
                 "name": "TestAdvertiserViaAPI",
                 "status": 0,
                 "canPartnerManage": true
                 "canEditTenantSettingsInUI": false
                 "canViewTenantInUI":  false
                 "canEditTenantUsersInUI": false
               }
           }
       }
   }
}

Get Account

Gets the advertiser account corresponding to a unique identifier input.

Schema

POST https://{capig_domain}/hub/graphql/

---

query TenantAccountUsersViewQuery(
  $tenantId: String!
) {
  tenant(tenantId: $tenantId)  {
        id
        name
        status
        canPartnerManage
        users {
            id
            email
            roles {
                name
                displayName
            }
            tenants {
                id
                name
                status
                canPartnerManage
                availableRoles {
                    name
                    displayName
                }
            }
            isSelf
            canBeDeleted
            defaultTenantId
        }
        availableRoles {
            name
            displayName
        }
        tenantUsage {
            totalActivePixels
            totalInactivePixels
            totalPixels
            tenantUsageByTraffic {
               totalEventsReceived
               totalPixelsWithTraffic
               publishError
               durationInHours,
               lastUpdatedAt
            }
        }
        canEditTenantSettingsInUI
        canViewTenantInUI
        canEditTenantSettingsInUI
    }
}

---

tenantId: String!

Fields

FieldDescription
tenantId StringRequired Unique identifier of the account to be fetched

Returns

FieldDescription
tenant TenantAccount details are fetched

Error Codes

CodeDescription
401Not authorized to view account
500Internal server error

Sample Request

Query

query TenantAccountUsersViewQuery(
 $tenantId: String!
) {
 tenant(tenantId: $tenantId) {
   id
   name
   users {
     id
     email
     roles {
         name
         displayName
     }
   }
 }
}

Variables

{
   "tenantId":"wW58k7FQ"
}

Sample Response

{
   "data": {
       "tenant": {
           "id": "wW58k7FQ",
           "name": "Test Account",
           "users": [
               {
                   "id": "992bc489-a799-4374-8933-0109eed60e3d",
                   "email": "tempuser@test.com",
                   "roles": [
                       {
                           "name": "advertiser-manage-wW58k7FQ",
                           "displayName": "manage"
                       }
                   ]
               }
           ]
       }
   }
}

Update Account

Updates the account with a new name, status and permission for the partner to manage the account.

Schema

POST https://{capig_domain}/hub/graphql/

---

 mutation TenantEditNameModalMutation(
  $input: UpdateTenantInput!
) {
  tenantMutations {
    updateTenant(input: $input) {
        tenant {
            id
            name
            status
            canPartnerManage
            users {
                id
                email
                roles {
                    name
                    displayName
                }
                tenants {
                    id
                    name
                    status
                    canPartnerManage
                    availableRoles {
                        name
                        displayName
                    }
                }
                isSelf
                canBeDeleted
                defaultTenantId
            }
            availableRoles {
                name
                displayName
            }
            tenantUsage {
                totalActivePixels
                totalInactivePixels
                totalPixels
                tenantUsageByTraffic {
                   totalEventsReceived
                   totalPixelsWithTraffic
                   publishError
                   durationInHours,
                   lastUpdatedAt
               }
            }
            canEditTenantSettingsInUI
            canViewTenantInUI
            canEditTenantSettingsInUI
        }
    }
  }
}

---

input UpdateTenantInput {
    tenantId: String!
    name: String
    status: Int
    canPartnerManage: Boolean
}

Fields

UpdateTenantInput

FieldDescription
tenantId StringRequired Unique identifier of the account
name StringOptional Name of the account
status IntOptional Account Status (Refer Tenant Object)
canPartnerManage BooleanOptional Indicates whether the partner manage this account

Returns

TenantMutationResponse

FieldDescription
tenant TenantUpdated tenant

Error Codes

CodeDescription
400Invalid input provided
401Not authorized to update tenant
500Internal server error

Sample Request

Mutation

mutation TenantEditNameModalMutation(
 $input: UpdateTenantInput!
) {
 tenantMutations {
   updateTenant(input: $input) {
     tenant {
       id
       name
       status
       canPartnerManage
     }
   }
 }
}

Variables

{
   "input":{
       "tenantId":"IaoreXfj",
       "name":"Test Account Name Update",
       "status":0,
       "canPartnerManage":true
   }
}

Sample Response

{
   "data": {
       "tenantMutations": {
           "updateTenant": {
               "tenant": {
                   "id": "IaoreXfj",
                   "name": "Test Account Name Update",
                   "status": 0,
                   "canPartnerManage": true
               }
           }
       }
   }
}

Delete Account

Deletes an advertiser account.

Schema

POST https://{capig_domain}/hub/graphql/

---

    mutation DeleteTenant($tenantId: String!) {
      tenantMutations {
        deleteTenant(tenantId: $tenantId)
      }
    }

---

tenantId: String!

Fields

FieldDescription
tenantId StringRequired Unique identifier of the account to be deleted.

Returns

BooleanIndicates whether the tenant was successfully deleted.

Error Codes

CodeDescription
400Invalid input provided
401Not authorized to delete account
500Internal server error

Sample Request

Mutation

 mutation DeleteTenant($tenantId: String!) {
   tenantMutations {
   deleteTenant(tenantId: $tenantId)
   }
}

Variables

{
   "tenantId": "Tse53QtW"
}

Sample Response

{
   "data": {
       "tenantMutations": {
           "deleteTenant": true
       }
   }
}

Account Usage

Gets the account usage in terms of active and inactive Pixels corresponding to a unique identifier for the account. Additionally, it returns the traffic usage stats for a duration

Schema

POST https://{capig_domain}/hub/graphql/

---

query TenantUsageQuery(
  $tenantId: String!
) {
    tenantUsage(tenantId: $tenantId) {
        totalActivePipeline
        totalInactivePixels
        totalPixels
        totalPipelines
        tenantUsageByTraffic {
           totalEventsReceived
           totalPixelsWithTraffic
       }
    }
}

---

tenantId: String!

Fields

FieldDescription
tenantId StringRequired Unique identifier of the account

Returns

FieldDescription
TenantUsage TenantUsageTenantUsage

Error Codes

CodeDescription
401Not authorized to view account usage
500Internal server error

Sample Request

Query

query {
   tenantUsage(tenantId: "IaoreXfj"){
       totalActivePixels
       totalInactivePixels
       totalPixels
   }
}

Sample Response

{
   "data": {
       "tenantUsage": {
           "totalActivePixels": 3,
           "totalPixels": 4
       }
   }
}

See Also

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About