> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve identity profile

> Retrieves the details of an existing identity profile.

Required permissions:
 - `identity:read`



## OpenAPI

````yaml /openapi/api-v1-stable.json get /identity_profiles/{id}
openapi: 3.1.0
info:
  description: >-
    The Whop REST API. Please see
    https://docs.whop.com/developer/api/getting-started for more details.
  termsOfService: https://whop.com/tos-developer-api/
  title: Whop API
  version: 1.0.0
  x-api-version-date: '2026-08-21'
servers:
  - description: Production Whop API
    url: https://api.whop.com/api/v1
  - description: Sandbox Whop API
    url: https://sandbox-api.whop.com/api/v1
security: []
tags:
  - description: Products
    name: Products
  - description: Payments
    name: Payments
  - description: Refunds
    name: Refunds
  - description: Disputes
    name: Disputes
  - description: Dispute alerts
    name: Dispute alerts
  - description: Resolution center cases
    name: Resolution center cases
  - description: Checkout configurations
    name: Checkout configurations
  - description: Setup intents
    name: Setup intents
  - description: Payment methods
    name: Payment methods
  - description: Invoices
    name: Invoices
  - description: Promo codes
    name: Promo codes
  - description: Card transactions
    name: Card transactions
  - description: Ledger accounts
    name: Ledger accounts
  - description: Withdrawals
    name: Withdrawals
  - description: Payout methods
    name: Payout methods
  - description: Verifications
    name: Verifications
  - description: Identity profiles
    name: Identity profiles
  - description: Payout accounts
    name: Payout accounts
  - description: Topups
    name: Topups
  - description: Companies
    name: Companies
  - description: Authorized users
    name: Authorized users
  - description: Fee markups
    name: Fee markups
  - description: Members
    name: Members
  - description: Memberships
    name: Memberships
  - description: Leads
    name: Leads
  - description: Entries
    name: Entries
  - description: Shipments
    name: Shipments
  - description: Reviews
    name: Reviews
  - description: Company token transactions
    name: Company token transactions
  - description: Affiliates
    name: Affiliates
  - description: Experiences
    name: Experiences
  - description: Forums
    name: Forums
  - description: Forum posts
    name: Forum posts
  - description: Chat channels
    name: Chat channels
  - description: Support channels
    name: Support channels
  - description: Messages
    name: Messages
  - description: Reactions
    name: Reactions
  - description: Dm members
    name: Dm members
  - description: Dm channels
    name: Dm channels
  - description: Notifications
    name: Notifications
  - description: Courses
    name: Courses
  - description: Course chapters
    name: Course chapters
  - description: Course lessons
    name: Course lessons
  - description: Course students
    name: Course students
  - description: Course lesson interactions
    name: Course lesson interactions
  - description: Apps
    name: Apps
  - description: Webhooks
    name: Webhooks
  - description: App builds
    name: App builds
  - description: Access tokens
    name: Access tokens
  - description: Account links
    name: Account links
  - description: Files
    name: Files
  - description: Ai chats
    name: Ai chats
  - description: Bounties
    name: Bounties
  - description: Stats
    name: Stats
  - description: Conversions
    name: Conversions
  - description: Ad reports
    name: Ad reports
paths:
  /identity_profiles/{id}:
    get:
      tags:
        - Identity profiles
      summary: Retrieve identity profile
      description: |-
        Retrieves the details of an existing identity profile.

        Required permissions:
         - `identity:read`
      operationId: retrieveIdentityProfile
      parameters:
        - description: The unique identifier of the identity profile (idpf_xxx).
          in: path
          name: id
          required: true
          schema:
            example: idpf_xxxxxxxxxxxxx
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProfile'
          description: A successful response
        '400':
          content:
            application/json:
              example:
                error:
                  code: parameter_missing
                  message: 'Missing required parameter: amount.'
                  param: amount
                  type: invalid_request_error
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Bad request
        '401':
          content:
            application/json:
              example:
                error:
                  message: Invalid or missing API key
                  type: unauthorized
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                error:
                  message: You do not have permission to access this resource
                  type: forbidden
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Forbidden
        '404':
          content:
            application/json:
              example:
                error:
                  message: Resource not found
                  type: not_found
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Not found
        '422':
          content:
            application/json:
              example:
                error: null
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Verification required
        '429':
          content:
            application/json:
              example:
                error: null
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Too many requests
        '500':
          content:
            application/json:
              example:
                error:
                  message: An unexpected error occurred
                  type: internal_server_error
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Internal server error
      security:
        - bearerAuth:
            - identity:read
components:
  schemas:
    IdentityProfile:
      description: >-
        A consolidated identity or business profile synced from verification
        provider data.
      properties:
        business_address:
          description: >-
            Registered business address reported by the identity provider.
            Present on `business` profiles.
          properties:
            city:
              description: The city of the address.
              type:
                - string
                - 'null'
            country:
              description: The country of the address.
              type:
                - string
                - 'null'
            line1:
              description: The line 1 of the address.
              type:
                - string
                - 'null'
            line2:
              description: The line 2 of the address.
              type:
                - string
                - 'null'
            postal_code:
              description: The postal code of the address.
              type:
                - string
                - 'null'
            state:
              description: The state of the address.
              type:
                - string
                - 'null'
          required:
            - line1
            - line2
            - city
            - state
            - postal_code
            - country
          type:
            - object
            - 'null'
        business_name:
          description: Business entity name. Present on `business` profiles.
          type:
            - string
            - 'null'
        business_structure:
          description: >-
            Reported legal structure of a business profile (e.g. `corp`, `llc`).
            Provider-specific values; present on `business` profiles.
          type:
            - string
            - 'null'
        country:
          description: >-
            ISO 3166-1 alpha-2 country code reported by the identity provider,
            such as `US` or `GB`. For individuals this is the country of
            citizenship or residence; for businesses, the country of
            incorporation.
          type:
            - string
            - 'null'
        created_at:
          description: When the identity profile was first created.
          example: '2023-12-01T05:00:00.401Z'
          format: date-time
          type: string
        date_of_birth:
          description: >-
            ISO date (`YYYY-MM-DD`) reported by the identity provider. Present
            on `individual` profiles.
          type:
            - string
            - 'null'
        email:
          description: >-
            Email address reported by the identity provider. Typically present
            on `individual` profiles.
          type:
            - string
            - 'null'
        first_name:
          description: Individual's first name.
          type:
            - string
            - 'null'
        id:
          description: The tag of the identity profile (idpf_xxx).
          example: idpf_xxxxxxxxxxxxx
          type: string
        last_name:
          description: Individual's last name.
          type:
            - string
            - 'null'
        linked_companies:
          description: >-
            The companies this identity profile is currently linked to. Only
            populated for direct Whop user sessions; always empty when
            authenticated via API key, app, or OAuth scope (a single identity
            can be linked to companies the calling platform is not entitled to
            see).
          items:
            description: >-
              A company is a seller on Whop. Companies own products, manage
              members, and receive payouts.
            properties:
              id:
                description: The unique identifier for the company.
                example: biz_xxxxxxxxxxxxxx
                type: string
              title:
                description: The display name of the company shown to customers.
                example: Pickaxe
                type: string
            required:
              - id
              - title
            type: object
          type: array
        payout_status:
          $ref: '#/components/schemas/PayoutAccountCalculatedStatuses'
          description: >-
            Progress of payout-account setup for this profile, independent of
            holds. `connected` means onboarding is complete; a `connected`
            status paired with `payouts_enabled: false` indicates an active
            account restriction rather than incomplete setup.
        payouts_enabled:
          description: >-
            Whether this profile can receive payouts right now. True only when
            payout onboarding is complete and no payout holds are active on the
            linked account. Treat this as the single source of truth for payout
            readiness.
          type: boolean
        personal_address:
          description: >-
            Residential address reported by the identity provider. Present on
            `individual` profiles.
          properties:
            city:
              description: The city of the address.
              type:
                - string
                - 'null'
            country:
              description: The country of the address.
              type:
                - string
                - 'null'
            line1:
              description: The line 1 of the address.
              type:
                - string
                - 'null'
            line2:
              description: The line 2 of the address.
              type:
                - string
                - 'null'
            postal_code:
              description: The postal code of the address.
              type:
                - string
                - 'null'
            state:
              description: The state of the address.
              type:
                - string
                - 'null'
          required:
            - line1
            - line2
            - city
            - state
            - postal_code
            - country
          type:
            - object
            - 'null'
        phone:
          description: >-
            Phone number reported by the identity provider. Typically present on
            `individual` profiles.
          type:
            - string
            - 'null'
        profile_type:
          description: Whether this is an 'individual' or 'business' profile.
          type: string
        status:
          $ref: '#/components/schemas/IdentityProfileStatuses'
          description: >-
            Derived verification status across all linked verifications. Returns
            `action_required` whenever the profile has an open request for
            information (whether a verification, payout, or audit RFI) — i.e.
            the merchant must submit something before it is in good standing.
        updated_at:
          description: When the identity profile was last synced from a verification.
          example: '2023-12-01T05:00:00.401Z'
          format: date-time
          type: string
        verifications:
          description: >-
            All verification attempts attached to this identity profile, ordered
            most-recent first.
          items:
            description: >-
              An identity verification session used to confirm a person or
              entity's identity for payout account eligibility.
            properties:
              created_at:
                description: When the verification record was created.
                example: '2023-12-01T05:00:00.401Z'
                format: date-time
                type: string
              id:
                description: The numeric id of the verification record.
                example: verf_xxxxxxxxxxxxx
                type: string
              last_error_code:
                description: >-
                  The most recent error code returned during verification. Null
                  if no error has occurred.
                oneOf:
                  - $ref: '#/components/schemas/VerificationErrorCodes'
                  - type: 'null'
              last_error_reason:
                description: >-
                  A human-readable explanation of the most recent verification
                  error. Null if no error has occurred.
                example: Document image was too blurry to read.
                type:
                  - string
                  - 'null'
              session_url:
                description: >-
                  A URL the user can visit to complete the verification process.
                  Null if the session does not require user interaction.
                example: https://verify.stripe.com/session/abc123
                type:
                  - string
                  - 'null'
              status:
                $ref: '#/components/schemas/VerificationStatuses'
                description: The current status of this verification session.
            required:
              - id
              - status
              - session_url
              - last_error_code
              - last_error_reason
              - created_at
            type: object
          type: array
      required:
        - id
        - profile_type
        - status
        - payout_status
        - payouts_enabled
        - first_name
        - last_name
        - date_of_birth
        - email
        - phone
        - personal_address
        - business_name
        - business_structure
        - business_address
        - country
        - linked_companies
        - verifications
        - created_at
        - updated_at
      type: object
    PayoutAccountCalculatedStatuses:
      description: >-
        The granular calculated statuses reflecting payout account KYC and
        withdrawal readiness.
      enum:
        - connected
        - disabled
        - action_required
        - pending_verification
        - verification_failed
        - manual_review
        - denied
        - not_started
        - blocked_by_parent
      type: string
    IdentityProfileStatuses:
      description: Derived verification status for an identity profile.
      enum:
        - not_started
        - pending
        - manual_review
        - approved
        - rejected
        - action_required
      type: string
    VerificationErrorCodes:
      description: An error code for a verification attempt.
      enum:
        - abandoned
        - consent_declined
        - country_not_supported
        - device_not_supported
        - document_expired
        - document_type_not_supported
        - document_unverified_other
        - email_unverified_other
        - email_verification_declined
        - id_number_insufficient_document_data
        - id_number_mismatch
        - id_number_unverified_other
        - phone_unverified_other
        - phone_verification_declined
        - selfie_document_missing_photo
        - selfie_face_mismatch
        - selfie_manipulated
        - selfie_unverified_other
        - under_supported_age
      type: string
    VerificationStatuses:
      description: A status for a verification.
      enum:
        - requires_input
        - processing
        - verified
        - canceled
        - created
        - started
        - submitted
        - approved
        - declined
        - resubmission_requested
        - expired
        - abandoned
        - review
        - action_required
        - manual_review
      type: string
  securitySchemes:
    bearerAuth:
      bearerFormat: auth-scheme
      description: >-
        An Account API key, account-scoped JWT, App API key, or user OAuth
        token. Prepend the key or token with `Bearer`, for example `Bearer
        ***************************`.
      scheme: bearer
      type: http

````