Common API error responses and how to fix them.
The VSee API uses standard HTTP status codes. Here are the most common ones you'll encounter:
| Status | Meaning | What to Do |
|---|---|---|
| 200 | Request succeeded. | N/A — success! |
| 400 | Missing required fields or invalid parameters. | Check your request body and query parameters. Ensure all required fields are included. |
| 401 | Authentication failed. | Check your token is valid, not expired, and for the correct environment. |
| 403 | You don't have permission for this action. | You may be using the wrong token type. Admin endpoints require the Clinic Admin API Token. |
| 404 | The resource or endpoint doesn't exist. | Verify the URL path and any ID parameters. Check that you're using the correct base URL. |
| 422 | Validation failed on the request data. | Check field formats, required fields, and data types match the spec. |
| 429 | Too many requests. | Slow down your request rate. Implement exponential backoff. |
| 500 | Something went wrong on the server. | Retry after a brief delay. If persistent, contact VSee support. |
{
"code": "85FBEFE5",
"message": "Bad Request"
}{
"message": "Unauthorized Access"
}{
"message": "Bad Request",
"errors": {
"title": "The title field is required"
}
}Access to fetch at 'https://api.vsee.me/...' has been blocked by CORS policy
{
"message": "Bad Request"
}api.vseepreview.com before moving to production.Most error responses follow this format:
{
"code": "ERROR_CODE",
"message": "Human-readable error description"
}Some validation errors include an errors object with field-level details:
{
"message": "Bad Request",
"errors": {
"field_name": "Description of what's wrong with this field"
}
}