---
title: "Re-check mailbox connections now"
method: POST
path: "/mailboxes/refresh-status/"
tags: ["senders"]
---

# Re-check mailbox connections now

`POST /mailboxes/refresh-status/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/mailboxes/refresh-status/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Re-checks the given mailboxes, or every mailbox when no body is sent, with the hourly check's own probe: a read of each account's profile, which sends no email. Each mailbox that passes is stamped last_verified_at, as the hourly check stamps it, and one whose grant is refused is marked disconnected with the reason. A mailbox Google could not answer for keeps the status it had, and one Gmail answered with a definite error (Gmail turned off for that user, say) loses its stamp until a check passes. A mailbox disconnected on purpose, such as one removed from InboxKit, is not checked.

## Request body

- RefreshMailboxStatusSchema: Which mailboxes to re-check; omitted, every mailbox in the workspace.
  - `mailbox_ids` string[], nullable

## Response `200`

Successful Response

- MailboxReadSchema[]
  - `bounce_rate` number, nullable: DSNs / accepted sends, lifetime.
  - `connection_status` 'connected' | 'disconnected', required: Whether the mailbox's grant currently authenticates.
  - `created_at` string, date-time, required
  - `daily_send_limit` integer, required
  - `disconnected_at` string, date-time, nullable, required
  - `disconnected_reason` string, nullable, required
  - `email_address` string, required
  - `id` string, uuid, required
  - `last_verified_at` string, date-time, nullable: When the grant last passed its check.
  - `provider` 'google_workspace' | 'google_workspace_dwd', required: Which email provider a mailbox connects through. Only Google Workspace ships so far; every provider is implemented behind ``providers.EmailProviderBase`` so Office 365 and IMAP/SMTP can be added later without touching callers. ``GOOGLE_WORKSPACE`` holds a per-mailbox OAuth grant (consent screen, refresh token). ``GOOGLE_WORKSPACE_DWD`` holds no grant at all: tokens are minted on demand via domain-wide delegation as the platform service account, so its rows carry an empty ``refresh_token`` forever. It is the path imported fleets (e.g. InboxKit) connect through.
  - `reply_rate` number, nullable: Genuine replies / accepted sends, lifetime.
  - `sender_profile_id` string, uuid, nullable, required
  - `updated_at` string, date-time, required
  - `usage` MailboxUsageReadSchema: Volume only; the ceiling it runs against is the mailbox's `daily_send_limit`.
    - `sent_today` integer, required
    - `sent_yesterday` integer, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
