Open backend findings
Not part of the API contract. This page lists known differences between the current backend behaviour, the OpenAPI specification and the intended V1 contract. Items are open and may change. Do not build integrations that depend on the behaviour described here.
The guides document the current, verified behaviour. When a finding is fixed in the backend, the guides, the OpenAPI snapshot, the tests and this page are updated together.
#Behaviour findings
| ID | Finding | Status |
|---|---|---|
| BF-1 | conflict errors are returned with HTTP status 400, not 409. | Open, backend decision pending |
| BF-2 | The Location header of 201 Created responses contains /v1/<resource>/<id> without the /api prefix of the public base URL. | Open |
| BF-3 | Malformed input (an ID that is not a UUID, an invalid date or timestamp parameter, a request body that is not valid JSON) may result in 500 internal_error instead of a 4xx error. | Unverified: derived from code reading, not confirmed by a runtime test |
| BF-4 | 400 invalid_api_client can occur for create requests when the API client is in an internal state the integrator cannot change. | Open |
| BF-5 | The detail field of problem responses is never set. | Open, optional |
#OpenAPI specification findings
The API reference is generated from a frozen snapshot of the specification. The following differences are known and are not corrected in the reference:
| ID | Finding |
|---|---|
| OAS-1 | The specification declares an http:// server URL. The reference shows the HTTPS TEST server as a preview. |
| OAS-2 | POST operations are documented with status 200. The API returns 201 Created. |
| OAS-3 | Error responses are not documented as application/problem+json; some reference unrelated page schemas. |
| OAS-4 | The specification contains an internal bearerAuth (JWT) security scheme. Public API requests use API keys only. |
| OAS-5 | Required scopes are only mentioned in operation descriptions, not in a machine-readable form. |
| OAS-6 | Tag names carry the prefix "Public API –". |
#How to handle these findings
- Treat
conflict(BF-1) by itscode, not by HTTP status. - Build resource URLs from the base URL and the returned
id, not fromLocation(BF-2). - Validate IDs and dates on your side before sending requests (BF-3).
- Expect
201for successfulPOSTrequests regardless of the reference (OAS-2).