Skip to main content
The PoH issuer provides endpoints that issue proof-of-human (PoH) credentials. The main endpoint is credential refresh, which re-issues a PoH credential using a Personal Custody Package (PCP) or a credential-only refresh flow.
Base URL is environment-specific and served by the signup-service app-api. Contact your World ID point of contact for environment endpoints and access.
The refresh endpoint is intended for World ID v3 holders to obtain v4 PoH credentials. It is not a general re-issuance endpoint for v4 holders.

Credential refresh

POST
/api/v1/refresh
Content-Type: multipart/form-data

Request

Headers

Query parameters

Form fields (always required)

PCP form fields (required only when submitting a PCP)

Include all fields below when refreshing with a Personal Custody Package.

Example (credential-only refresh)

Example (refresh with PCP)

Response

Success response

Error responses

If PCP validation fails, the endpoint returns an error status with PCP_VALIDATION_FAILED.

Credential object format

The credential response field is a base64-encoded JSON representation of the World ID Credential object defined in world-id-protocol/crates/primitives/src/credential.rs.

Example (decoded)

Field definitions

Field representations

  • FieldElement values (sub, claims, associated_data_hash) are hex strings with a 0x prefix and 64 hex characters.
  • Issuer public key (issuer.pk) is serialized as [x, y] decimal strings for BabyJubJub affine coordinates.
  • Signature is hex-encoded compressed bytes (no 0x prefix).

PoH credential semantics

  • The user first obtains an Orb credential (currently a PCP in v2.3 format).
  • claim[0] is a commitment to the Orb credential, currently H(hashes.json).
  • When refreshing without a PCP, claims[0] is derived from issuer-defined refresh data (a hash of idCommitment, sub, and a timestamp).
  • The PoH credential has no associated data, so associated_data_hash is the zero field element.
  • The PoH credential subject is blinded and differs from the Orb credential subject.
  • The issuer may require a proof for the requested sub to prevent bricking an identity.
These details are issuer-specific and may evolve as the protocol migrates to the World ID 4.0 credential format.

References