Open API lets you call Flashduty via HTTP endpoints to query and manage entity data such as incidents, channels, and schedules. Using the API is essentially the same as logging into the Flashduty Console and performing operations through the UI.Documentation Index
Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt
Use this file to discover all available pages before exploring further.
Request Specifications
Request URL
All APIs only accept access via HTTPS protocol and have a single Endpoint:Headers
Most requests use the POST method with JSON Payload parameters. Please ensure the correct Content-Type is set:Character Encoding
All APIs use UTF-8 encoding.Authentication
All Open APIs use APP Key for authentication.Obtaining an APP Key
Sign in to console
Sign in to the Flashduty Console
Usage Example
Pass the APP Key as a query string parameter:Response Structure
All request responses are in JSON format and follow a unified structure:| Field | Type | Required | Description |
|---|---|---|---|
request_id | string | ✅ | Request ID for tracing |
error | object | Error description, returned only when an error occurs | |
data | any | Data content, refer to each API definition for specific format |
Response Examples
- Success Response
- Error Response
Error Object Structure
| Field | Type | Required | Description |
|---|---|---|---|
code | string | ✅ | Error code, see Error Code List below |
message | string | Error description |
Rate Limits
Rate Limits
To ensure service stability, APIs have rate limits on request frequency. When requests are too frequent, a429 status code with RequestTooFrequently error will be returned.
Permission Limits
- Each APP Key inherits all permissions from its creator
- When an operation exceeds permission scope, a
403status code withAccessDeniederror will be returned - It is recommended to create separate APP Keys for different purposes, following the principle of least privilege
Error Code List
| Error Code | HTTP Status | Description |
|---|---|---|
InvalidParameter | 400 | Parameter error, please check if request parameters are correct |
InvalidContentType | 400 | Content-Type not supported, please use application/json |
MethodNotAllowed | 400 | HTTP Method not supported |
Unauthorized | 401 | Authentication failed, please check if the APP Key is correct |
AccessDenied | 403 | Permission denied, current user does not have permission for this operation |
RouteNotFound | 404 | Request Method + Path not matched, please check the API address |
RequestTooFrequently | 429 | Request too frequent, please try again later |
ResourceNotFound | 400 | Account has not purchased resources, please go to the billing center to place an order |
NoLicense | 400 | Account does not have sufficient subscription License, please go to the billing center to upgrade or purchase a subscription |
InternalError | 500 | Internal or unknown error, please contact technical support |
Error Handling Recommendations
400 Parameter Error
400 Parameter Error
Possible causes:
- Missing required parameters
- Incorrect parameter format
- Content-Type not set to
application/json
401 Authentication Failed
401 Authentication Failed
Possible causes:
- APP Key not provided
- APP Key is incorrect or has expired
- Confirm that the request URL contains the
app_keyparameter - Go to the console to check if the APP Key is valid
403 Permission Denied
403 Permission Denied
Possible causes:
- Current user does not have permission to perform this operation
- The user corresponding to the APP Key has insufficient permissions
429 Too Many Requests
429 Too Many Requests
Possible causes:
- Too many requests sent in a short period
- Reduce request frequency
- Implement exponential backoff retry mechanism
- Combine multiple requests (e.g., use batch APIs)
500 Internal Error
500 Internal Error
Possible causes:
- Server-side internal exception
- Retry later
- If the issue persists, contact technical support and provide the
request_id
Best Practices
Implement Retry Mechanism
For network errors and 5xx errors, it is recommended to implement exponential backoff retry with an initial interval of 1 second and a maximum of 3 retries.
Record request_id
Save the
request_id returned from each request to facilitate troubleshooting and technical support.Protect APP Key
Do not hardcode APP Key in client code. It is recommended to manage it through environment variables or configuration centers.
Rotate Keys Regularly
Regularly replace APP Keys and promptly delete keys that are no longer in use to reduce the risk of leakage.