---
title: "Retrieve the authenticated project"
method: GET
path: "/api/v1/projects"
tags: ["Projects"]
---

# Retrieve the authenticated project

`GET /api/v1/projects`

## Request

- Base URL: `https://api.sendly.now`
- URL: `https://api.sendly.now/api/v1/projects`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `better-auth.session_token`
  - OAuth 2 (authorization code, authorization URL `https://app.sendly.now/api/auth/oauth2/authorize`, token URL `https://app.sendly.now/api/auth/oauth2/token`, scopes: `projects:read`)

The project the presented credential is scoped to — resolved from the API key, or from the `x-project-id` header for a session or delegated token. Singular despite the plural path, like `/api/v1/usage`: every v1 operation acts on exactly one project.

`sandbox_address` is this project's quick-start sender. It works with no domain setup, but only to the project owner's own verified address and under a daily cap — it is how you prove sending works end to end before any DNS exists. It is null when no handle can be derived (a project with no owner).

To enumerate every project you belong to — a different question, and not project-scoped — use `GET /api/users/me/projects`.

Requires the `projects:read` scope — View your projects and their settings.

## Response `200`

The authenticated project

- ProjectV1: The project the presented credential is scoped to.
  - `created_at` string, date-time, required
  - `disabled` boolean, required: A disabled project sends nothing; every send is refused.
  - `id` string, uuid, required
  - `language` string, required: ISO 639-1 code for customer-facing content.
  - `name` string, required
  - `sandbox_address` string, nullable, required: This project's quick-start sender, usable with no domain setup — but only to the project owner's own verified address, and under a daily cap. Null when none can be derived.
  - `ses_region` string, nullable, required: Locked once the first domain is added.
  - `tracking` 'ENABLED' | 'DISABLED' | 'MARKETING_ONLY', required

## Other responses

- `401`: `invalid_api_key` or `invalid_session` — missing or invalid credentials.
- `403`: `scope_missing`, `project_access_denied`, or `project_disabled`.
- `404`: `resource_not_found` — the project was deleted between authentication and this read.
- `422`: `validation_error` — query, path, or body parameters did not match the schema.
- `429`: `rate_limited` — see `Retry-After` and the `RateLimit` headers.
- `500`: `internal_error`.

---

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