Skip to main content

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,
}
note

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.