OpenAPI Reference
VeriMe provides a complete OpenAPI 3.1.0 specification for the VeriMe API, offering both human-readable documentation and machine-readable schema definitions.
Interactive API Documentation
Visit the Interactive API Reference to explore:
- 📋 Complete endpoint documentation - Every API endpoint with detailed descriptions
- 📝 Request/response schemas - Full schema definitions with data types and constraints
- 💡 Live examples - Real request and response examples for every endpoint
- 🔍 Schema explorer - Navigate through complex data structures
- 🎨 Try it out - Test endpoints directly from the documentation (sandbox environment)
API Specification File
The OpenAPI specification is available at:
- File location:
static/openapi/verime-api.yaml - Format: OpenAPI 3.1.0 (YAML)
- Access: Download OpenAPI Spec
The OpenAPI specification in this repository is synchronized from the master API specification repository. Do not manually edit the YAML file - all changes must be made in the source repository.
Using the OpenAPI Spec
For API Consumers
Generate client libraries in your preferred language:
# Using OpenAPI Generator
npx @openapitools/openapi-generator-cli generate \
-i https://preview-docs.verime.coop/openapi/verime-api.yaml \
-g typescript-axios \
-o ./src/generated/verime-client
# Using Swagger Codegen
swagger-codegen generate \
-i https://preview-docs.verime.coop/openapi/verime-api.yaml \
-l python \
-o ./verime_client
For Postman Users
Import the OpenAPI spec directly into Postman:
- Open Postman
- Click Import button
- Select Link tab
- Paste:
https://preview-docs.verime.coop/openapi/verime-api.yaml - Click Continue to import the collection
For API Testing
Use tools like Dredd or Prism to test against the spec:
# API mocking with Prism
npx @stoplight/prism-cli mock \
static/openapi/verime-api.yaml
# Contract testing with Dredd
dredd static/openapi/verime-api.yaml \
https://sandbox.verime.coop/api
API Sections
The VeriMe API is organized into the following sections:
Verification Endpoints
Core identity verification operations:
- POST /v1/verify/isPerson - Verify if a subject is a real person
- POST /v1/verify/hasPresence - Check recent activity presence
Voucher Management
Manage verification vouchers:
- POST /v1/vouchers/issue - Issue new vouchers
- POST /v1/vouchers/redeem - Redeem a voucher
- POST /v1/vouchers/purchase - Purchase voucher balance
- GET /v1/vouchers/inventory - Check voucher inventory
- GET /v1/vouchers/{voucherCode} - Inspect voucher status
Receipts
Audit trail and receipt management:
- GET /v1/receipts - List receipts with filtering
- GET /v1/receipts/{receiptId} - Retrieve specific receipt
Reports
Analytics and usage reports:
- GET /v1/reports/verifications - Aggregated verification metrics
- GET /v1/reports/vouchers - Voucher usage analytics
Operations
System health and status:
- GET /v1/cache/status - VeriFactCache synchronization status
Authentication
All API endpoints require authentication using the SubscriberHMAC security scheme:
X-Subscriber-Key: your-subscriber-key
X-Signature: HMAC-SHA256(canonical-request)
X-Nonce: unique-nonce-value
Important: Nonces expire after 2 minutes. Each request must include a fresh nonce to prevent replay attacks.
See Authentication Guide for implementation details.
Environments
Production
- Base URL:
https://verime.coop/api - Use for: Live production operations
- Credentials: Production API keys
Sandbox
- Base URL:
https://sandbox.verime.coop/api - Use for: Development and testing
- Credentials: Sandbox API keys
Always develop and test in the sandbox environment before deploying to production.
Versioning
Current API version: 1.0.0
The VeriMe API uses URL path versioning (/v1/). When breaking changes are introduced:
- A new version path will be created (e.g.,
/v2/) - Previous versions remain supported for a deprecation period
- Migration guides will be provided in the documentation
OpenAPI Features
Schema Validation
All request and response bodies are validated against JSON schemas defined in the OpenAPI spec:
components:
schemas:
VerificationRequest:
type: object
required: [invocationId, localAccountId, subject, verificationContext]
properties:
invocationId:
type: string
description: ULID supplied by subscriber to ensure idempotency
# ... additional properties
Response Examples
Every endpoint includes realistic examples:
{
"verificationOutcome": {
"result": "verified",
"confidence": 0.97,
"confidenceBand": "high",
"reasonCodes": ["cache_match", "biometric_verification"],
"expiresAt": "2024-09-01T00:00:00Z"
},
"maskedFact": { ... },
"receipt": { ... }
}
Error Responses
Standard error response format across all endpoints:
{
"error": {
"code": "voucher.insufficient_balance",
"message": "Voucher balance exhausted for product standard-isPerson.",
"details": [
"Purchase additional vouchers via /api/v1/vouchers/purchase."
]
},
"receipt": { ... }
}
Integration Support
Need Help?
- Interactive API Docs: /api/ - Start here for hands-on exploration
- Integration Guides: /docs/api-reference/verification-check
- Community Support: LinkedIn | Bluesky
- Contact Us: https://verime.coop/contact-us
Reporting Issues
Found a problem with the API specification?
- Check the Interactive API Reference for the latest version
- Report issues via GitHub
- For urgent API issues, contact support@verime.coop
Next Steps
🚀 Quick Start
Follow the Getting Started Guide to make your first API call.
📖 Deep Dive
Explore detailed endpoint documentation in the API Reference.