---
title: "Update Service"
description: "Update the service named by serviceId using its expected version.\n\n- **Scope:** `agenda:services:write`\n- **Credentials:** a person's access token only; API keys and client-credentials tokens get `403`\n- **Effect:** writes; idempotent, safe to retry\n- **Limits:** request body up to 256 KB, response up to 8 MB\n- **CLI:** `arbol agenda services update` · **MCP tool:** `agenda_services_update`"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.getarbol.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Agenda API › Services

`PATCH /v1/agenda/services/{serviceId}`

Update the service named by serviceId using its expected version.

- **Scope:** `agenda:services:write`
- **Credentials:** a person's access token only; API keys and client-credentials tokens get `403`
- **Effect:** writes; idempotent, safe to retry
- **Limits:** request body up to 256 KB, response up to 8 MB
- **CLI:** `arbol agenda services update` · **MCP tool:** `agenda_services_update`

## Authentication

- `arbolHuman`, oauth2, scopes: `agenda:services:write`

## Path parameters

- `serviceId` (`agenda.services.update.path.serviceId`; string, required) — Stable svc-prefixed Scheduling record identifier; ownership is checked in the authenticated organization.
  - pattern `^svc_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`

## Request body

_Required._

- `expectedVersion` (`agenda.services.update.expectedVersion`; integer, required) — Version last read by the caller. The mutation fails if another writer has changed this record.
- `defaultDurationMinutes` (`agenda.services.update.defaultDurationMinutes`; integer, optional) — Default appointment duration for this service, in minutes. Each offering can specify its own duration.
  - min 1; max 1440
- `details` (`agenda.services.update.details`; object, optional) — Bounded JSON configuration owned by this catalog record, including supported domain settings.
- `name` (`agenda.services.update.name`; string, optional) — Display name of this catalog or configuration record.
- `status` (`agenda.services.update.status`; string, optional) — Lifecycle state controlling whether this record remains available to its domain consumers.
  - one of `"active"`, `"inactive"`

## Example request

```json
{
  "defaultDurationMinutes": 1,
  "details": {},
  "name": "string",
  "status": "active",
  "expectedVersion": 1
}
```

## Code samples

### cURL

```bash
curl "https://api.getarbol.com/v1/agenda/services/<serviceId>" \
  --request PATCH \
  --header "Authorization: Bearer $ARBOL_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "expectedVersion": 1
}'
```

### TypeScript

```typescript
import { createClient } from "@arbol-ai/sdk";

const arbol = createClient({
  baseUrl: "https://api.getarbol.com",
  token: process.env.ARBOL_API_KEY!,
});

const { data } = await arbol.agenda.services.update({
  expectedVersion: 1,
  serviceId: "<serviceId>",
});
```

### Rust

```rust
use arbol_sdk::{types, Client, Credential};

let arbol = Client::new(Credential::ApiKey(std::env::var("ARBOL_API_KEY")?))?;

let data = arbol
    .agenda()
    .services()
    .update(&types::AgendaServicesUpdateInput {
        expected_version: 1,
        service_id: "<serviceId>".into(),
        default_duration_minutes: None,
        details: None,
        name: None,
        status: None,
    })
    .await?;
```

### CLI

```bash
arbol agenda services update '<serviceId>' --expected-version 1
```

### MCP

```json
{
  "name": "agenda_services_update",
  "arguments": {
    "expectedVersion": 1,
    "serviceId": "<serviceId>"
  }
}
```

## Responses

### 200

Successful operation.

#### Example

```json
{
  "success": true,
  "data": {
    "defaultDurationMinutes": 1,
    "details": {},
    "id": "string",
    "name": "string",
    "object": "scheduling.service",
    "schemaVersion": 1,
    "status": "active",
    "updatedAt": "2019-08-24T14:15:22Z",
    "version": 1
  },
  "error": null,
  "metadata": {
    "requestId": "string"
  }
}
```

- `success` (`agenda.services.update.response.200.success`; boolean, required)
- `data` (`agenda.services.update.response.200.data`; object, required)
  - `defaultDurationMinutes` (`agenda.services.update.response.200.data.defaultDurationMinutes`; integer, required) — Service duration in minutes used as the default when configuring an offering.
    - min 1; max 1440
  - `details` (`agenda.services.update.response.200.data.details`; object, required) — Bounded JSON configuration owned by this catalog record, including supported domain settings.
  - `id` (`agenda.services.update.response.200.data.id`; string, required) — Stable svc-prefixed Scheduling record identifier; ownership is checked in the authenticated organization.
    - pattern `^svc_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$`
  - `name` (`agenda.services.update.response.200.data.name`; string, required) — Display name of this catalog or configuration record.
    - minLength 1; maxLength 160
  - `object` (`agenda.services.update.response.200.data.object`; string, required) — Stable resource discriminator identifying the response object kind.
  - `schemaVersion` (`agenda.services.update.response.200.data.schemaVersion`; number, required) — Format version of this resource contract, distinct from its persisted record version.
  - `status` (`agenda.services.update.response.200.data.status`; string, required) — Lifecycle state controlling whether this record remains available to its domain consumers.
    - one of `"active"`, `"inactive"`
  - `updatedAt` (`agenda.services.update.response.200.data.updatedAt`; string, required) — ISO 8601 instant with an explicit UTC or local offset; local-offset inputs are accepted.
    - format `date-time`
  - `version` (`agenda.services.update.response.200.data.version`; integer, required) — Persisted revision used to detect concurrent edits.
- `error` (`agenda.services.update.response.200.error`; null, required)
- `metadata` (`agenda.services.update.response.200.metadata`; object, required)
  - `requestId` (`agenda.services.update.response.200.metadata.requestId`; string, required) — Request correlation identifier, also sent as X-Request-Id.

### 400

- `INVALID_INPUT`: The request does not match the published schema.
- `INVALID_APPOINTMENT_INTAKE`: Correct the indicated patient or intake fields before booking.
- `INVALID_PATIENT_FIELDS`: Correct the indicated patient fields before saving.
- `DURATION_CHANGE_OFF`: This service does not allow changing appointment duration.
- `DURATION_NOT_ALLOWED`: Select a duration allowed by this service.
- `STUDY_LENGTH_NOT_OFFERED`: Select one of the study lengths this agenda offers.
- `INVALID_FILE_KIND`: Select a supported attachment kind.
- `INVALID_FILE_NAME`: Provide a valid attachment filename.
- `INVALID_ID_TOKEN`: Provide a valid identity token.
- `INVALID_JSON`: Send a valid JSON document.
- `INVALID_WINDOW`: Provide a positive time window within the supported range.
- `UNEXPECTED_QUERY_PARAMETERS`: Remove query parameters not declared by this operation.
- `INVALID_BODY`: The request body could not be read. Send valid uncompressed JSON.

#### Example

```json
{
  "error": {
    "code": "INVALID_INPUT"
  }
}
```

- `error` (`agenda.services.update.response.400.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 401

`UNAUTHORIZED`: A valid access token is required.

#### Example

```json
{
  "error": {
    "code": "UNAUTHORIZED"
  }
}
```

- `error` (`agenda.services.update.response.401.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 403

- `FORBIDDEN`: The token does not authorize this operation.
- `ID_TOKEN_MISMATCH`: The identity token does not match the authenticated user.
- `NOT_FILE_UPLOADER`: Only the uploader may delete this attachment.
- `NOT_NOTE_AUTHOR`: Only the author may edit or delete this note.
- `ORIGIN_NOT_ALLOWED`: This request origin is not allowed.

#### Example

```json
{
  "error": {
    "code": "FORBIDDEN"
  }
}
```

- `error` (`agenda.services.update.response.403.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 404

`NOT_FOUND`: The requested resource does not exist.

#### Example

```json
{
  "error": {
    "code": "NOT_FOUND"
  }
}
```

- `error` (`agenda.services.update.response.404.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 405

`HTTP_METHOD_NOT_ALLOWED`: The HTTP method is not supported for this resource.

#### Example

```json
{
  "error": {
    "code": "HTTP_METHOD_NOT_ALLOWED"
  }
}
```

- `error` (`agenda.services.update.response.405.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 409

- `PAYER_STAFF_ONLY`: This payer requires booking by the organization team. Add the patient to the waitlist for review.
- `APPOINTMENT_NOT_REMINDABLE`: Only an open future appointment with a patient email can receive a reminder.
- `APPOINTMENT_WITHOUT_PATIENT`: Link a patient to this appointment before performing this action.
- `ARBOL_CATALOG_TOO_LARGE`: The integration catalog exceeds the supported size. Narrow the catalog before retrying.
- `ARBOL_CONFIGURATION_REQUIRED`: Configure the organization integration before using it.
- `NOTIFICATIONS_NOT_SET_UP`: Patient emails need the notifications module turned on.
- `SAME_OFFERING`: An agenda cannot take its own appointments.
- `SAME_SERVICE`: A service cannot be merged into itself.
- `INVALID_HOLD_PAYLOAD`: The held slot is malformed.
- `HOLD_NOT_ACTIVE`: The hold is no longer active.
- `APPOINTMENT_CLOSED`: A cancelled appointment cannot be edited.
- `APPOINTMENT_VERSION_MISMATCH`: The appointment changed after it was loaded.
- `APPOINTMENT_NOT_MOVABLE`: A closed appointment cannot be moved.
- `SERVICE_CHANGED`: The new slot belongs to another service.
- `SCHEDULE_CHANGED`: The selected time no longer matches the current schedule.
- `INVALID_AVAILABILITY_WINDOW`: Availability windows must be positive and at most 31 days.
- `SERVICE_CAPACITY_EXCEEDED`: This service already has as many appointments as it can run at once at that time.
- `RESOURCE_CAPACITY_EXCEEDED`: The selected time is no longer available.
- `OVERBOOK_OUT_OF_RANGE`: An overbooked appointment must start between yesterday and the booking horizon.
- `OVERBOOK_UNAVAILABLE`: No active agenda can take this appointment.
- `STUDY_OVERBOOKING_NOT_ALLOWED`: This study has an explicit capacity limit and requires an available ordinary slot.
- `INVALID_SLOT_TOKEN`: Request a fresh available slot before booking.
- `BIRTH_DATE_REQUIRED`: This service has an age rule: the patient's date of birth is required.
- `AGE_NOT_ELIGIBLE`: The patient's age on that day is outside this service's age rule.
- `INTAKE_SETTINGS_VERSION_MISMATCH`: Intake settings changed; reload before saving.
- `PAYER_NAME_TAKEN`: Another payer already has that name.
- `PAYER_VERSION_MISMATCH`: The payer changed; reload before saving.
- `LOCATION_VERSION_MISMATCH`: The site changed after it was loaded.
- `PROFILE_VERSION_MISMATCH`: The profile changed after it was loaded.
- `PROVIDER_DISABLED`: Enable the provider integration before using it.
- `BINDING_VERSION_MISMATCH`: Connection changed or is synchronizing; refresh and retry.
- `RESOURCE_VERSION_MISMATCH`: The resource changed after it was loaded.
- `SCHEDULE_RULE_AGENDA_MISMATCH`: The schedule rule belongs to another agenda.
- `SCHEDULE_RULE_EXPECTED_VERSION_REQUIRED`: Expected version is required for an update.
- `SCHEDULE_RULE_VERSION_MISMATCH`: The schedule rule changed after it was loaded.
- `SCHEDULE_RULES_CHANGED`: The schedule changed after it was loaded.
- `SERVICE_VERSION_MISMATCH`: The service changed after it was loaded.
- `OFFERING_VERSION_MISMATCH`: The offering changed after it was loaded.
- `SAME_RESOURCE`: An agenda cannot take its own appointments.
- `TARGET_INACTIVE`: An archived agenda takes no appointments.
- `SLOT_REQUIRED`: A hold or slot token is required.
- `ARBOL_SETTINGS_VERSION_MISMATCH`: Arbol settings changed.
- `NOTIFICATION_SETTINGS_VERSION_MISMATCH`: Notification settings changed; reload before saving.
- `ORGANIZATION_VERSION_MISMATCH`: The organization changed; reload before saving.
- `PATIENT_DOCUMENT_TAKEN`: Another patient has that document.
- `PATIENT_VERSION_MISMATCH`: The patient changed after it was loaded.
- `DAILY_REPORT_TOO_LARGE`: Daily report exceeds the supported size; no partial report was generated.
- `REPORT_SETTINGS_VERSION_MISMATCH`: Report settings changed; reload before saving.
- `REPORT_NOTIFICATIONS_DISABLED`: Enable the notifications module before sending a daily agenda.
- `REPORT_RECIPIENTS_REQUIRED`: No eligible organization owner or additional delivery address is available for this agenda.
- `WAITLIST_ENTRY_VERSION_MISMATCH`: The waitlist entry changed; reload before saving.
- `REMOVAL_JOB_CONFLICT`: A removal is already active, or this idempotency key belongs to another decision.
- `FOLLOWUP_SETTINGS_VERSION_MISMATCH`: Follow-up email settings changed; reload before saving.
- `FOLLOWUP_DISABLED`: Turn this follow-up email on in the notification settings first.
- `FOLLOWUP_CONSENT_REQUIRED`: The patient has not consented to this follow-up email for their current address.
- `PATIENT_EMAIL_REQUIRED`: Record the patient's email before this action.
- `PATIENT_ARCHIVED`: Restore the patient before this action.
- `RECALL_ALREADY_ACTIVE`: The patient already has an active recall for this service.
- `RECALL_MONTH_PASSED`: The recall's month has already passed.
- `RECALL_VISIT_REQUIRED`: Enter the last visit: there is no attended appointment of this service for the patient.
- `RECALL_VISIT_IN_FUTURE`: The last visit must be a past date.
- `RECALL_VERSION_MISMATCH`: The recall changed after it was loaded.
- `SLOT_OFFER_NOT_ALLOWED`: Only an open waiting-list entry of a registered patient can receive a slot offer.
- `SLOT_OFFER_MISMATCH`: The slot belongs to another service or agenda than the entry asks for.
- `SLOT_OFFER_TOO_SOON`: The slot starts too soon to hold it for the patient; offer a later one.
- `SLOT_OFFER_ALREADY_OPEN`: This waiting-list entry already has an open slot offer.
- `SLOT_OFFER_CLOSED`: The slot offer is no longer open.

#### Example

```json
{
  "error": {
    "code": "PAYER_STAFF_ONLY"
  }
}
```

- `error` (`agenda.services.update.response.409.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 413

`REQUEST_TOO_LARGE`: The request exceeds the allowed size.

#### Example

```json
{
  "error": {
    "code": "REQUEST_TOO_LARGE"
  }
}
```

- `error` (`agenda.services.update.response.413.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 415

- `UNSUPPORTED_MEDIA_TYPE`: The request content type is not supported.
- `APPLICATION_JSON_REQUIRED`: Send the request as application/json.
- `FILE_CONTENT_MISMATCH`: The uploaded content does not match its declared file type.
- `UNSUPPORTED_CONTENT_ENCODING`: Send an uncompressed request body.
- `UNSUPPORTED_FILE_TYPE`: Select a supported attachment file type.

#### Example

```json
{
  "error": {
    "code": "UNSUPPORTED_MEDIA_TYPE"
  }
}
```

- `error` (`agenda.services.update.response.415.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 426

`UPGRADE_REQUIRED`: Open the live channel with a WebSocket upgrade.

#### Example

```json
{
  "error": {
    "code": "UPGRADE_REQUIRED"
  }
}
```

- `error` (`agenda.services.update.response.426.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 429

`RATE_LIMITED`: The request rate limit was exceeded. Try again later.

#### Example

```json
{
  "error": {
    "code": "RATE_LIMITED"
  }
}
```

- `error` (`agenda.services.update.response.429.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 500

`INTERNAL_ERROR`: The service could not complete the operation.

#### Example

```json
{
  "error": {
    "code": "INTERNAL_ERROR"
  }
}
```

- `error` (`agenda.services.update.response.500.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 502

`OUTCOME_UNKNOWN`: The operation may have been applied; check its result before repeating it.

#### Example

```json
{
  "error": {
    "code": "OUTCOME_UNKNOWN"
  }
}
```

- `error` (`agenda.services.update.response.502.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 503

- `UPSTREAM_UNAVAILABLE`: The upstream service could not complete the request.
- `ARBOL_RESPONSE_TOO_LARGE`: The integration response exceeds the supported size.
- `ARBOL_UNAVAILABLE`: The integration service is temporarily unavailable. Retry later.
- `REMOVAL_WORKFLOW_UNAVAILABLE`: Durable removal is unavailable here; use the bounded manual removal operations.
- `ARBOL_REFUSED`: The integration service rejected this request. Review its configuration.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_UNAVAILABLE"
  }
}
```

- `error` (`agenda.services.update.response.503.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`

### 504

`UPSTREAM_TIMEOUT`: The upstream service did not respond before its deadline.

#### Example

```json
{
  "error": {
    "code": "UPSTREAM_TIMEOUT"
  }
}
```

- `error` (`agenda.services.update.response.504.error`; object, required)
  - any of: `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`, `object`


Source: https://docs.getarbol.com/api/agenda/services/update/index.md
