Ads and Commerce
Ads and Commerce
Resources

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
Field Description
name
String
Required
Name of the account
canPartnerManage
Boolean
Required
Boolean indicating whether a partner can manage this account
adminEmail
String
Optional
Email address of the admin (This is required if canPartnerManage is false)
eventEnrichment
Boolean
Required
Enhance events with advanced matching data

Returns

CreateTenantResult
Field Description
tenant
Tenant
Newly created tenant

Error Codes

Code Description
400
Invalid input provided
401
Not authorized to create account
500
Internal 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

Field Description
tenantId
String
Required
Unique identifier of the account to be fetched

Returns

Field Description
tenant
Tenant
Account details are fetched

Error Codes

Code Description
401
Not authorized to view account
500
Internal 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
Field Description
tenantId
String
Required
Unique identifier of the account
name
String
Optional
Name of the account
status
Int
Optional
Account Status (Refer Tenant Object)
canPartnerManage
Boolean
Optional
Indicates whether the partner manage this account

Returns

TenantMutationResponse
Field Description
tenant
Tenant
Updated tenant

Error Codes

Code Description
400
Invalid input provided
401
Not authorized to update tenant
500
Internal 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

Field Description
tenantId
String
Required
Unique identifier of the account to be deleted.

Returns

Boolean
Indicates whether the tenant was successfully deleted.

Error Codes

Code Description
400
Invalid input provided
401
Not authorized to delete account
500
Internal 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

Field Description
tenantId
String
Required
Unique identifier of the account

Returns

Field Description
TenantUsage
TenantUsage
TenantUsage

Error Codes

Code Description
401
Not authorized to view account usage
500
Internal server error

Sample Request

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

Sample Response

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

See Also

Did you find this page helpful?
Thumbs up icon
Thumbs down icon