Response status and error codes
This page describes the response status and error codes available with the Unity API.
Response codes
HTTP response status codes indicate whether a specific request has been successfully completed. When you send a request to an API endpoint, Unity returns one of the following responses:
2xx
to indicate your request succeeded.4xx
to indicate your request failed.5xx
to indicate an error with Unity's servers. To check that the service you want to reach is operational, go to the Unity Service Status page.
Error attributes
Error attributes include error information and related metadata such as links to related documentation.
title
string
A short summary of the problem type.
detail
string
A message providing more details about the error returned.
code
number
A number that identifies the error returned.
type
string
Returns a link to the documentation with more information.
status
number
A status code generated by the server.
details
array
An array of additional errors.
requestId
string
The universally unique identifier (UUID) of your request.
Error codes
Depending on your original request, you can receive one of the following error codes:
Code | Status code | Error | Description |
---|---|---|---|
0 | 500 | Unknown | Returns an unknown error. |
500 | TransportError | DNS, TLS, and other transport errors that return an invalid response. | |
504 | Timeout | The request timed out because no response was received in the time provided. | |
503 | ServiceUnavailable | The service is unavailable or overloaded. Try again later. | |
404 | ApiMissing | The API does not exist. | |
500 | RequestRejected | The request was rejected before reaching the API. | |
502 | BadGateway | Invalid response received from the upstream server. | |
429 | TooManyRequests | You're making multiple requests too frequently. Make your requests at a lower rate. | |
401 | InvalidToken | The authentication token provided is invalid. Generate a new authentication token and try again. | |
401 | TokenExpired | The authentication token provided is expired. Generate a new authentication token and try again. | |
403 | Forbidden | You don't have permission to perform this operation. | |
404 | NotFound | The target resource couldn't be found. | |
400 | InvalidRequest | Part of the request is invalid. | |
403 | NoPermission | You don't have any permissions | |
N/A | UnprocessableEntity | The content type and syntax of your request is correct, but the instructions are unprocessable. | |
N/A | Conflict | This request conflicts with the current state of the target resource. | |
424 | Failed Dependency | The requested action can't be performed because a dependent action has failed. | |
400 | MethodNotAllowed | The target resource doesn't support this request method. | |
413 | PayloadTooLarge | The request entity is larger than the limits defined by the server. | |
415 | UnsupportedMediaType | The payload format is not supported. | |
403 | InvalidOrganizationEntitlement | The organization is not entitled to access the requested product. Happens when the organization has not purchased the license required to access it. | |
403 | InvalidUserEntitlement | The user is not entitled to access the requested product. Happens when the user does not have the license seat required to access it. | |
404 | One of the accounts is not found. | When setting add-on policies in bulk, if one of the specified accounts is not found, this error will be throw. In case of the Service Account, it might not exist at all or might not belong to the organization. In case of the User, it might not exist or might be deleted. | |
404 | One of the roles is not found | Happens when setting add-on policies in bulk. One of the roles does not exist or has been deleted | |
422 | One of the roles cannot be assigned to {accountType} | Happens when setting add-on policies in bulk. One of the roles cannot be assigned to {accountType} | |
422 | One of the roles is not of the entity type: {entityType} | Happens when setting add-on policies in bulk if one of the roles specified in the payload is not of the entity type specified in the payload. | |
422 | One of the roles is not of the suite: {suiteId} | Happens only if suiteId optional payload parameters is specified. Happens when setting add-on policies in bulk if one of the roles specified in the payload is not of the suite specified in the payload. | |
422 | This API only supports add-on roles | Happens when setting add-on policies in bulk if one of the roles specified in the payload is not an add-on role. | |
422 | The roles in {suiteId} suite must be mutually exclusive. | Happens when setting add-on policies in bulk. Happens if the payload contains multiple roles from the same suite and the roles in the suite are mutually exclusive. | |
409 | Policy for the provided role ids already exists. | Happens when setting add-on policies in bulk. Happens if for some reason the policy for some of the provided role ids already exists. | |
404 | Specified role does not exist | Happens when adding a user to a project. Will happen when a specified role does not exist or has been deleted. This is an exceptional case and shouldn't happen if client sends the correct role name. | |
422 | None of the emails were successfully invited to the project. | Happens when adding users to a project. Happens if none of the emails provided were successfully invited to the project. This can happen if each of the emails already exist as an individual grant in the project or is not associated with a Unity ID or failed to be invited on Genesis side. | |
422 | None of the emails were successfully invited to the organization. | Happens when adding users to an organization. Happens if none of the emails provided were successfully invited to the organization. This can happen if each of the emails already has access to the organization or failed to be invited on Genesis side. | |
422 | Some of the users were not found. | Happens when assigning users to a custom group. Happens if the user does not exist, is deleted, or does not have user, manager, or owner role in the organization. | |
422 | User type cannot be updated to {roleName} role for this user. | User's current organization role is higher than the target role, or you lack the permissions to make this change. | |
422 | Members API does not support removing project group policies. | Happens when trying to remove a user from a project who was added to it via project group and does not have direct baseline role in the project. Old project members page or Groups API should be used to remove groups from projects. | |
400 | You are trying to transfer the project to the same organization. | Happens when trying to transfer a project to the same organization. | |
422 | The organization that you are transferring the project to is locked. Please contact customer support to unlock the organization. | Happens when trying to transfer a project to a organization locked by the ads fraud check. The organization needs to be unlocked before the project can be transferred. | |
403 | You must be either a manager or an owner in both organizations in order to transfer the project. | Happens when trying to transfer a project to another organization while not having a sufficient role in one or both of the organizations. The user must be either an manager or and owner in both organizations in order to transfer the project. | |
422 | The project has service account(s) attached to it: {list of accounts}. Please visit Administration -> Service accounts page to remove the associated roles from this project. | Happens when trying to transfer a project to another organization while the project has service account(s) attached to it. The service account(s) must be removed from the project before the project can be transferred. | |
401 | The user is deleted but the user token is not invalidated yet. | Happens when when the user account is deleted but the user token has not been removed yet. | |
409 | A service account with the name already exists within the same organization. | Happens during an attempt of service account creation or modification when the name already exists within same organization Id | |
409 | A group with the name already exists within the same organization. | Happens during an attempt of group creation or modification when the name already exists within same organization Id | |
402 | Organization usage has exceeded the quota. | Happens when the organization usage has exceeded the quota. User needs to add an appropriate license to continue using the service. | |
402 | User has been assigned an incorrect seat. | Happens when the user has been assigned an incorrect or no seat. The user needs to obtain the correct seat to continue using the service. | |
403 | The user has no administrator rights to any UVCS organization, or the organizations are read-only. | Happens when the user configuring the UVCS integration has no administrator rights to any UVCS organization, or the organizations are read-only. | |
403 | The UVCS organization is currently read-only. | Happens when the UVCS organization is currently read-only. | |
403 | The user has no administrator rights to the UVCS organization. | Happens when the user that configured the UVCS integration has no administrator rights to the UVCS organization. | |
409 | The UVCS integration is in use. | Happens when the UVCS integration is in use by one or more datasets. | |
500 | The Storage service failed to process the request. | Happens when the Storage service could not process the request due to an unexpected server error. | |
422 | The inviter must have an equivalent or superior baseline role when inviting users. | Happens when a user tries to invite a new member and assign them a higher role than their own. |