Skip to main content

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 CodeHTTP Status CodeInterpretation
3 INVALID_ARGUMENT400 Bad RequestThe request fails because the argument passed to it is invalid.
4 DEADLINE_EXCEEDED504 Gateway Timeout

This error is thrown when the operation has timed out and cannot be completed.

5 NOT_FOUND404 Not FoundStates that the requested resource does not exist.
7 PERMISSION_DENIED403 Forbidden

Specifies that no permission is granted to perform the requested operation on the given resource.

9 FAILED_PRECONDITION400 Bad Request

Means that the request cannot be completed because certain conditions are not met.

10 ABORTED409 Conflict

Means that the operation was cancelled, often due to concurrent query execution.

13 INTERNAL500 Internal Server Error

Specifies that something has gone wrong and the server is unable to provide more information

16 UNAUTHENTICATED401 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"
}
}