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.

MethodPathPurposeAuth
GET/healthzLiveness/buildPublic
GET/readyzReadiness and diskPublic
GET/v1/legalCurrent terms version, public notices, retention and billing statusPublic
GET/v1/packsRich curated pack catalogPublic
GET/v1/packs/{pack_id}Pack detail including scoreable/reference-only targetsPublic
POST/v1/auth/registerAccept current terms, create account and send verification emailPublic
POST/v1/auth/verify-emailVerify email and start browser sessionPublic
POST/v1/auth/resend-verificationRequest another verification emailPublic
POST/v1/auth/password-reset/requestRequest password-reset emailPublic
POST/v1/auth/password-reset/completeSet new password and start sessionPublic
POST/v1/auth/loginStart browser session after verificationPublic
GET/v1/auth/meCurrent accountSession
POST/v1/auth/logoutEnd browser sessionSession
GET/POST/v1/projectsList/create projectsAuthenticated
GET/POST/DELETE/v1/api-keysManage personal API keysAuthenticated
GET/v1/downloads/verifierVerifier download metadataAuthenticated
GET/v1/downloads/verifier/{filename}Download generator-free verifier bundle or wheelAuthenticated
GET/v1/authoring/schemaCore scenario-authoring schema metadataAuthenticated
GET/v1/authoring/templatesCore scenario templatesAuthenticated
POST/v1/authoring/previewPreview scenario package analysisAuthenticated
GET/v1/authoring/curated-scenarios/{pack_id}/{case_id}Clone curated scenario JSON into a draftAuthenticated
GET/POST/PUT/DELETE/v1/scenariosScenario draft lifecycleAuthenticated
GET/POST/DELETE/v1/custom-packsCompose/list/hide custom packsAuthenticated
GET/POST/v1/jobsList/create jobsAuthenticated
GET/DELETE/v1/jobs/{job_id}Read or soft-delete jobOrganization
POST/v1/jobs/{job_id}/cancelCancel queued jobDeveloper+
POST/v1/jobs/{job_id}/retryRetry failed/cancelled jobDeveloper+
GET/v1/jobs/{job_id}/detection-templates.zipDetector-output templates for completed curated jobsOrganization
GET/v1/jobs/{job_id}/verification-kit.zipREADME, manifest, package ZIP, and templatesOrganization
GET/v1/artifacts/{package_id}/manifest.jsonDownload manifestOrganization
GET/v1/artifacts/{package_id}/package.zipDownload package ZIPOrganization
GET/v1/usageCaller usage and limitsAuthenticated
GET/v1/metricsOperational metricsOwner/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.

Quickstart · Troubleshooting · Back to app