Two ways to exercise these APIs from this documentation: against a mock server, or against production with your own key.There is no separate customer test environment. Calls with a real key go to production, so build against the mock until you are confident in the shape of what you are sending.
Every endpoint has a mock. On any reference page, open the environment menu above the request URL, which shows Production, and choose Cloud Mock. Try it then sends the request to the mock instead. Your browser remembers the choice, so switch back to Production when you want real data.The mock needs no credentials. Leave the authentication field(s) empty. We build its responses from the contract, so they carry the right fields and structure without touching production or consuming quota. It stores nothing: a POST returns a success response, but the subscription it describes does not exist afterwards.Use it to:
Check the response shape before you write a parser
Build a client while commercial arrangements are still in progress
Reproduce an integration bug without disturbing live data
Develop against endpoints your account does not yet have access to
Mock values are random, only the shape is real
The mock fills each field with a generated value of the right type. An imo can come back as a string of placeholder words and a draught as a negative number. Use it to validate structure and integration logic, never to assess data quality, coverage or a specific vessel, and do not demo it as real data.
Check the environment and paste the keyMake sure the environment menu shows Production, then supply your credentials as that endpoint requires (see Authentication). The portal does not carry the key between endpoints, so you paste it again on each endpoint you try. That keeps it from leaking into pages you did not mean to call.
3
Send the requestThe call goes to production under your own credentials, with your own permissions and against your own quota.
Read-only first
Try it sends genuine requests. A GET is harmless. A POST creates a real subscription, and a DELETE removes one. Start with reads, and use the mock for anything that writes until you mean it.
Test your webhook receiverPoint a subscription at a request-capture service, confirm the payload and your handling, then switch the callback URL to your own endpoint. Check callback_url_status reaches ok. See Notifications & Webhooks.
2
Handle the errors you have not seen yetA 429 and a 500 both arrive eventually. Retry with backoff on those two, and never on a 400 or a 422. See Errors & Status Codes.
3
Log identifiers from the startStore the request_id and X-Correlation-Id from every response, not just failures. Support can trace a request from either one.
4
Use a separate key per integrationRevoking one then leaves the others running.
Talk to our team with the request_id from the response body and the X-Correlation-Id header. With those two values support can look your request up directly.