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

# Get Action Metadata

> Fetch information about a particular app/action to determine eligibility for verification.



## OpenAPI

````yaml /openapi/developer-portal.json post /api/v1/precheck/{app_id}
openapi: 3.0.3
info:
  title: Developer Portal API
  version: 1.0.0
  description: >-
    OpenAPI reference for Developer Portal endpoints used across Mini Apps and
    World ID.
servers:
  - url: https://developer.world.org
    description: Primary
  - url: https://developer.worldcoin.org
    description: Legacy domain
  - url: https://staging-developer.worldcoin.org
    description: Staging domain
security: []
paths:
  /api/v1/precheck/{app_id}:
    post:
      summary: Get Action Metadata
      description: >-
        Fetch information about a particular app/action to determine eligibility
        for verification.
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
          description: Your app ID from the Developer Portal
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  description: Action identifier passed to IDKit.
                nullifier_hash:
                  type: string
                  description: ZKP's nullifier hash, as provided by IDKit
                external_nullifier:
                  type: string
                  description: Deprecated. Use action instead.
            example:
              action: my_custom_action
              nullifier_hash: >-
                0x2bf8406809dcefb1486dadc96c0a897db9bab002053054cf64272db512c6fbd8
              external_nullifier: >-
                0x00949dd9a8c5b600304d010ce3a3cf012352070ae4b77504e17af77ee894cda
      responses:
        '200':
          description: >-
            OK. The `app_id` in the example is illustrative; a nonexistent or
            inactive app_id returns 404.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
              example:
                id: app_staging_4cfd049031b0da1e8b62084b09a9f430
                is_staging: true
                is_verified: false
                name: Default App
                verified_app_logo: ''
                engine: cloud
                __typename: app
                sign_in_with_world_id: true
                can_user_verify: 'yes'
                action:
                  external_nullifier: >-
                    0x00949dd9a8c5b600304d010ce3a3cf012352070ae4b77504e17af77ee894cda
                  name: My action
                  action: my_custom_action
                  description: My action
                  max_verifications: 0
                  max_accounts_per_user: 1
                  __typename: action
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: required
                detail: No action found for this app.
                attribute: action
        '404':
          description: App not found or inactive
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: not_found
                detail: We couldn't find an app with this ID. Action may be inactive.
                attribute: null
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        detail:
          type: string
        attribute:
          type: string
          nullable: true
        app_id:
          type: string
          description: Included when the request identifies an app.
        team_id:
          type: string
          description: Included when the route has resolved the app's team.

````