Catalogue · Endpoint
Download alpha source
A short-lived URL to download this alpha's cleaned source ZIP from private object storage.
/v1/alphas/{alpha}/source/downloadAny key that may already read this alpha may call this endpoint. It does not require field_policy.expose_code — alpha access is enough. The endpoint allow-list must name catalog.alphas.source.download; a freshly minted key does not include it until an administrator grants the catalogue routes.
Parameters
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
alpha | string | required | — | alpha_id (e.g. CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42). Use the value returned by GET /v1/alphas. |
Example request
curl
curl -H "Authorization: Bearer sxk_live_4f9c…" \ "https://api.simicx.com/v1/alphas/CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42/source/download"
Try it
Execute GET /v1/alphas/{alpha}/source/download against the live API using your key. Paste a key below to send without signing in, or sign in to auto-fill from your profile — either way, the call counts towards your rate limits. Whether the route answers depends on your key's endpoint allow-list — /v1/me lists what is in force; a new key starts with only the self-service routes until an administrator grants more.
Sent server-side via a same-origin proxy; only the documented host(s) are allowed.
Paste an API key above to list alphas your key may access.
Request
https://api.simicx.com/v1/alphas/{alpha}/source/downloadExample response
JSON · synthetic values, real schema
{
"data": {
"url": "https://simicx-alpha-res.oss-eu-west-1.aliyuncs.com/source_code/CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42/CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42.zip?Expires=…&OSSAccessKeyId=…&Signature=…",
"expires_in": 3600,
"filename": "CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42.zip",
"size_bytes": 31847291,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"meta": {
"request_id": "req_7f3a2c",
"generated_at": "2026-07-31T14:03:12Z",
"source": "alpha_research",
"alpha_id": "CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42",
"run": "CausalHaarActivityDisplacement_0de63b8678a2_sp500pit_weekly_20260730t000858z_f358d1480d42"
}
}Response fields
Every field the response can carry, what it means, and how it is computed.
urlexpires_infilenamesize_bytessha256urlstring (HTTPS)A time-limited signed GET for the ZIP.
How it is computed
Freshly signed against the private bucket on every call. Fetch it directly — traffic does not pass through the API host. Do not cache it past expires_in.
expires_ininteger (seconds)How long the URL remains valid.
How it is computed
3600 (one hour). After expiry, call this endpoint again for a new URL.
filenamestringSuggested download name.
How it is computed
{alpha_id}.zip — also set on the signed URL's Content-Disposition when the object store honours response overrides.
size_bytesinteger | nullByte length of the ZIP.
How it is computed
From the sealed oss_delivery metadata; null only if the writer omitted it.
sha256string | nullHex SHA-256 of the ZIP bytes.
How it is computed
Verify the download locally: sha256sum <filename> should match.
- 404 source_not_ready means packaging has not finished (or failed). The alpha may still be listed as complete while delivery catches up — retry later.
- 404 source_object_missing means the opposite: packaging recorded success, but the ZIP is not in the bucket. The URL is never signed in that case, so you are told rather than handed a link that 404s. Retrying will not help — contact support.
- 503 source_download_not_configured means this deployment has no OSS credentials; 503 source_download_unavailable means the object store itself failed the sign step.
- The ZIP excludes simicx_private and cache artefacts. Mongo stores only object metadata (bucket, zip_key, checksum) — never a permanent public URL.

