---
title: "Create an Errors project and receive its ingest address once"
method: POST
path: "/errors/projects"
tags: ["Errors"]
---

# Create an Errors project and receive its ingest address once

`POST /errors/projects`

## Request

- Base URL: `https://realuptime.io/api/v1`
- URL: `https://realuptime.io/api/v1/errors/projects`
- Auth: HTTP bearer

Creates a project under the same plan allowance the dashboard enforces and mints its ingest key. The 201 response carries `dsn` (the native ingest address) and `sentryDsn` (the same key as a Sentry-shaped DSN) and is the only time either is returned: the plaintext key is not stored, so a later `GET /errors/projects` shows only `keyHint`. Both addresses are safe to put in a browser bundle; they can only submit events to this one project. Project names are labels, not identifiers, so list the projects before retrying a request whose response was lost.

## Request body

- object
  - `name` string, required

## Response `201`

The created project and its ingest addresses, shown once.

- object
  - `project` object, required
    - `id` string, required
    - `name` string, required
    - `keyHint` string, required
    - `revoked` boolean, required
    - `createdAt` string, required
    - `eventCeilingPerMinute` number, nullable, required
  - `dsn` string, required
  - `sentryDsn` string, required

## Other responses

- `400`: Malformed JSON, an unknown field, or a name outside 1 to 120 characters. - `RU-4007` Invalid errors API request: https://realuptime.io/kb/errors/ru-4007
- `401`: Missing, invalid, or revoked API key. - `RU-1001` Missing API credentials: https://realuptime.io/kb/errors/ru-1001 - `RU-1002` Invalid or revoked API key: https://realuptime.io/kb/errors/ru-1002
- `403`: The account does not hold the Errors product, or already has as many projects as its plan includes. This key is read-only, or this key is IP-restricted and the request came from outside its allowlist. - `RU-4005` Account does not have realuptime errors: https://realuptime.io/kb/errors/ru-4005 - `RU-2008` Errors project allowance exhausted: https://realuptime.io/kb/errors/ru-2008 - `RU-1004` API key is read-only: https://realuptime.io/kb/errors/ru-1004 - `RU-1007` API key is restricted to an IP allowlist: https://realuptime.io/kb/errors/ru-1007
- `429`: Per-key rate limit exceeded, a Free account's per-account request budget exceeded, or too many failed authentication attempts. - `RU-2003` API write rate limit exceeded: https://realuptime.io/kb/errors/ru-2003 - `RU-2001` Too many failed authentication attempts: https://realuptime.io/kb/errors/ru-2001

---

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