Skip to main content
Use the automatically issued test API key with the sk_test_ prefix to validate your integration before you use a live API key. Test API keys use the same Bearer authentication as live keys, but they do not run Anti-AI, watermark, or AI Detection processing. They also do not create result files or consume customer credits.
Persistent test orders and test webhooks are enabled per environment. If your environment returns synthetic orders that are not retained, it is using the legacy mock behavior. Use a live API key when you need to evaluate processing quality or download a result file.

Test order lifecycle

1

Create an order

Call the same order creation endpoint that you use for a live integration. Send the test key in the Authorization header and provide an idempotencyKey.
2

Upload the test file

For an upload-mode test order, send the file to the uploadUrl returned by the order response. A test upload URL uses the PUT /api/v2/test-uploads/{token} route.The upload URL carries its own authorization. Do not add an API key header. BIZ MORI consumes the request stream, records upload completion, and discards the file contents.
The default test upload limit is 50 MiB. Use Refresh presigned URLs when an upload URL expires and the order is still waiting for an upload.
3

Confirm when the service requires it

Call the confirm endpoint after the upload for Anti-AI upload mode and AI Detection. Watermark Embed and Watermark Extract start after their required uploads finish. Anti-AI URL mode starts when you create the order.
4

Observe the state transition

Test orders follow the same state shape as live orders:pending → inProgress → complete or failedThe simulated processing delay is about five seconds. Poll Get order, or use a test webhook endpoint when webhooks are enabled in your environment.
5

Inspect the test order

Use List orders, Recent usage statistics, and Get order details with the same test key. You see only test orders owned by the account associated with that key.

Service flows

Do not call a confirm endpoint for Watermark Embed or Watermark Extract. The request will fail because those services start after their uploads complete.

Choose a deterministic result

Use the input file name to exercise success and failure states without depending on an external processing service. Without a suffix, Anti-AI and Watermark Embed complete successfully, Watermark Extract reports no watermark, and AI Detection returns probability 0.02. If any file in a multi-file order uses _fail, the order fails.

Test webhooks

Create an owned test webhook endpoint with the Dashboard, a live API key, or a test API key. A test key may omit isTest or set it to true; isTest: false returns 403 AUTH_FORBIDDEN:
  • A test API key can create, list, get, update, and delete test endpoints owned by the same owner, list their events, and retry failed events. Live-mode and other-owner resources remain hidden.
  • isTest: true endpoints receive test order events only.
  • isTest: false endpoints receive live order events only.
  • Test webhook payloads use the same event names, HMAC-SHA256 signature, and retry behavior as live webhooks.
  • Anti-AI and Watermark Embed test events use downloadUrl: null because no result file is created.
See Webhooks for owner and mode isolation, signature verification, event payloads, and retry rules.

API behavior and limitations

Test orders remain separate from live orders. A test key cannot read or modify live orders, and a live key cannot read or modify test orders. Test API keys do not:
  • run image or document processing;
  • reserve or consume credits;
  • create downloadable result files; or
  • send events to live webhook endpoints.
For authentication details, see Authentication. For error handling, see Error Codes.