GET /api/niches/:nicheKey
Public access · HTTP API reference
All endpoints · Authentication and retries · Download OpenAPI
Request
| Parameter | Location | Type and requirement |
|---|---|---|
nicheKey | path | string · required |
sort | query | "sample_depth" | "deflated_sharpe" | "raw_sharpe" | "paper_consistency" | "certified_at" · optional |
direction | query | "asc" | "desc" · optional |
No request body.
Example
Examples use fictional data. Replace identifiers with resources you can access. For account requests, cookies.txt must contain your own session; set CSRF_TOKEN to the matching CSRF cookie value where required.
curl --include \
--request GET \
'https://api.weavers.app/api/niches/example'Responses
200 · Successful response.
application/json
{
"niche": {
"nicheId": 1,
"nicheKey": null,
"displayName": "Example research",
"source": "example",
"visibility": "example",
"targetRegime": null,
"membershipKind": "static",
"assetType": null,
"countryCode": null,
"exchange": null,
"certifiedCount": 1,
"liveCount": 1,
"medianDailyDollarVolume": null,
"realizedVolatility": null,
"crossSectionalDispersion": null,
"historyDepthDays": null,
"pricedConstituentCount": null,
"metricsAsOfDate": null,
"themeTags": [],
"description": null,
"certifiedDefinition": "example",
"sort": {
"key": "sample_depth",
"direction": "asc"
},
"certifiedStrategies": [],
"reference": null
}
}View response model
niche required · objectView niche model
nicheId required · numbernicheKey required · null | stringView nicheKey model
Variant 1: null
null
Variant 2: string
string
displayName required · stringsource required · stringvisibility required · stringtargetRegime required · null | stringView targetRegime model
Variant 1: null
null
Variant 2: string
string
membershipKind required · "static" | "channel_episode"assetType required · null | stringView assetType model
Variant 1: null
null
Variant 2: string
string
countryCode required · null | stringView countryCode model
Variant 1: null
null
Variant 2: string
string
exchange required · null | stringView exchange model
Variant 1: null
null
Variant 2: string
string
certifiedCount required · numberliveCount required · numbermedianDailyDollarVolume required · null | numberView medianDailyDollarVolume model
Variant 1: null
null
Variant 2: number
number
realizedVolatility required · null | numberView realizedVolatility model
Variant 1: null
null
Variant 2: number
number
crossSectionalDispersion required · null | numberView crossSectionalDispersion model
Variant 1: null
null
Variant 2: number
number
historyDepthDays required · null | numberView historyDepthDays model
Variant 1: null
null
Variant 2: number
number
pricedConstituentCount required · null | numberView pricedConstituentCount model
Variant 1: null
null
Variant 2: number
number
metricsAsOfDate required · null | stringView metricsAsOfDate model
Variant 1: null
null
Variant 2: string
string
themeTags required · array of stringView themeTags model
Array items:
string
description required · null | stringView description model
Variant 1: null
null
Variant 2: string
string
certifiedDefinition required · stringsort required · objectView sort model
key required · "sample_depth" | "deflated_sharpe" | "raw_sharpe" | "paper_consistency" | "certified_at"direction required · "asc" | "desc"Additional fields: JSON values.
certifiedStrategies required · array of objectView certifiedStrategies model
Array items:
strategyRegistryId required · numberstrategyId required · null | stringView strategyId model
Variant 1: null
null
Variant 2: string
string
alias required · null | stringView alias model
Variant 1: null
null
Variant 2: string
string
displayName required · stringartifactId required · null | numberView artifactId model
Variant 1: null
null
Variant 2: number
number
lifecycleStatus required · null | stringView lifecycleStatus model
Variant 1: null
null
Variant 2: string
string
lifecycle required · null | "live" | "stress_testing" | "stress_failed" | "paper_active" | "paper_failed" | "retired" | "experimental"View lifecycle model
Variant 1: null
null
Variant 2: "live"
"live"
Variant 3: "stress_testing"
"stress_testing"
Variant 4: "stress_failed"
"stress_failed"
Variant 5: "paper_active"
"paper_active"
Variant 6: "paper_failed"
"paper_failed"
Variant 7: "retired"
"retired"
Variant 8: "experimental"
"experimental"
certifiedAt required · stringevidence required · objectView evidence model
sampleDepth required · objectView sampleDepth model
state required · "available" | "not_yet_available"reason required · null | stringView reason model
Variant 1: null
null
Variant 2: string
string
payload required · objectView payload model
Additional fields: JSON value.
Additional fields: JSON values.
deflatedSharpe required · objectView deflatedSharpe model
state required · "available" | "not_yet_available"reason required · null | stringView reason model
Variant 1: null
null
Variant 2: string
string
payload required · objectView payload model
Additional fields: JSON value.
Additional fields: JSON values.
paperConsistency required · objectView paperConsistency model
state required · "available" | "not_yet_available"reason required · null | stringView reason model
Variant 1: null
null
Variant 2: string
string
payload required · objectView payload model
Additional fields: JSON value.
Additional fields: JSON values.
Additional fields: JSON values.
disclosure required · objectView disclosure model
rawSharpe required · null | numberView rawSharpe model
Variant 1: null
null
Variant 2: number
number
trialCount required · null | numberView trialCount model
Variant 1: null
null
Variant 2: number
number
Additional fields: JSON values.
limitations required · array of stringView limitations model
Array items:
string
sortKeyMissing required · booleanAdditional fields: JSON values.
reference required · null | objectView reference model
Variant 1: null
null
Variant 2: object
label required · "Reference for comparison"benchmarkSymbol required · stringannualisedSharpe required · null | numberView annualisedSharpe model
Variant 1: null
null
Variant 2: number
number
totalReturn required · null | numberView totalReturn model
Variant 1: null
null
Variant 2: number
number
windowStartDay required · null | stringView windowStartDay model
Variant 1: null
null
Variant 2: string
string
windowEndDay required · null | stringView windowEndDay model
Variant 1: null
null
Variant 2: string
string
Additional fields: JSON values.
Additional fields: JSON values.
Additional fields: JSON values.
400 · Invalid request.
application/json
{
"error": "niche_key_required"
}View response model
Variant 1: object
error required · "niche_key_required" | "invalid_niche_key"Additional fields: JSON values.
Variant 2: object
error required · stringallowed required · array of "sample_depth" | "deflated_sharpe" | "raw_sharpe" | "paper_consistency" | "certified_at"View allowed model
Array items:
Variant 1: "sample_depth"
"sample_depth"
Variant 2: "deflated_sharpe"
"deflated_sharpe"
Variant 3: "raw_sharpe"
"raw_sharpe"
Variant 4: "paper_consistency"
"paper_consistency"
Variant 5: "certified_at"
"certified_at"
Additional fields: JSON values.
Variant 3: object
error required · stringallowed required · array of "asc" | "desc"View allowed model
Array items:
Variant 1: "asc"
"asc"
Variant 2: "desc"
"desc"
Additional fields: JSON values.
404 · Resource or enabled capability not found.
application/json
{
"error": "example"
}View response model
error required · stringAdditional fields: JSON values.
429 · Rate limit reached; honor Retry-After when supplied.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
500 · Server failure.
application/json
{
"error": "example"
}View response model
error required · stringAdditional fields: JSON values.