Asset API Error Handling
Result mapping
| Condition | HTTP outcome | Shape |
|---|---|---|
| Command success | Success or endpoint-selected created result | DTO or anonymous result |
| Validation/domain failure | Bad request | { message } |
| Missing resource | Not found | { message } |
| State or duplicate conflict | Conflict | { message } |
| Forbidden result kind | Forbidden | { message } |
| Document integration unavailable | Service unavailable | { message } |
| Missing tenant context | Bad request | { message } |
Native creation and document upload select created responses. Most compatibility mutations return ordinary success. Direct detail/history delegates construct their own not-found message; deletion routes construct their own success message. File download returns file content.
No Asset-specific unauthorized outcome is enforced because routes lack authorization requirements. ProblemDetails, a global exception handler, a single typed error DTO, error codes, validation field collections, and explicit server-error envelopes are Not implemented.
Classification
The API is Transitional. Capabilities explicitly described as absent are Not implemented. Host diagnostics and evidence routes are Foundation. Production exposure, ownership, and governance Require confirmation.
Source References
microservices/src/asset-service/Api/EndpointResults.csmicroservices/src/asset-service/Api/AssetEndpoints.csmicroservices/src/asset-service/Program.cs