Skip to content

API Responses

Standard Response Envelope

API endpoints under /api/openapi/v1 return HTTP 200 OK and use the same response envelope:

json
{
  "code": "C00000",
  "msg": "success",
  "data": {}
}
FieldDescription
coderesponse body code. API Reference examples use C00000.
msgHuman-readable result or error message.
dataResponse payload. This is null when no response data is available.

OAuth2 endpoints such as /authorize and /token follow the OAuth2 response format and do not use this envelope. Authentication, authorization, rate-limit, and related infrastructure responses also use the separate formats documented below.

Response Example

http
HTTP/1.1 200 OK
Content-Type: application/json

{
  "code": "C00000",
  "msg": "success",
  "data": {
    "total": 4,
    "page": 1,
    "size": 20,
    "devices": []
  }
}

Authentication and Infrastructure Responses

These responses are produced outside the standard API response flow and do not use the standard response envelope. Authentication and resource authorization failures use message and reason fields.

HTTP statusTriggerDefault response body
401Missing authorization header or otherwise invalid token input.{"message":"Unauthorized","reason":"missing Authorization header"}
401The token is no longer active.{"message":"Unauthorized","reason":"token is not active"}
401The client identity required for the resource check is missing.{"message":"Unauthorized","reason":"missing client_id for resource check"}
403User information is missing.{"message":"Forbidden","reason":"no permission for this resource"}
403The client has no permission for a single resource.{"message":"Forbidden","reason":"no permission for this resource"}
403The client has no permission for a resource in a batch request.{"message":"Forbidden","reason":"no permission for resource: {resourceId}"}
429The applicable request-rate limit has been exceeded.{"message":"Too Many Requests","reason":"Rate limit exceeded: 2 requests per minute per device."}
503The authentication service is unavailable.{"message":"Service Unavailable","reason":"token introspection failed"}
503The resource-check cache or backend service is unavailable.{"message":"Service Unavailable","reason":"resource check backend error"}

Rate-limit Response

When the applicable request-rate limit is exceeded, OpenAPI returns HTTP 429 Too Many Requests instead of the standard response envelope.

http
HTTP/1.1 429 Too Many Requests
Content-Type: application/json

{
  "message": "Too Many Requests",
  "reason": "Rate limit exceeded: 2 requests per minute per device."
}

See Rate Limits for the quota table.

Response Body Codes

API results use HTTP status 200 with one of the following codes in the response body envelope.

HTTP statusBody codeDefault msg
200C00000success
200B01601partial success
200C01001parameter is missing
200C01002parameter format is invalid
200C01003parameter is out of range
200C01004duplicate parameter
200C01005parameter mismatch
200C01006parameter length exceeds the limit
200C01007invalid parameter value
200C02001resource not found
200C02002station not found
200C02003device not found
200C03001unauthorized
200C03003access denied
200C04001internal error
200C04003dependency service error
200C04004database error
200C04005cache error
200C05001business rule conflict
200C05002invalid state
200C05003operation not allowed
200C05004data already exists
200C05005limit exceeded
200C05006resource is occupied