---
title: "Authenticate with an Apple identity token and receive a session token"
method: POST
path: "/compat/v2/users/signInWithApple"
tags: ["users"]
---

# Authenticate with an Apple identity token and receive a session token

`POST /compat/v2/users/signInWithApple`

## Request

- Base URL: `https://api.recipesage.com`
- URL: `https://api.recipesage.com/compat/v2/users/signInWithApple`
- Auth: none required
- TypeScript: <https://skmtc.dev/recipesage/apis/recipesage-api/docs/compat/v2/users/signInWithApple/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- object
  - `identityToken` string, required
  - `nonce` string
  - `name` string
  - `authorizationCode` string
  - `redirectUri` string
  - `allowRegistration` boolean

## Response `200`

Successful response

- object
  - `token` string, required
  - `userId` string, uuid, required
  - `email` string, required
  - `isNewUser` boolean

## Other responses

- `400`: Invalid input data
- `404`: Not found
- `500`: Internal server error

## Changes

- **2026-10-25** `7c9d96f4aeff`: 2 info
  - added the new optional request property `authorizationCode`
  - added the new optional request property `redirectUri`
- **2026-09-11** `b5c4dea336e7`: 1 info
  - added the optional property `isNewUser` to the response with the `200` status
- **2026-09-10** `e6ac47572e64`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/recipesage/apis/recipesage-api/changes/compat/v2/users/signInWithApple/post.md)

---

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