Compose-ready workspace: packages/zappier (rate card, portal, Stripe), packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier (CLI app), vendor/zapier-platform, and research/zapier vendor corpus. Gate 0 structure checks pass. Product code and research are not yet wired. |
||
|---|---|---|
| .. | ||
| openapi.yaml | ||
| README.md | ||
Verae Time API (for the Zapier connector)
Live docs:
- Swagger UI: https://api.veraetime.net/docs/swagger/index.html
- OpenAPI 3.0: https://api.veraetime.net/docs/swagger/openapi.yaml
- Local copy: openapi.yaml
Title in the spec is still “Timestamping Service API”. Host is https://api.veraetime.net (servers.url is /).
Auth
POST /auth/login with { username, password } → JWT in token.
All other API/admin routes: Authorization: Bearer <token>.
Zapier mapping: session auth (scratch/veraetime).
Two hops
Zapier should call verae-zapier-middleware, not this host directly.
| Layer | Where | Role |
|---|---|---|
| Zapier connector | scratch/veraetime |
Session auth + Zapier operations |
| Middleware | verae-zapier-api/verae-zapier-middleware (also at /Users/marchon/datacubes/verae-zapier-api/…) |
Tenants, API keys, rate limits, REST Hooks, wait-for-job, NATS workers |
| Verae Time | https://api.veraetime.net |
Blockchain timestamping (this OpenAPI) |
Middleware routes (all under /zapier/v1):
| Method | Path | Connector |
|---|---|---|
| POST | /auth/login |
session perform (username/password or api_key) |
| GET | /auth/me |
auth test |
| POST | /timestamp |
Create Timestamp |
| POST | /timestamp/wait |
Create Timestamp and Wait |
| POST | /timestamp/batch |
Create Batch Timestamps |
| POST | /verify |
Verify Certificate |
| GET | /status/{jobId} |
Find Job Status |
| GET | /status/{jobId}/verification |
Find Job Verification |
| POST | /webhooks/subscribe |
Timestamp Completed (hook subscribe) |
| DELETE | /webhooks/unsubscribe |
hook unsubscribe |
Direct Verae mapping (what the middleware wraps)
| Zapier | Verb | Path | Notes |
|---|---|---|---|
| Create Timestamp | POST | /api/timestamp |
{ data, hashAlg? } → { jobId } (HTTP 202) |
| Create Batch Timestamps | POST | /api/batch/timestamp |
{ items: [{ data, hashAlg? }] } |
| Verify Certificate | POST | /api/verify |
{ certificate } → { valid, timestamp, blockIndex } |
| Find Job Status | GET | /api/status/{jobId} |
Search; empty if 404 |
| Find Job Verification | GET | /api/verify/{jobId} |
Search |
| New Blockchain Timestamp | GET | /admin/timestamps |
Polling trigger (admin; last ~10 blocks) |
Not in v1 (admin HTML / user admin): dashboard HTML, metrics, queue, list/create/update/delete users, batch verify/status, get-block-by-hash. Easy to add later.