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

# Get membership status

> For looking up Ignite app access by external identifiers.

Send the exact supported `external_system` name and an `external_ids` array of `{type, value}` identifiers. Include each required type once, in any order, with a nonblank value. System and type names are case-sensitive.

The response contains exactly three booleans. `enrolled` is true when the matched employee has a linked company membership or a pending, unexpired linked invitation. `registered` is true when that employee has a linked app account. `opted_out` is true when that employee has an effective opt-out in their company's active plan program.

If no matching employee is found in an authorized company, the response returns `false` for `enrolled`, `registered`, and `opted_out`. Multiple matching employees return `409 ambiguous_identifier`, even when they share a Person ID. Unsupported names, missing or duplicate identifiers, malformed values, and extra properties return `400 invalid_request`. A body over 16 KiB returns `413 payload_too_large`. Service failures return `500 internal_error` rather than false booleans.


## OpenAPI

````yaml openapi.json POST /v1/get-membership-status
openapi: 3.1.0
info:
  title: Ignite Partner API
  version: 0.0.1
  description: >-
    Request access from Ignite at
    [dev@ignitehealth.com](mailto:dev@ignitehealth.com). Provide your
    organization name, technical contact, intended use, companies you need to
    access, and requested environments. Use
    `https://sandbox-api.ignitehealth.com` for sandbox and
    `https://api.ignitehealth.com` for production.


    Send requests from your backend with `Authorization: Bearer <key>`. Keep the
    key in a secrets manager and out of email, support requests, and shared
    documents. Keys are scoped to approved operations and companies.


    Responses include `x-request-id`. Include that ID and the request timestamp
    when reporting a failed request. Never include the key.
servers:
  - url: https://api.ignitehealth.com
    description: Ignite production
  - url: https://sandbox-api.ignitehealth.com
    description: Ignite sandbox
security: []
paths:
  /v1/get-membership-status:
    post:
      summary: Get membership status
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                external_system:
                  type: string
                  description: Exact supported external system name.
                  minLength: 1
                external_ids:
                  type: array
                  description: >-
                    Provide the complete identifier set required by the external
                    system. Include each type once, in any order.
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: Exact identifier type required for this system.
                        minLength: 1
                      value:
                        type: string
                        description: Nonblank identifier value.
                        minLength: 1
                    required:
                      - type
                      - value
                    additionalProperties: false
              required:
                - external_system
                - external_ids
              additionalProperties: false
      responses:
        '200':
          description: App access result.
          content:
            application/json:
              schema:
                type: object
                properties:
                  enrolled:
                    type: boolean
                    description: >-
                      True when a matched employee has a linked company
                      membership or a pending, unexpired linked invitation.
                  registered:
                    type: boolean
                    description: Existing Ignite account, independent of enrollment.
                  opted_out:
                    type: boolean
                    description: >-
                      True when the matched employee has an effective opt-out in
                      their company's active plan program.
                required:
                  - enrolled
                  - registered
                  - opted_out
                additionalProperties: false
              examples:
                example:
                  value:
                    enrolled: true
                    registered: false
                    opted_out: false
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/AmbiguousIdentifier'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - bearerAuth: []
components:
  responses:
    InvalidRequest:
      description: Invalid membership-status request.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                enum:
                  - invalid_request
            required:
              - error
            additionalProperties: false
          example:
            error: invalid_request
    InvalidApiKey:
      description: Missing or invalid partner API key.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                enum:
                  - invalid_api_key
            required:
              - error
            additionalProperties: false
          example:
            error: invalid_api_key
    Forbidden:
      description: >-
        Operation or company access is not permitted, including a requested
        archived company.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                enum:
                  - forbidden
            required:
              - error
            additionalProperties: false
          example:
            error: forbidden
    AmbiguousIdentifier:
      description: More than one authorized employee matches the supplied identifiers.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                enum:
                  - ambiguous_identifier
            required:
              - error
            additionalProperties: false
          example:
            error: ambiguous_identifier
    PayloadTooLarge:
      description: Membership-status request body exceeds 16 KiB.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                enum:
                  - payload_too_large
            required:
              - error
            additionalProperties: false
          example:
            error: payload_too_large
    RateLimited:
      description: Partner API key request allowance is exhausted.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                enum:
                  - rate_limited
            required:
              - error
            additionalProperties: false
          example:
            error: rate_limited
    InternalError:
      description: The service could not complete the request.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                enum:
                  - internal_error
            required:
              - error
            additionalProperties: false
          example:
            error: internal_error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.