---
title: "List your alert destinations"
method: GET
path: "/v1/me/alert-destinations"
tags: ["Alert Destinations"]
---

# List your alert destinations

`GET /v1/me/alert-destinations`

## Request

- Base URL: `https://api.subscriby.net`
- URL: `https://api.subscriby.net/v1/me/alert-destinations`
- Auth: HTTP bearer

Your destinations, primary first.

- `kind` is `connector_identity` or `email` (`push_device` is reserved for the creator apps).
- `target` is the connector account's id for `connector_identity`, the same value `GET /v1/me/identities` returns as the account behind a linked identity, or the email address for `email`.
- `classes` lists the alert classes routed here, is `null` for every class, or is `[]` for none (the account is kept but receives nothing).
- `is_primary` marks the destination of your primary connected account. It is derived from your linked identities, never set through this API.

Until you write a destination, you are on the **default**: every class of alert goes to your primary connected account, and the critical classes go to your email as well. The list is empty while the default applies, and the dashboard grid shows the default as every cell ticked on that account. Linking a primary account writes the default down as rows and adds the new account to them, so from then on the rows lead.

> **Critical classes always reach your email.** Recovery, billing and security alerts are sent to your email whatever the destinations say, because they arrive when the connector you would otherwise read them on may have just failed. Routing them to a connected account adds a message there; it never removes the email.

## Response `200`

Array of `AlertDestinationResource`

- object
  - `data` AlertDestinationResource[], required: The items.
    - `id` string, required: The destination's id.
    - `kind` string, required: `connector_identity` for a connected account, `email` for an address. `push_device` is reserved for the creator apps.
    - `target` string, required: The connected account's id (the same value `GET /v1/me/identities` returns behind a linked identity) for `connector_identity`, or the email address for `email`.
    - `classes` string[], nullable, required: The alert classes routed here: any of `sales`, `support`, `recovery`, `billing`, `security`, `passes`, `onboarding`. `null` means every class; `[]` keeps the destination but sends it nothing.
    - `is_primary` boolean, required: Whether this is the destination of your primary connected account. Derived from your linked identities, never set through the API.
    - `verified_at` string, nullable, required: When the destination was confirmed reachable, ISO 8601; null while unverified.

## Other responses

- `401`: `AUTHENTICATION_REQUIRED`: the request carries no bearer token, or one that is revoked, malformed, or minted for another environment (an `sbt_test_` token on production).
- `403`: `TOKEN_MISSING_ABILITY`: the token is valid but does not carry the ability this endpoint requires; `error.context.required_ability` names the one to grant. An endpoint that also checks who owns a row or which tier the account is on answers `FORBIDDEN`, `TEAM_TIER_REQUIRED` or `CONNECTOR_TIER_REQUIRED` with the same status, and says so in its own description.
- `429`: `RATE_LIMITED`: the token has spent its 300 requests a minute or 10,000 an hour; `Retry-After` says when the next one is accepted.

---

[API](https://skmtc.dev/memberpass/apis/subscriby-rest-api.md) · [All operations](https://skmtc.dev/memberpass/apis/subscriby-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/memberpass/apis/subscriby-rest-api/revisions/59c4df91d764?raw)
