List results for a rider
GET /v1/riders/{rider_id}/results
Compatibility policy · Changelog
Lists results for one rider. The inclusive date range,
discipline and international filters are optional. The response uses
the canonical rider ID after transparent resolution; when that differs
from the requested ID, Hippomundo-Resolved-From carries the requested
value.
Each result includes the horse, rider, competition, edition and class. Performance is tagged by discipline and never exposes
source score fields. Unknown query parameters are rejected with
422 validation_failed.
The page size is capped and defaulted at 100. Default sort is
date_asc; every sort is deterministic and ends in result ID. A
smaller page size becomes bound to the traversal token, after which
page_size and sort overrides are rejected.
Each successful page, including an empty page (data: [],
total: 0), is charged at this operation's current price, which your
OpenAPI document (GET /v1/openapi.json) and your portal API
reference show. Send
Idempotency-Key to make a retry safe. Errors are never charged.
Parameters
| Field | Type | Description |
|---|---|---|
rider_id | path · integer (int64) · required | Public rider ID; superseded IDs are resolved. |
date_from | query · string (date) | Inclusive lower bound on the effective class date. |
date_to | query · string (date) | Inclusive upper bound on the effective class date. When both date bounds are present, this date must not precede |
discipline | query · string | One discipline to include. Omission includes all disciplines. Allowed values: |
international | query · boolean | Filter on international results. Omission includes both international and national results. |
sort | query · string | Sort profile. Rejected as an override once a traversal has begun. Allowed values: |
page_size | query · integer | Page size, capped at 100. Bound to the traversal token; rejected as an override once a traversal has begun. Default: |
page_token | query · string | Opaque signed continuation token from Once a traversal has begun, per-request |
X-Hippomundo-Freshness | header · string | Requests fresher data for this call. Allowed values: |
Hippomundo-Version | header · string | Optional pin to the API version your integration was built against.
The only accepted value is |
Idempotency-Key | header · string | Optional idempotency key for billable requests. Reuse by the same API
key with the same normalized request within 24 hours never creates a
second debit. A repeat within that window of a successful request
that was charged or used a free allowance is not charged again: it
answers with Maximum length: |
Response 200 · application/json
One page of results. Response rows carry canonical IDs; the optional resolution header reports a superseded requested horse or rider ID. Each named example demonstrates a discipline shape, including status and unknown-format behavior.
| Field | Type | Description |
|---|---|---|
Body | ResultPage | |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Charged-Milli-Credits | integer (int64) · required | The milli-credits this request debited from your balance, read from
the recorded charge; one credit is 1,000 milli-credits. Minimum: |
Header: Hippomundo-Data-Generation | string | Sandbox only. Names the copy of the sandbox data that answered this
request. The weekly data refresh replaces that copy and publishes a
new value, so a client that keeps sandbox data can key it on this
value. HTTP caches still may not store the response
( Pattern: |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Header: Hippomundo-Resolved-From | string | Present when the requested horse or rider identifier was superseded and transparently resolved to its canonical identifier. The value is the identifier as requested; the response body carries the canonical identifier, which is authoritative. Clients that ignore this header are unaffected. Resolution is transparent and never an HTTP redirect. |
Header: Idempotent-Replayed | string |
Allowed values: |
Header: X-RateLimit-Limit | integer | Request quota of the applied rate-limit window. The same rate-limit headers appear on successful authenticated responses. |
Header: X-RateLimit-Remaining | integer | Requests remaining in the applied rate-limit window. |
Related schemas: ResultPage
Completed dressage result with a typed percentage
{
"data": [
{
"awarded_prize_money_eur_cents": 225000,
"class": {
"date": "2026-06-06",
"format": {
"code": "unknown",
"display": "Intermediate I"
},
"id": 92002,
"max_height_metres": null,
"name": "Example Intermediate Test",
"prize_money_eur_cents": 1800000,
"star_level": 3
},
"competition": {
"country_iso_code": "DE",
"discipline": "dressage",
"id": 4100,
"international": true,
"name": "CDI Example Park"
},
"discipline": "dressage",
"edition": {
"date_from": "2026-06-04",
"date_to": "2026-06-07",
"id": 5900,
"international": true,
"name": "CDI Example Park 2026",
"star_level": 3
},
"horse": {
"id": 220002,
"name": "MOONLIGHT SONATA",
"studbook": {
"abbreviation": "KWPN",
"id": 19
}
},
"id": 700005,
"performance": {
"percentage": 75.9,
"type": "dressage"
},
"place": 1,
"rider": {
"id": 45002,
"name": "Sara Willems"
}
}
],
"has_more": false,
"next_page_token": null,
"total": 1
}Dressage result replaced by a normalized status
{
"data": [
{
"awarded_prize_money_eur_cents": null,
"class": {
"date": "2026-06-07",
"format": {
"code": "unknown",
"display": "Grand Prix Freestyle"
},
"id": 92001,
"max_height_metres": null,
"name": "Example Grand Prix Freestyle",
"prize_money_eur_cents": 1800000,
"star_level": 3
},
"competition": {
"country_iso_code": "DE",
"discipline": "dressage",
"id": 4100,
"international": true,
"name": "CDI Example Park"
},
"discipline": "dressage",
"edition": {
"date_from": "2026-06-04",
"date_to": "2026-06-07",
"id": 5900,
"international": true,
"name": "CDI Example Park 2026",
"star_level": 3
},
"horse": {
"id": 220001,
"name": "SILVER SONATA",
"studbook": {
"abbreviation": "KWPN",
"id": 19
}
},
"id": 700003,
"performance": {
"status": "eliminated",
"type": "dressage"
},
"place": null,
"rider": {
"id": 45001,
"name": "Noor Peeters"
}
}
],
"has_more": false,
"next_page_token": null,
"total": 1
}Completed eventing result with typed phase penalties
{
"data": [
{
"awarded_prize_money_eur_cents": 310000,
"class": {
"date": "2026-05-24",
"format": {
"code": "unknown",
"display": "CCI4*-L"
},
"id": 93001,
"max_height_metres": null,
"name": "Example CCI Four Star",
"prize_money_eur_cents": 4000000,
"star_level": 4
},
"competition": {
"country_iso_code": "FR",
"discipline": "eventing",
"id": 5100,
"international": true,
"name": "CCI Example Fields"
},
"discipline": "eventing",
"edition": {
"date_from": "2026-05-21",
"date_to": "2026-05-24",
"id": 6900,
"international": true,
"name": "CCI Example Fields 2026",
"star_level": 4
},
"horse": {
"id": 330002,
"name": "WINTER ORBIT",
"studbook": null
},
"id": 700006,
"performance": {
"phases": {
"cross_country": {
"obstacle_penalties": 0,
"time_penalties": 0
},
"dressage": {
"penalties": 27.6
},
"show_jumping": {
"obstacle_penalties": 4,
"time_penalties": 0
}
},
"total_penalties": 31.6,
"type": "eventing"
},
"place": 3,
"rider": {
"id": 56002,
"name": "Mila de Boer"
}
}
],
"has_more": false,
"next_page_token": null,
"total": 1
}Eventing result with a phase-qualified status
{
"data": [
{
"awarded_prize_money_eur_cents": null,
"class": {
"date": "2026-05-24",
"format": {
"code": "unknown",
"display": "CCI4*-L"
},
"id": 93001,
"max_height_metres": null,
"name": "Example CCI Four Star",
"prize_money_eur_cents": 4000000,
"star_level": 4
},
"competition": {
"country_iso_code": "FR",
"discipline": "eventing",
"id": 5100,
"international": true,
"name": "CCI Example Fields"
},
"discipline": "eventing",
"edition": {
"date_from": "2026-05-21",
"date_to": "2026-05-24",
"id": 6900,
"international": true,
"name": "CCI Example Fields 2026",
"star_level": 4
},
"horse": {
"id": 330001,
"name": "AUTUMN ORBIT",
"studbook": null
},
"id": 700004,
"performance": {
"status": {
"code": "retired",
"phase": "cross_country"
},
"type": "eventing"
},
"place": null,
"rider": {
"id": 56001,
"name": "Lina Vermeer"
}
}
],
"has_more": false,
"next_page_token": null,
"total": 1
}Completed jumping result with neutral rounds
{
"data": [
{
"awarded_prize_money_eur_cents": 125000,
"class": {
"date": "2026-07-19",
"format": {
"code": "table_a_with_jump_off",
"display": "Table A with jump-off"
},
"id": 91001,
"max_height_metres": 1.45,
"name": "Example Grand Prix",
"prize_money_eur_cents": 2500000,
"star_level": 2
},
"competition": {
"country_iso_code": "BE",
"discipline": "jumping",
"id": 3120,
"international": true,
"name": "CSI Grimbergen"
},
"discipline": "jumping",
"edition": {
"date_from": "2026-07-16",
"date_to": "2026-07-19",
"id": 4821,
"international": true,
"name": "CSI Grimbergen 2026",
"star_level": 2
},
"horse": {
"id": 104233,
"name": "NORTHWIND VAN HET ELSHOF",
"studbook": {
"abbreviation": "BWP",
"id": 4
}
},
"id": 700001,
"performance": {
"rounds": [
{
"is_clear": true,
"score": 0,
"score_unit": "faults",
"sequence": 1
},
{
"is_clear": false,
"score": 4,
"score_unit": "faults",
"sequence": 2,
"time_seconds": 41.56
}
],
"score_display": "0 / 4 / 41.56",
"type": "jumping"
},
"place": 2,
"rider": {
"id": 20441,
"name": "Emma Janssens"
}
}
],
"has_more": false,
"next_page_token": null,
"total": 1
}Jumping result with an unrecognized class format
{
"data": [
{
"awarded_prize_money_eur_cents": null,
"class": {
"date": "2026-08-08",
"format": {
"code": "unknown",
"display": "Example custom table"
},
"id": 91002,
"max_height_metres": 1.2,
"name": "Example Special Class",
"prize_money_eur_cents": null,
"star_level": null
},
"competition": {
"country_iso_code": "NL",
"discipline": "jumping",
"id": 3121,
"international": false,
"name": "Synthetic Summer Show"
},
"discipline": "jumping",
"edition": {
"date_from": "2026-08-08",
"date_to": null,
"id": 4822,
"international": false,
"name": "Synthetic Summer Show 2026",
"star_level": null
},
"horse": {
"id": 118450,
"name": "NORTHWIND B",
"studbook": null
},
"id": 700002,
"performance": {
"rounds": [
{
"is_clear": true,
"score": 0,
"sequence": 1,
"time_seconds": 72.34
}
],
"score_display": "0 / 72.34",
"type": "jumping"
},
"place": 7,
"rider": {
"id": 31877,
"name": "E. Jansen"
}
}
],
"has_more": false,
"next_page_token": null,
"total": 1
}Response 400 · application/problem+json
400 — one of the registered codes malformed_request, invalid_page_token, page_token_expired or unsupported_version; branch on the body code. Not retryable without changing the request. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
Page token is malformed or mismatched
{
"charged": false,
"code": "invalid_page_token",
"detail": "The supplied page token is not valid for this query and API key.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000001",
"request_id": "01J5AR8Q2K0000000000000001",
"retryable": false,
"status": 400,
"title": "Invalid page token",
"type": "https://enterprise.hippomundo.com/docs/errors/invalid_page_token"
}Request syntax cannot be parsed
{
"charged": false,
"code": "malformed_request",
"detail": "The request could not be parsed.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000000",
"request_id": "01J5AR8Q2K0000000000000000",
"retryable": false,
"status": 400,
"title": "Malformed request",
"type": "https://enterprise.hippomundo.com/docs/errors/malformed_request"
}Page token past its public expiry
{
"charged": false,
"code": "page_token_expired",
"detail": "The traversal token has expired; restart from page one.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000002",
"request_id": "01J5AR8Q2K0000000000000002",
"retryable": false,
"status": 400,
"title": "Page token expired",
"type": "https://enterprise.hippomundo.com/docs/errors/page_token_expired"
}Hippomundo-Version is not supported
{
"charged": false,
"code": "unsupported_version",
"detail": "The requested API version is not supported.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000003",
"request_id": "01J5AR8Q2K0000000000000003",
"retryable": false,
"status": 400,
"title": "Unsupported version",
"type": "https://enterprise.hippomundo.com/docs/errors/unsupported_version"
}Response 401 · application/problem+json
401 invalid_api_key — the API key is missing, invalid, revoked or otherwise unusable; the states are deliberately indistinguishable. Not retryable without different credentials. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Header: WWW-Authenticate | string · required | Always |
Related schemas: Problem
API key missing, invalid, revoked or otherwise unusable
{
"charged": false,
"code": "invalid_api_key",
"detail": "The request was not authenticated.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000004",
"request_id": "01J5AR8Q2K0000000000000004",
"retryable": false,
"status": 401,
"title": "Invalid API key",
"type": "https://enterprise.hippomundo.com/docs/errors/invalid_api_key"
}Response 402 · application/problem+json
402 — one of the registered codes insufficient_credits, account_in_arrears or api_key_credit_cap_reached; branch on the body code because the remediation differs. Top up after insufficient_credits and settle the negative balance after account_in_arrears; neither is retryable until remediated. api_key_credit_cap_reached means the request would take this API key past the credit cap its owner set for each UTC day or UTC calendar month. A request that costs less may still succeed. It is retryable: Retry-After gives the seconds until the next period starts and the full cap is available again, and the owner can also raise or remove the cap in the portal. The body never states balances, caps or pricing internals; the portal and usage API are the authenticated source for financial detail. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Header: Retry-After | integer | Seconds to wait before retrying. Required on Minimum: |
Related schemas: Problem
Negative balance blocks metered calls
{
"charged": false,
"code": "account_in_arrears",
"detail": "A negative balance blocks metered calls until it is settled.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000006",
"request_id": "01J5AR8Q2K0000000000000006",
"retryable": false,
"status": 402,
"title": "Account in arrears",
"type": "https://enterprise.hippomundo.com/docs/errors/account_in_arrears"
}The request would take the API key past its credit cap for the current period
{
"charged": false,
"code": "api_key_credit_cap_reached",
"detail": "This request would take the API key past the credit cap its owner set for the current period. A request that costs less may still succeed, and the full cap is available again when the next period starts.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000M",
"request_id": "01J5AR8Q2K000000000000000M",
"retryable": true,
"status": 402,
"title": "API key credit cap reached",
"type": "https://enterprise.hippomundo.com/docs/errors/api_key_credit_cap_reached"
}Spendable credits cannot cover the maximum authorized cost
{
"charged": false,
"code": "insufficient_credits",
"detail": "The account does not hold enough spendable credits for this request.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000005",
"request_id": "01J5AR8Q2K0000000000000005",
"retryable": false,
"status": 402,
"title": "Insufficient credits",
"type": "https://enterprise.hippomundo.com/docs/errors/insufficient_credits"
}Response 403 · application/problem+json
403 endpoint_not_entitled — the authenticated Customer lacks a required entitlement for a discoverable public endpoint it has not purchased. Private endpoints never return 403; they return 404 not_found. Not retryable without purchasing the entitlement. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
Public endpoint not purchased
{
"charged": false,
"code": "endpoint_not_entitled",
"detail": "The account is not entitled to this endpoint.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000007",
"request_id": "01J5AR8Q2K0000000000000007",
"retryable": false,
"status": 403,
"title": "Endpoint not entitled",
"type": "https://enterprise.hippomundo.com/docs/errors/endpoint_not_entitled"
}Response 404 · application/problem+json
404 not_found — the route or resource is absent, not public, or a private endpoint is intentionally concealed. Nonexistent, unavailable and unauthorized-private resources are deliberately indistinguishable; the response is never an existence oracle. Not retryable. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
Route or resource absent, unavailable or concealed
{
"charged": false,
"code": "not_found",
"detail": "The requested resource does not exist.",
"instance": "urn:hippomundo:request:01J5AR8Q2K0000000000000008",
"request_id": "01J5AR8Q2K0000000000000008",
"retryable": false,
"status": 404,
"title": "Not found",
"type": "https://enterprise.hippomundo.com/docs/errors/not_found"
}Response 406 · application/problem+json
406 not_acceptable — the Accept header excludes application/json, the media type of every successful response. Omit the header or send one that admits application/json, for example application/json, application/* or */*. Error responses are always application/problem+json. Not retryable without changing the Accept header. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
Requested response media type unsupported
{
"charged": false,
"code": "not_acceptable",
"detail": "The requested response media type is not supported.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000A",
"request_id": "01J5AR8Q2K000000000000000A",
"retryable": false,
"status": 406,
"title": "Not acceptable",
"type": "https://enterprise.hippomundo.com/docs/errors/not_acceptable"
}Response 409 · application/problem+json
409 idempotency_conflict — the same Customer or key reused an idempotency key for a different normalized request within 24 hours of a success under that key that was charged or used a free allowance. Not retryable with the same key; use a new idempotency key for a new request. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
Idempotency key reused for a different request
{
"charged": false,
"code": "idempotency_conflict",
"detail": "This idempotency key was already used for a different request.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000B",
"request_id": "01J5AR8Q2K000000000000000B",
"retryable": false,
"status": 409,
"title": "Idempotency conflict",
"type": "https://enterprise.hippomundo.com/docs/errors/idempotency_conflict"
}Response 422 · application/problem+json
422 validation_failed — parsed public inputs fail the documented schema or combination rules. errors lists up to 20 field-level items in request-field order, without messages or rejected values; errors_truncated may be true when more exist. Not retryable without correcting the request. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
Parsed public inputs fail the documented rules
{
"charged": false,
"code": "validation_failed",
"detail": "One or more request parameters are invalid.",
"errors": [
{
"code": "invalid_format",
"field": "date_from",
"location": "query"
}
],
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000E",
"request_id": "01J5AR8Q2K000000000000000E",
"retryable": false,
"status": 422,
"title": "Request validation failed",
"type": "https://enterprise.hippomundo.com/docs/errors/validation_failed"
}Response 429 · application/problem+json
429 rate_limit_exceeded — the Customer or key rate policy rejected the request. Retryable after waiting at least Retry-After; preserve the same idempotency key for a billable retry. Carries the same rate-limit headers used on successful authenticated responses. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Header: Retry-After | integer | Seconds to wait before retrying. Required on Minimum: |
Header: X-RateLimit-Limit | integer | Request quota of the applied rate-limit window. The same rate-limit headers appear on successful authenticated responses. |
Header: X-RateLimit-Remaining | integer | Requests remaining in the applied rate-limit window. |
Related schemas: Problem
Rate policy rejected the request
{
"charged": false,
"code": "rate_limit_exceeded",
"detail": "The rate limit for this API key was exceeded.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000F",
"request_id": "01J5AR8Q2K000000000000000F",
"retryable": true,
"status": 429,
"title": "Rate limit exceeded",
"type": "https://enterprise.hippomundo.com/docs/errors/rate_limit_exceeded"
}Response 500 · application/problem+json
500 internal_error — an unexpected Hippomundo failure with no safer public classification. Retryability is occurrence-specific; honor the body retryable field, use exponential backoff with jitter, preserve the idempotency key and report persistent failures with the request_id. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
Unexpected failure with no safer classification
{
"charged": false,
"code": "internal_error",
"detail": "An unexpected internal error occurred.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000G",
"request_id": "01J5AR8Q2K000000000000000G",
"retryable": false,
"status": 500,
"title": "Internal error",
"type": "https://enterprise.hippomundo.com/docs/errors/internal_error"
}Response 502 · application/problem+json
502 dependency_error — a required managed dependency returned an invalid or failing response. Retryability is occurrence-specific; honor the body retryable field. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
A managed dependency returned an invalid or failing response
{
"charged": false,
"code": "dependency_error",
"detail": "A required internal dependency failed.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000H",
"request_id": "01J5AR8Q2K000000000000000H",
"retryable": false,
"status": 502,
"title": "Dependency error",
"type": "https://enterprise.hippomundo.com/docs/errors/dependency_error"
}Response 503 · application/problem+json
503 service_unavailable — the service or a required ledger or dependency is temporarily unavailable. Retryable; honor Retry-After when present and use exponential backoff with jitter. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Header: Retry-After | integer | Seconds to wait before retrying. Required on Minimum: |
Related schemas: Problem
Service temporarily unavailable
{
"charged": false,
"code": "service_unavailable",
"detail": "The service is temporarily unavailable.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000J",
"request_id": "01J5AR8Q2K000000000000000J",
"retryable": true,
"status": 503,
"title": "Service unavailable",
"type": "https://enterprise.hippomundo.com/docs/errors/service_unavailable"
}Response 504 · application/problem+json
504 dependency_timeout — a required dependency exceeded its deadline. Retryable with exponential backoff and jitter; preserve the idempotency key so a billable retry cannot double-charge. Uncharged.
| Field | Type | Description |
|---|---|---|
Body | Problem | RFC 9457 problem document used by every managed error response
under |
Header: Cache-Control | string · required | Always |
Header: Hippomundo-Request-ID | string · required | Compact server-generated request identifier carried on every
response. On errors it equals the body |
Related schemas: Problem
A dependency exceeded its deadline
{
"charged": false,
"code": "dependency_timeout",
"detail": "A required internal dependency timed out.",
"instance": "urn:hippomundo:request:01J5AR8Q2K000000000000000K",
"request_id": "01J5AR8Q2K000000000000000K",
"retryable": true,
"status": 504,
"title": "Dependency timeout",
"type": "https://enterprise.hippomundo.com/docs/errors/dependency_timeout"
}OpenAPI definition
Complete OpenAPI definition
{
"description": "Lists results for one rider. The inclusive date range,\ndiscipline and international filters are optional. The response uses\nthe canonical rider ID after transparent resolution; when that differs\nfrom the requested ID, `Hippomundo-Resolved-From` carries the requested\nvalue.\n\nEach result includes the horse, rider, competition, edition and class. Performance is tagged by discipline and never exposes\nsource score fields. Unknown query parameters are rejected with\n`422 validation_failed`.\n\nThe page size is capped and defaulted at 100. Default sort is\n`date_asc`; every sort is deterministic and ends in result ID. A\nsmaller page size becomes bound to the traversal token, after which\n`page_size` and `sort` overrides are rejected.\n\nEach successful page, including an empty page (`data: []`,\n`total: 0`), is charged at this operation's current price, which your\nOpenAPI document (`GET /v1/openapi.json`) and your portal API\nreference show. Send\n`Idempotency-Key` to make a retry safe. Errors are never charged.\n",
"operationId": "listRiderResults",
"parameters": [
{
"description": "Public rider ID; superseded IDs are resolved.",
"in": "path",
"name": "rider_id",
"required": true,
"schema": {
"format": "int64",
"type": "integer"
}
},
{
"$ref": "#/components/parameters/ResultDateFrom"
},
{
"$ref": "#/components/parameters/ResultDateTo"
},
{
"$ref": "#/components/parameters/ResultDiscipline"
},
{
"$ref": "#/components/parameters/ResultInternational"
},
{
"description": "Sort profile. Rejected as an override once a traversal has begun.",
"in": "query",
"name": "sort",
"schema": {
"default": "date_asc",
"enum": [
"date_asc",
"date_desc",
"id"
],
"type": "string"
}
},
{
"$ref": "#/components/parameters/ResultPageSize"
},
{
"$ref": "#/components/parameters/PageToken"
},
{
"$ref": "#/components/parameters/FreshnessOverride"
},
{
"$ref": "#/components/parameters/VersionHeader"
},
{
"$ref": "#/components/parameters/IdempotencyKey"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ResolvedResultPageSuccess"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/InvalidApiKey"
},
"402": {
"$ref": "#/components/responses/PaymentRequired"
},
"403": {
"$ref": "#/components/responses/EndpointNotEntitled"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"406": {
"$ref": "#/components/responses/NotAcceptable"
},
"409": {
"$ref": "#/components/responses/IdempotencyConflict"
},
"422": {
"$ref": "#/components/responses/ValidationFailed"
},
"429": {
"$ref": "#/components/responses/RateLimitExceeded"
},
"500": {
"$ref": "#/components/responses/InternalError"
},
"502": {
"$ref": "#/components/responses/DependencyError"
},
"503": {
"$ref": "#/components/responses/ServiceUnavailable"
},
"504": {
"$ref": "#/components/responses/DependencyTimeout"
}
},
"summary": "List results for a rider",
"tags": [
"results"
]
}