---
id: link-specification-read
title: "Read a link specification"
description: "Read a link specification"
sidebar_label: "Read a link specification"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get 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={"Read a link specification"}
>
</Heading>

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



Read a link specification

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

<ParamsDetails
  parameters={[{"schema":{"type":"string","format":"uuid"},"in":"query","name":"service_id","required":false,"description":"Service ID for dynamic additional properties"},{"schema":{"type":"string","format":"uuid"},"in":"query","name":"link_id","required":false,"description":"Link ID for dynamic additional properties"},{"schema":{"type":"integer"},"in":"query","name":"application_id","required":false,"description":"Application ID for dynamic additional properties"},{"schema":{"type":"integer"},"in":"query","name":"scope_id","required":false,"description":"Scope ID for dynamic additional properties"},{"schema":{"type":"string","pattern":"^(?:[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+(?:,[a-zA-Z0-9_-]+:[a-zA-Z0-9_-]+)*)?$"},"in":"query","name":"dimensions","required":false,"description":"Dimension key-value pairs used for dynamic additional properties"},{"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={undefined}
>
  
</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>


      