HTTP Errors
HTTP Error Objects
All error responses are JSON objects that conform to IETF standards RFC 7807 and RFC 9457. Each error response includes the following fields, with the option to add more for additional information:
- type: A URL that identifies the type of problem. This link leads to documentation with a human-readable explanation of the problem type, such as "book-not-found".
- title: A short, human-readable summary of the problem type. This field stays the same for different instances of the problem and is used along with the type field.
- status: The HTTP status code for this specific instance of the problem, matching the status code in the HTTP response.
- detail: A human-readable description specific to this instance of the problem, providing more detailed information to help diagnose or fix the issue.
- instance: A URI that identifies the specific occurrence of the problem (optional). This is useful for logging or providing additional context within larger systems.
- timestamp: The date and time when the problem was generated, useful for logging and tracing errors, particularly in time-sensitive systems.
- errorCode: A string that identifies the class of the error.
For example:
{
"type": "https://raw-labs.com/api/v2/errors/endpoint-not-found/",
"title": "Endpoint Not Found",
"errorCode": "EndpointNotFoundError"
"status": 404,
"detail": "The endpoint with ID 12345 could not be found in our system.",
"instance": "https://api.raw-labs.com/raw/1/api/admin/endpoints/12345",
"timestamp": 1717060794144,
}
Timestamps are returned as integers in the Unix timestamp format. For example, the timestamp 1717060794144 corresponds to "May 30, 2024, 9:19:54.144 AM".
403 Status Code Errors
ForbiddenError
A generic error indicating that access to the requested resource is forbidden.
QuotaReachedError
Your organization has reached its quota limits.
Checked the quotaReached
field for more information about the specific item that has reached its limit.
Consider removing unnecessary items (e.g., users, endpoints, API keys) or upgrading your subscription plan.
Extra Fields
- quotaReached: An object with 3 fields:
- current: with the current usage.
- limit: with the maximum allowed.
- dimension: with the item that reached its limit.
For example:
{
"type":"https://raw-labs.com/api/v2/errors/quota-reached",
"title":"Quota Reached",
"errorCode":"QuotaReachedError",
"status":403,
"detail":"quota reached: Quota for maximum allowed number of endpoints exceeded (current: 2001, max_allowed: 2000)",
"instance":null,
"timestamp":1717060794144,
"quotaReached":{
"dimension":"total_endpoints",
"current":2001,
"limit":2000
}
}
UserNotAuthorizedError
The user lacks permission to perform the requested operation. Ensure you have the necessary scopes to run this endpoint or the appropriate role (e.g., admin, user-manager) to perform this operation.
SubscriptionLimitationError
Your current subscription plan does not support the requested operation. Please consider upgrading your subscription.
InvalidOrganization
The user does not belong to the specified organization. Verify that the x-raw-client-organization
header value is correct.
APIKeyNotAuthorized
The provided API key is invalid or has expired. Update the x-raw-api-key
header value in your request.
401 Status Code Errors
UnauthorizedError
A generic error indicating that the request lacks valid authentication credentials.
InvalidAuthorizationHeader
The authorization header is missing or contains invalid data. Verify the value of the Authorization
header.
SubscriptionNotFoundError
Your subscription could not be found.
APIKeyNotFound
The provided API key is invalid or has expired. Update the x-raw-api-key
header value in your request.
404 Status Code Errors
NotFoundError
The requested resource could not be found. For more information, refer to the detail
and instance
fields.
400 Status Code Errors
BadRequestError
A generic error indicating that the server could not understand the request due to invalid syntax.
ExecutionCancelledError
The execution of your endpoint or test-code was cancelled.
ExecutionComputeLimitExceededError
The endpoint has exceeded its compute limit. Consider increasing the compute limit setting for this endpoint.
ExecutionRunTimeError
The endpoint or test code encountered a runtime error. For more information, refer to the detail
field.
ExecutionValidationError
Execution failed because the endpoint did not pass validation (e.g., missing parameter).
Check the errors
field in this object for a list of validation errors.
Extra Fields
- errors: an array of strings containing the list of validation errors.
For example:
{
"type": "https://raw-labs.com/api/v2/errors/execution-validation-error",
"title": "Execution Validation Error",
"errorCode": "ExecutionValidationError",
"status": 400,
"detail": "Program Validation Error",
"instance": null,
"timestamp": 1716985895923
"errors": [
"a: could not parse int value from 'hello'",
"b: required parameter not found"
],
}
ProgramInvalidError
Your code contains compilation errors. Check the validationErrors
field for a list of errors and their positions in the code.
Extra Fields
- validationErrors: an array of objects containing the list of compilation errors.
For example:
{
"type": "https://raw-labs.com/api/v2/errors/program-invalid-error",
"title": "Program Invalid",
"errorCode": "ProgramInvalidError",
"status": 400,
"detail": "Program validation failed",
"instance": null,
"timestamp": 1716986082799
"validationErrors": [
{
"message": "the input does not form a valid statement or expression.",
"positions": [
{
"begin": {
"line": 1,
"column": 36
},
"end": {
"line": 1,
"column": 41
}
}
],
"severity": 8,
"tags": [],
"code": "parserError"
}
],
}
UserAlreadyRegisteredError
The user you are trying to invite is already registered in the system.
429 Status Code Errors
TooManyRequestsError
The user has made too many requests in a given period. Please try again later.
409 Status Code Errors
ConflictError
The request could not be completed due to a conflict with the current state of the resource.
500 Status Code Errors
InternalServerError
The server encountered an unexpected error. Please contact support.