Documentation without the guesswork.
Inspect fictional payloads, compare response signals, and take a proposed contract into your integration review.
Start with the scope.
ValidAPI.com is a static reference website. The examples below are local, predefined fixtures—not results from an identity, postal, telephone, or government database. There is no live API endpoint, API key issuance, document upload, or account system here.
Every example is fictional. The explorer only switches between included JSON fixtures. It does not accept, transmit, or verify information about a person. Read the complete scope.
Use the proposed shapes to discuss your client interface. Before connecting a real provider, replace the illustrative contract with its documented capabilities, authentication, terms, coverage, and failure behavior.
Example explorer
Choose a data family, then switch between request and response. A passed structure signal in these fixtures is a demonstration value, not the output of a running validator.
{
"demo": true,
"request_id": "sample_address_001",
"status": "needs_review",
"checks": {
"structure": "pass",
"postal_reference": "not_checked",
"residence": "not_checked"
},
"reasons": [
{
"code": "example_only",
"message": "Fictional fixture; no real-world validation performed."
}
],
"next_action": "review_requirements"
}Home address: fictional response example. These predefined signals illustrate a proposed contract, not a check of real data. View service scope.
Request design
The proposed contract uses JSON POST requests and a distinct route for each data shape. These are illustrative routes only. The downloadable specification points to a non-operational example hostname so it is not confused with an available ValidAPI service.
| Data family | Proposed route | Fixture fields |
|---|---|---|
| Driver’s license | /v1/validate/drivers-license | document_type, issuing_country, issuing_region, document_number |
| Passport | /v1/validate/passport | document_type, issuing_country, document_number, capture_source |
| Home address | /v1/validate/address | country, line1, line2, city, region, postal_code |
| Mobile number | /v1/validate/mobile | country, number |
| Legal name | /v1/validate/legal-name | full_name, purpose |
Specify which context is required, what transformations are permitted, and how unknown properties are handled. Keep source comparison, document capture, and possession challenges separate from basic structure checks unless the real integration explicitly supports those methods.
Response model
Keep observations, overall workflow state, and next action distinct. In every published fixture, real-world checks remain unperformed and the overall state is needs_review. The broader states below are proposed contract vocabulary for discussion, not current service capabilities.
| Field | Type | Meaning |
|---|---|---|
demo | Boolean | Always true in the published fixtures. Do not remove this label and present a fixture as a live result. |
request_id | String | A fictional correlation value. A production identifier would need defined generation and diagnostic rules. |
status | Enum | Overall workflow state under an explicit policy—not a universal identity verdict. |
checks | Object | Independent findings such as pass, fail, not_checked, or unknown. |
reasons | Array | Stable codes plus an explanatory message. Do not rely on parsing the message to choose behavior. |
next_action | Enum | A proposed action such as correction, review, or retry. Map it to a real supported route. |
Proposed overall states
| Status | Interpretation | Next-step principle |
|---|---|---|
pass | All checks required by the specified policy completed with an acceptable finding. | Only proceed for the action covered by that policy. |
needs_correction | The submitted input needs a defined correction or missing context. | Point to the field and explain what is needed. |
needs_review | Evidence is incomplete or a finding requires review. | Keep the uncertainty visible; use the approved review process. |
unsupported | The requested method or input context is outside defined coverage. | Offer an actually supported alternative. |
unavailable | An operational condition prevented completion. | Follow a bounded retry or pause policy, not an input accusation. |
A source that was never queried has not returned a mismatch. A successful HTTP response is also not evidence that a person, document, address, or telephone number was verified.
Errors & recovery
Keep malformed requests separate from completed checks with unresolved findings. Choose a documented problem envelope for request and operational errors, stable reason codes for client behavior, and reviewed wording for the person using the product.
Before adding automatic retries, decide which failures are transient and how repeated or delayed responses are reconciled. A missing country needs clarification; an unavailable provider needs an operational route. Neither should become an unexplained “invalid identity” message.
Before a production integration
A sample contract is not a production readiness assessment. Resolve these questions with the responsible engineering, product, security, and legal reviewers for the real implementation.
| Review area | Decision to document |
|---|---|
| Purpose | Name the action and the evidence required to support it. |
| Actual provider | Confirm the enabled methods, authorization, supported inputs, and geographical coverage. |
| Contract | Use the actual service’s schema, authentication, error model, limits, and version policy. |
| Security | Keep secrets out of browser code. Approve secure collection, access, and diagnostic controls. |
| Data lifecycle | Map all data destinations. Agree on processing terms and operational retention and deletion rules. |
| Recovery | Implement correction, review, unsupported, and unavailable states with real destinations. |
| Testing | Exercise the complete workflow with fictional fixtures, including asynchronous and failure paths. |
| Public claims | Review every label, promise, price, and assurance statement against the deployed capability. |
Take the reference with you.
These local files are included in the website package. They contain no credentials or real customer records.
Example payloads
All five fictional requests and responses as JSON.
Explore resourceProposed API contract
An illustrative OpenAPI 3.1 specification with a non-operational server.
Explore resourceIntegration checklist
A plain-text Markdown checklist for your implementation review.
Explore resource