Quickstart
Everything in this API is read-only: no call creates or changes anything.
Where to call
The development gateway answers on:
https://dev.partnerapi.edwardinvest.cz/v1
The contract's servers: block advertises https://partnerapi.edwardinvest.cz/v1 and https://sandbox.partnerapi.edwardinvest.cz/v1. Those are the addresses this API will have; neither is provisioned yet, so a client generated from the contract will not connect. Use the gateway above, and ask us which URL applies to you.
Authenticate
Your key travels in the X-API-Key header. There is nothing else to send — no bearer token, no signature, no client certificate.
curl -sS https://dev.partnerapi.edwardinvest.cz/v1/me -H "X-API-Key: $PARTNER_API_KEY"
/me is the right first call: it returns the organization your key belongs to and whether the key carries piiAccess, and it needs no parameters.
Don't have a key? See Access.
Read two headers on every response
· X-Data-As-Of — when the data in this response was last refreshed. This API is fed by a scheduled sync, not by live queries, so this is how you tell how old the answer is.
· X-RateLimit-Remaining — how much of your budget is left. Back off on 429, which carries Retry-After, rather than pacing against a wall clock. The limit itself is not fixed here on purpose — X-RateLimit-Limit on every response is the only number to trust.
Errors
Errors are RFC 9457 problem documents with content type application/problem+json, and each carries a requestId. Quote it when you report a problem — it is what lets support find the request.
This is what a real response looks like when the key is missing — captured live from the development gateway on 2026-09-04:
{
"type": "https://api.edward.cz/errors/401",
"title": "SubscriptionKeyNotFound",
"status": 401,
"requestId": "e35e4f38-54f3-408a-a89e-bf16e1b2544c"
}
requestId is unique per request — yours will differ every time.
The type URI is an identifier, not an address. It is not expected to resolve — do not try to fetch it — and it does not change when a base URL does. https://api.edward.cz/errors/{status} is a naming convention for error kinds, not a routing decision.
What nobody has decided yet
· Sandbox. A sandbox with masked data has been decided on but does not exist yet. Until it does, the gateway above serves a development environment whose data comes from the same source as production.
· SLA. No availability or latency target has been agreed. Do not infer one from behaviour.
· Support. See Support for what to send and where.