---
title: "Web push status: signed-up phones, today's deliveries, latest messages"
method: GET
path: "/projects/v1/{project_id}/push"
tags: ["Projects"]
---

# Web push status: signed-up phones, today's deliveries, latest messages

`GET /projects/v1/{project_id}/push`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/projects/v1/{project_id}/push`
- Auth: one of:
  - HTTP bearer
  - API key in header `SIGN-IN-WITH-X`
  - HTTP bearer
  - HTTP bearer

tenant-web-push. The building agent's check without a phone. Endpoints and keys are never returned; a phone is named by its subscription id and push service host.

## Path parameters

- `project_id` string, required: Run402 project ID. Public IDs are not UUIDs.

## Headers

- `SIGN-IN-WITH-X` string, required

## Response `200`

Push status.

- PushStatus
  - `project_id` string, required: Run402 project ID. Public IDs are not UUIDs.
  - `subscriptions` object, required
    - `total` integer, required: Signed-up phones.
    - `users` object[], required
      - `user_id` string, uuid, required
      - `phones` object[], required
        - `subscription_id` string, required
        - `push_service` string, required
        - `created_at` string, date-time, required
        - `last_confirmed_at` string, date-time, required
        - `last_accepted_at` string, date-time, nullable, required
    - `users_shown` integer, required
    - `users_total` integer, required
    - `has_more` boolean, required
  - `usage` object, required
    - `deliveries_today` integer, required
    - `limit` integer, required
    - `resets_at` string, date-time, required
    - `scope` 'organization' | 'project', required
    - `org_id` string, uuid, nullable, required
  - `messages` object[], required: The latest 10.
    - `message_id` string, required
    - `created_at` string, date-time, required
    - `status` 'no_subscribers' | 'queued' | 'sending' | 'completed', required
    - `devices` integer, required
    - `outcomes` PushOutcomes, required: Deliveries of a message by outcome. `removed`: the push service said the phone is gone and its subscription was deleted.
      - `queued` integer, required
      - `retrying` integer, required
      - `accepted` integer, required
      - `removed` integer, required
      - `failed` integer, required

## Other responses

- `401`: AUTH_REQUIRED.
- `403`: FORBIDDEN: no project.read, or another project's service key.

## Changes

- **2026-10-21** `cc6ccb110365`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/run402/apis/run402-api/changes/projects/v1/:project_id/push/get.md)

---

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