Data Catalog API
- growth
- enterprise
23 minute read
The Data Catalog API is a part of RudderStack’s Data Governance toolkit that ensures the quality and integrity of your data in a secure and compliant manner.
You can use the Data Catalog API to:
- Create and manage your tracking plans programmatically.
- Add or update events and properties in your data catalog.
- Create and manage categories for your data catalog events.
Prerequisites
Generate a workspace-level service access token in the RudderStack dashboard.
For production use cases, RudderStack recommends using a service access token instead of personal access token.
Authentication
The Data Catalog API uses Bearer authentication in the following format:
Authorization: Bearer <SERVICE_ACCESS_TOKEN>
Base URL
Use the base URL for your API requests depending on your region:
Manage tracking plans
This section covers the API endpoints for creating and managing your tracking plans.
Create tracking plan
Request body
Note that:
- The name must be between 3 and 65 characters and should start with a letter.
- It must contain only letters, numbers, underscores, commas, spaces, dashes, and dots.
Example request
Example response
{
"id": "tp_5gopz6tfKxAjpS4TjuqVIeTdm7T",
"name": "Product Ordered Plan",
"description": "Tracking plan for users placing an order for the product.",
"version": 1,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"creationType": "BackendAPI",
"createdAt": "2024-05-22T10:34:03.016Z",
"updatedAt": "2024-05-22T10:34:03.016Z"
}
Response codes
Code | Description |
---|---|
200 | Tracking plan is successfully created. RudderStack also returns an ID for the newly created tracking plan. |
400 | Bad or invalid request. |
List all tracking plans
Example request
Example response
{
"trackingPlans": [{
"id": "tp_5gopz6tfKxAjpS4TjuqVIeTdm7T",
"name": "Product Ordered Plan",
"description": "Tracking plan for users placing an order for the product.",
"version": 1,
"createdAt": "2024-05-22T13:07:18.617Z",
"updatedAt": "2024-05-22T13:07:18.617Z",
"creationType": "BackendAPI",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e"
},
{
"id": "tp_2rKxjFu6R1qot19aWhTW7W7Ojew",
"name": "Order Completed Plan",
"description": "Tracking plan for users completing an order for the product.",
"version": 4,
"createdAt": "2024-01-30T15:41:14.446Z",
"updatedAt": "2024-02-01T08:59:15.095Z",
"creationType": "Event Audit API",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e"
}
]
}
Response codes
Code | Description |
---|---|
200 | List of all tracking plans in the associated workspace. |
Get tracking plan by ID
Path parameters
Example request
Example response
{
"id": "tp_5gopz6tfKxAjpS4TjuqVIeTdm7T",
"name": "Product Ordered Plan",
"description": "Tracking plan for users placing an order for the product.",
"version": 1,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"creationType": "BackendAPI",
"createdAt": "2024-05-22T13:07:18.617Z",
"updatedAt": "2024-05-22T13:07:18.617Z"
}
Response codes
Code | Description |
---|---|
200 | Tracking plan is updated successfully. |
404 | Tracking plan not found for the specified ID. |
Update tracking plan
Path parameters
Request body
To update the tracking plan, at least one of the following parameters is required:
Note that:
- The name must be between 3 and 65 characters and should start with a letter.
- It must contain only letters, numbers, underscores, commas, spaces, dashes, and dots.
Example request
Example response
{
"id": "tp_5gopz6tfKxAjpS4TjuqVIeTdm7T",
"name": "New Product Ordered Plan",
"description": "Updated tracking plan for users placing an order for the product.",
"version": 2,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"creationType": "BackendAPI",
"createdAt": "2024-05-22T10:34:03.016Z",
"updatedAt": "2024-05-22T10:36:49.252Z"
}
Response codes
Code | Description |
---|---|
200 | Tracking plan is updated successfully. |
400 | Bad or invalid request. |
Delete tracking plan
Deleted tracking plans cannot be recovered or restored.
Path parameters
Example request
Example response
{
"name": "New Product Ordered Plan",
"version": 1,
"description": "Updated tracking plan for users placing an order for the product.",
"creationType": "BackendAPI",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"updatedBy": null,
"createdAt": "2024-05-22T13:41:33.057Z",
"updatedAt": "2024-05-22T13:41:33.057Z",
"events": []
}
Response codes
Code | Description |
---|---|
200 | Tracking plan is deleted successfully. |
400 | Bad or invalid request. |
Manage events in tracking plans
This section covers the API endpoints for upserting and managing events in your tracking plans.
The Data Catalog API creates the events and properties in the data catalog only if they do not exist already.
Upsert event to tracking plan
While upserting an event to a tracking plan, make sure the schema of the properties adheres to the advanced rules set for those properties in the data catalog. Otherwise, RudderStack will drop the schema and give the below error:
“Property with name [${prop.name}] and type [${prop.type}] already exists with different advanced keywords.”
If you get this error, you can update the existing catalog property by adding required advanced rules and try again.
Path parameters
Request body
Note that:
- The name must be between 3 and 65 characters and should start with a letter.
- It must contain only letters, numbers, underscores, commas, spaces, dashes, and dots.
- For non-
track
events, the name should be an empty string.
Note that:
- Once set, the event type cannot be updated later.
- Allowed event types are
track
,identify
,group
,page
, andscreen
.
Note: The keywords defined for a property in the
rules
parameter are the same as the advanced rules defined for a property in the dashboard.Example request
Example response
{
"id": "tp_5gopz6tfKxAjpS4TjuqVIeTdm7T",
"name": "Product Viewed Plan",
"version": 3,
"description": "User viewed a product.",
"creationType": "BackendAPI",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdAt": "2024-05-22T10:34:03.016Z",
"updatedAt": "2024-05-22T11:01:24.706Z"
}
Response codes
Code | Description |
---|---|
200 | Event is upserted to the tracking plan successfully. The API gives the updated tracking plan information as a response. |
400 | Bad or invalid request. |
List all events in tracking plan
Path parameters
Example request
Example response
{
"data": [{
"id": "ev_2gotMKGuOtdDY4XbSdKjkwk4qc2",
"name": "Product Viewed",
"description": "User viewed a product.",
"eventType": "track",
"categoryId": null,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"updatedBy": null,
"createdAt": "2024-05-22T11:01:24.706Z",
"updatedAt": "2024-05-22T11:01:24.706Z",
"identitySection": "properties",
"additionalProperties": true,
}],
"total": 1,
"currentPage": 1,
"pageSize": 50
}
Response codes
Code | Description |
---|---|
200 | All the events in a tracking plan are fetched successfully. |
Get tracking plan event by ID
Path parameters
Example request
Example response
{
"id": "ev_2gotMKGuOtdDY4XbSdKjkwk4qc2",
"name": "Product Viewed",
"description": "User viewed a product.",
"eventType": "track",
"categoryId": null,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"updatedBy": null,
"createdAt": "2024-05-22T11:01:24.706Z",
"updatedAt": "2024-05-22T11:01:24.706Z",
"identitySection": "properties",
"rules": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"properties": {
"type": "object",
"required": [
"amount"
],
"additionalProperties": false,
"properties": {
"amount": {
"type": [
"number"
]
},
}
}
}
}
}
Response codes
Code | Description |
---|---|
200 | Event specified by the ID is fetched successfully. |
404 | Tracking plan event not found for the specified ID. |
Delete event from tracking plan
Path parameters
Example request
Response codes
Code | Description |
---|---|
204 | Event is deleted from tracking plan successfully. |
400 | Bad or invalid request. |
Manage events in data catalog
This section covers the API endpoints for creating and managing events in your data catalog.
Create new event
Request body
Note that:
- The name must be between 3 and 65 characters and should start with a letter.
- It must contain only letters, numbers, underscores, commas, spaces, dashes, and dots.
- For non-
track
events, the name should be an empty string.
Note that:
- Once set, the event type cannot be updated later.
- Allowed event types are
track
,identify
,group
,page
, andscreen
.
Example request
Example response
{
"name": "Product Viewed",
"description": "User viewed a product.",
"eventType": "track",
"categoryId": null,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"id": "ev_2gqmsfib1Zl6n6QL0mjCi9PJbDS",
"createdAt": "2024-05-23T03:08:09.972Z",
"updatedAt": "2024-05-23T03:08:09.972Z"
}
Response codes
Code | Description |
---|---|
200 | Event is created successfully. |
400 | Invalid request. |
List all events
Query parameters
Order the events list by a specific field.
Allowed fields are name
, createdAt
, updatedAt
. For example, name:asc
.
Example request
Example response
{
"data": [{
"id": "ev_2g60ZQeit5D54rBHUUh0oK3IxzH",
"name": "Order Placed",
"description": "User placed an order.",
"eventType": "track",
"categoryId": null,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": null,
"createdAt": "2024-05-06T13:39:34.294Z",
"updatedAt": "2024-05-06T13:39:34.294Z"
},
....
{
"id": "ev_2dJfRK8t0hOmmAaCTc0VvMB36e1",
"name": "Product Added to Cart",
"description": "User added product to cart.",
"eventType": "track",
"categoryId": null,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": "1zirfVbEQN0zIImR235a1JivVYU",
"createdAt": "2024-03-06T13:18:12.044Z",
"updatedAt": "2024-05-13T11:39:40.115Z"
},
],
"total": 3563,
"currentPage": 1,
"pageSize": 50
}
Response codes
Code | Description |
---|---|
200 | All events in the data catalog are retrieved successfully. |
Get event by ID
Path parameters
Example request
Example response
{
"id": "ev_2dJfRQIZLrBhqdLoLoxywHpicLp",
"name": "Product Viewed",
"description": "User viewed a product.",
"eventType": "track",
"categoryId": null,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"createdAt": "2024-03-06T13:18:12.044Z",
"updatedAt": "2024-05-22T14:57:50.265Z",
"category": null
}
Response codes
Code | Description |
---|---|
200 | All events in the data catalog are retrieved successfully. |
404 | Event not found for the specified event ID. |
Update event
Path parameters
Request body
To update an event in the data catalog, at least one of the following parameters is required:
Note that:
- The name must be between 3 and 65 characters and should start with a letter.
- It must contain only letters, numbers, underscores, commas, spaces, dashes, and dots.
- For non-
track
events, the name should be an empty string.
Example request
Example response
{
"name": "Product Viewed Again",
"description": "User revisited a product on the website.",
"categoryId": null
}
Response codes
Code | Description |
---|---|
200 | Event is updated successfully. |
404 | Event not found for the specified event ID. |
Delete event
You cannot delete an event that is connected to a tracking plan. Use the Delete event from tracking plan API to disconnect the event and then try deleting it.
Path parameters
Example request
Example response
{
"name": "Product Purchased",
"description": "User purchased a product on the website.",
"eventType": "track",
"categoryId": null,
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"updatedBy": null,
"createdAt": "2024-05-22T14:59:14.287Z",
"updatedAt": "2024-05-22T14:59:14.287Z"
}
Response codes
Code | Description |
---|---|
200 | Event is deleted from the catalog successfully. |
404 | Event not found for the specified event ID. |
Manage properties in data catalog
This section covers the API endpoints for creating and managing properties in your data catalog.
Create new property
Request body
Note that:
- The name must be of at least one character and should start with a letter.
- It must contain only letters, numbers, underscores, and spaces.
Note that:
- The data type must be either string, integer, number, object, array, boolean, null, or multi data type.
- If not explicitly set, RudderStack allows all the above data types for the property, by default.
RudderStack supports multi data type for the
type
parameter. An example is shown:{ "type": ["string", "integer", "boolean", "null"] }
Example request
Example response
{
"name": "amount",
"description": "Amount for the product",
"type": "number",
"propConfig": {
"multipleOf": 2
},
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"id": "prop_2gqpkKg1GtHWKR8JtNChoKsqhIK",
"createdAt": "2024-05-23T03:31:43.297Z",
"updatedAt": "2024-05-23T03:31:43.297Z"
}
Response codes
Code | Description |
---|---|
200 | Property is created successfully. |
400 | Invalid request. |
List all properties
Path parameters
Order the properties list by a specific field.
Allowed fields are name
, createdAt
, updatedAt
. For example, name:asc
.
Example request
Example response
{
"data": [{
"id": "prop_2dJfRQ233WrPRpWBPqbF4PuiMc0",
"name": "affiliation",
"description": "Product affiliation",
"type": "string",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": null,
"createdAt": "2024-03-06T13:18:12.044Z",
"updatedAt": "2024-03-06T13:18:12.044Z"
},
...
{
"id": "prop_2bfXbQuinn4298XzqlyxmktRAX9d",
"name": "Email",
"description": "User's email",
"type": "string",
"propConfig": {},
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": "1zirfVbEQN0zIImR235a1JivVYU",
"createdAt": "2024-01-30T09:32:57.983Z",
"updatedAt": "2024-01-30T09:33:18.885Z"
}
],
"total": 450,
"currentPage": 1,
"pageSize": 50
}
Response codes
Code | Description |
---|---|
200 | All properties in the data catalog are retrieved successfully. |
Get property by ID
Path parameters
Example request
Example response
{
"id": "prop_2bfXbQuinn4298XzqlyxmktRAX9d",
"name": "Email",
"description": "User's email",
"type": "string",
"propConfig": {},
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": "1zirfVbEQN0zIImR235a1JivVYU",
"createdAt": "2024-01-30T09:32:57.983Z",
"updatedAt": "2024-01-30T09:33:18.885Z"
}
Response codes
Code | Description |
---|---|
200 | All properties in the data catalog are retrieved successfully. |
404 | Property not found for the specified event ID. |
Update property
Path parameters
Request body
To update the event property in the data catalog, at least one of the following parameters is required:
Note that:
- The name must be of at least one character and should start with a letter.
- It must contain only letters, numbers, underscores, and spaces.
Note that:
- The data type must be either string, integer, number, object, array, boolean, null, or multi data type.
- If not explicitly set, RudderStack allows all the above data types for the property, by default.
RudderStack supports multi data type for the
type
parameter. An example is shown:{ "type": ["string", "integer", "boolean", "null"] }
Example request
Example response
{
"id": "prop_2bfXbQuinn4298XzqlyxmktRAX9d",
"name": "Email",
"description": "User's email address",
"propConfig": {
"format": "email"
},
"type": "number",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"createdAt": "2024-01-30T09:32:57.983Z",
"updatedAt": "2024-05-23T03:41:10.715Z"
}
Response codes
Code | Description |
---|---|
200 | Property is updated successfully. |
400 | Property not found for the specified event ID. |
Delete property
Path parameters
Example request
Example response
{
"name": "Email",
"description": "User's email address",
"type": "number",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"createdAt": "2024-01-30T09:32:57.983Z",
"updatedAt": "2024-05-23T03:41:10.715Z"
}
Response codes
Code | Description |
---|---|
200 | Property is deleted from the catalog successfully. |
400 | Property not found for the specified event ID. |
Manage categories in data catalog
This section covers the API endpoints for creating and managing categories in your data catalog. Go to Govern > Data Catalog > Events tab in your RudderStack dashboard to view the categories and associate them to your events.
Create new category
Request body
Note that:
- The name must be between 3 and 65 characters and should start with a letter.
- It must contain only letters, numbers, underscores, commas, spaces, dashes, and dots.
Example request
Example response
{
"name": "Onboarding",
"description": "Customer onboarding",
"icon": "star",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"id": "cat_2gqs1Yzy1Vpeeewm69meqc6d8zH",
"createdAt": "2024-05-23T03:50:27.416Z",
"updatedAt": "2024-05-23T03:50:27.416Z"
}
Response codes
Code | Description |
---|---|
200 | Category is created successfully. |
400 | Invalid Request. |
List all categories
Path parameters
Order the categories list by a specific field.
Allowed fields are name
, createdAt
, updatedAt
. For example, name:asc
.
Example request
Example response
{
"data": [{
"id": "cat_2gqs1Yzy1Vpeeewm69meqc6d8zH",
"name": "Onboarding",
"description": "Customer onboarding",
"icon": "star",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"updatedBy": null,
"createdAt": "2024-05-23T03:50:27.416Z",
"updatedAt": "2024-05-23T03:50:27.416Z"
},
...
{
"id": "cat_4gs21Yzy1Vpw1m69meqc6d8zH",
"name": "Product Experience",
"description": "Enhance overall product and customer experience",
"icon": "star",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "1zirfVbEQN0zIImR235a1JivVYU",
"updatedBy": null,
"createdAt": "2024-04-30T14:30:30.254Z",
"updatedAt": "2024-04-30T14:30:30.254Z"
}
],
"total": 10,
"currentPage": 1,
"pageSize": 1000
}
Response codes
Code | Description |
---|---|
200 | All the categories in a tracking plan are fetched successfully. |
Get category by ID
Path parameters
Example request
Example response
{
"id": "cat_2gqs1Yzy1Vpeeewm69meqc6d8zH",
"name": "Onboarding",
"description": "Customer onboarding",
"icon": "star",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"updatedBy": null,
"createdAt": "2024-05-23T03:50:27.416Z",
"updatedAt": "2024-05-23T03:50:27.416Z"
}
Response codes
Code | Description |
---|---|
200 | All categories in the data catalog are retrieved successfully. |
404 | Category not found for the specified ID. |
Delete category
Path parameters
Example request
Example response
{
"name": "Onboarding",
"description": "Customer onboarding",
"icon": "star",
"workspaceId": "1hitizAoFT91DD6rfFhBjiTex3e",
"createdBy": "2KDKycoVHAOLttVvzBiqw12O3Hr",
"updatedBy": null,
"createdAt": "2024-05-23T03:50:27.416Z",
"updatedAt": "2024-05-23T03:50:27.416Z"
}
Response codes
Code | Description |
---|---|
200 | Category is deleted from the catalog successfully. |
400 | Category not found for the specified event ID. |
Manage tracking plan-source connections
This section covers the API endpoints for managing the connections between your tracking plans and sources.
Add new connection
Path parameters
Request body
The request body must not be empty. Otherwise, you will encounter an error.
Config object structure
The config
object provided in the request body contains the source-specific tracking plan settings for validating the individual events. A sample object is shown below:
{
"config": {
"page": {
"unplannedProperties": "forward", // or "drop"
"anyOtherViolation": "forward", // or "drop"
"propagateValidationErrors": "true", // or "false"
},
"group": {
"unplannedProperties": "forward",
"anyOtherViolation": "forward",
"propagateValidationErrors": "true"
},
"track": {
"allowUnplannedEvents": "true",
"unplannedProperties": "forward",
"anyOtherViolation": "forward",
"propagateValidationErrors": "true", // or "false"
},
"global": {
"allowUnplannedEvents": "true",
"unplannedProperties": "forward",
"anyOtherViolation": "forward",
"propagateValidationErrors": "true"
},
"screen": {
"unplannedProperties": "forward",
"anyOtherViolation": "forward",
"propagateValidationErrors": "true"
},
"identify": {
"unplannedProperties": "forward",
"anyOtherViolation": "forward",
"propagateValidationErrors": "true"
}
}
}
The event-level settings that you can define within the config
object are described below. See Source-specific tracking plan settings for more information:
Field | Description |
---|---|
allowUnplannedEvents | Applicable for track object only.Boolean that determines if RudderStack should drop all events that do not match the predefined event names in the tracking plan. |
unplannedProperties | Acceptable values are forward and drop .Determines if RudderStack should forward or drop events that contain properties not matching the list of predefined properties for the specific event. |
anyOtherViolation | Acceptable values are forward and drop .Determines if RudderStack should forward or drop events with any other violations that include Type Mismatch, Required Fields Missing, and others outlined in the Violation types section. |
propagateValidationErrors | Boolean that determines if RudderStack should capture the validation errors in the event’s context object and send them downstream (user transformations and destinations). |
Note that:
- You need not provide the tracking plan settings for all events. For example, you can include only the
track
andglobal
objects withinconfig
. However, note that you must not provide a blank event object. If included, you must define at least one setting for that event.- RudderStack uses the default settings for the events that you do not specify explicitly and validates them accordingly.
Example request
Example response
{
"sourceId": "2nk0qVvmxE79uIwsKebgVH4iNTR",
"trackingPlanId": "tp_5gopz6tfKxAjpS4TjuqVIeTdm7T",
"config": {
"page": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"group": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"track": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"allowUnplannedEvents": "true",
"propagateValidationErrors": "true"
},
"global": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"allowUnplannedEvents": "false",
"propagateValidationErrors": "true"
},
"screen": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"identify": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
}
}
}
Response codes
Code | Description |
---|---|
200 | Connection created successfully. |
400 |
|
Update tracking plan configuration
Path parameters
Request body
The request body must not be empty. Otherwise, you will encounter an error.
Config object structure
The config
object provided in the request body contains the source-specific tracking plan settings for validating the individual events. A sample object is shown below:
{
"config": {
"page": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"group": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"track": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"allowUnplannedEvents": "true",
"propagateValidationErrors": "true"
},
"global": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"allowUnplannedEvents": "false",
"propagateValidationErrors": "true"
},
"screen": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"identify": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
}
}
}
The event-level settings that you can define within the config
object are described below. See Source-specific tracking plan settings for more information:
Field | Description |
---|---|
allowUnplannedEvents | Applicable for track object only.Boolean that determines if RudderStack should drop all events that do not match the predefined event names in the tracking plan. |
unplannedProperties | Acceptable values are forward and drop .Determines if RudderStack should forward or drop events that contain properties not matching the list of predefined properties for the specific event. |
anyOtherViolation | Acceptable values are forward and drop .Determines if RudderStack should forward or drop events with any other violations that include Type Mismatch, Required Fields Missing, and others outlined in the Violation types section. |
propagateValidationErrors | Boolean that determines if RudderStack should capture the validation errors in the event’s context object and send them downstream (user transformations and destinations). |
Note that:
- You need not provide the tracking plan settings for all events. For example, you can include only the
track
andglobal
objects withinconfig
. However, note that you must not provide a blank event object. If included, you must define at least one setting for that event.- RudderStack uses the default settings for the events that you do not specify explicitly and validates them accordingly.
Example request
Example response
{
"config": {
"page": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"group": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"track": {
"anyOtherViolation": "drop",
"unplannedProperties": "forward",
"allowUnplannedEvents": "true",
"propagateValidationErrors": "true"
},
"global": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"allowUnplannedEvents": "false",
"propagateValidationErrors": "true"
},
"screen": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
},
"identify": {
"anyOtherViolation": "forward",
"unplannedProperties": "forward",
"propagateValidationErrors": "true"
}
}
}
Response codes
Code | Description |
---|---|
200 | Configuration updated successfully. |
400 |
|
List all sources connected to tracking plan
Path parameters
Example request