---
id: link-specification-update
title: "Update a link specification"
description: "Updates a link specification"
sidebar_label: "Update a link specification"
hide_title: true
hide_table_of_contents: true
api: eJztW21vG7kR/isEUaBJu7IdN9cmAopCcXQ5X3y2YTnJoTpVR+2OtDzvkhuSK0cV9N+LGe6rXqwkCJCkUL5E4nKHM8Nnhs8MrSXXGRjhpFbnEe/yRKq7sc0glFMZ0nA3zyLhgAfciZnl3SG/kOqOjwIegQ2NzHAS7/I3NM0ywVAGa8ngATfwPgfrXuhowbtL+ioNRLzrTA4BD7VyoBw+ElmWFO8d/2FR9pLbMIZU4Ce3yIB3uZ78AaHjAc8MGuAkWHyqRAqNWdYZqWY84KlUF6BmLubdJwFXmhYClae8O1R5koxW6+ZcihSYnjIXAwPlpFscsV9y69gEmGBKqw6kmVswvwQTKmJKOwbvc5EwpxlK5auA50q+z5s6TbROQKBL2gueqwitBsvuY3AxGFragpnLEFgoFK6MroWIaZUsmFYhsMmCCcWksk7gV1JY2m1bsAq4cM7ISe68r5x0CSrUK0dxix/07u5diGAq8gS9uuHIQVOL0qOVJszLbPp2LhIZsZ8HV5ds4BdcBXwukrxQ++OXfksvMWGtDqVwELF76eK2AsXKtKhwwMRMoDdZZvRcRhAVCvLVKmiAdlj6otJsVDlrgdCxDYBtm9tWtJck+h4iVkpgikTglkWRxEkiuW5sxVQkFtaFXJFHmIHMgEXIEiwbribjRWEQIbbhmUK1VcAtJBA6bVogGRSDezEi00wbhz7aivhir8iAFb2LXjb7YzYVH6pvJycNUVyoBaqNsTPTZvEFRNl8Mv5i4nZu4hKfX015d/hpK6yCar7K0wkY3hgpfd2ahJloM8O9hkWHdp3pLcipUkoNB5QgU1BWatUGRyvEX5Zz9mHlAc88jLE6DrfYvZkqhDFiwQMuHaR2cz9Xu7eoiLNm3FefR/iaDXUGD/higM/3xsyWKNgxc79tWsEOTJXZqPdu0B30b972by76g0H3ovfLi5c9HtD4u/6L8fXV1UW3f3Z6fjm47V2e9Qcbz17T0L/f3PTrwR4Nvrq6enXRGH31us8DfnV2Xg9dve7zUQOelX5TbVKBYZPnMto4Ht+8OX+JpwfmL53B+uGG8E6lOvduePJJW1pm5T0v4VNr5UyJSQJjp7dlhtLHGPmNaOEFUjYzfwEXsExOtx34fkWIkFIItSioSOAZQB2NAdPGj3lEHhH1sDAuktFYhK6K2od5yIZGm1yC2VjnScRE7vQMFPJHYNJZFhoQDgLmKWNAZ0wECeC56hVgU6PT9glsKw7w0itr0VikhWyqDVNw317drtumRIre32/auxgUCQ5qw/CkZdIynfltJ51LoyLkV5g/s0Q4xCe62Yk7ULUdXvk/W/Y7ivq9OsOPGC3n8cYEC0WSgOlUvKJcuETiJ5k/l1Y2UFjknrc4KhPpFnXKKRPEGuHA0XbCn1cvMwsOhywp0CTANTbuY+GO72NNOLUAnnb6ea1UW6h2eXNZ61SFSyacA4MK/UebmVDyv2TiP4cnned/Gf31UVeEoc6VKwce/+tRl6hRJkJoDjZqhuYwBUM98KcNP1w29/YGrM5NCIy4/6PLm8vHa2yKxRKMMGEsQ5EwGeH4VILxO9WUZQpZlggAfEAzRdL0SL8c2zwdUBImmbI4ap8BPpL285K1Hae3EFoWFKUTCsIZKEfao8LJHK0slWWRcMS9de6y3I0fYv/NlRrMHZepmHW9ngGbaWUrsv0ASdqSrgv71/XaSK1nWk3lLPfF7S4bqe784MhWNpeCtGztJKlMGu6n25up0vI9lpVwwKJ6sFYzwweRZgnUhS1PFx1co7NeXbe+jyVW8jA5mTx7diI6k3/A087T08mzzvNn0+edpyfh6d9Pwx+ei9O/8bo+9Uhr8ztQc2m0SovCfL1mL8nIEAEa5eW2WCdmiMc1gtQkOfWbn0NGkB909LQjKjd0aJk1r/jzvH1iFwdzuxD+2OZCuhj7UBuXOX4LmQxwmufl26YVjL1RJZysV5Zblhk1ae2K/n0uHLHoEkak4AArvGHL/AKL59GWXL2HnhGM1lNifXbUigGWnUwwJHSojcTXM+FiTHwe5SS/jbbVCAvTMDd4vqDWExAGTC/HZDcc4eMyq9Benf76K/73uSH7hdpRMvpqbv32OmE2yWdfRqNBks9KjVpbd8R6udOpcHg+J4sGjyO69ht55TdO7QKiqtFYuG06VbtCrU/km8RoP3r6gZ99V/zsW2rSbh7lXymDHHo9h17PodfznfR6Dlc7h6udw9XO4Wrn8692Dt3i/9tu8aH9+N23H+tNHJOYfG0Tdjhj4ITLbVW9ry9bi8J6Ru0K4HuBwBPRJmsg8duw0Fbjpl5H5y7UKRyxK4WVUJfZPAzB2oApPQ5joRQkgbd6DMZoEzAnU9C5CzCDxOVgwZ3GuRJzIQmvAZOKtntc7jD5DefvV/GnPBWqg1aiKEZvsQickIn3jbcVYxC7G4XW1GnRbqNee3ApT25ppxuvYmC4VmAcsWuftJlWhUJeCaCgn4oQ2wGI7Qgm+WzmC5w1LuN3aHToXx/6199U/3oV8KfberQ/UmVY5MsGNAn/lkU5NRl71+dMKgemZCqf0rItT0BKDHsLIwqgMx3Bdi+0csjt7XWZJ0IdAZO+XYQaU/6lFZHQtsXtyBNF68ZHPsnzXpmCAaRvyD0KLls05j4h3w1ibVzA4m1pD99E7lIRZUQFWCtmH6H1S8qZEBWyiveKoosKlyqdlOfQltu1z4bBZvKjvSv9Uhsy8iD84QDCAwi/LgjJMBfryF+EhbHvvMe8y483/x77eCmjFR5TYOblFV5uEt7lsXOZ7R4fi0weNTnkUahT3rxAI3bskdW8RqucioKojYXTsEKiSTwoPvxYNu9+fndLXkN439R/390/HPuHY3/bsY+XvVPqpSJyfYw9OTo5OuE1j2zd+PSuz+nCWluXCtUAlP+xwa7fGrSieFkn5X2/USiMxWxwnCVCUiqj2FoWATnc8gMJHvCujLAAjLV1OGe5nAgLb0yyWuHw+xyw2TQcoTeM9KX1cMkjafFztL3p19T70U3h6Mdsl5rlHQEBhZzOu5wH/A4W/kad2kQxCMLycFk8OPNrdG4XdHdRvrhxeGHTyb/RC0PI3INzR42Edt27PfsJU0fxw4+UTh1uxD3mSXHvtfT9FH/hg2NLngg1yynXcy+UwqKdp9byUrPd1vbDculn3Oo7UKtV5RaH39Ezq9X/AKSf6OM=
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 link specification"}
>
</Heading>

<MethodEndpoint
  method={"patch"}
  path={"/link_specification/{id}"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Updates a link specification

<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}]}
>
  
</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"},"unique":{"type":"boolean","description":"Indicates whether the service can be linked only once by an instance of this link specification"},"attributes":{"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"},"selectors":{"title":"Selector","type":"object","properties":{"imported":{"type":"boolean","default":false},"provider":{"type":"string","minLength":1,"maxLength":100,"default":"any"},"category":{"type":"string","minLength":1,"maxLength":100,"default":"any"},"sub_category":{"type":"string","minLength":1,"maxLength":100,"default":"any"}},"additionalProperties":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"description":"Key-value object representing instance selectors"},"dimensions":{"title":"Specification Dimension","type":"object","properties":{},"additionalProperties":{"type":"object","properties":{"required":{"type":"boolean"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["required"]}},"scopes":{"title":"Specification Scope","type":"object","properties":{"provider":{"type":"object","properties":{"values":{"type":"array","items":{"oneOf":[{"type":"string","enum":["AWS:SERVERLESS:LAMBDA","AWS:WEB_POOL:EC2INSTANCES","AWS:WEB_POOL:EKS","AZURE:WEB_POOL:AKS","GOOGLE:WEB_POOL:GKE","OCI:WEB_POOL:OKE"]},{"type":"string","format":"uuid","description":"UUID of a scope specification"}]},"minItems":1}},"additionalProperties":false,"required":["values"]}},"additionalProperties":false},"assignable_to":{"type":"string","enum":["any","dimension","scope"],"description":"Specifies if the service can be assigned to any entity, only dimensions, or only scopes."},"use_default_actions":{"type":"boolean","description":"Specifies if the link specification should autogenerate its create, update, and delete actions from the attributes schema. Defaults to true for new specifications"},"use_default_naming":{"type":"boolean","description":"When true, the link 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"},"visible_to":{"title":"Visibility","type":"array","description":"Array representing visibility settings for the entity. Specifies what/who can see this entity","items":{"title":"NRN","type":"string","pattern":"^organization=[0-9*]+(:account=[0-9*]+)?(:namespace=[0-9*]+)?(:application=[0-9*]+)?(:scope=[0-9*]+)?$","description":"Nullplatform Resource Name (NRN) representing a hierarchical identifier for nullplatform resources"}},"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"}},"description":"Object representing link specifications","additionalProperties":false,"title":"LinkSpecification","example":{"name":"my-link-specification","specification_id":"eb0b880a-b7e4-42b8-98f9-40c262c59a23","unique":true,"dimensions":{"environment":{"required":true,"values":["production","staging"]}},"scopes":{"provider":{"values":["AWS:SERVERLESS:LAMBDA","AWS:WEB_POOL:EC2INSTANCES","uuid-of-a-specific-scope-specification"]}},"assignable_to":"any","attributes":{"schema":{"type":"object","properties":{"my_string_property":{"type":"string"},"my_number_property":{"type":"number","default":0}},"required":["my_string_property"]},"values":{}}}}}},"description":"Object representing link specifications"}}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"2XX":{"description":"Object representing link 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"},"visible_to":{"title":"Visibility","type":"array","description":"Array representing visibility settings for the entity. Specifies what/who can see this entity","items":{"title":"NRN","type":"string","pattern":"^organization=[0-9*]+(:account=[0-9*]+)?(:namespace=[0-9*]+)?(:application=[0-9*]+)?(:scope=[0-9*]+)?$","description":"Nullplatform Resource Name (NRN) representing a hierarchical identifier for nullplatform resources"}},"unique":{"type":"boolean","description":"Indicates whether the service can be linked only once by an instance of this link specification"},"specification_id":{"title":"Id","type":"string","format":"uuid","description":"Unique identifier for the entity represented as a UUID"},"dimensions":{"title":"Specification Dimension","type":"object","properties":{},"additionalProperties":{"type":"object","properties":{"required":{"type":"boolean"},"values":{"type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["required"]}},"scopes":{"title":"Specification Scope","type":"object","properties":{"provider":{"type":"object","properties":{"values":{"type":"array","items":{"oneOf":[{"type":"string","enum":["AWS:SERVERLESS:LAMBDA","AWS:WEB_POOL:EC2INSTANCES","AWS:WEB_POOL:EKS","AZURE:WEB_POOL:AKS","GOOGLE:WEB_POOL:GKE","OCI:WEB_POOL:OKE"]},{"type":"string","format":"uuid","description":"UUID of a scope specification"}]},"minItems":1}},"additionalProperties":false,"required":["values"]}},"additionalProperties":false},"assignable_to":{"type":"string","enum":["any","dimension","scope"],"description":"Specifies if the service can be assigned to any entity, only dimensions, or only scopes."},"attributes":{"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"},"selectors":{"title":"Selector","type":"object","properties":{"imported":{"type":"boolean","default":false},"provider":{"type":"string","minLength":1,"maxLength":100,"default":"any"},"category":{"type":"string","minLength":1,"maxLength":100,"default":"any"},"sub_category":{"type":"string","minLength":1,"maxLength":100,"default":"any"}},"additionalProperties":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"description":"Key-value object representing instance selectors"},"use_default_actions":{"type":"boolean","description":"Specifies if the link specification should autogenerate its create, update, and delete actions from the attributes schema. Defaults to true for new specifications"},"use_default_naming":{"type":"boolean","description":"When true, the link 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"},"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"},"external_resolution":{"type":"object","description":"Status of the external context resolution when the link 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 link specifications","additionalProperties":false,"title":"LinkSpecification","example":{"name":"my-link-specification","specification_id":"eb0b880a-b7e4-42b8-98f9-40c262c59a23","unique":true,"dimensions":{"environment":{"required":true,"values":["production","staging"]}},"scopes":{"provider":{"values":["AWS:SERVERLESS:LAMBDA","AWS:WEB_POOL:EC2INSTANCES","uuid-of-a-specific-scope-specification"]}},"assignable_to":"any","attributes":{"schema":{"type":"object","properties":{"my_string_property":{"type":"string"},"my_number_property":{"type":"number","default":0}},"required":["my_string_property"]},"values":{}}}}}}},"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>


      