---
id: service-specification-actions-update
title: "Update a service specification action"
description: "Updates a service specification action"
sidebar_label: "Update a service specification action"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "patch api-method"
info_path: docs/api/nullplatform-api
custom_edit_url: null
---

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Update a service specification action"}
>
</Heading>

<MethodEndpoint
  method={"patch"}
  path={"/service_specification/{serviceSpecificationId}/action_specification/{id}"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Updates a service specification action

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
  children={"Request"}
>
</Heading>

<ParamsDetails
  parameters={[{"schema":{"title":"Id","type":"string","format":"uuid","description":"Unique identifier for the entity represented as a UUID"},"in":"path","name":"id","required":true},{"schema":{"title":"Id","type":"string","format":"uuid","description":"Unique identifier for the entity represented as a UUID"},"in":"path","name":"serviceSpecificationId","required":true}]}
>
  
</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"not":{"enum":[null]},"description":"Name of the entity. Must be a non-empty string and not equal to null"},"parameters":{"title":"Attribute","type":"object","properties":{"schema":{"type":"object","default":{},"description":"Specification of the attribute schema. Must be a valid JSON Schema"},"values":{"type":"object","default":{},"description":"Values associated with the attribute. Must validate against provided schema"}},"required":["schema","values"],"propertyNames":{"enum":["schema","values"],"description":"Allowed property names"},"additionalProperties":false,"description":"Object representing an attribute with a schema and associated values"},"results":{"title":"Attribute","type":"object","properties":{"schema":{"type":"object","default":{},"description":"Specification of the attribute schema. Must be a valid JSON Schema"},"values":{"type":"object","default":{},"description":"Values associated with the attribute. Must validate against provided schema"}},"required":["schema","values"],"propertyNames":{"enum":["schema","values"],"description":"Allowed property names"},"additionalProperties":false,"description":"Object representing an attribute with a schema and associated values"},"retryable":{"type":"boolean","default":false,"description":"Indicates whether the action can be retried if the instance is in a failed state."},"parallelize":{"type":"boolean","default":false,"description":"Indicates whether multiple instances of this action can be executed in parallel. Only applicable to custom type actions."},"annotations":{"title":"Annotation","type":"object","properties":{"runs_over":{"type":"string","enum":["deployment","scope","instance"],"description":"Entity type over which the action applies"},"show_on":{"type":"array","items":{"type":"string","enum":["scope","performance","manage","deployment"],"description":"Place in nullplatform where the action will be able to be triggered"},"uniqueItems":true}},"additionalProperties":false,"description":"Object representing annotations with key-value pairs","default":{}},"external":{"title":"External","type":"object","nullable":true,"properties":{"action":{"type":"string","minLength":1,"description":"Action to send to the agent for resolving external data"},"output_schema":{"type":"object","description":"JSON Schema to validate the agent response against"}},"additionalProperties":false,"required":["action","output_schema"],"description":"Configuration for resolving external context data via the nullplatform agent"},"icon":{"type":"string","pattern":"^([a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+)?$","description":"Icon associated with the action. Format: 'icon-set:icon-variation'. Empty string to clear."}},"description":"Object representing action specifications","additionalProperties":false,"title":"ActionSpecification","example":{"name":"my-link-specification","type":"custom","parameters":{"schema":{"type":"object","properties":{"my_string_property":{"type":"string"},"my_number_property":{"type":"number","default":0}},"required":["my_string_property"]},"values":{}},"results":{"schema":{"type":"object","properties":{"my_string_property":{"type":"string"},"my_number_property":{"type":"number","default":0}},"required":["my_string_property"]},"values":{}},"service_specification_id":"134544a6-a089-43ba-9d52-5b6e6e4fa8d1","link_specification_id":"f3e8be90-0952-4506-bd54-c4e75a5a4393","retryable":true,"parallelize":true,"enabled_when":".service.dimensions.environment == \"development\"","annotations":{"runs_over":"scope","show_on":["scope","performance"]}}}}},"description":"Object representing action specifications"}}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"2XX":{"description":"Object representing action specifications","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","description":"Unique identifier for the entity represented as a UUID"},"name":{"type":"string","minLength":1,"not":{"enum":[null]},"description":"Name of the entity. Must be a non-empty string and not equal to null"},"slug":{"type":"string","minLength":1,"not":{"enum":[null]},"description":"Slug of the specification. Automatically generated from \"name\""},"created_at":{"type":"string","format":"date"},"updated_at":{"type":"string","format":"date"},"type":{"type":"string","enum":["create","update","delete","archive","unarchive","custom","diagnose"],"description":"Type of the action. Should be one of the specified values in the ActionType enumeration"},"parameters":{"title":"Attribute","type":"object","properties":{"schema":{"type":"object","default":{},"description":"Specification of the attribute schema. Must be a valid JSON Schema"},"values":{"type":"object","default":{},"description":"Values associated with the attribute. Must validate against provided schema"}},"required":["schema","values"],"propertyNames":{"enum":["schema","values"],"description":"Allowed property names"},"additionalProperties":false,"description":"Object representing an attribute with a schema and associated values"},"results":{"title":"Attribute","type":"object","properties":{"schema":{"type":"object","default":{},"description":"Specification of the attribute schema. Must be a valid JSON Schema"},"values":{"type":"object","default":{},"description":"Values associated with the attribute. Must validate against provided schema"}},"required":["schema","values"],"propertyNames":{"enum":["schema","values"],"description":"Allowed property names"},"additionalProperties":false,"description":"Object representing an attribute with a schema and associated values"},"service_specification_id":{"anyOf":[{"title":"Id","type":"string","format":"uuid","description":"Unique identifier for the entity represented as a UUID"},{"type":"null"},{"type":"string","pattern":"^(?:[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},\\s*)*[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}$"}],"description":"Unique identifier for the associated service specification"},"link_specification_id":{"anyOf":[{"title":"Id","type":"string","format":"uuid","description":"Unique identifier for the entity represented as a UUID"},{"type":"null"},{"type":"string","pattern":"^(?:[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},\\s*)*[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}$"}],"description":"Unique identifier for the associated link specification"},"retryable":{"type":"boolean","default":false,"description":"Indicates whether the action can be retried if the instance is in a failed state."},"parallelize":{"type":"boolean","default":false,"description":"Indicates whether multiple instances of this action can be executed in parallel. Only applicable to custom type actions."},"annotations":{"title":"Annotation","type":"object","properties":{"runs_over":{"type":"string","enum":["deployment","scope","instance"],"description":"Entity type over which the action applies"},"show_on":{"type":"array","items":{"type":"string","enum":["scope","performance","manage","deployment"],"description":"Place in nullplatform where the action will be able to be triggered"},"uniqueItems":true}},"additionalProperties":false,"description":"Object representing annotations with key-value pairs","default":{}},"external":{"title":"External","type":"object","nullable":true,"properties":{"action":{"type":"string","minLength":1,"description":"Action to send to the agent for resolving external data"},"output_schema":{"type":"object","description":"JSON Schema to validate the agent response against"}},"additionalProperties":false,"required":["action","output_schema"],"description":"Configuration for resolving external context data via the nullplatform agent"},"enabled_when":{"type":"string","default":"","description":"Condition that must be met for the action to run"},"icon":{"type":"string","pattern":"^([a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+)?$","description":"Icon associated with the action. Format: 'icon-set:icon-variation'. Empty string to clear."},"enabled":{"type":"boolean","description":"Indicates if the action is enabled depending on enabled_when"},"external_resolution":{"type":"object","description":"Status of the external context resolution when the action specification was read","properties":{"status":{"type":"string","description":"Resolution outcome. One of: success, no_channel, agent_error, timeout, auth_error, service_unavailable, invalid_response"},"error":{"type":"string","description":"Human-readable error detail when status is not success"},"notification_id":{"type":"string","description":"ID of the notification sent to the agent. Present on error statuses to facilitate debugging"}},"required":["status"]}},"description":"Object representing action specifications","additionalProperties":false,"title":"ActionSpecification","example":{"name":"my-link-specification","type":"custom","parameters":{"schema":{"type":"object","properties":{"my_string_property":{"type":"string"},"my_number_property":{"type":"number","default":0}},"required":["my_string_property"]},"values":{}},"results":{"schema":{"type":"object","properties":{"my_string_property":{"type":"string"},"my_number_property":{"type":"number","default":0}},"required":["my_string_property"]},"values":{}},"service_specification_id":"134544a6-a089-43ba-9d52-5b6e6e4fa8d1","link_specification_id":"f3e8be90-0952-4506-bd54-c4e75a5a4393","retryable":true,"parallelize":true,"enabled_when":".service.dimensions.environment == \"development\"","annotations":{"runs_over":"scope","show_on":["scope","performance"]}}}}}},"4XX":{"description":"Format for representing errors during API interactions","content":{"application/json":{"schema":{"title":"Error","type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code indicating the error"},"code":{"type":"string","description":"Unique error code for reference and categorization"},"error":{"type":"string","description":"Short, human-readable error type or category"},"message":{"type":"string","description":"Detailed error message providing additional context"}},"description":"Format for representing errors during API interactions","required":["statusCode","error","message"]}}}},"5XX":{"description":"Format for representing errors during API interactions","content":{"application/json":{"schema":{"title":"Error","type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code indicating the error"},"code":{"type":"string","description":"Unique error code for reference and categorization"},"error":{"type":"string","description":"Short, human-readable error type or category"},"message":{"type":"string","description":"Detailed error message providing additional context"}},"description":"Format for representing errors during API interactions","required":["statusCode","error","message"]}}}}}}
>
  
</StatusCodes>


      