QA
Test the integration contract
Use directly downloadable synthetic payloads and your own isolated development environment.
Download before coding
Fetch /developers/v1/openapi.json without browser authentication or JavaScript. Download the request examples under /developers/v1/examples/.
The public artifacts are sufficient to create local contract tests, but they do not provide a public Foryn staging tenant or credential.
Acceptance checklist
- A valid confirmed booking is accepted without a WorkItem.
- A named-account mismatch returns an exception with a null financialExposureMinor.
- A missing agreement returns INSUFFICIENT_EVIDENCE.
- An identical event retried is DUPLICATE_EVENT; the same event ID with changed content is a 409 conflict.
- AMENDED requires a meaningful qualified state and newer revision; stale state must not overwrite current state.
- CANCELLED removes active booking volume while preserving prior history.
- OUT_OF_COVERAGE stays distinct from invalid payloads.
- An optional resolution is recorded or idempotently acknowledged.
- Invalid credentials, unsupported profiles and invalid JSON are correctly rejected.
How to test locally
CODE / EXAMPLE
node --import tsx scripts/ocean-developer-artifacts.ts --check
node --import tsx tests/unit/ocean-developer-contract.test.ts
node --import tsx scripts/ocean-developer-blackbox.ts
These validation commands refer to the Foryn source repository. A customer integration should instead use the published spec and downloaded synthetic examples in its own test suite.
API v1 · Fictional examples · Production access requires coordinated onboarding · OpenAPI contract ↗