Report contract
Operational Evidence converts submitted evidence into a normalized operational report.Endpoint
Request headers
See Authentication for API key handling rules.
Idempotent retries
Evidence Report creation supports the optionalIdempotency-Key request header.
Idempotency-Key remain supported but do not receive the
safe-retry guarantee.
Rate limiting
Evidence Report creation is protected by technical rate limiting. Rate limiting is separate from monthly quota:- rate limiting protects API capacity and abusive request patterns;
- quota controls commercial operation consumption during the current quota period.
Retry-After header indicating how many
seconds the client should wait before retrying.
Safe retry metadata may also be included in error.details, including:
limit;remaining;resetAt;retryAfterSeconds.
Retry-After instead of immediately retrying the
request.
Concrete rate-limit values are endpoint/runtime configuration and should not be
inferred from monthly quota.
Request body
The request body contains:evidence must contain either:
- nonblank text;
- at least one image;
- or both.
Strict request contract
The public HTTP request is strict. Unknown request properties are rejected rather than silently ignored. Image entries are also strict objects containing:- be absolute;
- use
httporhttps; - be nonblank.
Remote image retrieval
Image URL validation at the HTTP boundary is only the first step. When image evidence is present, The Wo retrieves each remote image through the shared secure remote-resource boundary before the report provider is invoked. The remote-resource boundary applies target validation, controlled redirect handling, a bounded timeout, maximum-content-size enforcement, and content-type validation. The current Operational Evidence image policy accepts:Language
language is optional.
When provided, it must be a nonblank string.
The current MVP does not expose a fixed public language whitelist.
Integrations should use recognizable language tags such as:
enen-USpt-BRes
Successful response
A successful create operation returns the following public fields.
For the current synchronous create endpoint:
status = completedusage.operation = evidence_reportusage.units = 1
- customer identifiers;
- API key identifiers;
- provider credentials;
- provider request identifiers;
- raw provider responses;
- model configuration;
- prompt contents;
- persistence metadata;
- provider cost.
Supported contexts
The current public contexts are:
Unsupported contexts are rejected by the public request validator.
Because context is validated at the HTTP contract boundary, an unsupported
context results in a
400 invalid_request_payload response.
New contexts are product decisions and must be introduced intentionally.
Supported priorities
Generated reports use one of the following priority values:lowmediumhighurgent
Supported categories
The current controlled category vocabulary is:plumbingelectricalcleaningsecurityelevatorstructuralapplianceother
Unsupported category behavior
category is not part of the create request.
It is generated by the report generation flow.
If generated output contains a category that cannot be represented by the
current domain contract, the generated report is rejected instead of exposing
an unsupported value.
The current HTTP behavior for invalid generated output is:
