# SESSION_USER_REQUIRED

# SESSION_USER_REQUIRED

This endpoint requires a session JWT minted with an end-user identity. The bearer token presented carries no `Id` claim — typically because the session was created without an `email`.

## Summary

| Field | Value |
|---|---|
| HTTP status | `401` |
| `errorCategory` | `authentication` |
| `retryable` | `false` |

## When This Fires

- `GET` / `POST /v1/marketfront/checkout/payments` and other session-required checkout endpoints called with a partner-only token (created via `/v1/marketfront/session/create` without an `email`).

A partner-only token is appropriate for read-only browse (discovery, store/catalog reads) and for setting fulfillment context, but is not accepted on endpoints that operate on a specific authenticated user's identity (checkout, payment, order history).

## Recommended Action

Create a new session with an end-user email and use the returned token for subsequent calls:

```bash
POST /v1/marketfront/session/create
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "email": "user@example.com",
  "firstName": "Jane",
  "lastName": "Doe"
}
```

Then reinitialize the Marketfront SDK (or set the `Authorization` header) with the returned session token.

This is **not** retryable with the same token — the token will continue to fail until replaced.

## Example

```json
{
  "type": "https://developer.gett-tech.com/errors/SESSION_USER_REQUIRED",
  "title": "Bad request",
  "status": 401,
  "detail": "This endpoint requires a session JWT minted with an email. Create one via POST /v1/marketfront/session/create.",
  "instance": "/v1/marketfront/checkout/payments",
  "requestId": "req_abc123",
  "timestamp": "2026-04-27T14:30:00.000Z",
  "errorCode": "SESSION_USER_REQUIRED",
  "errorCategory": "authentication",
  "retryable": false
}
```
