# Error Reference

> Every error the Untether Labs API returns.

Errors are identified by their `type`, which is this page's URL with the error's
code as the fragment — an error listed here as `shift-already-claimed` arrives as
`https://developers.untetherlabs.com/errors#shift-already-claimed`. Match on that
rather than on the status code or the message, both of which are shared by many
errors.

Every response carries the standard [RFC-9457 members](/using-the-api/errors). The
extension members listed below are additional to those.

## 400 Bad Request

### batch-size-exceeded

The request exceeded the maximum allowed batch size.

Extension members:

- `batchSize` (number, required)
- `maxBatchSize` (number, required)

### inactive-integration

The requested operation requires an active integration.

### invalid-balance-reset-rows

The requested balance reset rows are invalid.

### invalid-punch-action

The requested punch action is invalid.

### missing-historical-correction-acknowledgement

A historical correction acknowledgement is required to create a historical correction.
For more information on historical corrections, see the [dedicated guide](/using-the-api/historical-corrections).

### negative-range

Time range end date must come after start date.

Extension members:

- `path` (string)

### provider-not-in-policy

The specified provider is not a member of the specified time off policy.

### read-only-field

The request attempted to modify a read-only field.

Extension members:

- `paths` (string[], required)

### recurring-schedule-closed

The requested recurring schedule is closed and cannot be modified.

### report-parameter-validation

A report parameter did not pass validation, see message.

Extension members:

- `path` (string)
- `message` (string, required)

### rippling-validation

The time off request failed Rippling validation requirements.

Extension members:

- `message` (string, required)
- `errorCode` (string)

### skill-assignment-overlap

The requested skill assignment overlaps with an existing assignment for the same provider and skill.

### validation

Input validation failed.

Extension members:

- `path` (string)
- `message` (string, required)

## 403 Forbidden

### unauthorized

You do not have permission to perform this action.

Extension members:

- `action` (string, required)
- `resource` (string, required)
- `reason` (string)

## 404 Not Found

### appointment-not-found

A specified appointment does not exist in the system.

### appointment-type-not-found

A specified appointmenttype does not exist in the system.

### auto-scheduler-job-not-found

A specified auto scheduler job does not exist in the system.

### auto-scheduler-snapshot-not-found

A specified auto scheduler snapshot does not exist in the system.

### availability-exception-not-found

A specified availability exception does not exist in the system.

### availability-not-found

A specified availability does not exist in the system.

### balance-reset-upload-not-found

A specified balance reset upload does not exist in the system.

### conversation-not-found

A specified conversation does not exist in the system.

### data-source-not-found

A specified data source does not exist in the system.

### help-article-not-found

A specified help article does not exist in the system.

### help-collection-not-found

A specified help collection does not exist in the system.

### help-draft-not-found

A specified help draft does not exist in the system.

### integration-not-found

A specified integration does not exist in the system.

### label-not-found

A specified label does not exist in the system.

### message-not-found

A specified message does not exist in the system.

### no-assigned-team

The authenticated user is not assigned to a team.

### notification-not-found

A specified notification does not exist in the system.

### overtime-rule-not-found

A specified overtime rule does not exist in the system.

### pay-code-not-found

A specified pay code does not exist in the system.

### pay-period-not-found

A specified pay period does not exist in the system.

### policy-not-found

A specified policy does not exist in the system.

### policy-relationship-not-found

A specified policy relationship does not exist in the system.

### provider-not-found

A specified provider does not exist in the system.

### punch-warnings-not-found

A specified punch warnings does not exist in the system.

### rbac-role-not-found

A specified rbac role does not exist in the system.

### recurring-schedule-not-found

A specified recurring schedule does not exist in the system.

### report-not-found

A specified report does not exist in the system.

### report-run-not-found

A specified report run does not exist in the system.

### role-not-found

A specified role does not exist in the system.

### rounding-rule-not-found

A specified rounding rule does not exist in the system.

### schedule-group-not-found

A specified schedule group does not exist in the system.

### shift-not-found

A specified shift does not exist in the system.

### shift-swap-application-not-found

A specified shift swap application does not exist in the system.

### shift-swap-listing-not-found

A specified shift swap listing does not exist in the system.

### skill-assignment-not-found

A specified skill assignment does not exist in the system.

### skill-not-found

A specified skill does not exist in the system.

### skill-requirement-template-not-found

A specified skill requirement template does not exist in the system.

### team-not-found

A specified team does not exist in the system.

### time-off-policy-not-found

A specified time off policy does not exist in the system.

### time-off-request-not-found

A specified time off request does not exist in the system.

### timecard-not-found

A specified timecard does not exist in the system.

### timecard-punch-not-found

A specified timecard punch does not exist in the system.

### user-not-found

A specified user does not exist in the system.

### vacation-bid-not-found

A specified vacation bid does not exist in the system.

### vacation-bid-period-not-found

A specified vacation bid period does not exist in the system.

### webhook-not-found

A specified webhook does not exist in the system.

### work-rule-not-found

A specified work rule does not exist in the system.

## 409 Conflict

### duplicate-help-path

A help collection or article already exists at the specified path.

Extension members:

- `fullPath` (string, required)

### duplicate-shift-template

A shift template with the same name already exists for this team.

### duplicate-skill

A skill with the same name and type already exists.

### duplicate-skill-collection

A skill collection with the same name already exists for this skill.

### duplicate-skill-value

A value with the same name already exists for this skill.

### email-in-use

The specified email address is already in use by another user.

### policy-relationship-already-exists

One or more time off policies are already linked to another vacation bid.

### shift-already-claimed

The requested shift has already been claimed by another provider.

### shift-already-started

The requested shift has already started and cannot be claimed.

### shift-claim-window-closed

The requested shift cannot be claimed within the configured minimum notice window.

Extension members:

- `shiftId` (string, required)
- `minimumNoticeMinutes` (integer, required, min 0)
- `startsAt` (string, required, example "2024-11-20T07:43:34+0000")

### shift-missing-skills

The requested shift requires skills the provider does not have.

Extension members:

- `shiftId` (string, required)
- `missingSkills` (object[], required)
  - `name` (string, required)
  - `value` (string)
  - `type` (enum, required, one of `licensed_region`, `language`, `enrollment`, `custom`)

### shift-schedule-conflict

The requested shift overlaps with an existing shift for this provider.

Extension members:

- `shiftId` (string, required)
- `conflicts` (object[], required)
  - `startDate` (string, required, example "2024-11-20T07:43:34+0000")
  - `endDate` (string, required, example "2024-11-20T07:43:34+0000")

### version-conflict

This object has been changed. Refresh to see the latest version.

Extension members:

- `currentVersion` (number, required)

## 503 Service Unavailable

### maintenance-mode

The requested company is temporarily read-only.
