Gateway Control Plane API Reference

APIs for Data Sources

Create a Gateway Data Source

Create a gateway data source in Signals Gateway and return the information of the created information.

Schema

POST https://{signals_gateway_domain}/capig/graphql/
_________________________________________________________________________________________________________________
      
mutation useCreateDataSourceForPipelineMutation(
  $tenantId: ID!
  $id: ID
  $name: String!
  $type: DataSourceType!
  $pipelineId: ID!
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      createDataSourceForPipeline(
        dataSourceId: $id, 
        name: $name, 
        dataSourceType: $type, 
        pipelineId: $pipelineId
      ) {
        id
        name
        type
        active
      }
    }
  }
}
_________________________________________________________________________________________________________    
tenantId: ID!
_________________________________________________________________________________________________________    
name: String!
_________________________________________________________________________________________________________
dataSourceType: DataSourceType
_________________________________________________________________________________________________________
pipelineId: ID
__________________________________________________________________________________________________________     
dataSourceId: ID      
      
     

Input Fields

FieldDescription

tenantID
ID

Required
Unique identifier for the account

name
String

Required
Name of the gateway data source

dataSourceType
DataSourceType

Required
Data source type

pipelineId
ID

Required
Unique identifier for the data pipeline which contains the data source

dataSourceId
String

Optional data source identifier


Returns

DataSource

FieldDescription

DataSource
DataSource

The created data source object contains the ID, name, type, status, etc.


Error Codes

CodeDescription

401

Not authorized to view event metrics

500

Internal server error


Sample Request

Query

mutation createDataSourceForPipelineMutation(
  $tenantId: ID!
  $id: ID
  $name: String!
  $type: DataSourceType!
  $pipelineId: ID!
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      createDataSourceForPipeline(dataSourceId: $id, name: $name, dataSourceType: $type, pipelineId: $pipelineId) {
        id
        name
        type
        active
      }
    }
  }
}
     

Variables

{
  "tenantId": "zilSRUW7",
  "id": null,
  "name": "Signals Gateway Pixel 2JP0NH",
  "type": "ADVERTISER_HOSTED_PIXEL",
  "pipelineId": "sg_v1_pl_91c615ad-eea2-4151-93f7-daf89cd16154"
}
     

Sample Response

{
    "data": {
        "tenantMutations": {
            "dataSourceMutations": {
                "createDataSourceForPipeline": {
                    "id": "2898835581810297486",
                    "name": "Signals Gateway Pixel 2JP0NH",
                    "type": "ADVERTISER_HOSTED_PIXEL",
                    "active": true
                }
            }
        }
    }
}
     

Get Data Sources

The query to get all the data sources with the fields corresponding to a unique account.

Schema

POST https://{signals_gateway_domain}/capig/graphql/ 
_________________________________________________________________________________________________________________
      
query dataSourceTableQuery(
  $tenantId: ID!
) {
  tenantQueries(tenantId: $tenantId) {
    dataSourcesQuery {
      id
      name
      active
      type
      associatedPipelines {
        id
        name
        type
      }
    }
  }
}

_________________________________________________________________________________________________________    
tenantId: ID!

     

Input Fields

FieldDescription

tenantId
ID

Required

Unique identifier for the account


Returns

DataSource list

FieldDescription

DataSource
[DataSource]

A list of data source objects contains the ID, name, type, status, etc


Error Codes

CodeDescription

401

Not authorized to view the data routing

500

Internal server error


Sample Request

Query

query dataSourceTableQuery(
  $tenantId: ID!
) {
  tenantQueries(tenantId: $tenantId) {
    dataSourcesQuery {
      id
      name
      active
      type
      associatedPipelines {
        id
        name
        type
      }
    }
  }
}
     

Variables

{
  "tenantId": "IaoreXfj"
}
     

Sample Response

{
    "data": {
        "tenantQueries": {
            "dataSourcesQuery": [
                {
                    "id": "1347507641242739748",
                    "name": "First-party App SDK Q2EX6D",
                    "active": true,
                    "type": "ADVERTISER_HOSTED_SDK",
                    "associatedPipelines": [
                        {
                            "id": "sg_v1_pl_1a8c443d-9ace-440e-9eb7-147322344723",
                            "name": "Pipeline V2E9XB",
                            "type": "GATEWAY_PIPELINE"
                        }
                    ]
                },
                {
                    "id": "1369557203321383366",
                    "name": "First-party Pixel KFLU08",
                    "active": true,
                    "type": "ADVERTISER_HOSTED_PIXEL",
                    "associatedPipelines": [
                        {
                            "id": "sg_v1_pl_69816497-e27a-4cea-ac29-6f6014754ce7",
                            "name": "Pipeline E9BHG6",
                            "type": "GATEWAY_PIPELINE"
                        }
                    ]
                },
                {
                    "id": "1493309064652337",
                    "name": "Meta Pixel (1493309064652337)",
                    "active": true,
                    "type": "META_PIXEL",
                    "associatedPipelines": [
                        {
                            "id": "sg_v1_pl_0d10d8d7-ff05-4d1e-9935-6e0f7ff9e15e",
                            "name": "Conversions API Gateway({1493309064652337})",
                            "type": "META_CAPI_PIPELINE"
                        }
                    ]
                }
            ]
        }
    }
}
     

Update Gateway Data Source

The mutation to update the fields for a gateway data source in the Signals Gateway.

Schema

POST https://{signals_gateway_domain}/capig/graphql/ 
_________________________________________________________________________________________________________________
      
mutation updateDataSourceMutation(
  $tenantId: ID!
  $input: DataSourceInput!
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      updateDataSource(input: $input) {
        id
        name
        active
      }
    }
  }
}
_________________________________________________________________________________________________________    
tenantId: ID!
_________________________________________________________________________________________________________
id: ID      
_________________________________________________________________________________________________________ 
name: String
_________________________________________________________________________________________________________
dataSourceType: DataSourceType  
_________________________________________________________________________________________________________
active: Boolean   
      
     

Input Fields

FieldDescription

tenantId
ID

Required

Unique identifier for the account.

id
ID

Required

Unique identifier for the data source.

name
String

The updated name of the gateway data source.

dataSourceType
DataSourceType

Data source type.

active
Boolean

The updated status of the gateway pixel indicates if it is active or not.


Returns

DataSource

FieldDescription

DataSource
DataSource

The updated data source object contains the ID, name, type, status, etc.


Error Codes

CodeDescription

401

Not authorized to view the data routing

500

Internal server error


Sample Request

Query

mutation useUpdateDataSourceMutation(
  $tenantId: ID!
  $input: DataSourceInput!
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      updateDataSource(input: $input) {
        id
        name
        active
      }
    }
  }
}
     

Variables

{
  "tenantId": "IaoreXfj",
  "input": {
    "id": "2898835581810297486",
    "name": "Signals Gateway Pixel 2JP0NH",
    "type": "ADVERTISER_HOSTED_PIXEL",
    "active": false
  }
}
     

Sample Response

{
    "data": {
        "tenantMutations": {
            "dataSourceMutations": {
                "updateDataSource": {
                    "id": "2898835581810297486",
                    "name": "Signals Gateway Pixel 2JP0NH",
                    "active": false
                }
            }
        }
    }
}
     

Delete Data Source

The mutation to delete an existing data source in the Signals Gateway.

Schema

POST https://{signals_gateway_domain}/capig/graphql/ 
_________________________________________________________________________________________________________________
      
mutation deleteDataSourceMutation(
  $tenantId: ID!
  $id: ID!
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      deleteDataSource(id: $id)
    }
  }
}
_________________________________________________________________________________________________________    
tenantId: ID!
_________________________________________________________________________________________________________    
id: ID!
      
     

Input Fields

FieldDescription

tenantId
ID

Required

Unique identifier for the account

id
ID

Required

Unique identifier for the data source


Returns

id
ID

Unique identifier for the deleted data source


Error Codes

CodeDescription

401

Not authorized to view the data routing

500

Internal server error


Sample Request

Query

mutation deleteDataSourceMutation(
  $tenantId: ID!
  $id: ID!
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      deleteDataSource(id: $id)
    }
  }
}
     

Variables

{
  "tenantId": "IaoreXfj",
  "id": "2898835581810297486"
}
     

Sample Response

{
    "data": {
        "tenantMutations": {
            "dataSourceMutations": {
                "deleteDataSource": "2898835581810297486"
            }
        }
    }
}
     

Generate Gateway Pixel Data Source Header Code

The request to generate the Gateway Pixel header code snippet that is added to the header section of the advertiser’s website.

Schema

POST https://{signals_gateway_domain}/capig/graphql/ 
_________________________________________________________________________________________________________________
      
mutation generateGatewayPixelHeaderCode (
  $tenantId: ID!
  $dataSourceId: ID!
) {
   tenantMutations(tenantId: $tenantI) {
   	dataSourceMutations {
       createGatewayPixelHeaderCode(
         dataSourceId: $dataSourceId
       )
     }
   }
 }

_________________________________________________________________________________________________________    
tenantId: ID!
_________________________________________________________________________________________________________
dataSourceId: ID!     
     

Input Fields

FieldDescription

tenantId
ID

Required

Unique identifier for the account

dataSourceId
ID

Required

Unique identifier for the Signals Gateway Pixel


Returns

FieldDescription

string
String

The Signals Gateway Pixel header code snippet


Error Codes

CodeDescription

401

Not authorized to view the data routing

500

Internal server error


Sample Request

Query

mutation generateGatewayPixelHeaderCode (
  $tenantId: ID!
  $dataSourceId: ID!
) {
   tenantMutations(tenantId: $tenantI) {
   	dataSourceMutations {
       createGatewayPixelHeaderCode(
         dataSourceId: $dataSourceId
       )
     }
   }
 }
     

Variables

{
  "tenantId": "IaoreXfj",
  "dataSourceId": "2898835581810297486"
}
     

Sample Response

{
 "data": {
   "tenantMutations": {
     "dataSourceMutations": {
       "createGatewayPixelHeaderCode": "<!-- Signals Gateway Pixel Code -->\n<script>\n!function(a,h,e,v,n,t,s)\n  {if(a.cbq)return;n=a.cbq=function(){n.callMethod?\n  n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n  if(!a._cbq)a._cbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n  n.queue=[];t=h.createElement(e);t.async=!0;\n  t.src=v;s=h.getElementsByTagName(e)[0];\n  s.parentNode.insertBefore(t,s)}(window, document,'script',\n  'https://test.com/sdk/2898835581810297486/events.js');\n  cbq('setHost', 'https://LocalHost/');\n  cbq('init', '3779427875530335532');\n  cbq('track', 'PageView');\n</script>\n<!-- End Signals Gateway Pixel Code -->"
     }
   }
 }
}
     

Update Signals Gateway Pixel Configuration

The mutation to update the fields for a Signals Gateway Pixel.

Schema

POST https://{signals_gateway_domain}/capig/graphql/ 
_________________________________________________________________________________________________________________
      
mutation gatewayPixelDataSourceConfigMutation(
  $tenantId: ID!
  $id: String!
  $config: GatewayPixelConfigurationInput
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      updateGatewayPixelConfig(pixelId: $id, config: $config) {
        id
        name
        enabledStatus
        plugins
        aamFields
      }
    }
  }
}

_________________________________________________________________________________________________________    
tenantId: ID!
_________________________________________________________________________________________________________
input GatewayPixelConfigurationInput {
  enabledStatus: Boolean
  enableAam: Boolean
  enableFirstPartyCookie: Boolean
  aamFields: [String!]
  enableAutomaticForkMetaPixelEvent: Boolean
  enableContactDataHash: Boolean
  customIntegrityScript: String
}        
     

Input Fields

FieldDescription

tenantId
ID

Required

Unique identifier for the account

input
GatewayPixelConfigurationInput

The updatable fields for the Signals Gateway Pixel


GatewayPixelConfigurationInput

FieldDescription

enabledStatus
Boolean

The status of the Signals Gateway Pixel indicates if it is active or not.

enableAam
Boolean

Indicate if the advanced matching is enabled for the Signals Gateway Pixel.

enableFirstPartyCookie
Boolean

Indicate if the first party cookie is enabled for the Signals Gateway Pixel.

aamFields
[String]

The enabled advanced matching fields.

enableAutomaticForkMetaPixelEvent
Boolean

Indicate if the automatic fork is enabled for the Signals Gateway Pixel.

enableContactDataHash
Boolean

Indicate if the data hash is enabled for the Signals Gateway Pixel.

customIntegrityScript
String

The custom integrity script applied to the Signals Gateway Pixel.


Returns

FieldDescription

GatewayPixelConfig
GatewayPixelConfig

The Signals Gateway Pixel configuration after the update.


Error Codes

CodeDescription

401

Not authorized to view the data routing

500

Internal server error


Sample Request

Query

mutation gatewayPixelDataSourceConfigMutation(
  $tenantId: ID!
  $id: String!
  $config: GatewayPixelConfigurationInput
) {
  tenantMutations(tenantId: $tenantId) {
    dataSourceMutations {
      updateGatewayPixelConfig(pixelId: $id, config: $config) {
        id
        name
        enabledStatus
        plugins
        aamFields
      }
    }
  }
}
     

Variables

{
  "tenantId": "IaoreXfj",
  "id": "2898835581810297486",
  "config": {
    "enabledStatus": true,
    "enableAam": true,
    "enableAutomaticForkMetaPixelEvent": false,
    "aamFields": [
      "em",
      "fn",
      "ln",
      "ph",
      "ge",
      "ct",
      "st",
      "zp",
      "country",
      "db",
      "external_id"
    ],
    "enableContactDataHash": true
  }
}
     

Sample Response

{
    "data": {
        "tenantMutations": {
            "dataSourceMutations": {
                "updateGatewayPixelConfig": {
                    "id": "2898835581810297486",
                    "name": "Signals Gateway Pixel 2JP0NH",
                    "enabledStatus": true,
                    "plugins": [
                        "FIRST_PARTY_COOKIE",
                        "AUTOMATIC_ADVANCED_MATCHING"
                    ],
                    "aamFields": [
                        "em",
                        "fn",
                        "ln",
                        "ph",
                        "ge",
                        "ct",
                        "st",
                        "zp",
                        "country",
                        "db",
                        "external_id"
                    ]
                }
            }
        }
    }
}