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.