---
title: "A no-Snowflake preview of what POST .../activate would pin for this schedule."
method: GET
path: "/v1/dashboards/{id}/email-schedules/{sid}/activation"
tags: ["dashboards"]
---

# A no-Snowflake preview of what POST .../activate would pin for this schedule.

`GET /v1/dashboards/{id}/email-schedules/{sid}/activation`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/v1/dashboards/{id}/email-schedules/{sid}/activation`
- Auth: one of:
  - API key in cookie `dvt_session`
  - HTTP bearer

The read half of Activate (DVT-4794, ADR-0069 Amendment 5 slice S3): what
`POST .../activate` would PIN right now — the dashboard's latest revision,
the schedule's page scope, its (active) recipient count and its cadence —
and whether the activation gates currently pass. Issues NO Snowflake
statement of any kind: `canActivate` reflects the `schedule:activate`
capability alone (D8, admin-ranked), independent of any live session.

Requires `dashboard:write`. Same gate as the rest of this group: **`404`
`feature-disabled` only when the surface is off** —
`DVT_UNATTENDED_SCHEDULES_ENABLED=false` on both dvt-api and dvt-engine,
or an edition where `emailSchedule` itself is false. A shipped Snowflake
native-app install answers `200` here.

## Response `200`

What Activate would pin, and whether it currently can.

- object
  - `data` EmailScheduleActivation, required: The read half of Activate (DVT-4794, ADR-0069 Amendment 5 slice S3, `GET /v1/dashboards/{id}/email-schedules/{sid}/activation`): a NO-SNOWFLAKE preview of what `POST .../activate` would pin right now, and whether it currently can.
    - `canActivate` boolean, required: Whether the caller holds the `schedule:activate` capability (D8, admin-ranked) — independent of any live Snowflake session. The caller already cleared the `dashboard:write` resource check to reach this preview at all.
    - `latestRevisionId` string, uuid, required: The dashboard's current revision id — what Activate would pin.
    - `pageId` string: This schedule's page scope. Absent means every non-hidden page (hidden pages are excluded, ADR-0036 §1); if every page is hidden, a run fails with bad page scope.
    - `recipientCount` integer, required: The number of active recipients Activate would pin.
    - `cron` string, required: This schedule's live cron expression — what Activate would pin.
    - `timezone` string, required: This schedule's live IANA timezone — what Activate would pin.
    - `cadenceOk` boolean, required: Whether the cadence clears the minimum-interval floor (15 minutes).
    - `blockers` string[], required: Every gate Activate would currently refuse on. Empty means Activate would succeed.
  - `meta` Meta, required: Response metadata.
    - `requestId` string, required: Correlates with the X-Request-Id header.
    - `total` integer: Item count, present on collection responses.
    - `nextCursor` string, nullable: Opaque keyset-pagination cursor, present on paginated responses (e.g. GET /v1/dashboards) when more rows exist beyond this page. Pass it back as the `cursor` query param to fetch the next page; absent or null on the last page.
    - `roleResolveDegraded` boolean: Snowflake mode only (DVT-2260), on GET /v1/dashboards: present and true when the caller's live Snowflake role resolution failed or was unavailable — role-shared dashboards may be missing from this page. Omitted (not merely false) whenever resolution succeeded or the role-share arm does not apply (off snowflake mode, an org admin/owner, or off the ingress listener).

## Other responses

- `401`: Missing, invalid, or expired session.
- `403`: The caller's role does not permit this action.
- `404`: Either the schedule does not exist (or is not the caller's to read), or automatic sending is disabled on this deployment (`feature-disabled`, see this route's description). Deliberately the same status for both, and identical for a real schedule id and an invented one.

---

[API](https://skmtc.dev/dvt/apis/dvt-rest-api.md) · [All operations](https://skmtc.dev/dvt/apis/dvt-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dvt/apis/dvt-rest-api/revisions/00016f504165?raw)
