Synsigra docs
Rendered API reference
Base URL: https://www.timeonion.com/syn_sig_ra. Browser calls use the secure session cookie. Scripts and CI use Authorization: Bearer <api-key>.
No PHI: API requests, project names, labels, scenario drafts, and custom-pack text must contain synthetic engineering data only.
| Method | Path | Purpose | Auth |
|---|---|---|---|
| GET | /healthz | Liveness/build | Public |
| GET | /readyz | Readiness and disk | Public |
| GET | /v1/legal | Current terms version, public notices, retention and billing status | Public |
| GET | /v1/packs | Rich curated pack catalog | Public |
| GET | /v1/packs/{pack_id} | Pack detail including scoreable/reference-only targets | Public |
| POST | /v1/auth/register | Accept current terms, create account and send verification email | Public |
| POST | /v1/auth/verify-email | Verify email and start browser session | Public |
| POST | /v1/auth/resend-verification | Request another verification email | Public |
| POST | /v1/auth/password-reset/request | Request password-reset email | Public |
| POST | /v1/auth/password-reset/complete | Set new password and start session | Public |
| POST | /v1/auth/login | Start browser session after verification | Public |
| GET | /v1/auth/me | Current account | Session |
| POST | /v1/auth/logout | End browser session | Session |
| GET/POST | /v1/projects | List/create projects | Authenticated |
| GET/POST/DELETE | /v1/api-keys | Manage personal API keys | Authenticated |
| GET | /v1/downloads/verifier | Verifier download metadata | Authenticated |
| GET | /v1/downloads/verifier/{filename} | Download generator-free verifier bundle or wheel | Authenticated |
| GET | /v1/authoring/schema | Core scenario-authoring schema metadata | Authenticated |
| GET | /v1/authoring/templates | Core scenario templates | Authenticated |
| POST | /v1/authoring/preview | Preview scenario package analysis | Authenticated |
| GET | /v1/authoring/curated-scenarios/{pack_id}/{case_id} | Clone curated scenario JSON into a draft | Authenticated |
| GET/POST/PUT/DELETE | /v1/scenarios | Scenario draft lifecycle | Authenticated |
| GET/POST/DELETE | /v1/custom-packs | Compose/list/hide custom packs | Authenticated |
| GET/POST | /v1/jobs | List/create jobs | Authenticated |
| GET/DELETE | /v1/jobs/{job_id} | Read or soft-delete job | Organization |
| POST | /v1/jobs/{job_id}/cancel | Cancel queued job | Developer+ |
| POST | /v1/jobs/{job_id}/retry | Retry failed/cancelled job | Developer+ |
| GET | /v1/jobs/{job_id}/detection-templates.zip | Detector-output templates for completed curated jobs | Organization |
| GET | /v1/jobs/{job_id}/verification-kit.zip | README, manifest, package ZIP, and templates | Organization |
| GET | /v1/artifacts/{package_id}/manifest.json | Download manifest | Organization |
| GET | /v1/artifacts/{package_id}/package.zip | Download package ZIP | Organization |
| GET | /v1/usage | Caller usage and limits | Authenticated |
| GET | /v1/metrics | Operational metrics | Owner/admin |
Minimal curl client
read -r -s SYN_SIG_RA_API_KEY
BASE=https://www.timeonion.com/syn_sig_ra
curl -fsS "$BASE/v1/packs"
curl -fsS -H "Authorization: Bearer $SYN_SIG_RA_API_KEY" "$BASE/v1/projects"
curl -fsS -H "Authorization: Bearer $SYN_SIG_RA_API_KEY" -H "Content-Type: application/json" \
-d '{"project_id":"org_live_default","pack_id":"r_peak_stress_v1"}' "$BASE/v1/jobs"
Minimal Python client
import json, os, urllib.request
base = "https://www.timeonion.com/syn_sig_ra"
key = os.environ["SYN_SIG_RA_API_KEY"]
req = urllib.request.Request(base + "/v1/jobs", data=json.dumps({
"project_id": "org_live_default",
"pack_id": "r_peak_stress_v1",
}).encode(), headers={
"Authorization": "Bearer " + key,
"Content-Type": "application/json",
})
print(urllib.request.urlopen(req).read().decode())
Raw machine-readable contract: live OpenAPI YAML.