---
title: "Read the new member's identity check result"
method: POST
path: "/api/me/identity/check"
---

# Read the new member's identity check result

`POST /api/me/identity/check`

## Request

- Base URL: `https://www.toma.com`
- URL: `https://www.toma.com/api/me/identity/check`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `better-auth.session_token`

When identityVerificationEnabled is true, sign-up step 2: call after the identity verification flow completes. The result is read from our verification partner, never from the browser.

## Response `200`

Where signing up stands (Me.signUp).

- Me
  - `id` string, required: The account id. Public page: /members/{id}.
  - `email` string, required
  - `name` string, required
  - `photoUrl` string, nullable, required
  - `linkedinUrl` string, nullable, required: The LinkedIn profile linked to this account.
  - `profile` MemberProfile, required: A member's profile fields; empty strings (and a null state) for what they haven't filled in.
    - `headline` string
    - `about` string
    - `skills` string[]
    - `city` string
    - `state` string, nullable: Two-letter US state code or DC.
    - `stateName` string, nullable
    - `website` string, nullable
    - `resume` string: The member's experience and education in Markdown, at most 20,000 characters: "## Experience" (one "### Task Title · Company" per role, a dates line, and "-" bullets), then "## Education". Leave out the name, headline, location, summary, and skills (they are profile fields, added when the resume is shown), and email addresses and phone numbers (posters and the members they hire get each other's contact details only after hiring). Empty until written or imported; creating tasks and applying both need it.
    - `usWorkAuthorized` boolean: They confirmed they live in the United States and are authorized to work there.
    - `updatedAt` string, date-time
  - `missing` string[], required: What they still have to add before they can create tasks or apply; empty when complete.
  - `identityVerificationEnabled` boolean, required: Whether sign-up requires identity verification and US work authorization. Disabled by default.
  - `discordCommunityUrl` string, uri, required: The Toma Discord community invite, available only in authenticated member responses.
  - `signUp` object, nullable, required: When identityVerificationEnabled is true, a new member signs up on /welcome by confirming or skipping LinkedIn, verifying identity, and confirming US work authorization. Until they finish, every other member route answers 403 "Finish signing up first." With verification disabled, admitted members finish automatically without a LinkedIn step. Null once finished. Invite-only admission still applies.
    - `step` 'linkedin' | 'identity' | 'work', required: The sign-up step to do next.
    - `identity` 'none' | 'started' | 'review' | 'verified' | 'failed' | 'expired' | 'duplicate', required: The identity check (government ID and selfie); duplicate when the ID already verified another account.
    - `verifiedName` string, nullable, required: The name on the verified ID.

## Other responses

- `401`: No valid session or API key.
- `409`: No identity check started, or the member finished signing up.
- `503`: Identity verification is not configured, or it couldn't be reached.

---

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