---
title: "Check the uploaded bytes and keep the image. Safe to repeat"
method: POST
path: "/revise/cards/{cardId}/images/{imageId}/complete"
tags: ["revise"]
---

# Check the uploaded bytes and keep the image. Safe to repeat

`POST /revise/cards/{cardId}/images/{imageId}/complete`

## Request

- Base URL: `https://api.focusbear.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.focusbear.io/revise/cards/{cardId}/images/{imageId}/complete`
- Auth: HTTP bearer

## Path parameters

- `cardId` string, required
- `imageId` string, required

## Request body

- CompleteReviseCardImageUploadDto
  - `file_name` string

## Response `200`

- ReviseCardImageResponseDto
  - `id` string, required
  - `card_id` string, required
  - `reference` string, required
  - `file_name` string, nullable, required
  - `content_type` 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp', required
  - `file_size` number, required
  - `rotation` 0 | 90 | 180 | 270, required: Degrees clockwise to turn the image when drawing it
  - `url` string, required: Signed GET URL; send no Authorization header
  - `url_expires_at` string, required
  - `created_at` string, required

## Other responses

- `400`: REVISE_IMAGE_UNSUPPORTED_TYPE, REVISE_IMAGE_TOO_LARGE or REVISE_IMAGE_NOT_UPLOADED

---

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