On this page

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

amp destinations

amp destinations manages destinations in a project. Read commands require destinations:read. Create, update, test, and Snowflake key generation require destinations:write.

List partner types first with amp destination-types so you pass a valid --partner and config.

amp destinations list

bash
amp destinations list --project <project_id> --limit 5
amp destinations list --project <project_id> --partner <partner> --enabled true

Use --q (or --query) to search, --partner to filter by partner, --enabled to filter by state, and --kind to filter by connector kind.

In an interactive terminal, amp destinations list prints a human-friendly table. Pipe the output to a file or another command, or pass --json, to get raw API JSON instead.

amp destinations create

Pass --partner and --display-name. Amplitude assigns the destination id. Repeating create with the same display name creates another destination. Pass --dry-run to return a plan envelope without creating the destination.

The API treats secret and OAuth config values as write-only. Pass nested config, kind, event_filter, and property_mappings with --body-json when flags aren't enough:

bash
amp destinations create --project <project_id> --partner <partner> --display-name "My destination"
amp destinations create --project <project_id> --partner <partner> --display-name "My destination" --dry-run
amp destinations create --project <project_id> --partner <partner> --display-name "My destination" \
  --body-json '{"config":{},"enabled":true}'

You can omit kind when the partner has one capability. For a multi-capability partner, pass kind so the request isn't ambiguous. The three families are mutually exclusive: a subset of event and identify, or cohort, or warehouse_export. Don't combine families.

amp destinations get

bash
amp destinations get --project <project_id> --id <destination_id>

amp destinations update

Use --project and --id to identify an existing destination, then pass the fields to change. Run amp destinations update --help for the field list, or pass --body-json to merge additional fields. Pass --if-match with the destination's current version when you need a conditional update. --dry-run returns a plan envelope without mutating.

bash
amp destinations update --project <project_id> --id <destination_id> --display-name "Updated name"
amp destinations update --project <project_id> --id <destination_id> --dry-run --body-json '{"enabled":false}'

amp destinations test-destination

Tests an event streaming destination connection. This command requires destinations:write.

bash
amp destinations test-destination --project <project_id> --id <destination_id>

amp destinations generate-snowflake-rsa-key

Generates a Snowflake-compatible RSA key pair. Amplitude stores the private key in an ephemeral server-side cache. The response includes the public key and an ephemeral ID. Paste the public key into Snowflake with ALTER USER <user> SET RSA_PUBLIC_KEY = '...'. Then pass snowflake_private_key_ephemeral_id in the destination config on a later amp destinations create for a Snowflake direct-load destination.

Pass --idempotency-key:

bash
amp destinations generate-snowflake-rsa-key --project <project_id> --idempotency-key <unique_key>

Configuration documents --project, --json, --dry-run, and --body-json in full.

Was this helpful?