> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to Segment

The Segment connector lets your AI agent act in each user's Segment account. Each user connects their own Segment access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 104 tools.

**Authentication:** Bearer Token
**Categories:** Analytics, Marketing
**Tools:** 104: 60 read, 30 write, 14 destructive
**Users sign in with:** Access token
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=SEGMENT)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the Segment connection

   In **AgentKit > Connections**, create a Segment connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'segment'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize Segment:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'segment_audit_events_list',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "segment"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize Segment:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="segment_audit_events_list",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user opens the link once and enters their Segment credentials there. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'segment_audience_get',
  toolInput: {
    audience_id: '<audience_id>',
    space_id: '<space_id>',
  },
  connector: 'segment',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="segment_audience_get",
    tool_input={
        "audience_id": "<audience_id>",
        "space_id": "<space_id>",
    },
    connection_name="segment",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `segment_audience_get`

Get Audience · Read-only

Get one Audience in an Engage Space.
Returns the Audience's name, key, description, definition, options, enabled flag and status.
Use it for a known audience id. Use segment_audiences_list to find ids.
Requires Engage with the Audiences feature; get space_id from segment_spaces_list.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `audience_id` (`string`, required): ID of the Audience. Get it from segment_audiences_list. Example: aud_0ujsszwN8NRY24YaXiTIE2VWDTS.
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `include` (`string`, optional): Set to schedules to include the Audience's run schedules in the response. Example: schedules. One of: `schedules`.

Example input: `{"audience_id":"<audience_id>","space_id":"<space_id>"}`

### `segment_audiences_list`

List Audiences · Read-only

List the Audiences in an Engage Space, optionally searched by name, key or definition.
Returns each Audience's id, name, key, definition, enabled flag and status, plus a pagination cursor.
Use segment_audiences_list to browse or search. Use segment_audience_get for one Audience.
Requires Engage with the Audiences feature; get space_id from segment_spaces_list. Rate limit: 60 requests per minute.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `include` (`string`, optional): Set to schedules to include each Audience's run schedules in the response. Example: schedules. One of: `schedules`.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.
- `search_query` (`string`, optional): Text to search for in the field chosen by search_type. Example: purchasers.
- `search_type` (`string`, optional): Field to search on: NAME, KEY or DEFINITION. Use together with search_query. Example: DEFINITION. One of: `DEFINITION`, `KEY`, `NAME`.

Example input: `{"space_id":"<space_id>"}`

### `segment_audit_events_list`

List Audit Events · Read-only

List Audit Trail events for the workspace, newest first.
Returns each event's id, type, timestamp, actor and affected resource, plus a pagination cursor.
Use it to see who changed what, optionally filtered by time window or resource.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end_time` (`string`, optional): Only return events before this time (ISO 8601). Defaults to now, or to the end time carried in the pagination cursor. Example: 2026-10-14T00:00:00Z.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.
- `resource_id` (`string`, optional): Only return events that affect this resource, for example one Source's id. Example: 9aQ1Lj62S4bomZKLF4DPqW.
- `resource_type` (`string`, optional): Only return events that affect this resource type, for example Source, Warehouse or Tracking Plan. Example: Source.
- `start_time` (`string`, optional): Only return events after this time (ISO 8601). Example: 2026-10-01T00:00:00Z.

Example input: `{}`

### `segment_catalog_destination_get`

Get Destination Metadata · Read-only

Get one Destination type from Segment's catalog.
Returns its name, slug, settings (required and advanced), supported methods and Actions definitions.
Use it to see the settings segment_destination_create needs and the action ids subscriptions use.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_metadata_id` (`string`, required): ID of the Destination catalog entry. Get it from segment_catalog_destinations_list. Example: 54521fd525e721e32a72ee91.

Example input: `{"destination_metadata_id":"<destination_metadata_id>"}`

### `segment_catalog_destinations_list`

Get Destinations Catalog · Read-only

List the Destination types available in Segment's catalog.
Returns each catalog entry's id, name, slug, categories, supported methods and settings, plus a pagination cursor.
Use it to find a metadata_id for segment_destination_create. Use segment_catalog_destination_get for one entry.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_catalog_source_get`

Get Source Metadata · Read-only

Get one Source type from Segment's catalog.
Returns its name, slug, categories, logos and the settings options it accepts.
Use it to see what settings segment_source_create needs for that type.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_metadata_id` (`string`, required): ID of the Source catalog entry. Get it from segment_catalog_sources_list. Example: 1bow82lmk.

Example input: `{"source_metadata_id":"<source_metadata_id>"}`

### `segment_catalog_sources_list`

Get Sources Catalog · Read-only

List the Source types available in Segment's catalog.
Returns each catalog entry's id, name, slug, categories and settings options, plus a pagination cursor.
Use it to find a metadata_id for segment_source_create. Use segment_catalog_source_get for one entry.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_catalog_warehouse_get`

Get Warehouse Metadata · Read-only

Get one Warehouse type from Segment's catalog.
Returns its name, slug, logos and the settings options a Warehouse of that type accepts.
Use it to see the settings segment_warehouse_update expects.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `warehouse_metadata_id` (`string`, required): ID of the Warehouse catalog entry. Get it from segment_catalog_warehouses_list. Example: 55d3d3aea3c.

Example input: `{"warehouse_metadata_id":"<warehouse_metadata_id>"}`

### `segment_catalog_warehouses_list`

Get Warehouses Catalog · Read-only

List the Warehouse types available in Segment's catalog.
Returns each catalog entry's id, name, slug and settings options, plus a pagination cursor.
Use it to find a Warehouse metadata id. Use segment_catalog_warehouse_get for one entry.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_computed_trait_get`

Get Computed Trait · Read-only

Get one Computed Trait in an Engage Space.
Returns the trait's name, key, description, definition, enabled flag and status.
Use it for a known trait id. Use segment_computed_traits_list to find ids.
Requires Engage with the Computed Traits feature (Alpha endpoint); get space_id from segment_spaces_list.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `computed_trait_id` (`string`, required): ID of the Computed Trait. Get it from segment_computed_traits_list. Example: ct_2V5n7XRhfn7zR1LvKwP9Ns.
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.

Example input: `{"computed_trait_id":"<computed_trait_id>","space_id":"<space_id>"}`

### `segment_computed_traits_list`

List Computed Traits · Read-only

List the Computed Traits in an Engage Space.
Returns each trait's id, name, key, definition, enabled flag and status, plus a pagination cursor.
Use it to browse traits. Use segment_computed_trait_get for one trait.
Requires Engage with the Computed Traits feature (Alpha endpoint); get space_id from segment_spaces_list. Rate limit: 25 requests per minute.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"space_id":"<space_id>"}`

### `segment_delivery_overview_failed_delivery_get`

Get Egress Failed Metrics from Delivery Overview · Read-only

Get Delivery Overview counts of events that failed to deliver to one Destination.
Returns event counts per time bucket, optionally grouped by event, type, discard reason, subscription or app version.
Use it to diagnose delivery failures. Use segment_delivery_overview_successful_delivery_get for delivered events.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_config_id` (`string`, required): ID of the Destination instance to report on. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `end_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the end of the requested time frame, noninclusive. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, required): Bucket size: MINUTE (window up to 4 hours, starting within the last 48 hours), HOUR (window up to 14 days, starting within the last 30 days) or DAY (window up to 30 days, starting within the last 30 days). Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `start_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the beginning of the requested time frame, inclusive. Example: 2026-10-01T00:00:00Z.
- `filter_activation_id` (`string`, optional): Only include results whose activation ID matches. Pass one value, or several separated by commas. Example: ee_123.
- `filter_app_version` (`string`, optional): Only include results whose app version matches. Pass one value, or several separated by commas. Example: 1.4.0.
- `filter_audience_id` (`string`, optional): Only include results whose audience ID matches. Pass one value, or several separated by commas. Example: aud_0ujsszwN8NRY24YaXiTIE2VWDTS.
- `filter_discard_reason` (`string`, optional): Only include results whose discard reason matches. Pass one value, or several separated by commas. Use a value returned by a previous call grouped by discardReason. Example: discard1.
- `filter_event_name` (`string`, optional): Only include results whose event name matches. Pass one value, or several separated by commas. Example: Order Completed.
- `filter_event_type` (`string`, optional): Only include results whose event type matches. Pass one value, or several separated by commas. Example: track.
- `filter_space_id` (`string`, optional): Only include results whose space ID matches. Pass one value, or several separated by commas. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `filter_subscription_id` (`string`, optional): Only include results whose subscription ID matches. Pass one value, or several separated by commas. Example: kyMKN6LUgMvF8dwRMEz3cX.
- `group_by` (`string`, optional): Dimension to group the results by: eventName, eventType, discardReason, appVersion, subscriptionId, activationId, audienceId, spaceId. One dimension per call. Example: eventName.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"destination_config_id":"<destination_config_id>","end_time":"<end_time>","granularity":"DAY","source_id":"<source_id>","start_time":"<start_time>"}`

### `segment_delivery_overview_failed_on_ingest_get`

Get Ingress Failed Metrics from Delivery Overview · Read-only

Get Delivery Overview counts of events from a Source that failed on ingest.
Returns event counts per time bucket, optionally grouped by event, type, discard reason or app version.
Use it to find events Segment rejected. Use segment_delivery_overview_successfully_received_get for accepted events.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the end of the requested time frame, noninclusive. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, required): Bucket size: MINUTE (window up to 4 hours, starting within the last 48 hours), HOUR (window up to 14 days, starting within the last 30 days) or DAY (window up to 30 days, starting within the last 30 days). Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `start_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the beginning of the requested time frame, inclusive. Example: 2026-10-01T00:00:00Z.
- `filter_app_version` (`string`, optional): Only include results whose app version matches. Pass one value, or several separated by commas. Example: 1.4.0.
- `filter_discard_reason` (`string`, optional): Only include results whose discard reason matches. Pass one value, or several separated by commas. Use a value returned by a previous call grouped by discardReason. Example: discard1.
- `filter_event_name` (`string`, optional): Only include results whose event name matches. Pass one value, or several separated by commas. Example: Order Completed.
- `filter_event_type` (`string`, optional): Only include results whose event type matches. Pass one value, or several separated by commas. Example: track.
- `group_by` (`string`, optional): Dimension to group the results by: eventName, eventType, discardReason, appVersion. One dimension per call. Example: eventName.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"end_time":"<end_time>","granularity":"DAY","source_id":"<source_id>","start_time":"<start_time>"}`

### `segment_delivery_overview_filtered_at_destination_get`

Get Filtered At Destination Metrics from Delivery Overview · Read-only

Get Delivery Overview counts of events filtered before reaching one Destination.
Returns event counts per time bucket, optionally grouped by event, type, discard reason, subscription or app version.
Use it for destination filters and mappings. Use segment_delivery_overview_filtered_at_source_get for source-side drops.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_config_id` (`string`, required): ID of the Destination instance to report on. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `end_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the end of the requested time frame, noninclusive. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, required): Bucket size: MINUTE (window up to 4 hours, starting within the last 48 hours), HOUR (window up to 14 days, starting within the last 30 days) or DAY (window up to 30 days, starting within the last 30 days). Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `start_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the beginning of the requested time frame, inclusive. Example: 2026-10-01T00:00:00Z.
- `filter_activation_id` (`string`, optional): Only include results whose activation ID matches. Pass one value, or several separated by commas. Example: ee_123.
- `filter_app_version` (`string`, optional): Only include results whose app version matches. Pass one value, or several separated by commas. Example: 1.4.0.
- `filter_audience_id` (`string`, optional): Only include results whose audience ID matches. Pass one value, or several separated by commas. Example: aud_0ujsszwN8NRY24YaXiTIE2VWDTS.
- `filter_discard_reason` (`string`, optional): Only include results whose discard reason matches. Pass one value, or several separated by commas. Use a value returned by a previous call grouped by discardReason. Example: discard1.
- `filter_event_name` (`string`, optional): Only include results whose event name matches. Pass one value, or several separated by commas. Example: Order Completed.
- `filter_event_type` (`string`, optional): Only include results whose event type matches. Pass one value, or several separated by commas. Example: track.
- `filter_space_id` (`string`, optional): Only include results whose space ID matches. Pass one value, or several separated by commas. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `filter_subscription_id` (`string`, optional): Only include results whose subscription ID matches. Pass one value, or several separated by commas. Example: kyMKN6LUgMvF8dwRMEz3cX.
- `group_by` (`string`, optional): Dimension to group the results by: eventName, eventType, discardReason, appVersion, subscriptionId, activationId, audienceId, spaceId. One dimension per call. Example: eventName.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"destination_config_id":"<destination_config_id>","end_time":"<end_time>","granularity":"DAY","source_id":"<source_id>","start_time":"<start_time>"}`

### `segment_delivery_overview_filtered_at_source_get`

Get Filtered At Source Metrics from Delivery Overview · Read-only

Get Delivery Overview counts of events dropped at the Source (schema or Protocols filters).
Returns event counts per time bucket, optionally grouped by event, type, discard reason or app version.
Use it for source-side filtering. Use segment_delivery_overview_filtered_at_destination_get for destination filters.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the end of the requested time frame, noninclusive. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, required): Bucket size: MINUTE (window up to 4 hours, starting within the last 48 hours), HOUR (window up to 14 days, starting within the last 30 days) or DAY (window up to 30 days, starting within the last 30 days). Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `start_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the beginning of the requested time frame, inclusive. Example: 2026-10-01T00:00:00Z.
- `filter_app_version` (`string`, optional): Only include results whose app version matches. Pass one value, or several separated by commas. Example: 1.4.0.
- `filter_discard_reason` (`string`, optional): Only include results whose discard reason matches. Pass one value, or several separated by commas. Use a value returned by a previous call grouped by discardReason. Example: discard1.
- `filter_event_name` (`string`, optional): Only include results whose event name matches. Pass one value, or several separated by commas. Example: Order Completed.
- `filter_event_type` (`string`, optional): Only include results whose event type matches. Pass one value, or several separated by commas. Example: track.
- `group_by` (`string`, optional): Dimension to group the results by: eventName, eventType, discardReason, appVersion. One dimension per call. Example: eventName.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"end_time":"<end_time>","granularity":"DAY","source_id":"<source_id>","start_time":"<start_time>"}`

### `segment_delivery_overview_successful_delivery_get`

Get Egress Success Metrics from Delivery Overview · Read-only

Get Delivery Overview counts of events successfully delivered to one Destination.
Returns event counts per time bucket, optionally grouped by event, type, subscription or app version.
Use it to confirm delivery. Use segment_delivery_overview_failed_delivery_get for failures.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_config_id` (`string`, required): ID of the Destination instance to report on. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `end_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the end of the requested time frame, noninclusive. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, required): Bucket size: MINUTE (window up to 4 hours, starting within the last 48 hours), HOUR (window up to 14 days, starting within the last 30 days) or DAY (window up to 30 days, starting within the last 30 days). Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `start_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the beginning of the requested time frame, inclusive. Example: 2026-10-01T00:00:00Z.
- `filter_activation_id` (`string`, optional): Only include results whose activation ID matches. Pass one value, or several separated by commas. Example: ee_123.
- `filter_app_version` (`string`, optional): Only include results whose app version matches. Pass one value, or several separated by commas. Example: 1.4.0.
- `filter_audience_id` (`string`, optional): Only include results whose audience ID matches. Pass one value, or several separated by commas. Example: aud_0ujsszwN8NRY24YaXiTIE2VWDTS.
- `filter_discard_reason` (`string`, optional): Only include results whose discard reason matches. Pass one value, or several separated by commas. Use a value returned by a previous call grouped by discardReason. Example: discard1.
- `filter_event_name` (`string`, optional): Only include results whose event name matches. Pass one value, or several separated by commas. Example: Order Completed.
- `filter_event_type` (`string`, optional): Only include results whose event type matches. Pass one value, or several separated by commas. Example: track.
- `filter_space_id` (`string`, optional): Only include results whose space ID matches. Pass one value, or several separated by commas. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `filter_subscription_id` (`string`, optional): Only include results whose subscription ID matches. Pass one value, or several separated by commas. Example: kyMKN6LUgMvF8dwRMEz3cX.
- `group_by` (`string`, optional): Dimension to group the results by: eventName, eventType, discardReason, appVersion, subscriptionId, activationId, audienceId, spaceId. One dimension per call. Example: eventName.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"destination_config_id":"<destination_config_id>","end_time":"<end_time>","granularity":"DAY","source_id":"<source_id>","start_time":"<start_time>"}`

### `segment_delivery_overview_successfully_received_get`

Get Ingress Success Metrics from Delivery Overview · Read-only

Get Delivery Overview counts of events Segment successfully received from a Source.
Returns event counts per time bucket, optionally grouped by event name, event type or app version.
Use it for the ingest stage. Use segment_delivery_overview_failed_on_ingest_get for events rejected at ingest.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the end of the requested time frame, noninclusive. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, required): Bucket size: MINUTE (window up to 4 hours, starting within the last 48 hours), HOUR (window up to 14 days, starting within the last 30 days) or DAY (window up to 30 days, starting within the last 30 days). Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `start_time` (`string`, required): The ISO8601 formatted timestamp corresponding to the beginning of the requested time frame, inclusive. Example: 2026-10-01T00:00:00Z.
- `filter_app_version` (`string`, optional): Only include results whose app version matches. Pass one value, or several separated by commas. Example: 1.4.0.
- `filter_event_name` (`string`, optional): Only include results whose event name matches. Pass one value, or several separated by commas. Example: Order Completed.
- `filter_event_type` (`string`, optional): Only include results whose event type matches. Pass one value, or several separated by commas. Example: track.
- `group_by` (`string`, optional): Dimension to group the results by: eventName, eventType, appVersion. One dimension per call. Example: eventName.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"end_time":"<end_time>","granularity":"DAY","source_id":"<source_id>","start_time":"<start_time>"}`

### `segment_destination_delivery_metrics_get`

List Delivery Metrics Summary from Destination · Read-only

Get an event delivery metrics summary for a Destination and one of its Sources.
Returns delivered, discarded and retried counts, latency and error breakdowns over the window.
Use this for one Destination's delivery health. Use the delivery_overview tools for pipeline-stage counts.
Time range limits: MINUTE up to 4 hours, HOUR up to 7 days, DAY up to 14 days.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `source_id` (`string`, required): ID of the Source connected to this Destination; delivery metrics are reported per Source-Destination pair. Get it from segment_source_connected_destinations_list or the Destination's source_id. Example: qQEHquLrjRDN9j1ByrChyn.
- `end_time` (`string`, optional): End of the window (ISO 8601). Defaults to now. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, optional): Bucket size: MINUTE (window up to 4 hours, within the last 48 hours), HOUR (up to 7 days, within the last 7 days) or DAY (up to 14 days, within the last 14 days). Defaults to MINUTE. Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `start_time` (`string`, optional): Start of the window (ISO 8601). Defaults to 1 hour ago for MINUTE, 7 days ago for HOUR and 30 days ago for DAY granularity. Example: 2026-10-01T00:00:00Z.

Example input: `{"destination_id":"<destination_id>","source_id":"<source_id>"}`

### `segment_destination_filter_get`

Get Filter in Destination · Read-only

Get one Destination filter by id.
Returns the filter's title, description, if condition, actions and enabled flag.
Use it for a known filter id. Use segment_destination_filters_list to find ids.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `filter_id` (`string`, required): ID of the Destination filter. Get it from segment_destination_filters_list. Example: xx6AySGeFExzdv2Gw2EuhV.

Example input: `{"destination_id":"<destination_id>","filter_id":"<filter_id>"}`

### `segment_destination_filters_list`

List Filters from Destination · Read-only

List the filters on a Destination.
Returns each filter's id, title, if condition, actions, enabled flag and source_id, plus a pagination cursor.
Use it to browse filters. Use segment_destination_filter_get for one filter.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"destination_id":"<destination_id>"}`

### `segment_destination_get`

Get Destination · Read-only

Get one Destination by id.
Returns the Destination's name, enabled flag, source_id, catalog metadata and settings.
Use segment_destination_get for a known id. Use segment_destinations_list to find ids.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.

Example input: `{"destination_id":"<destination_id>"}`

### `segment_destination_subscription_get`

Get Subscription from Destination · Read-only

Get one Actions subscription (mapping) on a Destination.
Returns the subscription's name, action_id, trigger, enabled flag and settings.
Use it for a known subscription id. Use segment_destination_subscriptions_list to find ids.
Alpha endpoint; requires the Destination Subscriptions feature (Actions destinations).

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `subscription_id` (`string`, required): ID of the Destination subscription (mapping). Get it from segment_destination_subscriptions_list. Example: kyMKN6LUgMvF8dwRMEz3cX.

Example input: `{"destination_id":"<destination_id>","subscription_id":"<subscription_id>"}`

### `segment_destination_subscriptions_list`

List Subscriptions from Destination · Read-only

List the Actions subscriptions (mappings) on a Destination.
Returns each subscription's id, name, action_id, trigger, enabled flag and settings, plus a pagination cursor.
Use it to browse mappings. Use segment_destination_subscription_get for one subscription.
Alpha endpoint; requires the Destination Subscriptions feature (Actions destinations).

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"destination_id":"<destination_id>"}`

### `segment_destinations_list`

List Destinations · Read-only

List the Destinations in the workspace, one page at a time.
Returns each Destination's id, name, enabled flag, source_id, metadata and settings, plus a pagination cursor.
Use segment_destinations_list to browse or find a destination_id. Use segment_source_connected_destinations_list for one Source.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_events_volume_get`

Get Events Volume from Workspace · Read-only

Get event volume for the workspace over a time window, bucketed by minute, hour or day.
Returns event counts per bucket, optionally grouped by event name, event type or source.
Use segment_events_volume_get for raw event volume. Use the usage tools for billing-period API call and MTU counts.
Rate limit: 60 requests per minute.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `end_time` (`string`, required): End of the window (ISO 8601), exclusive. Segment recommends ending at least 1 minute before the current time. Example: 2026-10-02T00:00:00Z.
- `granularity` (`string`, required): Size of each bucket: MINUTE, HOUR or DAY. Example: DAY. One of: `DAY`, `HOUR`, `MINUTE`.
- `start_time` (`string`, required): Start of the window (ISO 8601), inclusive. Example: 2026-10-01T00:00:00Z.
- `app_version` (`string`, optional): Only count events from this app version. One version per call. Example: 1.4.0.
- `event_name` (`string`, optional): Only count events with this event name. One name per call. Example: Order Completed.
- `event_type` (`string`, optional): Only count events of this type, for example track, identify, page, screen, group or alias. One type per call. Example: track.
- `group_by` (`string`, optional): Dimension to group the results by. The options are: eventName, eventType and source. One dimension per call. Example: eventName.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Leave it out to use Segment's default page size. Example: 50.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.
- `source_id` (`string`, optional): Only count events from this Source. One Source ID per call; get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"end_time":"<end_time>","granularity":"DAY","start_time":"<start_time>"}`

### `segment_function_get`

Get Function · Read-only

Get one Function by id.
Returns its display name, type, code, settings and deployment details.
Use it for a known function id. Use segment_functions_list to find ids.
Requires the Functions feature.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `function_id` (`string`, required): ID of the Function. Get it from segment_functions_list. Example: sfnc_wXzcDGFR3KmjLDrtSawNHf.

Example input: `{"function_id":"<function_id>"}`

### `segment_functions_list`

List Functions · Read-only

List the Functions of one type in the workspace.
Returns each Function's id, display name, type, description and deployment details, plus a pagination cursor.
Use segment_functions_list to browse. Use segment_function_get for one Function's code and settings.
Requires the Functions feature.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `resource_type` (`string`, required): Function type to list: SOURCE, DESTINATION, INSERT_SOURCE, INSERT_DESTINATION or INSERT_TRANSFORMATION. Example: SOURCE. One of: `DESTINATION`, `INSERT_DESTINATION`, `INSERT_SOURCE`, `INSERT_TRANSFORMATION`, `SOURCE`.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"resource_type":"DESTINATION"}`

### `segment_labels_list`

List Labels · Read-only

List every label defined in the workspace.
Returns each label's key, value and description.
Use segment_labels_list to see which labels exist before adding them to Sources.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `segment_regulation_get`

Get Regulation · Read-only

Get one deletion or suppression request (regulation) by id.
Returns its type, status, subject and per-destination progress.
Use it to check the progress of a known regulation id.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `regulation_id` (`string`, required): ID of the regulation (deletion or suppression request). Get it from segment_regulations_list. Example: 1qJkfE1tpwvQcklImGksLN629wn.

Example input: `{"regulation_id":"<regulation_id>"}`

### `segment_regulations_list`

List Workspace Regulations · Read-only

List the workspace's deletion and suppression requests (regulations) from the past 90 days.
Returns each regulation's id, type, status, subject and timestamps, plus a pagination cursor.
Use segment_regulations_list for workspace-scoped requests. Use segment_source_regulations_list for one Source.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.
- `regulation_types` (`string`, optional): Only return regulations of this type. Example: DELETE_INTERNAL. One of: `DELETE_INTERNAL`, `DELETE_ONLY`, `SUPPRESS_ONLY`, `SUPPRESS_WITH_DELETE`, `SUPPRESS_WITH_DELETE_INTERNAL`, `UNSUPPRESS`.
- `status` (`string`, optional): The status on which to filter the returned regulations. Example: FAILED. One of: `FAILED`, `FINISHED`, `INITIALIZED`, `INVALID`, `NOT_SUPPORTED`, `PARTIAL_SUCCESS`, `RUNNING`.

Example input: `{}`

### `segment_reverse_etl_model_get`

Get Reverse Etl Model · Read-only

Get one Reverse ETL Model by id.
Returns its name, description, source_id, SQL query, identifier column and enabled flag.
Use it for a known model_id. Use segment_reverse_etl_models_list to find ids.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `model_id` (`string`, required): ID of the Reverse ETL Model. Get it from segment_reverse_etl_models_list. Example: jSAVzDH3z89geNDZwoNY9V.

Example input: `{"model_id":"<model_id>"}`

### `segment_reverse_etl_models_list`

List Reverse Etl Models · Read-only

List the Reverse ETL Models in the workspace.
Returns each Model's id, name, source_id, SQL query, identifier column and enabled flag, plus a pagination cursor.
Use it to find a model_id. Use segment_reverse_etl_model_get for one Model.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_reverse_etl_sync_get`

Get Reverse ETL Sync Status · Read-only

Get the status of one Reverse ETL sync.
Returns the sync's status, duration, and extract and load phase details.
Use it to poll a sync started with segment_reverse_etl_sync_trigger. Use segment_reverse_etl_syncs_list for history.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `model_id` (`string`, required): ID of the Reverse ETL Model. Get it from segment_reverse_etl_models_list. Example: jSAVzDH3z89geNDZwoNY9V.
- `sync_id` (`string`, required): ID of the Reverse ETL sync, as returned by segment_reverse_etl_sync_trigger or segment_reverse_etl_syncs_list. Example: 1.

Example input: `{"model_id":"<model_id>","sync_id":"<sync_id>"}`

### `segment_reverse_etl_syncs_list`

List Reverse ETL Sync Statuses from Model And Subscription Id · Read-only

List recent syncs for one Reverse ETL mapping (subscription) on a Model.
Returns each sync's id, status, timing and phase details, plus a pagination cursor.
Use it for sync history. Use segment_reverse_etl_sync_get for one sync.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `model_id` (`string`, required): ID of the Reverse ETL Model. Get it from segment_reverse_etl_models_list. Example: jSAVzDH3z89geNDZwoNY9V.
- `subscription_id` (`string`, required): ID of the Reverse ETL mapping (subscription): the number after /mappings/ in the sync's Segment app URL. Example: 2.
- `count` (`integer`, optional): Number of syncs per page, between 1 and 100. Defaults to 10. Example: 10.
- `cursor` (`string`, optional): Page cursor from a previous response's pagination (current, next or previous). Leave it out for the first page. Example: MA==.

Example input: `{"model_id":"<model_id>","subscription_id":"<subscription_id>"}`

### `segment_source_connected_destinations_list`

List Connected Destinations from Source · Read-only

List the Destinations connected to one Source.
Returns each Destination's id, name, enabled flag, metadata and settings, plus a pagination cursor.
Use this for one Source's destinations. Use segment_destinations_list for every Destination in the workspace.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"source_id":"<source_id>"}`

### `segment_source_connected_warehouses_list`

List Connected Warehouses from Source · Read-only

List the Warehouses connected to one Source.
Returns each Warehouse's id, name, enabled flag and metadata, plus a pagination cursor.
Use this for one Source's warehouses. Use segment_warehouses_list for every Warehouse in the workspace.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"source_id":"<source_id>"}`

### `segment_source_get`

Get Source · Read-only

Get one Source by id.
Returns the Source's name, slug, enabled flag, write keys, settings, catalog metadata and labels.
Use segment_source_get for a known id. Use segment_sources_list to find ids.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"source_id":"<source_id>"}`

### `segment_source_regulations_list`

List Regulations from Source · Read-only

List the deletion and suppression requests (regulations) for one Source from the past 90 days.
Returns each regulation's id, type, status, subject and timestamps, plus a pagination cursor.
Use it for one Source. Use segment_regulations_list for workspace-scoped requests.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.
- `regulation_types` (`string`, optional): Only return regulations of this type. Example: DELETE_ARCHIVE_ONLY. One of: `DELETE_ARCHIVE_ONLY`, `DELETE_INTERNAL`, `DELETE_ONLY`, `SUPPRESS_ONLY`, `SUPPRESS_WITH_DELETE`, `SUPPRESS_WITH_DELETE_INTERNAL`, `UNSUPPRESS`.
- `status` (`string`, optional): The status on which to filter returned regulations. Example: FAILED. One of: `FAILED`, `FINISHED`, `INITIALIZED`, `INVALID`, `NOT_SUPPORTED`, `PARTIAL_SUCCESS`, `RUNNING`.

Example input: `{"source_id":"<source_id>"}`

### `segment_source_schema_settings_get`

List Schema Settings in Source · Read-only

Get the schema (Protocols) settings for a Source.
Returns the track, identify and group violation settings and any forwarding Source ids.
Use it before segment_source_schema_settings_update to see current values.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"source_id":"<source_id>"}`

### `segment_sources_list`

List Sources · Read-only

List the Sources in the workspace, one page at a time.
Returns each Source's id, name, slug, enabled flag, write keys, metadata and labels, plus a pagination cursor.
Use segment_sources_list to browse or find a source_id. Use segment_source_get when you already have the id.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_space_get`

Get Space · Read-only

Get one Engage (Unify) Space by id.
Returns the Space's id, name and slug.
Use it for a known space_id. Use segment_spaces_list to find ids.
Alpha endpoint; requires the Spaces feature.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.

Example input: `{"space_id":"<space_id>"}`

### `segment_spaces_list`

List Spaces · Read-only

List the Engage (Unify) Spaces in the workspace.
Returns each Space's id, name and slug, plus a pagination cursor.
Use segment_spaces_list to find the space_id the audience and computed trait tools need.
Alpha endpoint; requires the Spaces feature.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_suppressions_list`

List Suppressions · Read-only

List the users currently suppressed in the workspace.
Returns each suppression's subject type, subject values and timestamps, plus a pagination cursor.
Use it to check whether a user id is suppressed from data collection.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_tracking_plan_get`

Get Tracking Plan · Read-only

Get one Tracking Plan by id.
Returns the plan's name, slug, description, type and timestamps (not its rules).
Use segment_tracking_plan_get for plan metadata. Use segment_tracking_plan_rules_list for its event rules.
Requires the Protocols feature on the workspace.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.

Example input: `{"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plan_rules_list`

List Rules from Tracking Plan · Read-only

List the rules (event and trait JSON schemas) in a Tracking Plan.
Returns each rule's key, type, version, JSON schema and timestamps, plus a pagination cursor.
Use it to read a plan's rules before changing them.
Requires the Protocols feature on the workspace. Rate limit: 200 requests per minute.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plan_sources_list`

List Sources from Tracking Plan · Read-only

List the Sources connected to a Tracking Plan.
Returns each Source's id, name, slug and enabled flag, plus a pagination cursor.
Use it to see where a plan is enforced.
Requires the Protocols feature on the workspace.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plans_list`

List Tracking Plans · Read-only

List the Tracking Plans in the workspace, optionally by type.
Returns each plan's id, name, slug, description, type and timestamps, plus a pagination cursor.
Use segment_tracking_plans_list to find a tracking_plan_id. Use segment_tracking_plan_get for one plan.
Requires the Protocols feature on the workspace.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.
- `type` (`string`, optional): Only list Tracking Plans of this type. Leave it out to list every type. Example: LIVE. One of: `ENGAGE`, `LIVE`, `PROPERTY_LIBRARY`, `RULE_LIBRARY`, `TEMPLATE`.

Example input: `{}`

### `segment_transformation_get`

Get Transformation · Read-only

Get one Transformation by id.
Returns its name, source_id, destination_metadata_id, if condition, enabled flag and rename/value/hash rules.
Use it for a known id. Use segment_transformations_list to find ids.
Requires the Protocols feature on the workspace.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `transformation_id` (`string`, required): ID of the Transformation. Get it from segment_transformations_list. Example: pHrD51Ds35Zjfka84yXQE6.

Example input: `{"transformation_id":"<transformation_id>"}`

### `segment_transformations_list`

List Transformations · Read-only

List the Transformations in the workspace.
Returns each Transformation's id, name, source_id, if condition, enabled flag and rules, plus a pagination cursor.
Use it to browse. Use segment_transformation_get for one Transformation.
Requires the Protocols feature on the workspace.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_usage_api_calls_by_source_daily_get`

Get Daily Per Source API Calls Usage · Read-only

Get daily cumulative API call counts per Source in one usage month.
Returns one entry per Source per day with the running API call total.
Use it for a per-Source split. Use segment_usage_api_calls_daily_get for workspace totals.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `period` (`string`, required): Start of the usage month as an ISO 8601 date (the first day of the month), for example 2026-10-01. Example: 2026-10-01.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Leave it out to use Segment's default page size. Example: 50.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"period":"<period>"}`

### `segment_usage_api_calls_daily_get`

Get Daily Workspace API Calls Usage · Read-only

Get daily cumulative API call counts for the workspace in one usage month.
Returns one entry per day with the running API call total.
Use it for the whole workspace. Use segment_usage_api_calls_by_source_daily_get for a per-Source split.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `period` (`string`, required): Start of the usage month as an ISO 8601 date (the first day of the month), for example 2026-10-01. Example: 2026-10-01.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Leave it out to use Segment's default page size. Example: 50.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"period":"<period>"}`

### `segment_usage_mtu_by_source_daily_get`

Get Daily Per Source MTU Usage · Read-only

Get daily cumulative Monthly Tracked Users (MTU) counts per Source in one usage month.
Returns one entry per Source per day with MTU counts.
Use it for a per-Source split. Use segment_usage_mtu_daily_get for workspace totals.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `period` (`string`, required): Start of the usage month as an ISO 8601 date (the first day of the month), for example 2026-10-01. Example: 2026-10-01.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Leave it out to use Segment's default page size. Example: 50.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"period":"<period>"}`

### `segment_usage_mtu_daily_get`

Get Daily Workspace MTU Usage · Read-only

Get daily cumulative Monthly Tracked Users (MTU) counts for the workspace in one usage month.
Returns one entry per day with anonymous, identified and total MTU counts.
Use it for workspace totals. Use segment_usage_mtu_by_source_daily_get for a per-Source split.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `period` (`string`, required): Start of the usage month as an ISO 8601 date (the first day of the month), for example 2026-10-01. Example: 2026-10-01.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Leave it out to use Segment's default page size. Example: 50.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"period":"<period>"}`

### `segment_warehouse_connected_sources_list`

List Connected Sources from Warehouse · Read-only

List the Sources connected to a Warehouse.
Returns each Source's id, name, slug and enabled flag, plus a pagination cursor.
Use it for one Warehouse's sources. Use segment_sources_list for every Source.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"warehouse_id":"<warehouse_id>"}`

### `segment_warehouse_connection_state_get`

Get Connection State from Warehouse · Read-only

Check whether a Warehouse's connection settings work.
Returns the connection state and any error Segment reported.
Use it to troubleshoot a Warehouse that isn't syncing. Rate limit: 200 requests per minute.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.

Example input: `{"warehouse_id":"<warehouse_id>"}`

### `segment_warehouse_get`

Get Warehouse · Read-only

Get one Warehouse by id.
Returns the Warehouse's name, enabled flag, catalog metadata and settings.
Use segment_warehouse_get for a known id. Use segment_warehouses_list to find ids.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.

Example input: `{"warehouse_id":"<warehouse_id>"}`

### `segment_warehouse_source_syncs_list`

List Syncs from Warehouse And Source · Read-only

List recent sync runs for one Source connected to a Warehouse.
Returns each sync's status, timing and row counts, plus a pagination cursor.
Use segment_warehouse_source_syncs_list for one Source. Use segment_warehouse_syncs_list for every Source.
Rate limit: 2 requests per minute.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"source_id":"<source_id>","warehouse_id":"<warehouse_id>"}`

### `segment_warehouse_syncs_list`

List Syncs from Warehouse · Read-only

List recent sync runs for every Source connected to a Warehouse.
Returns each sync's status, timing, source and row counts, plus a pagination cursor.
Use segment_warehouse_syncs_list for the whole Warehouse. Use segment_warehouse_source_syncs_list for one Source.
Rate limit: 2 requests per minute.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.
- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{"warehouse_id":"<warehouse_id>"}`

### `segment_warehouses_list`

List Warehouses · Read-only

List the Warehouses in the workspace, one page at a time.
Returns each Warehouse's id, name, enabled flag, metadata and settings, plus a pagination cursor.
Use segment_warehouses_list to browse or find a warehouse_id. Use segment_source_connected_warehouses_list for one Source.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `pagination_count` (`integer`, optional): Number of items per page, between 1 and 1000. Defaults to 200. Example: 50. Default: `200`.
- `pagination_cursor` (`string`, optional): Page cursor from a previous response's pagination object (its next or previous value). Leave it out for the first page. Example: MA==.

Example input: `{}`

### `segment_workspace_get`

Get Workspace · Read-only

Get the Segment workspace that the connected Public API token belongs to.
Returns the workspace id, name, slug and region.
Use it to confirm which workspace the connection points at before other calls.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `segment_audience_create`

Create Audience · Write

Create an Audience in an Engage Space from a query-language definition.
Returns the created Audience with its id.
Use segment_audience_create for a new Audience. Use segment_audience_update to change one.
Requires Engage with the Audiences feature; get space_id from segment_spaces_list. Rate limit: 50 requests per minute.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `audience_type` (`string`, required): Kind of Audience: USERS (profiles), ACCOUNTS (B2B accounts) or LINKED (Linked Audiences built on warehouse entities). Example: USERS. One of: `USERS`, `ACCOUNTS`, `LINKED`.
- `name` (`string`, required): Name of the Audience. Example: Recent purchasers.
- `query` (`string`, required): Segment query-language (CQL) definition of who is in the Audience, for example event('Order Completed').count() >= 1. Example: event('Order Completed').count() >= 1.
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `backfill_event_data_days` (`integer`, optional): Number of days of event data before creation to include when computing membership. Example: 30.
- `description` (`string`, optional): Description of the Audience. Example: Profiles with at least one order.
- `enabled` (`boolean`, optional): Whether Segment computes the Audience after creation. Example: true.
- `filter_by_external_ids` (`array`, optional): Only consider profiles that have at least one of these external identifier types, for example ["email", "user_id"]. Example: ["email", "user_id"].
- `include_historical_data` (`boolean`, optional): Whether events from before the Audience was created count towards membership. Example: true.
- `target_entity` (`string`, optional): LINKED audiences only: target entity relationship slug. Use profile to target profiles. Example: profile.

Example input: `{"audience_type":"USERS","name":"<name>","query":"<query>","space_id":"<space_id>"}`

### `segment_audience_update`

Update Audience for Space · Write

Update an Audience's name, description, definition, options or enabled flag.
Returns the updated Audience.
Use it to change an existing Audience. The Audience is locked from further edits until Segment applies the change.
Requires Engage with the Audiences feature; get space_id from segment_spaces_list.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `audience_id` (`string`, required): ID of the Audience. Get it from segment_audiences_list. Example: aud_0ujsszwN8NRY24YaXiTIE2VWDTS.
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `backfill_event_data_days` (`integer`, optional): Number of days of event data before creation to include when computing membership. Example: 30.
- `description` (`string`, optional): New description for the Audience. Example: Profiles with at least three orders.
- `enabled` (`boolean`, optional): Set false to stop computing the Audience, true to resume. Example: false.
- `filter_by_external_ids` (`array`, optional): Only consider profiles that have at least one of these external identifier types, for example ["email", "user_id"]. Example: ["email", "user_id"].
- `include_historical_data` (`boolean`, optional): Whether events from before the Audience was created count towards membership. Example: false.
- `name` (`string`, optional): New name for the Audience. Example: Recent purchasers.
- `query` (`string`, optional): New Segment query-language (CQL) definition, for example event('Order Completed').count() >= 3. Example: event('Order Completed').count() >= 3.

Example input: `{"audience_id":"<audience_id>","space_id":"<space_id>"}`

### `segment_computed_trait_create`

Create Computed Trait · Write

Create a Computed Trait in an Engage Space from a query-language definition.
Returns the created trait with its id.
Use segment_computed_trait_create for a new trait. Its definition can't be edited later in the Segment app.
Requires Engage with the Computed Traits feature (Alpha endpoint); get space_id from segment_spaces_list. Rate limit: 10 requests per minute.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `definition_type` (`string`, required): Entity the trait is computed for: USERS or ACCOUNTS. Example: USERS. One of: `USERS`, `ACCOUNTS`.
- `name` (`string`, required): Name of the Computed Trait. Example: Order count.
- `query` (`string`, required): Segment query-language (CQL) aggregation that computes the trait, for example event('Order Completed').count(). Example: event('Order Completed').count().
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `backfill_duration_days` (`integer`, optional): Number of days of event data before creation to include. Example: 7.
- `description` (`string`, optional): Description of the Computed Trait. Example: Number of completed orders.
- `enabled` (`boolean`, optional): Whether Segment computes the trait after creation. Example: true.
- `include_anonymous_users` (`boolean`, optional): Whether anonymous users are included when computing the trait. Example: false.
- `include_historical_data` (`boolean`, optional): Whether events from before the trait was created are included. Example: true.

Example input: `{"definition_type":"USERS","name":"<name>","query":"<query>","space_id":"<space_id>"}`

### `segment_computed_trait_update`

Update Computed Trait for Space · Write

Update a Computed Trait's name, description, definition or enabled flag.
Returns the updated trait.
Use it to change an existing trait. The trait is locked from further edits until Segment applies the change.
Requires Engage with the Computed Traits feature (Alpha endpoint); get space_id from segment_spaces_list.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `computed_trait_id` (`string`, required): ID of the Computed Trait. Get it from segment_computed_traits_list. Example: ct_2V5n7XRhfn7zR1LvKwP9Ns.
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.
- `definition_type` (`string`, optional): Entity the trait is computed for (USERS or ACCOUNTS). Required when query is set. Example: USERS. One of: `USERS`, `ACCOUNTS`.
- `description` (`string`, optional): New description for the Computed Trait. Example: Number of completed orders.
- `enabled` (`boolean`, optional): Set false to stop computing the trait, true to resume. Example: false.
- `name` (`string`, optional): New name for the Computed Trait. Example: Order count.
- `query` (`string`, optional): New CQL aggregation for the trait. Send together with definition_type. Example: event('Order Completed').count().

Example input: `{"computed_trait_id":"<computed_trait_id>","space_id":"<space_id>"}`

### `segment_destination_create`

Create Destination · Write

Create a Destination from a Destination catalog entry and connect it to a Source.
Returns the created Destination with its id.
Use segment_destination_create to add a destination; use segment_destination_update to change one.
Get metadata_id and the required settings from segment_catalog_destination_get first.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `metadata_id` (`string`, required): ID of the Destination catalog entry to create (for example Google Analytics 4 or Amplitude). Get it from segment_catalog_destinations_list. Example: 54521fd525e721e32a72eea2.
- `settings` (`object`, required): Destination settings object built from the catalog entry's required and advanced settings (see segment_catalog_destination_get), such as an API key for the downstream tool. Example: {"apiKey": "abc123"}.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `enabled` (`boolean`, optional): Whether the Destination starts receiving data right away. Defaults to the API's behaviour when omitted. Example: true.
- `name` (`string`, optional): Defines the display name of the Destination. Example: Amplitude (prod).

Example input: `{"metadata_id":"<metadata_id>","settings":{"apiKey":"abc123"},"source_id":"<source_id>"}`

### `segment_destination_filter_create`

Create Filter for Destination · Write

Create a filter on a Destination that drops, samples or trims matching events.
Returns the created filter with its id.
Use it to add a filter. Use segment_destination_filter_preview first to test the FQL condition on a sample payload.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `actions` (`array`, required): What to do with matching events. Each action has a type: DROP drops the event; ALLOW_PROPERTIES or DROP_PROPERTIES keep or remove the fields listed in fields (an object of top-level key to list of property names, with "" for the top level); SAMPLE keeps a share of events set by percent (0 to 1), optionally keyed on path. Example: [{"type": "DROP"}].
- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `enabled` (`boolean`, required): When set to true, the Destination filter is active. Example: true.
- `if` (`string`, required): FQL condition that selects the events the filter acts on, for example type = "identify" or event = "Order Completed". Use "all" to match every event. Example: type = "identify".
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `title` (`string`, required): The title of the filter. Example: Drop identify calls.
- `description` (`string`, optional): The description of the filter. Example: Stop sending identify calls to this destination.

Example input: `{"actions":[{"type":"DROP"}],"destination_id":"<destination_id>","enabled":true,"if":"<if>","source_id":"<source_id>","title":"<title>"}`

### `segment_destination_filter_preview`

Preview Destination Filter · Write

Simulate a Destination filter against a sample event payload, without saving anything.
Returns the payload as it would look after the filter (or that it was dropped).
Use it to test an FQL condition and actions before segment_destination_filter_create.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `actions` (`array`, required): Filter actions to apply to a matching payload (DROP, ALLOW_PROPERTIES, DROP_PROPERTIES or SAMPLE; see segment_destination_filter_create). Example: [{"type": "ALLOW_PROPERTIES", "fields": {"properties": ["plan"]}}].
- `if` (`string`, required): FQL condition to test, for example type = "track" AND event = "Order Completed". Use "all" to match every event. Example: type = "track" AND event = "Order Completed".
- `payload` (`object`, required): Sample event payload (a Segment event as JSON) to run the filter against. Example: {"type": "track", "event": "Order Completed", "properties": {"plan": "pro"}}.

Example input: `{"actions":[{"type":"DROP"}],"if":"<if>","payload":{}}`

### `segment_destination_filter_update`

Update Filter for Destination · Write

Update a Destination filter's condition, actions, title, description or enabled flag.
Returns the updated filter.
Use it to change or pause a filter; use segment_destination_filter_delete to remove it.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `filter_id` (`string`, required): ID of the Destination filter. Get it from segment_destination_filters_list. Example: xx6AySGeFExzdv2Gw2EuhV.
- `actions` (`array`, optional): Replacement actions for matching events (DROP, ALLOW_PROPERTIES, DROP_PROPERTIES or SAMPLE; see segment_destination_filter_create). Example: [{"type": "DROP"}].
- `description` (`string`, optional): The description of this filter. Example: Stop sending identify calls to this destination.
- `enabled` (`boolean`, optional): When set to true, this Destination filter is active. Example: true.
- `if` (`string`, optional): New FQL condition that selects the events the filter acts on, for example event = "Order Completed". Example: event = "Order Completed".
- `title` (`string`, optional): The title to update. Example: Drop identify calls.

Example input: `{"destination_id":"<destination_id>","filter_id":"<filter_id>"}`

### `segment_destination_subscription_create`

Create Destination Subscription · Write

Create an Actions subscription (mapping) on a Destination.
Returns the created subscription with its id.
Use it to add a mapping; use segment_destination_subscription_update to change one.
Alpha endpoint; requires the Destination Subscriptions feature (Actions destinations). Rate limit: 5 requests per minute.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `action_id` (`string`, required): ID of the Destination action this subscription triggers. Get the action ids from the Destination's catalog entry (segment_catalog_destination_get, actions list). Example: jiMz7MfHNeHmUckzRnUGkU.
- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `enabled` (`boolean`, required): Is the subscription enabled. Example: false.
- `name` (`string`, required): A user-defined name for the subscription. Example: Example Subscription.
- `trigger` (`string`, required): FQL condition that selects which events trigger the action, for example type = "track" or event = "Order Completed". Example: type = "track".
- `model_id` (`string`, optional): Reverse ETL only: ID of the Reverse ETL Model the subscription extracts data from. Example: jSAVzDH3z89geNDZwoNY9V.
- `settings` (`object`, optional): Field mappings and options for the action, as an object keyed by the action's field names (see the action's fields in segment_catalog_destination_get). Example: {"event_name": {"@path": "$.event"}}.

Example input: `{"action_id":"<action_id>","destination_id":"<destination_id>","enabled":true,"name":"<name>","trigger":"<trigger>"}`

### `segment_destination_subscription_update`

Update Subscription for Destination · Write

Update an Actions subscription (mapping) on a Destination.
Returns the updated subscription.
Use it to rename, re-trigger, enable or reconfigure a mapping.
Alpha endpoint; requires the Destination Subscriptions feature (Actions destinations). Rate limit: 5 requests per minute.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `subscription_id` (`string`, required): ID of the Destination subscription (mapping). Get it from segment_destination_subscriptions_list. Example: kyMKN6LUgMvF8dwRMEz3cX.
- `enabled` (`boolean`, optional): Set false to pause the subscription, true to resume it. Example: false.
- `name` (`string`, optional): New name for the subscription. Example: Send Order Completed.
- `reverse_etl_model_id` (`string`, optional): Reverse ETL only: ID of the Model to attach the subscription to. Example: jSAVzDH3z89geNDZwoNY9V.
- `reverse_etl_schedule` (`object`, optional): Reverse ETL only: sync schedule object with a strategy (PERIODIC, SPECIFIC_DAYS, MANUAL, CRON or DBT_CLOUD) and a strategy-specific config object (empty for MANUAL), for example {"strategy": "MANUAL"}. Example: {"strategy": "MANUAL"}.
- `settings` (`object`, optional): New field mappings and options for the action, keyed by the action's field names. Example: {"event_name": {"@path": "$.event"}}.
- `trigger` (`string`, optional): New FQL trigger condition, for example event = "Order Completed". Example: event = "Order Completed".

Example input: `{"destination_id":"<destination_id>","subscription_id":"<subscription_id>"}`

### `segment_destination_update`

Update Destination · Write

Update a Destination's name, enabled flag or settings.
Returns the updated Destination.
Use segment_destination_update to change or pause a Destination. Updating only read-only settings returns a 400.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `enabled` (`boolean`, optional): Whether this Destination should receive data. Example: false.
- `name` (`string`, optional): Defines the display name of the Destination. Example: Amplitude (prod).
- `settings` (`object`, optional): Destination settings to change, as an object keyed by setting name (see segment_catalog_destination_get). Read-only settings are ignored; sending only read-only settings returns a 400. Example: {"apiKey": "abc123"}.

Example input: `{"destination_id":"<destination_id>"}`

### `segment_label_create`

Create Label · Write

Create a workspace label (a key:value pair such as environment:prod).
Returns the created label.
Use segment_label_create to define a label. Use segment_source_labels_add to attach it to a Source.
Rate limit: 60 requests per minute.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `key` (`string`, required): Label key, the name part of key:value (for example environment). Example: environment.
- `value` (`string`, required): Label value, the value part of key:value (for example prod). Example: prod.
- `description` (`string`, optional): Optional description of what the label is for. Example: Production sources.

Example input: `{"key":"<key>","value":"<value>"}`

### `segment_reverse_etl_model_create`

Create Reverse Etl Model · Write

Create a Reverse ETL Model: a SQL query on a warehouse Source that extracts records to sync.
Returns the created Model with its id.
Use segment_reverse_etl_model_create for a new Model; use segment_reverse_etl_model_update to change one.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `description` (`string`, required): A longer, more descriptive explanation of the Model. Example: Users active in the last 30 days.
- `enabled` (`boolean`, required): Indicates whether the Model should have syncs enabled. When disabled, no syncs will be triggered, regardless of the enabled status of the attached destinations/subscriptions. Example: true.
- `name` (`string`, required): A short, human-readable description of the Model. Example: Active users.
- `query` (`string`, required): SQL query Segment runs on the warehouse Source to extract records. Example: SELECT id, email FROM users WHERE active = true.
- `query_identifier_column` (`string`, required): Column in the query result that uniquely identifies each record. Example: id.
- `source_id` (`string`, required): ID of the warehouse Source (Reverse ETL source) the Model runs on. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"description":"<description>","enabled":true,"name":"<name>","query":"<query>","query_identifier_column":"<query_identifier_column>","source_id":"<source_id>"}`

### `segment_reverse_etl_model_update`

Update Reverse Etl Model · Write

Update a Reverse ETL Model's name, description, SQL query, identifier column or enabled flag.
Returns the updated Model.
Use it to change or pause a Model; use segment_reverse_etl_model_delete to remove it.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `model_id` (`string`, required): ID of the Reverse ETL Model. Get it from segment_reverse_etl_models_list. Example: jSAVzDH3z89geNDZwoNY9V.
- `description` (`string`, optional): A longer, more descriptive explanation of the Model. Example: Users active in the last 30 days.
- `enabled` (`boolean`, optional): Indicates whether the Model should have syncs enabled. When disabled, no syncs will be triggered, regardless of the enabled status of the attached destinations/subscriptions. Example: true.
- `name` (`string`, optional): A short, human-readable description of the Model. Example: Active users.
- `query` (`string`, optional): New SQL query Segment runs on the warehouse Source to extract records. Example: SELECT id, email FROM users WHERE active = true.
- `query_identifier_column` (`string`, optional): Column in the query result that uniquely identifies each record. Example: id.

Example input: `{"model_id":"<model_id>"}`

### `segment_reverse_etl_sync_cancel`

Cancel Reverse ETL Sync for Model · Write

Cancel a running Reverse ETL sync.
Returns a status object; cancelling can take a few seconds to finish.
Use it to stop a sync in progress. It fails if the sync already finished or was cancelled.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `model_id` (`string`, required): ID of the Reverse ETL Model. Get it from segment_reverse_etl_models_list. Example: jSAVzDH3z89geNDZwoNY9V.
- `sync_id` (`string`, required): ID of the Reverse ETL sync, as returned by segment_reverse_etl_sync_trigger or segment_reverse_etl_syncs_list. Example: 1.
- `reason_for_canceling` (`integer`, optional): Why the sync is being cancelled: 0 = incorrect model, 1 = incorrect destination, 2 = incorrect keys, 3 = incorrect mapping, 4 = other. Example: 4. One of: `0`, `1`, `2`, `3`, `4`.

Example input: `{"model_id":"<model_id>","sync_id":"<sync_id>"}`

### `segment_reverse_etl_sync_trigger`

Create Reverse ETL Manual Sync · Write

Start a manual sync for a Reverse ETL mapping (subscription).
Returns the new sync's id.
Use it to run a sync now. Then poll segment_reverse_etl_sync_get with the returned sync id.
Rate limit: 20 requests per minute.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `model_id` (`string`, required): ID of the Reverse ETL Model to sync. Get it from segment_reverse_etl_models_list. Example: jSAVzDH3z89geNDZwoNY9V.
- `source_id` (`string`, required): ID of the Reverse ETL (warehouse) Source the Model belongs to. Example: qQEHquLrjRDN9j1ByrChyn.
- `subscription_id` (`string`, required): ID of the mapping (subscription) to sync: the number after /mappings/ in the sync's Segment app URL. Example: 2.

Example input: `{"model_id":"<model_id>","source_id":"<source_id>","subscription_id":"<subscription_id>"}`

### `segment_source_create`

Create Source · Write

Create a new Source from a Source catalog entry.
Returns the created Source with its id and write key.
Use segment_source_create to add a source; use segment_source_update to change an existing one.
Get metadata_id from segment_catalog_sources_list first.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `enabled` (`boolean`, required): Enable to allow this Source to send data. Defaults to true. Example: true.
- `metadata_id` (`string`, required): ID of the Source catalog entry this Source is built from (for example the JavaScript website source). Get it from segment_catalog_sources_list. Example: IqDTy1TpoU.
- `slug` (`string`, required): Slug that identifies the new Source in the Segment app: lowercase letters, numbers and hyphens. Example: my-website.
- `disconnect_all_warehouses` (`boolean`, optional): Set true to create the Source without connecting it to the workspace's existing Warehouses. Example: true.
- `settings` (`object`, optional): Instance-specific settings for the Source, as an object. Keys come from the catalog entry's options (see segment_catalog_source_get); website sources accept websiteUrl and apiHost. Use {} when the Source type needs none. Example: {"websiteUrl": "https://example.com"}.

Example input: `{"enabled":true,"metadata_id":"<metadata_id>","slug":"<slug>"}`

### `segment_source_labels_add`

Add Labels to Source · Write

Add existing workspace labels to a Source, keeping its current labels.
Returns the Source's labels after the change.
Use segment_source_labels_add to append. Use segment_source_labels_replace to overwrite the full set.
Create the label first with segment_label_create if it doesn't exist.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `labels` (`array`, required): Labels to add, each an object with the label's key and value (the label must already exist in the workspace). Example: [{"key": "environment", "value": "prod"}].
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"labels":[{"key":"environment","value":"prod"}],"source_id":"<source_id>"}`

### `segment_source_labels_replace`

Replace Labels in Source · Write

Replace all labels on a Source with the given set.
Returns the Source's labels after the change.
Use segment_source_labels_replace to overwrite. Use segment_source_labels_add to append without removing.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `labels` (`array`, required): The complete set of labels the Source should have, each an object with key and value. Labels not in this list are removed. Example: [{"key": "environment", "value": "prod"}].
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"labels":[{"key":"environment","value":"prod"}],"source_id":"<source_id>"}`

### `segment_source_schema_settings_update`

Update Schema Settings in Source · Write

Update how a Source handles unplanned events and tracking-plan violations.
Returns the updated schema settings.
Use it for Protocols violation handling. Use segment_source_update for the Source's own settings.
Protocols-specific values are ignored when Protocols isn't enabled for the Source.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `forwarding_blocked_events_to` (`string`, optional): ID of the Source to forward blocked events to. Leave it out to turn forwarding of blocked events off. Example: rh5BDZp6QDHvXFCkibm1pR.
- `forwarding_violations_to` (`string`, optional): ID of the Source to forward violating events to. Leave it out to turn forwarding of violations off. Example: rh5BDZp6QDHvXFCkibm1pR.
- `group` (`object`, optional): Group-call settings object. Keys: allowUnplannedTraits, allowTraitsOnViolations (booleans) and commonEventOnViolations (ALLOW, BLOCK or OMIT_TRAITS). Example: {"allowTraitsOnViolations": false, "allowUnplannedTraits": false, "commonEventOnViolations": "ALLOW"}.
- `identify` (`object`, optional): Identify-call settings object. Keys: allowUnplannedTraits, allowTraitsOnViolations (booleans) and commonEventOnViolations (ALLOW, BLOCK or OMIT_TRAITS). Example: {"allowTraitsOnViolations": true, "allowUnplannedTraits": true, "commonEventOnViolations": "BLOCK"}.
- `track` (`object`, optional): Track-call settings object. Keys: allowUnplannedEvents, allowUnplannedEventProperties, allowEventOnViolations, allowPropertiesOnViolations (booleans) and commonEventOnViolations (ALLOW, BLOCK or OMIT_PROPERTIES). Example: {"allowEventOnViolations": false, "allowPropertiesOnViolations": false, "allowUnplannedEventProperties": false, "allowUnplannedEvents": false, "commonEventOnViolations": "OMIT_PROPERTIES"}.

Example input: `{"source_id":"<source_id>"}`

### `segment_source_update`

Update Source · Write

Update a Source's name, slug, enabled flag or settings.
Returns the updated Source.
Use segment_source_update for Source metadata and settings. Use segment_source_schema_settings_update for Protocols schema rules.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `enabled` (`boolean`, optional): Enable to allow the Source to send data. Example: false.
- `name` (`string`, optional): An optional human-readable name to associate with the Source. Example: My updated source.
- `settings` (`object`, optional): Instance-specific settings for the Source, as an object. Keys come from the catalog entry's options (see segment_catalog_source_get). Only the keys you send are changed. Example: {"websiteUrl": "https://example.com"}.
- `slug` (`string`, optional): The slug that identifies the Source. Example: my-website.

Example input: `{"source_id":"<source_id>"}`

### `segment_tracking_plan_create`

Create Tracking Plan · Write

Create an empty Tracking Plan.
Returns the created plan with its id.
Use segment_tracking_plan_create, then segment_tracking_plan_rules_update to add rules and segment_tracking_plan_source_add to connect Sources.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `name` (`string`, required): The Tracking Plan's name. Example: Web app tracking plan.
- `type` (`string`, required): Tracking Plan type. Use LIVE for a plan that validates live events; ENGAGE, PROPERTY_LIBRARY, RULE_LIBRARY and TEMPLATE are for Engage and reusable libraries. Example: LIVE. One of: `ENGAGE`, `LIVE`, `PROPERTY_LIBRARY`, `RULE_LIBRARY`, `TEMPLATE`.
- `description` (`string`, optional): The Tracking Plan's description. Example: Events tracked by the web app.

Example input: `{"name":"<name>","type":"ENGAGE"}`

### `segment_tracking_plan_rules_replace`

Replace Rules in Tracking Plan · Write

Replace every rule in a Tracking Plan with the given set.
Returns a status object.
Use segment_tracking_plan_rules_replace to overwrite. Use segment_tracking_plan_rules_update to upsert without removing others.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `rules` (`array`, required): The complete rule set for the plan; rules not listed are removed. Each rule needs a type (TRACK, IDENTIFY, GROUP, PAGE, SCREEN or COMMON), a version number and a jsonSchema, plus the event name as key for TRACK, PAGE and SCREEN rules. Example: [{"key": "Order Completed", "type": "TRACK", "version": 1, "jsonSchema": {}}].
- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.

Example input: `{"rules":[{"key":"Order Completed","type":"TRACK","version":1,"jsonSchema":{}}],"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plan_rules_update`

Update Rules in Tracking Plan · Write

Add rules to a Tracking Plan or update existing ones, leaving other rules untouched.
Returns a status object.
Use segment_tracking_plan_rules_update to upsert. Use segment_tracking_plan_rules_replace to overwrite all rules.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `rules` (`array`, required): Rules to insert or update. Each rule needs a type (TRACK, IDENTIFY, GROUP, PAGE, SCREEN or COMMON), a version number and a jsonSchema; TRACK, PAGE and SCREEN rules also need the event name as key. To rename a rule, add newKey. Example: [{"key": "Order Completed", "type": "TRACK", "version": 1, "jsonSchema": {"properties": {"properties": {"type": "object"}}}}].
- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.

Example input: `{"rules":[{"key":"Order Completed","type":"TRACK","version":1,"jsonSchema":{"properties":{"properties":{"type":"object"}}}}],"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plan_source_add`

Add Source to Tracking Plan · Write

Connect a Source to a Tracking Plan.
Returns a status object.
Use segment_tracking_plan_source_add to link; use segment_tracking_plan_source_remove to unlink.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.

Example input: `{"source_id":"<source_id>","tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plan_update`

Update Tracking Plan · Write

Rename a Tracking Plan or change its description.
Returns the updated plan.
Use segment_tracking_plan_update for plan metadata. Use the tracking_plan_rules tools to change rules.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.
- `description` (`string`, optional): The Tracking Plan's description. Example: Events tracked by the web app.
- `name` (`string`, optional): The Tracking Plan's name. Example: Web app tracking plan.

Example input: `{"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_transformation_create`

Create Transformation · Write

Create a Transformation that renames events or properties, sets property values, or drops matching events.
Returns the created Transformation with its id.
Use segment_transformation_create to add one; use segment_transformation_update to change one.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `enabled` (`boolean`, required): If the Transformation should be enabled. Example: true.
- `if` (`string`, required): FQL condition that selects the events to transform. For a track event use event = 'Signed Up'; for identify use type = 'identify'; for group use type = 'group'. Example: event = 'Signed Up'.
- `name` (`string`, required): The name of the Transformation. Example: Rename signup event.
- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `allow_properties` (`array`, optional): Property paths to keep; other properties are dropped. Example: ["properties.plan", "context.ip"].
- `destination_metadata_id` (`string`, optional): Destination catalog id to scope the Transformation to one destination type. Leave it out to apply it to every destination of the Source. Example: 547610a5db31d978f14a5c4e.
- `drop` (`boolean`, optional): Optional boolean value if the Transformation should drop the event entirely when the if statement matches, ignores all other transforms. Example: true.
- `fql_defined_properties` (`array`, optional): New properties computed with an FQL expression, each with propertyName and fql. Currently limited to 1 property. Example: [{"propertyName": "properties.viewed_pricing", "fql": "contains( context.page.url, 'pricing' )"}].
- `new_event_name` (`string`, optional): Optional new event name for renaming events. Works only for 'track' event type. Example: Account Created.
- `property_renames` (`array`, optional): Properties to rename, each with oldName and newName. Example: [{"oldName": "plan", "newName": "plan_name"}].
- `property_value_transformations` (`array`, optional): Properties to overwrite with a fixed value: each entry lists up to 10 propertyPaths and the propertyValue to set. Example: [{"propertyPaths": ["properties.source"], "propertyValue": "web"}]. Limited to 10 properties.

Example input: `{"enabled":true,"if":"<if>","name":"<name>","source_id":"<source_id>"}`

### `segment_transformation_update`

Update Transformation · Write

Update a Transformation's name, condition, scope, enabled flag or rules.
Returns the updated Transformation.
Use it to change or pause a Transformation; use segment_transformation_delete to remove it.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `transformation_id` (`string`, required): ID of the Transformation. Get it from segment_transformations_list. Example: pHrD51Ds35Zjfka84yXQE6.
- `allow_properties` (`array`, optional): Property paths to keep; other properties are dropped. Example: ["properties.plan", "context.ip"].
- `destination_metadata_id` (`string`, optional): Destination catalog id to scope the Transformation to one destination type. Leave it out to apply it to every destination of the Source. Example: 547610a5db31d978f14a5c4e.
- `drop` (`boolean`, optional): Optional boolean value if the Transformation should drop the event entirely when the if statement matches, ignores all other transforms. Example: true.
- `enabled` (`boolean`, optional): If the Transformation should be enabled. Example: true.
- `fql_defined_properties` (`array`, optional): New properties computed with an FQL expression, each with propertyName and fql. Currently limited to 1 property. Example: [{"propertyName": "properties.viewed_pricing", "fql": "contains( context.page.url, 'pricing' )"}].
- `if` (`string`, optional): FQL condition that selects the events to transform. For a track event use event = 'Signed Up'; for identify use type = 'identify'; for group use type = 'group'. Example: event = 'Signed Up'.
- `name` (`string`, optional): New name for the Transformation. Example: Rename signup event.
- `new_event_name` (`string`, optional): Optional new event name for renaming events. Works only for 'track' event type. Example: Account Created.
- `property_renames` (`array`, optional): Properties to rename, each with oldName and newName. Example: [{"oldName": "plan", "newName": "plan_name"}].
- `property_value_transformations` (`array`, optional): Properties to overwrite with a fixed value: each entry lists up to 10 propertyPaths and the propertyValue to set. Example: [{"propertyPaths": ["properties.source"], "propertyValue": "web"}]. Limited to 10 properties.
- `source_id` (`string`, optional): ID of the Source to move the Transformation to. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"transformation_id":"<transformation_id>"}`

### `segment_warehouse_source_connect`

Add Connection from Source to Warehouse · Write

Connect a Source to a Warehouse so its data syncs there.
Returns a status object.
Use segment_warehouse_source_connect to add the link; use segment_warehouse_source_disconnect to remove it.

Read only: no. Destructive: no. Idempotent (safe to retry): no.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.

Example input: `{"source_id":"<source_id>","warehouse_id":"<warehouse_id>"}`

### `segment_warehouse_update`

Update Warehouse · Write

Update a Warehouse's name, enabled flag or connection settings.
Returns the updated Warehouse.
Use it to rename, pause or reconfigure a Warehouse. Get the settings shape from segment_catalog_warehouse_get.

Read only: no. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `settings` (`object`, required): Warehouse connection settings as an object; the API requires this field. The keys depend on the Warehouse type (see the options in segment_catalog_warehouse_get). Segment's own example sends {} when only the name changes. Example: {}.
- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.
- `enabled` (`boolean`, optional): Enable to allow this Warehouse to receive data. Example: true.
- `name` (`string`, optional): An optional human-readable name to associate with this Warehouse. Example: Redshift (prod).

Example input: `{"settings":{},"warehouse_id":"<warehouse_id>"}`

### `segment_audience_delete`

Remove Audience from Space · Destructive

Delete an Audience from an Engage Space.
Returns a status object confirming the deletion.
Use it only to remove the Audience; use segment_audience_update with enabled=false to pause it.
Requires Engage with the Audiences feature; get space_id from segment_spaces_list.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `audience_id` (`string`, required): ID of the Audience. Get it from segment_audiences_list. Example: aud_0ujsszwN8NRY24YaXiTIE2VWDTS.
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.

Example input: `{"audience_id":"<audience_id>","space_id":"<space_id>"}`

### `segment_computed_trait_delete`

Remove Computed Trait from Space · Destructive

Delete a Computed Trait from an Engage Space.
Returns a status object confirming the deletion.
Use it only to remove the trait; use segment_computed_trait_update with enabled=false to pause it.
Requires Engage with the Computed Traits feature (Alpha endpoint); get space_id from segment_spaces_list.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `computed_trait_id` (`string`, required): ID of the Computed Trait. Get it from segment_computed_traits_list. Example: ct_2V5n7XRhfn7zR1LvKwP9Ns.
- `space_id` (`string`, required): ID of the Engage (Unify) Space. Get it from segment_spaces_list. Example: spa_9aQ1Lj62S4bomZKLF4DPqW.

Example input: `{"computed_trait_id":"<computed_trait_id>","space_id":"<space_id>"}`

### `segment_destination_delete`

Delete Destination · Destructive

Delete a Destination permanently.
Returns a status object confirming the deletion.
Use segment_destination_delete only to remove it; use segment_destination_update with enabled=false to pause it instead.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.

Example input: `{"destination_id":"<destination_id>"}`

### `segment_destination_filter_delete`

Remove Filter from Destination · Destructive

Delete a filter from a Destination.
Returns a status object confirming the deletion.
Use it to remove a filter; use segment_destination_filter_update with enabled=false to pause it.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `filter_id` (`string`, required): ID of the Destination filter. Get it from segment_destination_filters_list. Example: xx6AySGeFExzdv2Gw2EuhV.

Example input: `{"destination_id":"<destination_id>","filter_id":"<filter_id>"}`

### `segment_destination_subscription_delete`

Remove Subscription from Destination · Destructive

Delete an Actions subscription (mapping) from a Destination.
Returns a status object confirming the deletion.
Use it to remove a mapping; use segment_destination_subscription_update with enabled=false to pause it.
Alpha endpoint; requires the Destination Subscriptions feature (Actions destinations).

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `destination_id` (`string`, required): ID of the Destination instance. Get it from segment_destinations_list. Example: fP7qoQw2HTWt9WdMr718gn.
- `subscription_id` (`string`, required): ID of the Destination subscription (mapping). Get it from segment_destination_subscriptions_list. Example: kyMKN6LUgMvF8dwRMEz3cX.

Example input: `{"destination_id":"<destination_id>","subscription_id":"<subscription_id>"}`

### `segment_label_delete`

Delete Label · Destructive

Delete a workspace label by key and value.
Returns a status object confirming the deletion.
Use it to remove a label definition from the workspace. Rate limit: 60 requests per minute.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `key` (`string`, required): Key of the label to delete (the part before the colon in key:value). Example: environment.
- `value` (`string`, required): Value of the label to delete (the part after the colon in key:value). Example: prod.

Example input: `{"key":"<key>","value":"<value>"}`

### `segment_reverse_etl_model_delete`

Delete Reverse Etl Model · Destructive

Delete a Reverse ETL Model.
Returns a status object confirming the deletion.
Use it to remove a Model; use segment_reverse_etl_model_update with enabled=false to pause its syncs.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `model_id` (`string`, required): ID of the Reverse ETL Model. Get it from segment_reverse_etl_models_list. Example: jSAVzDH3z89geNDZwoNY9V.

Example input: `{"model_id":"<model_id>"}`

### `segment_source_delete`

Delete Source · Destructive

Delete a Source permanently.
Returns a status object confirming the deletion.
Use segment_source_delete only to remove a Source; use segment_source_update with enabled=false to pause it instead.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.

Example input: `{"source_id":"<source_id>"}`

### `segment_tracking_plan_delete`

Delete Tracking Plan · Destructive

Delete a Tracking Plan permanently.
Returns a status object confirming the deletion.
Use it only to remove the whole plan. Use segment_tracking_plan_rules_remove to drop individual rules.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.

Example input: `{"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plan_rules_remove`

Remove Rules from Tracking Plan · Destructive

Remove one rule from a Tracking Plan.
Returns a status object.
Use it to drop a single rule by key, type and version. Use segment_tracking_plan_rules_list to find those values.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `rule_key` (`string`, required): Key of the rule to remove: the event name for TRACK, PAGE and SCREEN rules. Get it from segment_tracking_plan_rules_list. Example: Order Completed.
- `rule_type` (`string`, required): Type of the rule to remove: TRACK, IDENTIFY, GROUP, PAGE, SCREEN or COMMON. Example: TRACK. One of: `COMMON`, `GROUP`, `IDENTIFY`, `PAGE`, `SCREEN`, `TRACK`.
- `rule_version` (`integer`, required): Version number of the rule to remove, as shown by segment_tracking_plan_rules_list. Example: 1.
- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.

Example input: `{"rule_key":"<rule_key>","rule_type":"COMMON","rule_version":1,"tracking_plan_id":"<tracking_plan_id>"}`

### `segment_tracking_plan_source_remove`

Remove Source from Tracking Plan · Destructive

Disconnect a Source from a Tracking Plan.
Returns a status object.
Use segment_tracking_plan_source_remove to unlink; use segment_tracking_plan_source_add to link.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `tracking_plan_id` (`string`, required): ID of the Tracking Plan. Get it from segment_tracking_plans_list. Example: tp_sprout_rVGCC6WdrNxjCf6JpCHP.

Example input: `{"source_id":"<source_id>","tracking_plan_id":"<tracking_plan_id>"}`

### `segment_transformation_delete`

Delete Transformation · Destructive

Delete a Transformation.
Returns a status object confirming the deletion.
Use it to remove a Transformation; use segment_transformation_update with enabled=false to pause it.
Requires the Protocols feature on the workspace.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `transformation_id` (`string`, required): ID of the Transformation. Get it from segment_transformations_list. Example: pHrD51Ds35Zjfka84yXQE6.

Example input: `{"transformation_id":"<transformation_id>"}`

### `segment_warehouse_delete`

Delete Warehouse · Destructive

Delete a Warehouse permanently.
Returns a status object confirming the deletion.
Use it only to remove a Warehouse; use segment_warehouse_update with enabled=false to pause it instead.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.

Example input: `{"warehouse_id":"<warehouse_id>"}`

### `segment_warehouse_source_disconnect`

Remove Source Connection from Warehouse · Destructive

Disconnect a Source from a Warehouse so its data stops syncing there.
Returns a status object.
Use segment_warehouse_source_disconnect to remove the link; use segment_warehouse_source_connect to add it.

Read only: no. Destructive: yes. Idempotent (safe to retry): yes.

Inputs:

- `source_id` (`string`, required): ID of the Segment Source. Get it from segment_sources_list. Example: qQEHquLrjRDN9j1ByrChyn.
- `warehouse_id` (`string`, required): ID of the Warehouse. Get it from segment_warehouses_list. Example: kjU72LCJexvrqL7G4TMHHN.

Example input: `{"source_id":"<source_id>","warehouse_id":"<warehouse_id>"}`

## Related

Other Analytics connectors ([all 109](/agentkit/connectors/?category=analytics)):

- [Microsoft 365](/agentkit/connectors/microsoft365/): Scalekit connector, OAuth, 317 tools
- [HubSpot](/agentkit/connectors/hubspot/): Scalekit connector, OAuth, 457 tools
- [Snowflake](/agentkit/connectors/snowflake/): Scalekit connector, OAuth, 42 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
