Error Codes and Messages
Learn more about error codes and messages in MaaS.
MaaS API returns a number of gRPC errors if the request is invalid or something else goes wrong.
Mapping MaaS API Error Codes to HTTP Error Codes
Here is a list of error codes returned by MaaS API and how they correspond to HTTP status codes:
gRPC Status Code | HTTP Status Code | Interpretation |
---|---|---|
3 INVALID_ARGUMENT | 400 Bad Request | The request fails because the argument passed to it is invalid. |
4 DEADLINE_EXCEEDED | 504 Gateway Timeout | This error is thrown when the operation has timed out and cannot be completed. |
5 NOT_FOUND | 404 Not Found | States that the requested resource does not exist. |
7 PERMISSION_DENIED | 403 Forbidden | Specifies that no permission is granted to perform the requested operation on the given resource. |
9 FAILED_PRECONDITION | 400 Bad Request | Means that the request cannot be completed because certain conditions are not met. |
10 ABORTED | 409 Conflict | Means that the operation was cancelled, often due to concurrent query execution. |
13 INTERNAL | 500 Internal Server Error | Specifies that something has gone wrong and the server is unable to provide more information |
16 UNAUTHENTICATED | 401 Unauthorized | The request either lacks the 'Authorization' header or the authentication credentials are invalid. |
MaaS API Error Response Example
For example, a call to any MaaS API endpoint without the Authorization
header
will result in the following error:
{
"code": 16,
"message": "Missing authorization header.",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "ERR_MISSING_AUTHORIZATION_HEADER",
"domain": "maas.api.ridedott.com/v1alpha2/iam",
"metadata": {}
}
]
}
The value of the code
property in this example refers to the UNAUTHENTICATED
gRPC status code
and
corresponds
to the Unauthorized
HTTP error code.
List of Possible MaaS API Errors
Authentication Errors
401 Unauthorized
If the request to the MaaS API is not authenticated one of the following errors is returned:
{
"code": 16,
"details": "Missing authorization header.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/iam",
"reason": "ERR_MISSING_AUTHORIZATION_HEADER"
}
}
{
"code": 16,
"details": "Invalid authorization metadata.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/iam",
"reason": "ERR_INVALID_AUTHORIZATION_METADATA"
}
}
GetRegion
The GetRegion
API endpoint may return the following errors:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match regions/:id route"
}
404 Not Found
{
"code": 5,
"details": "Region not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_REGION_NOT_FOUND",
"resourceName": "regions/${regionId}",
"resourceType": "maas.api.ridedott.com/v1alpha2/regions/price_list"
}
}
GetRegionConfiguration
When calling the GetRegionConfiguration
API endpoint the following errors may
occur:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match regions/:id route"
}
404 Not Found
{
"code": 5,
"details": "Region not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_REGION_NOT_FOUND",
"resourceName": "regions/${regionId}/configuration",
"resourceType": "maas.api.ridedott.com/v1alpha2/regions/configuration"
}
}
GetPriceList
When calling the GetPriceList
API endpoint the following errors may occur:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match regions/:id route"
}
404 Not Found
{
"code": 5,
"details": "Region not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_REGION_NOT_FOUND",
"resourceName": "regions/${regionId}/price_list",
"resourceType": "maas.api.ridedott.com/v1alpha2/regions/price_list"
}
}
GetRequiredUserData
Here are the errors you might encounter while working with the
GetRequiredUserData
API endpoint:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match regions/:id route"
}
404 Not Found
{
"code": 5,
"details": "Region not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_REGION_NOT_FOUND",
"resourceName": "regions/${regionId}/required_user_data",
"resourceType": "maas.api.ridedott.com/v1alpha2/regions/required_user_data"
}
}
GetDocumentVerificationRequirements
Currently available errors from the GetDocumentVerificationRequirements
API
endpoint:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match regions/:id route"
}
404 Not Found
{
"code": 5,
"details": "Region not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_REGION_NOT_FOUND",
"resourceName": "regions/{regionId}/document_verification_requirements",
"resourceType": "maas.api.ridedott.com/v1alpha2/regions/document_verification_requirements"
}
}
CreateDocumentVerification
The CreateDocumentVerification
API endpoint may return the following errors:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:id route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users"
}
}
409 Conflict
{
"code": 10,
"details": "This document verification is already being created.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/users/document_verifications",
"reason": "ERR_DOCUMENT_VERIFICATION_CREATION_IN_PROGRESS"
}
}
GetDocumentVerification
The following are the errors that a call to the GetDocumentVerification
API
may return.
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match regions/:id route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users/document_verifications"
}
}
{
"code": 5,
"details": "Document verification not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_DOCUMENT_VERIFICATION_NOT_FOUND",
"resourceName": "name",
"resourceType": "maas.api.ridedott.com/v1alpha2/users/document_verifications"
}
}
ListDocumentVerifications
When calling the ListDocumentVerifications
API endpoint the following errors
may occur:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:id route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users"
}
}
GetRequiredLegalAgreements
Below is a list of possible error codes for GetRequiredLegalAgreements
API
endpoint:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match regions/:id route"
}
404 Not Found
{
"code": 5,
"details": "Region not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_REGION_NOT_FOUND",
"resourceName": "regions/${id}/required_legal_agreements",
"resourceType": "maas.api.ridedott.com/v1alpha2/regions/required_legal_agreements"
}
}
CreateLegalAgreement
Below is a list of possible error codes for CreateLegalAgreement
API endpoint:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:id route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users"
}
}
409 Conflict
{
"code": 10,
"details": "This legal agreement is already being created.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/users/legal_agreements",
"reason": "ERR_LEGAL_AGREEMENT_IS_ALREADY_BEING_CREATED"
}
}
GetLegalAgreement
These are the errors that can be returned from GetLegalAgreement
:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:userId/legal_agreements/:agreementId route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users/legal_agreements"
}
}
{
"code": 5,
"details": "Legal agreement not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_LEGAL_AGREEMENT_NOT_FOUND",
"resourceName": "name",
"resourceType": "maas.api.ridedott.com/v1alpha2/users/legal_agreements"
}
}
ListLegalAgreements
The ListLegalAgreements
API endpoint may return the following errors:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:id route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users"
}
}
CreateUser
The CreateUser
API endpoint may return the following errors:
400 Bad Request
{
"code": 3,
"details": "\"user.emailAddress\" must be a valid email"
}
{
"code": 3,
"details": "\"user.firstName\" length must be less than or equal to 128 characters long"
}
{
"code": 3,
"details": "\"user.gender\" must be greater than or equal to 1"
}
{
"code": 3,
"details": "\"user.lastName\" length must be less than or equal to 128 characters long"
}
{
"code": 3,
"details": "\"user.phoneNumber\" with value \"${phoneNumber}\" fails to match the required pattern: /^\\+?[1-9]\\d{1,14}$/u"
}
{
"code": 3,
"details": "\"user.dateOfBirth\" with value \"${dateOfBirth}\" fails to match the required pattern: /^(?:\\d{4}-(?:(?:0[1-9])|1[0-2])-(?:(?:0[1-9])|1[0-9]|2[0-9]|3[0-1]))$/u"
}
409 Conflict
{
"code": 10,
"details": "This user is already being created.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/users",
"reason": "ERR_CONCURRENT_REQUEST"
}
}
500 Internal Server Error
{
"code": 13,
"details": "Internal server error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_COULD_NOT_CREATE_IDENTITY"
}
}
GetUser
Here are the errors you might encounter while working with the GetUser
API
endpoint:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:id route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users"
}
}
UpdateUser
These are the errors that can be returned from UpdateUser
:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:id route"
}
{
"code": 3,
"details": "\"user.emailAddress\" must be a valid email"
}
{
"code": 3,
"details": "\"user.firstName\" length must be less than or equal to 128 characters long"
}
{
"code": 3,
"details": "\"user.gender\" must be greater than or equal to 1"
}
{
"code": 3,
"details": "\"user.lastName\" length must be less than or equal to 128 characters long"
}
{
"code": 3,
"details": "\"user.phoneNumber\" with value \"${phoneNumber}\" fails to match the required pattern: /^\\+?[1-9]\\d{1,14}$/u"
}
{
"code": 3,
"details": "\"user.dateOfBirth\" with value \"${dateOfBirth}\" fails to match the required pattern: /^(?:\\d{4}-(?:(?:0[1-9])|1[0-2])-(?:(?:0[1-9])|1[0-9]|2[0-9]|3[0-1]))$/u"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/users"
}
}
DeleteUser
Below is a list of possible error codes for DeleteUser
API endpoint:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match users/:id route"
}
404 Not Found
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceName": "users/${userId}",
"resourceType": "maas.api.ridedott.com/v1alpha2/users"
}
}
500 Internal Server Error
{
"code": 13,
"details": "Internal server error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_EMPTY_RESPONSE"
}
}
StartTrip
The StartTrip
API endpoint may return the following errors:
400 Bad Request
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_BACK_END_CONFIG_NOT_FOUND"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_DECLINED"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_ID_VERIFICATION_REQUIRED"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_OUTDATED_PRIVACY_POLICY_VERSION"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_LEGAL_AGREEMENTS_NOT_ACCEPTED"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_MISSING_REQUIRED_RIDER_DATA"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_OUTDATED_PRIVACY_POLICY_VERSION"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_OUTDATED_TERMS_AND_CONDITIONS_VERSION"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"type": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_VEHICLE_OFFLINE"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_VEHICLE_UNAVAILABLE"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_OUTDATED_PRIVACY_POLICY_VERSION"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_OUTDATED_TERMS_AND_CONDITIONS_VERSION"
}
]
}
}
404 Not Found
{
"code": 5,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceName": "maas.api.ridedott.com/v1alpha2/trips",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
{
"code": 5,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_VEHICLE_DETAILS_NOT_FOUND",
"resourceName": "maas.api.ridedott.com/v1alpha2/trips",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
{
"code": 5,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_VEHICLE_NOT_FOUND",
"resourceName": "maas.api.ridedott.com/v1alpha2/trips",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
{
"code": 5,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_VEHICLE_NOT_FOUND",
"resourceName": "maas.api.ridedott.com/v1alpha2/trips",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
{
"code": 5,
"details": "Vehicle is not on trip.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_ALREADY_ACTIVE",
"resourceName": "trips",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
409 Conflict
{
"code": 10,
"details": "Request aborted.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/trips",
"reason": "ERR_ABORTED_REQUEST"
}
}
{
"code": 10,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/trips",
"reason": "ERR_CONCURRENT_REQUEST"
}
}
500 Internal Server Error
{
"code": 13,
"details": "Request failed.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Invalid credentials format."
}
}
{
"code": 13,
"details": "Request failed.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo"
}
}
{
"code": 13,
"details": "validationError.message",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Invalid response from functions API.",
"stackEntries": []
}
}
{
"code": 13,
"details": "Unknown error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Could not parse functions API response to json."
}
}
{
"code": 13,
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_INTERNAL"
}
}
{
"code": 13,
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_REGION_NOT_FOUND"
}
}
{
"code": 13,
"details": "Unknown error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Unknown Error from Functions API"
}
}
{
"code": 13,
"details": "Could not create the trip.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_COULD_NOT_CREATE_THE_TRIP"
}
}
EndTrip
The EndTrip
API endpoint may return the following errors:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match trips/:id route"
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_MANUAL_LOCK_NOT_LOCKED"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_OUT_OF_BOUNDS_NOT_ACKNOWLEDGED"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips",
"type": "ERR_PARKING_FORBIDDEN"
}
]
}
}
404 Not Found
{
"code": 5,
"details": "Trip not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
{
"code": 5,
"details": "User not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_USER_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
{
"code": 5,
"details": "Trip not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_NOT_FOUND",
"resourceName": "name",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
{
"code": 5,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_NOT_FOUND",
"resourceName": "maas.api.ridedott.com/v1alpha2/trips",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips"
}
}
409 Conflict
{
"code": 10,
"details": "Request aborted.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/trips",
"reason": "ERR_ABORTED_REQUEST"
}
}
500 Internal Server Error
{
"code": 13,
"details": "Request failed.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo"
}
}
{
"code": 13,
"details": "Internal server error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_REGION_DATA_NOT_FOUND"
}
}
{
"code": 13,
"details": "Internal server error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_VEHICLE_PRICE_LIST_FOR_REGION_NOT_FOUND"
}
}
{
"code": 13,
"details": "Unknown error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Unknown Error from Functions API"
}
}
{
"code": 13,
"details": "Request failed.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Invalid credentials format."
}
}
GetTripInvoice
The following errors may occur when the GetTripInvoice
API endpoint is called:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match trips/:id route"
}
404 Not Found
{
"code": 5,
"details": "Trip has not ended.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_HAS_NOT_ENDED",
"resourceName": "trips/{tripId}/invoice",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/invoice"
}
}
{
"code": 5,
"details": "Trip has no value.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_HAS_NO_VALUE",
"resourceName": "trips/{tripId}/invoice",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/invoice"
}
}
{
"code": 5,
"details": "Invoice data not found."
}
504 Gateway Timeout
{
"code": 4,
"details": "Trip cost not processed in time.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "ERR_TRIP_COST_NOT_PROCESSED_IN_TIME"
}
}
GetVehicle
The GetVehicle
API endpoint may return the following errors:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match vehicles/:id route"
}
404 Not Found
{
"code": 5,
"details": "No data found for vehicle.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_VEHICLE_NOT_FOUND",
"resourceName": "vehicles/${uuid}",
"resourceType": "maas.api.ridedott.com/v1alpha2/vehicles"
}
}
UnlockVehicle
The following errors indicate the failure of UnlockVehicle
API call:
400 Bad Request
{ "code": 3, "details": "Path is empty" }
{
"code": 3,
"details": "${path} does not match vehicles/:id route"
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/vehicles",
"type": "ERR_INVALID_PAYLOAD"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/vehicles",
"type": "ERR_MISSING_PERMISSION"
}
]
}
}
{
"code": 9,
"details": "This vehicle does not have a manual lock.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"description": "ERR_VEHICLE_DOES_NOT_HAVE_A_MANUAL_LOCK",
"subject": "vehicles/${vehicleId}",
"type": "maas.api.ridedott.com/v1alpha2/vehicles"
}
]
}
}
{
"code": 9,
"details": "Vehicle lock is not locked.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"description": "ERR_VEHICLE_LOCK_IS_NOT_LOCKED",
"subject": "vehicles/${vehicleId}",
"type": "maas.api.ridedott.com/v1alpha2/vehicles"
}
]
}
}
{
"code": 9,
"details": "Vehicle can be unlocked only if it was manually locked before ending the trip.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"description": "ERR_VEHICLE_NOT_MANUALLY_LOCKED",
"subject": "vehicles/${vehicleId}",
"type": "maas.api.ridedott.com/v1alpha2/vehicles"
}
]
}
}
{
"code": 9,
"details": "This user has not started this vehicle trip.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"description": "ERR_USER_HAS_NOT_STARTED_TRIP",
"subject": "vehicles/${vehicleId}",
"type": "maas.api.ridedott.com/v1alpha2/vehicles"
}
]
}
}
401 Unauthorized
{
"code": 16,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/vehicles",
"reason": "ERR_UNAUTHENTICATED"
}
}
403 Forbidden
{
"code": 7,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/vehicles",
"reason": "ERR_VEHICLE_OFFLINE"
}
}
404 Not Found
{
"code": 5,
"details": "Trip not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/vehicles"
}
}
{
"code": 5,
"details": "No data found for vehicle.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_VEHICLE_NOT_FOUND",
"resourceName": "vehicles/${uuid}",
"resourceType": "maas.api.ridedott.com/v1alpha2/vehicles"
}
}
{
"code": 5,
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Invalid credentials format."
}
}
{
"code": 5,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_VEHICLE_NOT_FOUND",
"resourceName": "maas.api.ridedott.com/v1alpha2/vehicles",
"resourceType": "maas.api.ridedott.com/v1alpha2/vehicles"
}
}
409 Conflict
{
"code": 10,
"details": "Request aborted.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/vehicles",
"reason": "ERR_ABORTED_REQUEST"
}
}
500 Internal Server Error
{
"code": 13,
"details": "Unknown error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Unknown Error from Functions API"
}
}
{
"code": 13,
"details": "Request failed.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo"
}
}
504 Gateway Timeout
{
"code": 4,
"details": "'Manual lock did not unlock.'"
}
CreateTripParkingPhoto
Below is a list of possible error codes for CreateTripParkingPhoto
API
endpoint:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match trips/:id route"
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips/parking_photo",
"type": "ERR_INVALID_PAYLOAD"
}
]
}
}
{
"code": 9,
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"subject": "maas.api.ridedott.com/v1alpha2/trips/parking_photo",
"type": "ERR_UNSUPPORTED_TYPE"
}
]
}
}
401 Unauthorized
{
"code": 16,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/trips/parking_photo",
"reason": "ERR_UNAUTHENTICATED"
}
}
404 Not Found
{
"code": 5,
"details": "Trip not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
}
{
"code": 5,
"details": "Parking photo or skip reason not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_PARKING_PHOTO_OR_SKIP_REASON_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
}
{
"code": 5,
"details": "Parking photo not was not uploaded.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_PARKING_PHOTO_NOT_WAS_NOT_UPLOADED",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
}
409 Conflict
{
"code": 10,
"details": "Request aborted.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "maas.api.ridedott.com/v1alpha2/trips/parking_photo",
"reason": "ERR_ABORTED_REQUEST"
}
}
500 Internal Server Error
{
"code": 13,
"details": "Request failed.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo"
}
}
{
"code": 13,
"details": "Request failed.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Invalid credentials format."
}
}
{
"code": 13,
"metadata": {
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"detail": "ERR_INTERNAL"
}
}
{
"code": 13,
"details": "Unknown error.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.DebugInfo",
"detail": "Unknown Error from Functions API"
}
}
SkipTripParkingPhoto
When calling the SkipTripParkingPhoto
API endpoint the following errors may
occur:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match trips/:id route"
}
{
"code": 9,
"details": "Trip has parking photo skip reason already.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"description": "ERR_TRIP_HAS_PARKING_PHOTO_SKIP_REASON_ALREADY",
"subject": "trips/${tripId}/parking_photo",
"type": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
]
}
}
{
"code": 9,
"details": "Trip has parking photo already.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"description": "ERR_TRIP_HAS_PARKING_PHOTO_ALREADY",
"subject": "trips/${tripId}/parking_photo",
"type": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
]
}
}
{
"code": 9,
"details": "Trip has not ended.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.PreconditionFailure",
"violations": [
{
"description": "ERR_TRIP_HAS_NOT_ENDED",
"subject": "trips/${tripId}/parking_photo",
"type": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
]
}
}
404 Not Found
{
"code": 5,
"details": "Trip not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
}
{
"code": 5,
"details": "Parking photo or skip reason not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_PARKING_PHOTO_OR_SKIP_REASON_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
}
GetTripParkingPhoto
The following are the errors that a call to the GetTripParkingPhoto
API
endpoint may return:
400 Bad Request
{
"code": 3,
"details": "Path is empty"
}
{
"code": 3,
"details": "${path} does not match trips/:id route"
}
404 Not Found
{
"code": 5,
"details": "Trip not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_TRIP_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
}
{
"code": 5,
"details": "Parking photo or skip reason not found.",
"metadata": {
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"description": "ERR_PARKING_PHOTO_OR_SKIP_REASON_NOT_FOUND",
"resourceType": "maas.api.ridedott.com/v1alpha2/trips/parking_photo"
}
}