---
title: "Update a service specification"
method: PATCH
path: "/service_specification/{id}"
tags: ["Service"]
---

# Update a service specification

`PATCH /service_specification/{id}`

Updates a service specification

## Path parameters

- `id` string, uuid, required — Unique identifier for the entity represented as a UUID

## Request body

- object — Object representing service specifications
  - `visible_to` Def2[] — Array representing visibility settings for the entity. Specifies what/who can see this entity
  - `attributes` Def7 — Object representing an attribute with a schema and associated values
    - `schema` object, required — Specification of the attribute schema. Must be a valid JSON Schema
    - `values` object, required — Values associated with the attribute. Must validate against provided schema
  - `selectors` Def6 — Key-value object representing instance selectors
    - `imported` boolean
    - `provider` string
    - `category` string
    - `sub_category` string
  - `type` 'dependency' | 'scope' — Type of the service specification. Should be one of the specified values in the enumeration
  - `dimensions` Def9
  - `scopes` Def10
    - `provider` object
      - `values` union[], required
        - union
          - 'AWS:SERVERLESS:LAMBDA' | 'AWS:WEB_POOL:EC2INSTANCES' | 'AWS:WEB_POOL:EKS' | 'AZURE:WEB_POOL:AKS' | 'GOOGLE:WEB_POOL:GKE' | 'OCI:WEB_POOL:OKE'
          - string, uuid — UUID of a scope specification
  - `assignable_to` 'any' | 'dimension' | 'scope' — Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
  - `use_default_actions` boolean — Specifies if the service specification should autogenerate its create, update, and delete actions from the attributes schema. When omitted on create, the default is true for every type except `scope`
  - `use_default_naming` boolean — When true, the instance name is optional and generated by nullplatform or taken from the schema's `name` property. When false, a caller-provided name is required. Defaults to true for new specifications

## Response `2XX`

Object representing service specifications

- object — Object representing service specifications
  - `id` string, uuid — Unique identifier for the entity represented as a UUID
  - `created_at` string, date
  - `updated_at` string, date
  - `visible_to` Def2[] — Array representing visibility settings for the entity. Specifies what/who can see this entity
  - `attributes` Def7 — Object representing an attribute with a schema and associated values
    - `schema` object, required — Specification of the attribute schema. Must be a valid JSON Schema
    - `values` object, required — Values associated with the attribute. Must validate against provided schema
  - `selectors` Def6 — Key-value object representing instance selectors
    - `imported` boolean
    - `provider` string
    - `category` string
    - `sub_category` string
  - `type` 'dependency' | 'scope' — Type of the service specification. Should be one of the specified values in the enumeration
  - `dimensions` Def9
  - `scopes` Def10
    - `provider` object
      - `values` union[], required
        - union
          - 'AWS:SERVERLESS:LAMBDA' | 'AWS:WEB_POOL:EC2INSTANCES' | 'AWS:WEB_POOL:EKS' | 'AZURE:WEB_POOL:AKS' | 'GOOGLE:WEB_POOL:GKE' | 'OCI:WEB_POOL:OKE'
          - string, uuid — UUID of a scope specification
  - `assignable_to` 'any' | 'dimension' | 'scope' — Specifies if the service can be assigned to any entity, only dimensions, or only scopes.
  - `use_default_actions` boolean — Specifies if the service specification should autogenerate its create, update, and delete actions from the attributes schema. When omitted on create, the default is true for every type except `scope`
  - `use_default_naming` boolean — When true, the instance name is optional and generated by nullplatform or taken from the schema's `name` property. When false, a caller-provided name is required. Defaults to true for new specifications

## Other responses

- `4XX` — Format for representing errors during API interactions
- `5XX` — Format for representing errors during API interactions

---

[API](https://skmtc.dev/nullplatform/apis/nullplatform-api.md) · [All operations](https://skmtc.dev/nullplatform/apis/nullplatform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nullplatform/nullplatform-api/revisions/1c4ea154b159/schema)
