---
title: "Get destination"
method: GET
path: "/api/{workspaceId}/config/destination/{id}"
tags: ["Destinations"]
---

# Get destination

`GET /api/{workspaceId}/config/destination/{id}`

## Request

- Base URL: `https://use.jitsu.com`
- URL: `https://use.jitsu.com/api/{workspaceId}/config/destination/{id}`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` string, required
- `id` string, required

## Response `200`

OK

- union
  - DestinationTag: Inserts any html or javascript into your page. Use this to add any third party tracking code as Google Analytics, Facebook Pixel, Twitter Pixel, etc.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'tag', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `code` string, required: Code to insert into site page in <code>html</code> or <code>javascript</code> format
  - DestinationGa4Tag: Tracks users in Google Analytics with client side code snippet.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'ga4-tag', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `measurementIds` string, required: Measurement ID::Measurement ID of your Google Analytics 4 properties. <a href='https://support.google.com/analytics/answer/9539598?hl=en' target='_blank' rel='noreferrer noopener'>How to find</a>
    - `autoPageView` boolean: Rely on <a href='https://support.google.com/analytics/answer/9216061#page_view' target='_blank' rel='noopener noreferer'>Enhanced event measurement</a> to track page views. Jitsu <code>page</code> event will be ignored.
  - DestinationGtm: Installs Google Tag Manager client code and sends events to Google Tag Manager.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'gtm', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `containerId` string, required: The Container ID uniquely identifies the GTM Container.
    - `dataLayerName` string: The name of the data layer variable.
    - `loadGtm` boolean: Load GTM::Whether Jitsu should load the Google Tag Manager script. Disable this if you load GTM yourself (e.g. on page load) so tags are ready before navigation — Jitsu will only push events to the data layer.
    - `resetDataLayer` boolean: Reset Data Layer::Clear the data Jitsu pushed after each event so values don't leak between events. GTM merges every push into a single persistent data model, so without resetting, properties from one event (event properties, traits, user data, etc.) stay set and can be picked up by tags firing on later, unrelated events. Recommended. Disable only if you intentionally rely on values persisting across events, or if another system already manages clearing the data layer.
  - DestinationLogrocket: Log Rocket is a session replay tool that helps you understand how users interact with your app.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'logrocket', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `appId` string, required: Log Rocket App ID. Go to Settings » Project Setup » General Settings to find it
  - DestinationClarity: Microsoft Clarity is a free heatmap and session-recording tool. Jitsu attaches user identity, tags and custom events to Clarity sessions with a client-side snippet.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'clarity', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `projectId` string, required: Project ID::Your Clarity Project ID. Open your Clarity project » Settings » Overview to find it. It also serves as the API key. Only used when Jitsu loads the Clarity tag.
    - `loadClarity` boolean: Load Clarity::Whether Jitsu should load the Microsoft Clarity tag. Disable this if you already load Clarity yourself (e.g. via your own snippet or a tag manager) — Jitsu will only forward events to the existing Clarity instance and the Project ID is ignored.
    - `cookieConsent` boolean: Cookie consent::Call <code>clarity('consent')</code> after the tag loads. Enable this if you rely on Clarity's cookie consent gate.
    - `trackProperties` 'tags' | 'ignore': Track event properties::Clarity custom events carry only a name. Choose <code>tags</code> to also forward <code>track</code> properties as filterable Clarity custom tags, or <code>ignore</code> to send the event name only.
  - DestinationHotjar: Hotjar is a heatmap, session-recording and survey tool. Jitsu attaches user attributes and custom events to Hotjar with a client-side snippet.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'hotjar', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `siteId` string, required: Site ID::Your Hotjar Site ID (the numeric <code>hjid</code>). Find it in Hotjar » Settings » Sites & Organizations, or in your tracking-code snippet. Only used when Jitsu loads the Hotjar tag.
    - `loadHotjar` boolean: Load Hotjar::Whether Jitsu should load the Hotjar tag. Disable this if you already load Hotjar yourself (e.g. via your own snippet or a tag manager) — Jitsu will only forward events to the existing Hotjar instance and the Site ID is ignored.
    - `spaPageViews` boolean: SPA page views::Emit a Hotjar virtual page view (<code>hj('stateChange', path)</code>) on every Jitsu <code>page</code> event. Enable this for single-page apps. Leave off to rely on Hotjar's built-in page detection and avoid double-counting.
    - `trackProperties` 'ignore' | 'attributes': Track event properties::Hotjar events carry only a name and have no per-event property API. Choose <code>attributes</code> to merge <code>track</code> properties into the identified user's record (requires a known user), or <code>ignore</code> to send the event name only.
  - DestinationClickhouse: ClickHouse is an open-source column-oriented database management system specialized for online analytical processing of queries (OLAP).
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'clickhouse', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `protocol` 'http' | 'https' | 'clickhouse' | 'clickhouse-secure': Protocol used for ClickHouse connection: <code>http</code>, <code>https</code>, <code>clickhouse</code>, <code>clickhouse-secure</code>
    - `hosts` string[], required: List of clickhouse servers as <code>host:port</code>. If port is not specified, default port for respective protocol will be used: <code>http->8123</code>, <code>https->8443</code>, <code>clickhouse->9000</code>, <code>clickhouse-secure->9440</code>
    - `username` string: Username for ClickHouse connection
    - `password` string, required: Password for ClickHouse connection
    - `cluster` string: Name of cluster to use.<br/>For <b>ClickHouse Cloud</b> or single-node setups, leave this field empty.
    - `database` string: Name of the database to use
    - `parameters` object: Additional parameters for ClickHouse driver. See <a href='https://clickhouse.com/docs/en/integrations/go#connection-settings-1' rel='noreferrer noopener' target='_blank'>Clickhouse documentation</a>
    - `loadAsJson` boolean: Use JSONEachRow format::Load data in the <a href='https://clickhouse.com/docs/en/interfaces/formats' rel='noreferrer noopener' target='_blank'>JSONEachRow</a> format. This method offers better performance but may not work correctly on older ClickHouse versions.
  - DestinationPostgres: Postgres is a powerful, open source object-relational database system.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'postgres', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `authenticationMethod` 'password' | 'google-psc': Authentication Method::Standard username/password or <a target='_blank' rel='noreferrer noopener' href='https://docs.jitsu.com/destinations/warehouse/postgres#advanced-private-service-connect-for-google-cloud-sql'>Private Service Connect</a> for Google-managed postgres instances only.
    - `instanceConnectionName` string: Instance Connection Name::Google SQL instance Connection Name in the format <code>project-name:region:instance-name</code>. <a target='_blank' rel='noreferrer noopener' href='https://docs.jitsu.com/destinations/warehouse/postgres#provide-jitsu-with-cloud-sql-instance-details'>How to obtain</a>.
    - `host` string: Postgres host
    - `port` number: Postgres port
    - `sslMode` 'disable' | 'require' | 'verify-ca' | 'verify-full': SSL Mode::SSL mode for Postgres connection: <code>disable</code>,<code>require</code>,<code>verify-ca</code>,<code>verify-full</code>
    - `sslServerCA` string: SSL Server CA::
    - `sslClientCert` string: SSL Client Cert::
    - `sslClientKey` string: SSL Client Key::
    - `database` string, required: Postgres database name
    - `username` string: Postgres username
    - `password` string: Postgres password
    - `defaultSchema` string: Schema::Postgres schema
  - DestinationBigquery: BigQuery is a cloud-based SQL data warehouse service developed by Google.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'bigquery', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `project` string, required: Project ID::Google Cloud Project ID. <a target='_blank' rel='noreferrer noopener' href='https://support.google.com/googleapi/answer/7014113?hl=en'>Locate Project ID</a>
    - `bqDataset` string, required: Dataset::BigQuery <a target='_blank' rel='noreferrer noopener' href='https://cloud.google.com/bigquery/docs/datasets-intro'>Dataset</a>
    - `location` string: Query location::Optional BigQuery region for Reverse ETL. If omitted, Jitsu reads the configured dataset's location.
    - `maximumBytesBilled` string: Maximum bytes billed per query::Optional Reverse ETL query cost limit, in bytes. Without a limit, normal BigQuery query pricing applies. LIMIT in a preview does not limit bytes scanned.
    - `keyFile` string, required: Access Key::Google Service Account JSON for BigQuery. <a target='_blank' rel='noreferrer noopener' href='https://jitsu.com/docs/configuration/google-authorization#service-account-configuration'>Read more about Google Authorization</a>
  - DestinationSnowflake: Snowflake is an independent a cloud data warehouse with compute-based pricing.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'snowflake', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `authenticationMethod` 'key-pair' | 'password': Authentication Method::Snowflake authentication method: <a target='_blank' rel='noopener noreferrer' href='https://docs.snowflake.com/en/user-guide/key-pair-auth'>Key-pair</a> or username/password
    - `username` string: Snowflake username
    - `password` string: Snowflake password
    - `privateKey` string: Private Key::Snowflake private key. <a target='_blank' rel='noopener noreferrer' href='https://docs.snowflake.com/en/user-guide/key-pair-auth'>Generate the private key</a>
    - `privateKeyPassphrase` string
    - `account` string, required: Snowflake account name
    - `warehouse` string, required: Snowflake warehouse name
    - `database` string, required: Snowflake database name
    - `defaultSchema` string: Schema::Snowflake schema
    - `parameters` object: Additional Snowflake connection parameters
  - DestinationRedshift: Amazon Redshift is a cloud data warehouse that is optimized for the analytical workloads of business intelligence (BI) and data warehousing (DWH). Jitsu supports both Serverless and Classic Redshift
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'redshift', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `authenticationMethod` 'iam' | 'password': Authentication Method::Redshift authentication method: <a target='_blank' rel='noopener noreferrer' href='https://docs.jitsu.com/destinations/warehouse/redshift#advanced-iam-role-for-jitsu'>IAM Role based</a> or database username/password
    - `serverless` boolean: Redshift Serverless::
    - `region` 'us-west-1' | 'us-west-2' | 'us-east-2' | 'us-east-1' | 'ap-south-1' | 'ap-northeast-3' | 'ap-northeast-2' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-northeast-1' | 'ca-central-1' | 'cn-north-1' | 'cn-northwest-1' | 'eu-central-1' | 'eu-west-1' | 'eu-west-2' | 'eu-south-1' | 'eu-west-3' | 'eu-north-1' | 'me-south-1' | 'sa-east-1' | 'us-gov-east-1' | 'us-gov-west-1', required: Region::Aws Region
    - `clusterIdentifier` string: Cluster Identifier::Redshift cluster identifier
    - `workgroupName` string: Workgroup name::Redshift Serverless workgroup name
    - `roleARN` string: Role ARN::IAM role ARN. <a target='_blank' rel='noopener noreferrer' href='https://docs.jitsu.com/destinations/warehouse/redshift#advanced-iam-role-for-jitsu'>How to create</a>
    - `externalID` string: External ID::IAM external ID
    - `host` string: Redshift host
    - `port` integer: Redshift port
    - `database` string, required: Redshift database name
    - `defaultSchema` string: Schema::Redshift schema
    - `username` string: Redshift username
    - `password` string: Redshift password
    - `bucket` string: S3 Bucket Name::Required for ingestion connections and ordinary syncs. Not needed when this warehouse is only a Reverse ETL model source.
    - `accessKeyId` string: S3 Access Key Id::S3 Access Key Id. <a target='_blank' rel='noreferrer noopener' href='https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys'>Create access key</a>
    - `secretAccessKey` string: S3 Secret Access Key::S3 Secret Access Key
  - DestinationDuckdb: DuckDB-powered cloud data warehouse scaling to terabytes with ease.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'duckdb', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `database` string, required: MotherDuck database name
    - `motherduckToken` string, required: MotherDuck token::MotherDuck token can be obtained in the MotherDuck's <a target='_blank' rel='noopener noreferrer' href='https://app.motherduck.com/settings/tokens'>Settings -> Access Tokens</a> section
    - `defaultSchema` string: Schema::Database schema
  - DestinationMysql: MySQL is a popular open source object-relational database system.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'mysql', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `host` string, required: Mysql host
    - `port` number: Mysql port
    - `database` string, required: Mysql database name
    - `username` string, required: Mysql username
    - `password` string, required: Mysql password
    - `parameters` object: Additional Mysql connection parameters
      - `tls` 'true' | 'false' | 'skip-verify' | 'preferred', required
  - DestinationS3: S3 is a cloud file storage service by Amazon
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 's3', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `authenticationMethod` 'iam' | 'accessKey': Authentication Method::S3 authentication method: <a target='_blank' rel='noopener noreferrer' href='https://docs.jitsu.com/destinations/block-storage/s3#advanced-iam-role-for-jitsu'>IAM Role based</a> or Access Key
    - `region` 'us-west-1' | 'us-west-2' | 'us-east-2' | 'us-east-1' | 'ap-south-1' | 'ap-northeast-3' | 'ap-northeast-2' | 'ap-southeast-1' | 'ap-southeast-2' | 'ap-northeast-1' | 'ca-central-1' | 'cn-north-1' | 'cn-northwest-1' | 'eu-central-1' | 'eu-west-1' | 'eu-west-2' | 'eu-south-1' | 'eu-west-3' | 'eu-north-1' | 'me-south-1' | 'sa-east-1' | 'us-gov-east-1' | 'us-gov-west-1': S3 Region::S3 Region
    - `roleARN` string: Role ARN::IAM role ARN. <a target='_blank' rel='noopener noreferrer' href='https://docs.jitsu.com/destinations/block-storage/s3#advanced-iam-role-for-jitsu'>How to create</a>
    - `externalID` string: External ID::IAM external ID
    - `accessKeyId` string: S3 Access Key Id::S3 Access Key Id. <a target='_blank' rel='noreferrer noopener' href='https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys'>Create access key</a>
    - `secretAccessKey` string: S3 Secret Access Key::S3 Secret Access Key
    - `bucket` string, required: S3 Bucket Name::S3 Bucket Name
    - `endpoint` string: Custom endpoint of S3-compatible server
    - `folder` string: Folder in the block storage bucket where files will be stored
    - `format` 'ndjson' | 'ndjson_flat' | 'csv': Format of the files stored in the block storage: <b>ndjson</b> - Newline Delimited JSON, <b>ndjson_flat</b> - Newline Delimited JSON flattened, <b>csv</b> - CSV
    - `compression` 'gzip' | 'zstd' | 'none': Compression mode used for the files stored in the block storage:<br/><b>gzip</b> - files will be compressed and have <code>.gz</code> filename suffix and <code>Content-Type: application/gzip</code><br/><b>zstd</b> - Zstandard compression, <code>.zst</code> filename suffix and <code>Content-Type: application/zstd</code>. Smaller and faster than gzip, but check your downstream tooling can read it<br/><b>none</b> - no compression, <code>Content-Type</code> and file extension will be set according to the format
  - DestinationGcs: Google Cloud Storage is a cloud file storage service by Google
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'gcs', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `accessKey` string, required: Google Access Key::Google Access Key
    - `bucket` string, required: GCS Bucket Name::GCS Bucket Name
    - `folder` string: Folder in the block storage bucket where files will be stored
    - `format` 'ndjson' | 'ndjson_flat' | 'csv': Format of the files stored in the block storage: <b>ndjson</b> - Newline Delimited JSON, <b>ndjson_flat</b> - Newline Delimited JSON flattened, <b>csv</b> - CSV
    - `compression` 'gzip' | 'zstd' | 'none': Compression mode used for the files stored in the block storage:<br/><b>gzip</b> - files will be compressed and have <code>.gz</code> filename suffix and <code>Content-Type: application/gzip</code><br/><b>zstd</b> - Zstandard compression, <code>.zst</code> filename suffix and <code>Content-Type: application/zstd</code>. Smaller and faster than gzip, but check your downstream tooling can read it<br/><b>none</b> - no compression, <code>Content-Type</code> and file extension will be set according to the format
  - DestinationMixpanel: Mixpanel is a product analytics platform that provides insights into user behavior.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'mixpanel', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `dataResidency` 'US' | 'EU'
    - `simplifiedIdMerge` boolean: Simplified Identity Merge::Use Mixpanel <a href="https://docs.mixpanel.com/docs/tracking-methods/identifying-users">Simplified Identity Merge</a> feature.<br/>Enable this option if your Mixpanel project has the corresponding <a href="https://docs.mixpanel.com/docs/tracking-methods/identifying-users#how-do-i-switch-between-the-simplified-and-original-api">feature enabled</a>.<br/><b>Using this feature is highly recommended to achieve better quality Identity Merge</b>
    - `projectId` string, required: Project id can be found in the <a href="https://help.mixpanel.com/hc/en-us/articles/115004490503-Project-Settings">project settings</a>
    - `projectToken` string, required: See <a href="https://developer.mixpanel.com/reference/project-token">how to obtain project secret</a>
    - `serviceAccountUserName` string, required: See <a href="https://developer.mixpanel.com/reference/service-accounts">how to create service account</a>
    - `serviceAccountPassword` string, required: See <a href="https://developer.mixpanel.com/reference/service-accounts">how to create service account</a>
    - `sendPageEvents` boolean: If enabled, all page view events will be sent to Mixpanel.
    - `sendIdentifyEvents` boolean: If enabled, any identify() call will send an Identify event to Mixpanel in addition to the profile update
    - `enableGroupAnalytics` boolean: Mixpanel Group Analytics allows behavioral data analysis at a customized group level. Group Analytics is available as an add-on package to customers on <a href='https://mixpanel.com/pricing/' target='_blank' rel='noreferrer noopener'>Growth and Enterprise plans.</a>
    - `filterBotTraffic` boolean: Don't send traffic from known bots to Mixpanel
    - `groupKey` string: Group Key for Mixpanel Group Analytics. Make sure that Group Key in <a href='https://mixpanel.com/report' target='_blank' rel='noreferrer noopener'>Mixpanel project settings</a> matches the provided value.
    - `enableAnonymousUserProfiles` boolean: If enabled, anonymous users will be tracked in Mixpanel
  - DestinationIntercom: Base shape shared by every destination type. Concrete subtypes (DestinationPostgres, DestinationClickhouse, etc.) extend this with type-specific credentials.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'intercom', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `accessToken` string, required: Intercom Access Token. You should first create an app in Intercom Developer Hub, and then generate an access token in the app settings. See <a href='https://developers.intercom.com/docs/build-an-integration/getting-started/' target='_blank' rel='noreferrer noopener'>a detailed guide</a>
    - `updateLastSeenOnEveryEvent` boolean: By default, the last seen property will be updated only on .identify() calls. If enabled, the property will be updated on every event. However, enabling this option may lead to higher API usage.
  - DestinationMicrosoftAds: Sync warehouse models to Customer Match audiences and offline conversion goals. Reverse ETL only; no UET browser tag is required.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'microsoft-ads', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `customerId` string: Customer ID::Manager/customer ID, not your account number.
    - `accountId` string: Account ID::Numeric advertising account ID, not the alphanumeric account number.
    - `developerToken` string: Developer token::Optional when configured by your Jitsu administrator.
    - `authorized` boolean
    - `oauthIntegrationId` 'jitsu-cloud-dst-microsoft-ads'
    - `oauthConnectionId` string
  - DestinationOpenaiAds: Send conversion events to OpenAI Ads through the Conversions API from your site and app event streams, or sync warehouse models as conversion events and Custom Audiences with Reverse ETL. No pixel on your site is required.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'openai-ads', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `conversionsApiKey` string: Conversions API key::Create it in Ads Manager under Conversions. Needed for conversion syncs; it is only used to send events.
    - `adsApiKey` string: Ads API key::Create it in Ads Manager under Settings. Needed for audience syncs; it can manage this ad account, so use a key made for Jitsu.
    - `pixelId` string: Pixel ID::Required for event connections: the Pixel ID from Ads Manager (Conversions). Reverse ETL conversions set the pixel on the sync and audiences do not use one.
    - `events` string: List of events to send, delimited by comma. Following <code>page</code>, <code>screen</code>, or any arbitrary event (name of <code>track</code> event). Special values: <b>empty string</b> - send only <code>track</code> events, <b>*</b> - send all events useful if you want to filter events with Functions
    - `eventMappings` string: Event names::Map your events to OpenAI events. One <code>eventName=openaiEvent</code> per line, e.g. <code>Order Completed=order_created</code>. Common ecommerce and sign-up events are mapped for you; anything else is sent as a custom event named after your event.
    - `actionSource` 'web' | 'mobile_app' | 'offline' | 'physical_store' | 'phone_call' | 'email' | 'other': Action source::Where the events happen. Web events need a page URL on every event; use another value for server-only events.
    - `phoneFieldName` string: Phone trait::Name of the user trait that holds the phone number, including the country code. If empty, no phone number is sent.
  - DestinationFacebookConversions: Send conversions to Meta or sync warehouse models to Facebook and Instagram Custom Audiences through Reverse ETL.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'facebook-conversions', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `pixelId` string: Pixel / Dataset ID. Required for ordinary event connections. Reverse ETL conversions configure their data source on the sync; audiences do not use a pixel.
    - `accessToken` string, required: Meta Access Token. For Reverse ETL, use a system-user token with access to the selected ad account or pixel/dataset.
    - `actionSource` 'email' | 'website' | 'app' | 'phone_call' | 'chat' | 'physical_store' | 'system_generated' | 'other': Action Source
    - `events` string: List of events to send, delimited by comma. Following <code>page</code>, <code>screen</code>, or any arbitrary event (name of <code>track</code> event). Special values: <b>empty string</b> - send only <code>track</code> events, <b>*</b> - send all events useful if you want to filter events with Functions
    - `phoneFieldName` string: Name of the field in the event user traits that contains the phone number. Expected format could be <a href='https://en.wikipedia.org/wiki/E.164' target='_blank' rel='noreferrer noopener'>E.164</a> or international format. If empty, phone number hash will not be sent.
  - DestinationGoogleAds: Base shape shared by every destination type. Concrete subtypes (DestinationPostgres, DestinationClickhouse, etc.) extend this with type-specific credentials.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'google-ads', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `authorized` boolean
    - `oauthIntegrationId` string
    - `oauthConnectionId` string
    - `api` 'data-manager' | 'google-ads': API::Which Google API to send conversions to.<ul><li><b>data-manager</b> — the <a href='https://developers.google.com/data-manager/api' target='_blank' rel='noreferrer noopener'>Data Manager API</a>. Recommended, and the only option for accounts onboarded after June 15, 2026.</li><li><b>google-ads</b> — the legacy <code>UploadClickConversions</code> endpoint of the Google Ads API. Requires an approved developer token, and Google no longer accepts new accounts for it. Pick this only if your account is already allowlisted.</li></ul>
    - `customerId` string, required: Customer ID::Your Google Ads account ID — 10 digits, found in the top right of the Google Ads UI. Dashes are optional.
    - `loginCustomerId` string: Manager (MCC) Customer ID::Set this when a manager account is used to access the account above. Leave empty if you authorized directly with the account.
    - `conversionType` 'conversion' | 'enhancement': Conversion Type::What kind of upload this destination performs.<ul><li><b>conversion</b> — report new conversions. Covers offline click conversions (matched on <code>gclid</code>) and <i>Enhanced Conversions for Leads</i> (matched on hashed user data). Requires a conversion action of type <b>Upload from clicks</b>.</li><li><b>enhancement</b> — <i>Enhanced Conversions for Web</i>. Does not create conversions; it attaches hashed user data to conversions your Google tag already recorded on the site, matched by <b>order ID</b>. Requires a conversion action of type <b>Website</b>, and every event must carry an order ID.</li></ul>
    - `conversionActionId` string: Conversion Action ID::The default conversion action for events without a per-event override.<ol><li>In Google Ads, open <b>Goals » Conversions » Summary</b> in the account that owns the conversion action.</li><li>Click the conversion action's name to open its details.</li><li>In your browser's address bar, find <code>ctId=</code> and copy only the number immediately after it. For example, <code>ctId=123456789&amp;</code> means enter <code>123456789</code>.</li></ol>This is <b>not</b> your Customer ID, the Google tag ID (<code>AW-...</code>), or the conversion label. For Customer Match audience syncs (Reverse ETL), no Conversion Action ID is needed; configure an audience under <b>Reverse ETL » Syncs</b> instead. <a href='https://support.google.com/google-ads/answer/16542291?hl=en' target='_blank' rel='noreferrer noopener'>Google's guide to finding the conversion action ID</a>.
    - `conversionActions` string[]: Per-event Conversion Actions::Route individual events to different conversion actions. One <code>eventName=conversionActionId</code> per line, e.g. <code>Order Completed=111222333</code>. Events not listed here use the Conversion Action ID above.
    - `events` string: List of events to send, delimited by comma. Following <code>page</code>, <code>screen</code>, or any arbitrary event (name of <code>track</code> event). Special values: <b>empty string</b> - send only <code>track</code> events, <b>*</b> - send all events useful if you want to filter events with Functions
    - `eventSource` 'WEB' | 'APP' | 'IN_STORE' | 'PHONE' | 'MESSAGE' | 'OTHER': Event Source::Where the conversion happened. The legacy Google Ads API only understands <code>WEB</code> and <code>APP</code>; other values are omitted from that payload.
    - `phoneFieldName` string: Phone Trait Name::Name of the field in the event user traits holding the phone number. It is normalized to <a href='https://en.wikipedia.org/wiki/E.164' target='_blank' rel='noreferrer noopener'>E.164</a> and hashed before sending. If empty, no phone number is sent.
    - `defaultPhoneCountryCode` string: Default Phone Country Code::Prepended to phone numbers that don't already start with <code>+</code>, e.g. <code>+1</code>. Google rejects phone numbers that aren't in E.164 format, so set this if your traits store local numbers.
    - `developerToken` string: Developer Token::Required for Google Ads API delivery, including Reverse ETL call conversions and conversion adjustments. Leave blank if your Jitsu runner already supplies GOOGLE_ADS_DEVELOPER_TOKEN. Not needed for Data Manager audience or click uploads. Request a token under <b>API Center</b> in your Google Ads manager account.
    - `storeClickIds` boolean: Remember Click IDs::Jitsu watches every event on this connection for a <code>gclid</code>/<code>gbraid</code>/<code>wbraid</code> and remembers it against the anonymous user for 90 days, so a conversion that fires later still gets attributed. Turn this off to only use click ids present on the converting event itself.
    - `validateOnly` boolean: Validate Only::Send requests with Google's <code>validateOnly</code> flag. Google checks the payload and reports errors but records nothing. Useful to verify a new setup without polluting conversion data.
  - DestinationJune: June.so is a product analytics platform that provides insights into user behavior.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'june', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `apiKey` string, required: API Key::To get or create an API Key, go to workspace's "Settings & integrations" > Integrations > June SDK
    - `enableAnonymousUserProfiles` boolean: If enabled, anonymous users will be tracked in June
  - DestinationResend: Base shape shared by every destination type. Concrete subtypes (DestinationPostgres, DestinationClickhouse, etc.) extend this with type-specific credentials.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'resend', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `apiKey` string, required: API Key::Create an API key in the Resend dashboard under "API Keys". It needs write access to Contacts. The key starts with "re_".
    - `audiences` string: Audiences::Comma-separated list of Resend audience names to add identified contacts to (e.g. <code>Customers, Beta</code>). Names are resolved automatically — any that don't exist yet are created. Leave empty to add contacts without an audience. Can be overridden per event with a <code>resendAudiences</code> trait. Membership is reconciled to match the list: audiences the connector previously added that are no longer listed get removed.
    - `resolveEmailFromUserId` boolean: Resolve email from userId::Resend identifies contacts by email only — it has no notion of a userId. When enabled, every <code>identify()</code> caches a userId → email mapping so later <code>track</code>/<code>page</code>/<code>group</code> events that carry only a userId can still update the matching contact. When disabled (default), only events that carry an email directly are matched; events with just a userId are skipped.
    - `apiBase` string: API Base URL::Override the Resend API base URL (defaults to https://api.resend.com). For testing or proxying.
  - DestinationSendgrid: Base shape shared by every destination type. Concrete subtypes (DestinationPostgres, DestinationClickhouse, etc.) extend this with type-specific credentials.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'sendgrid', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `apiKey` string, required: API Key::Create an API key in the SendGrid dashboard under Settings > API Keys. It needs "Marketing" permissions (Read/Write access to Marketing Contacts).
    - `lists` string: Lists::Comma-separated list of SendGrid marketing list names to add identified contacts to (e.g. <code>Customers, Beta</code>). Names are resolved automatically — any that don't exist yet are created. Leave empty to add contacts without a list. Can be overridden per event with a <code>sendgridLists</code> trait. Membership is reconciled to match the list: lists the connector previously added that are no longer listed get removed.
    - `region` 'Global' | 'EU': Data Residency::Select "EU" if your SendGrid account uses EU data residency (requests go to api.eu.sendgrid.com). Otherwise leave as "Global" (api.sendgrid.com).
    - `resolveEmailFromUserId` boolean: Resolve email from userId::SendGrid identifies contacts by email. When enabled, every <code>identify()</code> caches a userId → email mapping so later <code>track</code>/<code>page</code>/<code>group</code> events that carry only a userId can still update the matching contact. When disabled (default), only events that carry an email directly are matched.
    - `apiBase` string: API Base URL::Override the SendGrid API base URL (defaults to the Global/EU host from Data Residency). For testing or proxying.
  - DestinationBraze: Braze is a customer engagement platform used by businesses for multichannel marketing.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'braze', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `apiKey` string, required: API Key::Created under Developer Console in the Braze Dashboard.
    - `endpoint` 'US-01 : dashboard-01.braze.com' | 'US-02 : dashboard-02.braze.com' | 'US-03 : dashboard-03.braze.com' | 'US-04 : dashboard-04.braze.com' | 'US-05 : dashboard-05.braze.com' | 'US-06 : dashboard-06.braze.com' | 'US-07 : dashboard-07.braze.com' | 'US-08 : dashboard-08.braze.com' | 'US-09 : dashboard-09.braze.com' | 'EU-01 : dashboard-01.braze.eu' | 'EU-02 : dashboard-02.braze.eu': Your Braze REST endpoint. <a target='_blank' rel='noopener noreferrer' href='https://www.braze.com/docs/api/basics/#endpoints'>More details</a>
    - `appId` string: App ID::The app identifier used to reference specific Apps in requests made to the Braze API. Created under Developer Console in the Braze Dashboard.
    - `useJitsuAnonymousIdAlias` boolean: Use Anonymous Id Alias::Use Jitsu <code>anonymousId</code> as an alias for identified and anonymous profiles. Enables support for anonymous (alias-only) profiles.
    - `sendPageEvents` boolean: Send <code>page</code> and <code>screen</code> events as Braze Custom Events
  - DestinationSalesforce: Salesforce is the world's leading customer relationship management technology.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'salesforce', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `authorized` boolean
    - `oauthIntegrationId` string
    - `oauthConnectionId` string
    - `isSandbox` boolean: Sandbox Instance::You can log in to a sandbox by switching the login form to use Custom Domain, and providing the login URL of your sandbox, e.g.: <b>MyDomainName--SandboxName.sandbox.my.salesforce.com</b><br/><br/>Alternatively, you can use the general login form by appending the sandbox name to your Salesforce username. For example, if the production username is <b>user@example.com</b> and the sandbox is named <b>sndbx</b>, the sandbox username would be: <b>user@example.com.sndbx</b><br/><br/>If you are already authenticated, please <b>Re-Sign In</b> with your sandbox username.
  - DestinationMongodb: MongoDB is a cross-platform NoSQL document-oriented database. Jitsu supports both self-hosted Mongo and MongoDB Atlas.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'mongodb', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `url` string
    - `protocol` 'mongodb' | 'mongodb+srv': MongoDB protocol. <code>mongodb</code> or <code>mongodb+srv</code>. For Atlas use <code>mongodb+srv</code>
    - `hosts` string[]: MongoDB hosts with port (e.g. <code>localhost:27017</code>). One on each line
    - `username` string, required: MongoDB username
    - `password` string, required: MongoDB password
    - `database` string, required: MongoDB database
    - `collection` string, required: MongoDB collection
    - `options` object: Additional MongoDB connection options.
  - DestinationGa4: Google Analytics 4 is a service offered by Google that reports website traffic data and marketing trends.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'ga4', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `apiSecret` string, required: An <code>API SECRET</code> generated in the Google Analytics UI. To create a new secret, navigate to:<br/><b>Admin > Data Streams > choose your stream > Measurement Protocol API Secrets > Create</b>
    - `measurementId` string, required: The measurement ID associated with a stream.<br/><b>For Web:</b> found in the Google Analytics UI under: <b>Admin > Data Streams > choose your stream > Measurement ID</b><br/><b>For Apps</b>: the Firebase App ID, found in the Firebase console under: <b>Project Settings > General > Your Apps > App ID</b>
    - `events` string: List of events to send, delimited by comma. Following <code>page</code>, <code>screen</code>, or any arbitrary event (name of <code>track</code> event). Special values: <b>empty string</b> - send only <code>track</code> events, <b>*</b> - send all events useful if you want to filter events with Functions
  - DestinationPosthog: Posthog is an open-source product analytics tool. Jitsu supports both self-hosted Posthog and Posthog Cloud.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'posthog', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `key` string, required: Project API Key::Posthog Project API Key. Can be found in <a target='_blank' rel='noopener noreferrer' href='https://app.posthog.com/project/settings'>Project Settings</a>
    - `host` string: Posthog host
    - `enableGroupAnalytics` boolean: Group analytics is a powerful feature in PostHog that allows you to perform analytics on entities other than single users. Group Analytics is not available on the open-source or free cloud plan. <a href='https://posthog.com/pricing' target='_blank' rel='noreferrer noopener'>Learn more.</a>
    - `groupType` string: Group type is the abstract type of whatever our group represents (e.g. company, team, chat, post, etc.). <a href='https://posthog.com/docs/getting-started/group-analytics#groups-vs-group-types' target='_blank' rel='noreferrer noopener'>Groups vs. group types.</a>
    - `sendAnonymousEvents` boolean: Send events from anonymous users. If disabled, only events from identified users will be tracked.
    - `enableAnonymousUserProfiles` boolean: Enable Anonymous Person Profiles::Create <a href='https://posthog.com/docs/getting-started/person-properties' target='_blank' rel='noreferrer noopener'>Person profiles</a> for anonymous users. If disabled, only identified users will have profiles.
  - DestinationAmplitude: Amplitude is a product analytics platform
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'amplitude', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `key` string, required: Project API Key::Amplitude Project API Key.
    - `enableGroupAnalytics` boolean: Build an analysis around aggregated units of measure like accounts, charts, or order IDs. Requires The Amplitude Accounts add-on. <a href='https://help.amplitude.com/hc/en-us/articles/115001765532-Account-level-reporting-in-Amplitude' target='_blank' rel='noreferrer noopener'>Learn more.</a>
    - `groupType` string: Group type is the abstract type of whatever our group represents (e.g. accounts, charts, or order IDs).
    - `enableAnonymousUserProfiles` boolean: If enabled, anonymous users will be tracked in Amplitude
    - `dataResidency` 'US' | 'EU'
    - `sessionWindow` number: Session window in minutes
    - `minIdLength` number: Minimum ID Length::Overrides the Amplitude's default minimum ID length of 5 characters.
  - DestinationStatsig: Statsig is a feature management, experimentation, and product analytics platform
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'statsig', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `apiKey` string, required: Server Secret Key::Server Secret Key. Server Secret Keys can be created in <a target='_blank' rel='noopener noreferrer' href='https://console.statsig.com/api_keys'>Statsig Console → Project Settings → Keys & Environments</a>.
    - `enableAnonymousUserProfiles` boolean: If enabled, anonymous users (without userId) will be tracked in Statsig using their anonymousId
    - `sendPageEvents` boolean: If enabled, page and screen view events will be sent to Statsig
    - `segmentCompatibility` boolean: Segment Compatibility Mode::When enabled, customIDs and custom properties will only be populated from <code>statsigCustomIDs</code> and <code>statsigCustom</code> arrays in event properties or traits, following <a target='_blank' rel='noopener noreferrer' href='https://docs.statsig.com/integrations/data-connectors/segment#manual-configuration'>Segment's integration pattern</a>. Arrays should be in key-value pair format: <code>["key1", "value1", "key2", "value2"]</code>.
    - `includeContextInMetadata` boolean: Include Context in Metadata::When enabled, event context properties (page, screen, device, etc.) will be included in event metadata.
    - `environment` string: Environment Tier::Statsig environment tier (e.g., production, staging, development). This will be used to segment data by environment in Statsig.
  - DestinationHubspot: Hubspot is a CRM. Jitsu sends data to Hubspot API and updates contacts and company records
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'hubspot', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `accessToken` string, required: To obtain an access secret, go to <b>Settings » Account Setup » Private Apps</b>, create a new private app copy the <b>Access token</b>. See <a href='https://developers.hubspot.com/docs/api/private-apps'>detailed guide</a>. Please make sure to grant an application all read and write permissions under CRM section
    - `sendPageViewEvents` boolean: When enabled, Jitsu will send page view events to hubspot (only events with a known email)
    - `autoCreateCustomProperties` boolean: When enabled, Jitsu will automatically create HubSpot <a href='https://knowledge.hubspot.com/properties/create-and-edit-properties'>custom properties</a> for Contacts and Companies to capture every new trait. Otherwise, only known properties are sent.
  - DestinationDevnull: This destination does not send any data anywhere. However, you can connect a function to this destination
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'devnull', required
    - `provisioned` boolean
    - `testConnectionError` string
  - DestinationSegmentProxy: Base shape shared by every destination type. Concrete subtypes (DestinationPostgres, DestinationClickhouse, etc.) extend this with type-specific credentials.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'segment-proxy', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `apiBase` 'https://api.segmentapis.com/v1' | 'https://eu1.api.segmentapis.com/v1' | 'https://api.segment.io/v1': API Base::Segment API Base
    - `writeKey` string, required: To get an API Key you need to add the HTTP API source to your Segment workspace. Write Key can be found on the HTTP API source Overview page.
  - DestinationWebhook: Send data to any HTTP endpoint. You can use this destination to send data to Slack, Discord, or any other service that accepts HTTP requests. Requests can optionally be signed (HMAC-SHA256 or Ed25519) so your endpoint can verify their authenticity.
    - `id` string, required
    - `type` string, required
    - `workspaceId` string, required
    - `name` string, required
    - `updatedAt` string, nullable
    - `cloneId` string
    - `destinationType` 'webhook', required
    - `provisioned` boolean
    - `testConnectionError` string
    - `url` string, uri, required: Webhook URL
    - `method` 'GET' | 'POST' | 'PUT' | 'DELETE': HTTP method. Can be <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>
    - `headers` string[]: List of headers in format <code>key: value</code>
    - `customPayload` boolean: Enable custom payload. If disabled, the event payload will be sent as is.
    - `payload` string: Payload Template::Template for the webhook payload. The following macros are supported:<ul><li><code>{{ EVENT }}</code> - event json object for stream mode or batches with size=1</li><li><code>{{ EVENTS }}</code> - for batch mode - json array of events</li><li><code>{{ EVENTS_COUNT }}</code> - count of events in batch</li><li><code>{{ NAME }}</code> - event name</li><li><code>{{ env.VAR_NAME }}</code> - value of VAR_NAME environment variable</li></ul>
    - `signatureMethod` 'none' | 'hmac' | 'ed25519': Signature Method::How outgoing requests are signed so your endpoint can verify them.<ul><li><code>none</code> — requests are not signed.</li><li><code>hmac</code> — symmetric HMAC-SHA256 with a shared secret (like Stripe/GitHub). Simple, but anyone who can verify can also forge, so only use it for endpoints you fully trust.</li><li><code>ed25519</code> — asymmetric signature. Jitsu signs with a private key; your endpoint verifies with the public key and cannot forge messages. Prefer this when many or untrusted endpoints receive the webhook.</li></ul><b>Note:</b> signing applies to <b>stream</b>-mode delivery only. In <b>batch</b> mode events are delivered by Bulker and are <b>not</b> signed — use stream mode if you need signed webhooks.
    - `signatureSecret` string: Signing Secret::Shared secret for <code>HMAC-SHA256</code> signing (symmetric — there is no key pair). Put the <b>same</b> value here and in your receiving endpoint. Generate a random one with <code>openssl rand -hex 32</code> (any high-entropy string of 32+ bytes works). To verify a request, your endpoint recomputes the HMAC over the signed payload with this secret and compares the hex digest to the <code>Jitsu-Signature</code> header using a constant-time comparison. Keep it secret.
    - `signaturePrivateKey` string: Private Key (PEM)::Ed25519 private key used to sign requests. Generate a key pair:<br/><code>openssl genpkey -algorithm ed25519 -out jitsu_private.pem</code><br/><code>openssl pkey -in jitsu_private.pem -pubout -out jitsu_public.pem</code><br/>Paste the contents of <code>jitsu_private.pem</code> here and install <code>jitsu_public.pem</code> on your endpoint. To verify a request, your endpoint checks the <code>Jitsu-Signature</code> header (a hex Ed25519 signature) against the signed payload using the public key. Jitsu holds only the private key — keep it secret; the public key is safe to distribute.
    - `signatureHeader` string: Signature Header::Name of the header carrying the signature. Only used when signing is enabled.
    - `signatureIncludeTimestamp` boolean: Replay Protection::When enabled (recommended), the request timestamp (unix seconds) is folded into the signed payload — the signature covers <code>&lt;timestamp&gt;.&lt;body&gt;</code> — and sent in a companion <code>&lt;Signature Header&gt;-Timestamp</code> header. Your endpoint can then reject requests with an old timestamp to block replays of a captured, still-valid request. When disabled, only the raw body is signed and no timestamp header is sent: simpler to verify, but a captured request stays valid forever. Only used when signing is enabled.

## Other responses

- `400`: Bad request
- `401`: Authorization required
- `403`: Forbidden — no access to this workspace, or the workspace's plan does not include this feature
- `500`: Internal server error

---

[API](https://skmtc.dev/jitsu/apis/jitsu-api.md) - [All operations](https://skmtc.dev/jitsu/apis/jitsu-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jitsu/apis/jitsu-api/revisions/f6b8702d246f?raw)
