---
id: service-specification-read
title: "Read a service specification"
description: "Read a service specification"
sidebar_label: "Read a service specification"
hide_title: true
hide_table_of_contents: true
api: eJztWVtvG7kV/isEUaBJO5btoH2oiqLQ2tqsN17bsOxkUa0qH80cabiZISckx44q6L8Xh+TcdLHsRYB92bxE5uVcv3PjrLgqUIMVSl4kvM8N6kcR49QUGIu5iN1OXyMkPOIWFob3x3zkD/FJxBM0sRYFneJ9fouQMGCBCOsQ4REvQEOOFjVRWXETp5gD76+4FTZD3ucXjsuyoN/GaiEXPOJzpXOwvM/LUtB+l+W9FF9KZCJBacVcoGZzpZlNkdGCXTKNhUaD0mLCwDBg9/cX53wdcUHXC7Apj7iEnHg6+hq/lEJjwvtWl7ieRNxgXGphl07qGYJGPShtyvvjCW1rNIWSBg2p8u7nn+m/rpDXs18xto0oQi52G8nwiMdKWpSWqEBRZGHn+FdDpDpW84ZSjjiZV5MvrfCCiOR3s6y35mqLXy7kJcoFWe404lI5HVGWOe+PZZllk/WmDFeQI1PzFtce+6k0ls2QAZNKHmFe2CXzLBjIhEllGX4pIWNWMaJKEpmsXHwbiUZZuagk6riuxwalVTlYEUOWLdkCJQUWJmyuVc5+cVb5hZM0sUbamILdJVPtlQQs0vGySF5z/FEYMctwalUbAB9pVWSE4hoIoDUst/w+oNUuVh/ry8ygpSWzAYYeG3ljoGFPKdjjp1SxGCQziMymwoRzPOLCYm7aol3dXu0AZwHWoiaB/qv0AqT4nzPzv8YnR//4y+Svb/oQx6qUtlp4++83fTKxKSDG9mIriNrLJlZF69yftuxwVWZZkYElA7NbNKrUMTKHyDdXt1dvuyYClgrUoOOU/L8ZNbJNSwdahq/XEQdrtZiVFjs2GVSrjWX2xPn+fJDgHMqMQLON4jZyKzjXkjBPsx1qj5CJhP04ur5iI8+QkAZZGcR+OeuP7hIDY1QsXHw8CZt2BQicHVOwyGABQhrLCq0eRYJJENDZr0nX48oWtWST2lhL8ptpRfeusxtxkGXqCRNWUWAOXaQ3JImgQ5DdtFwxh8zgJpFdmR9ky9ROeQgKuQTWskwQjRIYZhhbpTsgGYXFgxgReaG0xaTlqplSGYJs+8opsHZ3ycr6cMLM4Wv918lJixQHuXSZDiwulF5+A1KmnE2/Gbm9TlzR/vXcVfrXcFhH9XlZ5jPUvLVS2bpziArTdnn5gMsj53WmdiCHggAkNQ01HNaV77flrZCeYIEyQRlT9nVpbxvsd8uiLrQ7O5MeG6WqzBJKB0riRgmsscqEDFWhzENfSSImIkdpXIPTxm8nC51XZw7B+RnnPR8GTarY4ZrtbFaVx6ZgdQy83o+ikAraqan+PaFrzgvP2GLkvHQorHcE6p6Th3VTEvfAvoLR4NOoPxrefhzeXg5Ho/7l4Kfvzgc8cuufht9Nb66vL/vDs3cXV6O7wdXZcLS198Et/ef+dtgsDtzi++vr95et1fcfhjzi12cXzdL1hyGftCLopV3s/cU5gZVSrCo2ZxIXgbmQF94Mp69yaVU4DlyiXWPEQkKrK9tjY0pOrWjZH69NtyW6QUs9F1VsxxETaoJBLkP3FTElsyVrojFiSvs1j8ie6zcNTkO+nEJs66jdLhwvkqhjcWZ8FoHSqqpDZsIa5nviiPlmN3KVMMEMqfp7GXwf3ekTTN2pfEpRMpULS2VTyZocHQ+6MGEYTXSuIcNH1EtGKjH8GmNh2YOzwMOmASTk5KLD+jsJiL5nWqdq6hqItSo8PpxmzXAwW3abQ+qq4TPKRluv4p8NeyBSD3U/EpT2wGTAaOxAfVT3SBXjCrI9du51MgSK2hISnzZnUOoBIP4MC5yK5NmZI4QcaUDo9iPzVm1JkQV6zKZgmXqSxg8F+0oNWoeQZpp6IlWhJqORRhIlPT0h46xM0GwPZaR/Uc4yYVJM/klJoLM7w0zRLENBYlmujHW1LXDpsYebwd3ZDw8uqAolpGXC0kmQyqaoa3GUZnGGoGnbNXQPZJEHoqsxQzDoRIszEHnk8fcV8iJDBnOL2gOdCrxNW9zJbnEKchHcOC8NdcupoHty2UBs1zhKV2aqlD4DbBkuYnGpNUpLsidoXE5bb7Ujr3q4eDZxNj2ruz3aeBoK9iCwhbeYfHkUOB1tviO1J9wx70yHp/VYeMqjfVvvXD7ttCQoH4VWMg8PL903oKY3GFNdTco4CGIsLCgiNmp6uy43N39L/aT4OlLzI6htcOTYbJjEl6BukQm1pDtevvTxKF9OfbBPq2yzo/+J6JjvdncdC31wq/c+2ZzXdrCZtDuxtf8X8b/telX73mUhF04dgKLWShuWlO5NaHBzwYS0qKtS9poXtgDaIVE8PIlbsKU5UwnutkJb9h/u7m6Yv8BilVC9SJwcIQk4HdwE1SVXp+Cdb3XulqfnrTJHjZQhqOaE4SmEA9H2TA4SH6VK24ilZQ7yiJ6CCWOBl6ugxLOazAgVaAwsXiD1OVoQGSaBVrgXpnw3KdcZhTmffbU7ctRvhkHn5aDxXWWXRpGJB+Hf/wDhHyD8fUHoFLOpok81C7T+mTTlfX6888PN8Uoka6pTqB+rry6lznifp9YWpn98DIXotfvPXqxy3v7m4V77PLTaXz5qqxIhN6bQMWqP3SEehR/fV53ij5/unNmEnLsJiOTxpjvtnfROeNMhdN5dBzcXrh1VxuYgW+3BgU9NHe+smmA7dC9oRV4+LjIQDqLOZKtg6vHub2Q84n2RUGORKmPp2Go1A4P3OluvaflLifRwNZ5QfdPCt8vjFU+Eod/J7gfEtuhvbgNW3rJ9klbTvSv9rozyPucR/4xL/3nLDbwpgutOxquwMYhpBGpd2cpIBIkaee+Hd9RZdIGw4fj2U0JXnNXKn7hTn1Gu17V0lv4mAdfr/wPTyArq
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 service specification"}
>
</Heading>

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



Read a service 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={undefined}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"2XX":{"description":"Object representing service 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"}},"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"},"type":{"type":"string","enum":["dependency","scope"],"description":"Type of the service specification. Should be one of the specified values in the enumeration"},"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 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":{"type":"boolean","description":"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"},"package_id":{"type":"string","format":"uuid","nullable":true,"description":"The package that owns this service specification. Set automatically when a package revision that includes the specification is published; a specification belongs to at most one package. `PATCH` can point it at another package or clear it with `null` to release the claim, for example after deleting the package. The change is refused while any instance of the specification is bound to a package revision, current or desired"}},"description":"Object representing service specifications","additionalProperties":false,"title":"ServiceSpecification","example":{"name":"my-service-specification","visible_to":["organization=1:account=1","organization=1:account=2"],"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>


      