What can you do with it?
The Segment API allows you to manage your data infrastructure and ETL pipelines. You can create and manage data warehouses, configure data sources, set up destinations for your data, and handle all aspects of your data integration workflow with comprehensive warehouse management, source configuration, and destination routing.
How to use it?
Basic Command Structure
/your-segment-connection [action] [required-parameters] [optional-parameters]
Parameters
Required:
action
- The action to perform (list, create, get, update, delete)
entity
- The entity type (warehouse, source, destination)
id
- Entity ID for specific operations
Optional:
name
- Entity name
type
- Warehouse type (redshift, bigquery, snowflake)
slug
- Entity slug identifier
platform
- Platform type (web, mobile, server)
categories
- Entity categories
connection
- Connection configuration
List All Warehouses
Retrieve a list of all warehouses in your Segment workspace.
Parameters:
limit
(optional) - Number of warehouses to return
offset
(optional) - Number of warehouses to skip
Example:
/your-segment-connection
action: list
entity: warehouses
limit: 20
offset: 0
Response:
{
"warehouses": [
{
"id": "warehouse_123",
"name": "My Data Warehouse",
"type": "redshift",
"connection": {
"host": "example.redshift.amazonaws.com",
"port": 5439,
"database": "analytics",
"username": "user",
"schema": "public"
},
"status": "active",
"created_at": "2023-04-10T10:30:00Z"
},
{
"id": "warehouse_456",
"name": "BigQuery Warehouse",
"type": "bigquery",
"connection": {
"project_id": "my-gcp-project",
"dataset": "analytics"
},
"status": "active",
"created_at": "2023-04-11T08:59:18Z"
}
]
}
Create New Warehouse
Add a new warehouse to your Segment workspace.
Parameters:
name
(required) - Warehouse name
type
(required) - Warehouse type (redshift, bigquery, snowflake)
connection
(required) - Connection configuration object
account
(for Snowflake) - Snowflake account identifier
warehouse
(for Snowflake) - Snowflake warehouse name
database
(required) - Database name
schema
(required) - Schema name
username
(required) - Username for connection
role
(optional) - Role for connection
Example:
/your-segment-connection
action: create
entity: warehouse
name: New Data Warehouse
type: snowflake
connection: {
"account": "my_snowflake_account",
"warehouse": "COMPUTE_WH",
"database": "ANALYTICS_DB",
"schema": "PUBLIC",
"username": "user",
"role": "SYSADMIN"
}
Response:
{
"id": "warehouse_789",
"name": "New Data Warehouse",
"type": "snowflake",
"connection": {
"account": "my_snowflake_account",
"warehouse": "COMPUTE_WH",
"database": "ANALYTICS_DB",
"schema": "PUBLIC",
"username": "user",
"role": "SYSADMIN"
},
"status": "active",
"created_at": "2025-01-12T12:00:00Z"
}
Get Warehouse by ID
Retrieve details of a specific warehouse using its unique ID.
Parameters:
warehouse_id
(required) - Warehouse ID to retrieve
Example:
/your-segment-connection
action: get
entity: warehouse
warehouse_id: warehouse_123
Response:
{
"id": "warehouse_123",
"name": "My Data Warehouse",
"type": "redshift",
"connection": {
"host": "example.redshift.amazonaws.com",
"port": 5439,
"database": "analytics",
"username": "user",
"schema": "public"
},
"status": "active",
"created_at": "2023-04-10T10:30:00Z",
"updated_at": "2023-04-11T08:59:18Z"
}
Update Warehouse
Update the configuration of an existing warehouse.
Parameters:
warehouse_id
(required) - Warehouse ID to update
name
(optional) - New warehouse name
connection
(optional) - Updated connection configuration
Example:
/your-segment-connection
action: update
entity: warehouse
warehouse_id: warehouse_123
name: Updated Warehouse Name
connection: {
"host": "new-example.redshift.amazonaws.com",
"port": 5439,
"database": "new_analytics",
"username": "new_user",
"schema": "public"
}
Response:
{
"id": "warehouse_123",
"name": "Updated Warehouse Name",
"type": "redshift",
"connection": {
"host": "new-example.redshift.amazonaws.com",
"port": 5439,
"database": "new_analytics",
"username": "new_user",
"schema": "public"
},
"status": "active",
"updated_at": "2025-01-12T12:00:00Z"
}
Delete Warehouse
Remove a warehouse from your Segment workspace.
Parameters:
warehouse_id
(required) - Warehouse ID to delete
Example:
/your-segment-connection
action: delete
entity: warehouse
warehouse_id: warehouse_123
Response:
{
"status": 204,
"message": "Warehouse deleted successfully."
}
List All Sources
Retrieve a list of all sources in your Segment workspace.
Parameters:
limit
(optional) - Number of sources to return
offset
(optional) - Number of sources to skip
Example:
/your-segment-connection
action: list
entity: sources
limit: 20
Response:
{
"sources": [
{
"id": "source_123",
"name": "Website Analytics",
"slug": "website_analytics",
"metadata": {
"platform": "web",
"categories": ["analytics"]
},
"status": "active",
"created_at": "2023-04-10T10:30:00Z"
},
{
"id": "source_456",
"name": "Mobile App",
"slug": "mobile_app",
"metadata": {
"platform": "mobile",
"categories": ["marketing"]
},
"status": "active",
"created_at": "2023-04-11T08:59:18Z"
}
]
}
Create New Source
Add a new source to your Segment workspace.
Parameters:
name
(required) - Source name
slug
(required) - Source slug identifier
platform
(required) - Platform type (web, mobile, server)
categories
(required) - Array of categories (analytics, marketing, crm)
Example:
/your-segment-connection
action: create
entity: source
name: New Source
slug: new_source
platform: server
categories: ["crm"]
Response:
{
"id": "source_789",
"name": "New Source",
"slug": "new_source",
"metadata": {
"platform": "server",
"categories": ["crm"]
},
"status": "active",
"created_at": "2025-01-12T12:00:00Z"
}
Get Source by ID
Retrieve details of a specific source using its unique ID.
Parameters:
source_id
(required) - Source ID to retrieve
Example:
/your-segment-connection
action: get
entity: source
source_id: source_123
Response:
{
"id": "source_123",
"name": "Website Analytics",
"slug": "website_analytics",
"metadata": {
"platform": "web",
"categories": ["analytics"]
},
"status": "active",
"created_at": "2023-04-10T10:30:00Z",
"updated_at": "2023-04-11T08:59:18Z"
}
Update Source
Update the configuration of an existing source.
Parameters:
source_id
(required) - Source ID to update
name
(optional) - New source name
platform
(optional) - Updated platform type
categories
(optional) - Updated categories array
Example:
/your-segment-connection
action: update
entity: source
source_id: source_123
name: Updated Source Name
categories: ["analytics", "marketing"]
Response:
{
"id": "source_123",
"name": "Updated Source Name",
"slug": "website_analytics",
"metadata": {
"platform": "web",
"categories": ["analytics", "marketing"]
},
"status": "active",
"updated_at": "2025-01-12T12:00:00Z"
}
Delete Source
Remove a source from your Segment workspace.
Parameters:
source_id
(required) - Source ID to delete
Example:
/your-segment-connection
action: delete
entity: source
source_id: source_123
Response:
{
"status": 204,
"message": "Source deleted successfully."
}
List All Destinations
Retrieve a list of all destinations in your Segment workspace.
Parameters:
limit
(optional) - Number of destinations to return
offset
(optional) - Number of destinations to skip
Example:
/your-segment-connection
action: list
entity: destinations
limit: 20
Response:
{
"destinations": [
{
"id": "destination_123",
"name": "Google Analytics",
"slug": "google_analytics",
"metadata": {
"platform": "web",
"categories": ["analytics"]
},
"status": "active",
"created_at": "2023-04-10T10:30:00Z"
},
{
"id": "destination_456",
"name": "Facebook Ads",
"slug": "facebook_ads",
"metadata": {
"platform": "marketing",
"categories": ["ads"]
},
"status": "active",
"created_at": "2023-04-11T08:59:18Z"
}
]
}
Create New Destination
Add a new destination to your Segment workspace.
Parameters:
name
(required) - Destination name
slug
(required) - Destination slug identifier
platform
(required) - Platform type (web, mobile, server)
categories
(required) - Array of categories (analytics, marketing, crm, ads)
Example:
/your-segment-connection
action: create
entity: destination
name: New Destination
slug: new_destination
platform: server
categories: ["crm"]
Response:
{
"id": "destination_789",
"name": "New Destination",
"slug": "new_destination",
"metadata": {
"platform": "server",
"categories": ["crm"]
},
"status": "active",
"created_at": "2025-01-12T12:00:00Z"
}
Get Destination by ID
Retrieve details of a specific destination using its unique ID.
Parameters:
destination_id
(required) - Destination ID to retrieve
Example:
/your-segment-connection
action: get
entity: destination
destination_id: destination_123
Response:
{
"id": "destination_123",
"name": "Google Analytics",
"slug": "google_analytics",
"metadata": {
"platform": "web",
"categories": ["analytics"]
},
"status": "active",
"created_at": "2023-04-10T10:30:00Z",
"updated_at": "2023-04-11T08:59:18Z"
}
Update Destination
Update the configuration of an existing destination.
Parameters:
destination_id
(required) - Destination ID to update
name
(optional) - New destination name
platform
(optional) - Updated platform type
categories
(optional) - Updated categories array
Example:
/your-segment-connection
action: update
entity: destination
destination_id: destination_123
name: Updated Destination Name
platform: marketing
categories: ["ads", "analytics"]
Response:
{
"id": "destination_123",
"name": "Updated Destination Name",
"slug": "google_analytics",
"metadata": {
"platform": "marketing",
"categories": ["ads", "analytics"]
},
"status": "active",
"updated_at": "2025-01-12T12:00:00Z"
}
Delete Destination
Remove a destination from your Segment workspace.
Parameters:
destination_id
(required) - Destination ID to delete
Example:
/your-segment-connection
action: delete
entity: destination
destination_id: destination_123
Response:
{
"status": 204,
"message": "Destination deleted successfully."
}
Notes
Warehouse types include redshift, bigquery, and snowflake with specific connection parameters for each. Platform types include web, mobile, and server for different data sources. Categories help organize entities by purpose: analytics, marketing, crm, and ads. All entities support full CRUD operations. Uses Paragon proxy connection. Status indicates active or inactive state. Slugs provide URL-friendly identifiers. Connection configurations vary by warehouse type. Metadata includes platform and category information for organization. Deletion returns HTTP 204 status code. All timestamps use ISO 8601 format.