api_key_required
No API key was supplied for an authenticated commercial request.
Treat the HTTP status and structured error code as the contract. Avoid relying on message text
alone.
{
"error": "unsupported_species",
"message": "Commercial API v1 drug list currently supports canine/feline patients only. Use species \"dog\" or \"cat\".",
"details": {
"species": "avian",
"supported_species": ["dog", "cat"],
"future_species": ["avian", "horse"]
}
}
api_key_requiredNo API key was supplied for an authenticated commercial request.
invalid_api_keyThe supplied key failed validation.
rate_limit_exceededThe request rate exceeded the current allowance for the issued key.
unsupported_speciesThe request used a species outside the commercial dog/cat contract.
missing_parameterA required query or body field was missing.
method_not_allowedThe endpoint was called with an unsupported HTTP method.
Requests missing or mis-formatting patient.weight_kg should be corrected and retried.
If a workflow is intentionally unsupported, the fix is to change the request rather than retry blindly.
Use exact names returned by /api/drugs or /api/drugs-data, especially for fluid entries.
Missing fields, bad species values, and unsupported concentration choices should be corrected in the request UI.
Invalid, expired, or access-related failures should route to support or credential-management flows.
Unsupported species and validation failures are not transient failures.
Use the structured error code and HTTP status as the integration contract.