---
title: "Claim an anonymous upload into your account"
method: POST
path: "/v1/claim"
tags: ["Images"]
---

# Claim an anonymous upload into your account

`POST /v1/claim`

## Request

- Base URL: `https://api.pixelvault.dev`
- URL: `https://api.pixelvault.dev/v1/claim`
- Auth: HTTP bearer

Exchange the `claim_token` from POST /v1/playground/upload for a permanent image in your account. Authenticates with a dashboard session token (JWT), NOT an API key — this is the path a web user takes to keep an image they just made, without ever touching a key. Idempotent per project (enforced by a unique index, so concurrent claims cannot store duplicates): re-claiming returns the image already saved. Valid for 24 hours, after which the temporary upload no longer exists.

## Request body

- object
  - `token` string, required: The `claim_token` returned by POST /v1/playground/upload.

## Response `200`

Already claimed — the same image, returned without storing a second copy

- object

## Other responses

- `201`: Image saved permanently
- `400`: Missing or invalid claim token
- `401`: No valid session
- `402`: Storage limit reached — a plan ceiling, not a rate limit
- `403`: Unverified account at the pre-verification upload cap
- `404`: The account has no project to save into
- `410`: The temporary upload has expired and is gone
- `429`: Rate limit or monthly upload quota exceeded

---

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