---
title: Get Selfie
description: Retrieve the selfie captured during a Human Token process — available for 24 hours after the process finishes.
canonical: https://developer.unico.io/human-token/api-reference/get-selfie
locale: en
generated_by: markdown-export
---

- [/](/)
- API Reference
- Get Selfie

**On this pageGet SelfieGETRetrieve the selfie captured during a Human Token process.

Returns the biometric selfie captured by the user during a Human Token process. The image is returned as a base64-encoded string.
Available for any finished process that executed a biometric capture — all five Human Token flows (`api+humantoken`, `api+liveness+humantoken`, `api+liveness+humantoken+revalidation`, `humantoken`, `humantoken+revalidation`). Not available when the process finished without a biometric capture, since there is no selfie to return.
warningThe selfie is available for **24 hours** after the process finishes. After that, the image is permanently deleted and this endpoint returns `404`.
### Endpoint​

EnvironmentURL**Production**`GET https://humantoken.unico.app/client/v1/process/{processId}/selfie`
### Request​

Headers
HeaderValue`x-unico-accesskey``<your_access_key>` (see [Authentication](/human-token/get-started/authentication))
Path parameters
ParameterTypeRequiredDescription`processId`string (UUID)yesProcess identifier returned by [Create Process](/human-token/api-reference/post-processes).
### Example​

cURLNode.js```
curl -X GET https://humantoken.unico.app/client/v1/process/$PROCESS_ID/selfie \  -H "x-unico-accesskey: $UNICO_ACCESS_KEY"
```

```
import fetch from 'node-fetch';const res = await fetch(  `https://humantoken.unico.app/client/v1/process/${processId}/selfie`,  { headers: { 'x-unico-accesskey': process.env.UNICO_ACCESS_KEY } });const { fileContents, contentType } = await res.json();// fileContents is a base64-encoded image string
```

### Responses​

200 OK
```
{  "fileContents": "/9j/4AAQSkZJR...",  "contentType": "image/jpeg"}
```

FieldTypeDescription`fileContents`string (base64)The captured selfie, base64-encoded.`contentType`stringMIME type of the image — `image/jpeg` or `image/png`.
### Error Codes​

400 Bad Request401 Unauthorized403 Forbidden404 Not Found429 Too Many RequestsThe `processId` path parameter is missing or malformed.Access key missing or invalid in the `x-unico-accesskey` header. See [Authentication](/human-token/get-started/authentication).Insufficient permissions to access the selfie for this process.Process not found, the process finished without a biometric capture, or the 24-hour retention window has expired.Rate limit reached. When your system receives an HTTP 429 error, you must implement mechanisms to prevent cascading failures and avoid worsening the restriction.
**Best practices:**

**Cool-down period (backoff):** Immediately halt or throttle subsequent requests from your system. Do not continuously retry failed requests in a tight loop.
**Queueing & throttling:** Buffer or queue outgoing requests on your end to control the traffic flow before re-sending them.
**Exponential backoff with jitter:** When retrying, increase the waiting time exponentially between attempts (e.g., 1 s, 2 s, 4 s, 8 s) and add a small random delay ("jitter") to prevent a herd effect where all queued requests retry at the exact same millisecond.

warningContinuously hitting a rate-limited endpoint without backing off can **prolong the restriction period** and severely impact your system's operational throughput. Properly throttling requests on your side ensures a smoother, more resilient integration.
For default limits, increase requests and additional details, see [Rate Limits](/developers/start/rate-limits).
### What's next​

For the full process result, see [Get Process](/human-token/api-reference/get-process).
Back to [Create Process](/human-token/api-reference/post-processes) to send a new selfie.
Last updated on Oct 22, 2026**