---
title: "Patch service attributes"
method: PATCH
path: "/v1/api/services/{serviceExternalId}"
tags: ["Services"]
---

# Patch service attributes

`PATCH /v1/api/services/{serviceExternalId}`

Allows patching below service attributes. Each attribute has its own validation depending on data type. Request can either be a single object or an array of objects. It’s similar to (but not 100% compliant with) [JSON Patch](http://jsonpatch.com/).<br>
  | op |  field | example |
| --- |  --- | ----|
| add | gateway_account_ids  | ["1"] |
| replace | redirect_to_service_immediately_on_terminal_state | false |
| replace | experimental_features_enabled | false |
| replace | takes_payments_over_phone | false |
| replace | agent_initiated_moto_enabled | false |
| replace | collect_billing_address | true |
| replace | current_go_live_stage | NOT_STARTED |
| replace | current_psp_test_account_stage | NOT_STARTED |
| replace | merchant_details/name, organisatio | name |
| replace | merchant_details/address_line1, Address lin | 1 |
| replace | merchant_details/address_line2, Address lin | 2  |
| replace | merchant_details/address_city | London |
| replace | merchant_details/address_country | GB |
| replace | merchant_details/address_postcode | E6 8XX |
| replace | merchant_detail |/email,  |
| replace | merchant_details/email, email@exampl |.com |
| replace | merchant_detail |/url,  |
| replace | merchant_details/url, http://www.exampl |.org |
| replace | merchant_detail |/telephone_number,  |
| replace | merchant_details/telephone_number | 447700900000 |
| replace | custom_branding | { "css_url": "css url", "image_url": "image url"} |
| replace | custom_branding | {} |
| replace | service_name/en | Some service name |
| replace | sector | local government |
| replace | internal | true |
| replace | archived | true |
| replace | went_live_date | 2022-04-09T18:07:46Z |
| replace | default_billing_address_country | GB |
 | add | feature | test_feature |
 | remove | feature | test_feature |

## Path parameters

- `serviceExternalId` string, required

## Request body

- ServiceUpdateRequest[]
  - `op` string
  - `path` string
  - `value` string

## Response `200`

OK

- Service
  - `_links` Link[]
    - `href` string
    - `method` string
    - `rel` string
  - `agent_initiated_moto_enabled` boolean
  - `archived` boolean
  - `archived_date` string, date-time
  - `collect_billing_address` boolean
  - `created_date` string, date-time
  - `current_go_live_stage` 'NOT_STARTED' | 'ENTERED_ORGANISATION_NAME' | 'ENTERED_ORGANISATION_ADDRESS' | 'CHOSEN_PSP_ADYEN' | 'CHOSEN_PSP_STRIPE' | 'CHOSEN_PSP_GOV_BANKING_WORLDPAY' | 'GOV_BANKING_MOTO_OPTION_COMPLETED' | 'TERMS_AGREED_ADYEN' | 'TERMS_AGREED_STRIPE' | 'TERMS_AGREED_GOV_BANKING_WORLDPAY' | 'DENIED' | 'LIVE'
  - `current_psp_test_account_stage` 'NOT_STARTED' | 'REQUEST_SUBMITTED' | 'CREATED'
  - `custom_branding` object
  - `default_billing_address_country` string
  - `experimental_features_enabled` boolean
  - `external_id` string
  - `gateway_account_ids` string[]
  - `id` integer
  - `internal` boolean
  - `merchant_details` MerchantDetails
    - `address_city` string
    - `address_country` string
    - `address_line1` string
    - `address_line2` string
    - `address_postcode` string
    - `email` string
    - `name` string
    - `telephone_number` string
    - `url` string
  - `name` string
  - `redirect_to_service_immediately_on_terminal_state` boolean
  - `sector` string
  - `service_features` object
  - `service_name` object
  - `takes_payments_over_phone` boolean
  - `went_live_date` string, date-time

## Other responses

- `400` — Invalid payload

---

[API](https://skmtc.net/government-digital-service/apis/adminusers-api.md) · [All operations](https://skmtc.net/government-digital-service/apis/adminusers-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/government-digital-service/adminusers-api/revisions/17f1bf916172/schema)
