---
title: "Read the latest export"
method: GET
path: "/v1/me/export"
tags: ["Me"]
---

# Read the latest export

`GET /v1/me/export`

## Request

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

```bash
curl https://api.subscriby.net/v1/me/export -H "Authorization: Bearer $SUBSCRIBY_TOKEN"
```

The caller's most recent export, whatever its state; `404 RESOURCE_NOT_FOUND` when none was ever requested. Poll it after a `POST` until `status` is `ready`, then download the zip from `download_url`, a signed link that works until `download_url_expires_at`; every read of a ready export mints a fresh link. The archive itself is removed at `expires_at`, after which `status` reads `expired` and a new export must be requested.

- `status` is `queued`, `building`, `ready`, `failed` or `expired`; only `ready` carries `download_url`.
- `reason` is `manual` for a request from Settings or this endpoint, `deletion` for the archive a scheduled account deletion builds on its own.

## Response `200`

The export.

- object
  - `data` AccountExportResource, required: One export of the caller's account: its state, when it was asked for and finished, how long its archive lives, and a signed link to download it while it is ready.
    - `id` string, required: The export's id.
    - `status` string, required: `queued`, `building`, `ready`, `failed` or `expired`. Only `ready` carries a `download_url`.
    - `reason` string, required: `manual` for a request from Settings or the API, `deletion` for the archive a scheduled account deletion builds.
    - `requested_at` string, required: When the export was asked for, ISO 8601.
    - `completed_at` string, nullable, required: When the build finished, ISO 8601, or null while it runs.
    - `expires_at` string, nullable, required: When the archive is removed, ISO 8601, or null before it exists.
    - `size_bytes` integer, nullable, required: The archive's size, or null before it exists.
    - `projects_count` integer, nullable, required: How many projects the archive holds, or null before it exists.
    - `download_url` string, nullable, required: A signed link to the zip, present only while `status` is `ready`; it stops working at `download_url_expires_at`, and reading the export again mints a fresh one.
    - `download_url_expires_at` string, nullable, required: When `download_url` stops working, ISO 8601, or null without a link.

## 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)
