curl --request POST \
--url https://developer.world.org/api/v4/verify/{rp_id} \
--header 'Content-Type: application/json' \
--data '
{
"protocol_version": "3.0",
"nonce": "0xabc123",
"action": "my_action",
"responses": [
{
"identifier": "orb",
"merkle_root": "0x2264a66d162d7893e12ea8e3c072c51e785bc085ad655f64c10c1a61e00f0bc2",
"nullifier": "0x2bf8406809dcefb1486dadc96c0a897db9bab002053054cf64272db512c6fbd8",
"proof": "0x1aa8b8f3b2d2de5ff452c0e1a83e29d6bf46fb83ef35dc5957121ff3d3698a1119090fb...",
"signal_hash": "0x00c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4",
"max_age": 304200
}
]
}
'{
"success": true,
"results": [
{
"identifier": "<string>",
"success": true,
"nullifier": "<string>",
"code": "<string>",
"detail": "<string>"
}
],
"action": "<string>",
"nullifier": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"environment": "production",
"session_id": "session_5f3a9c2e...8d1b0a",
"message": "<string>"
}Verify
Verifies World ID 4.0 proofs and legacy 3.0 proofs. Forward the complete IDKit result without remapping response identifiers or constructing a legacy verification_level. Use rp_id (rp_...) when possible; app_id (app_...) is still accepted for backward compatibility.
curl --request POST \
--url https://developer.world.org/api/v4/verify/{rp_id} \
--header 'Content-Type: application/json' \
--data '
{
"protocol_version": "3.0",
"nonce": "0xabc123",
"action": "my_action",
"responses": [
{
"identifier": "orb",
"merkle_root": "0x2264a66d162d7893e12ea8e3c072c51e785bc085ad655f64c10c1a61e00f0bc2",
"nullifier": "0x2bf8406809dcefb1486dadc96c0a897db9bab002053054cf64272db512c6fbd8",
"proof": "0x1aa8b8f3b2d2de5ff452c0e1a83e29d6bf46fb83ef35dc5957121ff3d3698a1119090fb...",
"signal_hash": "0x00c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4",
"max_age": 304200
}
]
}
'{
"success": true,
"results": [
{
"identifier": "<string>",
"success": true,
"nullifier": "<string>",
"code": "<string>",
"detail": "<string>"
}
],
"action": "<string>",
"nullifier": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"environment": "production",
"session_id": "session_5f3a9c2e...8d1b0a",
"message": "<string>"
}Path Parameters
RP ID (rp_...) is recommended. App ID (app_...) is also accepted for backward compatibility.
Body
- Legacy Proofs (v3)
- Uniqueness Proofs
- Session Proofs
Choose one request type.
3.0 1Show child attributes
Show child attributes
production, staging World ID App integrity attestation. Selfie Check responses with issuer_schema_id: 11 require version 2, which covers the disclosed sybil_score.
Show child attributes
Show child attributes
Whether World App completed the requested user-presence check. IDKit includes this field only when require_user_presence was true in the request.
Response
At least one proof verified successfully
true Show child attributes
Show child attributes
production, staging Opaque session ID in the format session_<128 hex characters>.
"session_5f3a9c2e...8d1b0a"
Was this page helpful?