---
id: package-revision-read
title: "Read a revision"
description: "Read one revision of a package: its version and bill of materials."
sidebar_label: "Read a revision"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/api/package
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 revision"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/packages/{id}/revisions/{revisionId}"}
  context={"endpoint"}
>
  
</MethodEndpoint>



Read one revision of a package: its version and bill of materials.

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

<ParamsDetails
  parameters={[{"in":"path","name":"id","required":true,"schema":{"type":"string","format":"uuid"},"description":"The package id.","example":"1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"},{"in":"path","name":"revisionId","required":true,"schema":{"type":"string","format":"uuid"},"description":"The revision id.","example":"e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"}]}
>
  
</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={undefined}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"The package revision.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The revision id. This is what a service's `package_revision_id` points at.","example":"e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"},"package_id":{"type":"string","format":"uuid","description":"The package this revision belongs to.","example":"1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"},"version":{"type":"string","description":"Semver of this revision.","example":"1.4.0"},"parent_revision_id":{"type":"string","format":"uuid","nullable":true,"description":"The package's latest revision when this one was published.","example":"c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f"},"parent_version":{"type":"string","nullable":true,"description":"Semver of parent_revision_id, or null for a first revision.","example":"1.3.0"},"slug":{"type":"string","description":"The package's slug.","example":"my-scope"},"name":{"type":"string","description":"The package's name.","example":"My scope"},"components":{"type":"array","items":{"type":"object","required":["name","resource_type","resource_id","resource_revision_id"],"description":"One entry of the bill of materials: a pinned (resource, revision) pair.","properties":{"name":{"type":"string","minLength":1,"description":"Name of the component within the revision, for example \"spec\" or \"runtime:main\". Unique within the revision; opaque to the package server.","example":"spec"},"resource_type":{"type":"string","minLength":1,"description":"Routing key that identifies which owning service resolves resource_id, for example \"service_specification\", \"action_specification\", \"link_specification\" or \"artifact\".","example":"service_specification"},"resource_id":{"type":"string","format":"uuid","description":"UUID of the underlying resource at its owning service.","example":"7b2d1c5e-8f4a-4e3b-9c6d-1a2b3c4d5e6f"},"resource_revision_id":{"type":"string","format":"uuid","description":"UUID of the revision this component pins: a specification snapshot for service, action and link specifications, or an artifact revision for artifacts.","example":"0c9e8d7f-6a5b-4c3d-8e2f-1a0b9c8d7e6f"},"parent_id":{"type":"string","format":"uuid","nullable":true,"description":"The resource_id of the parent component within this revision. Required for action_specification components (the parent is a service or link specification component) and link_specification components (the parent is a service specification component); null for service_specification and artifact components.","example":null}},"title":"packageComponent"},"description":"The revision's bill of materials. Omitted on `GET /packages/{id}/revisions` unless you filter by `name`."},"created_at":{"type":"string","format":"date-time","description":"When the revision was published.","example":"2026-09-14T12:00:00.000Z"},"created_by":{"type":"string","nullable":true,"description":"The user who published the revision, or null.","example":"jane.doe@example.com"}},"title":"packageRevision"}}}},"4XX":{"description":"Client error responses due to invalid input, missing parameters or insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":400},"code":{"type":"string","example":"bad_request"},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","description":"Human-readable explanation.","example":"Revision '1.4.0' exists with a different bill of materials (revision e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b)"}},"title":"errorResponse"}}}},"5XX":{"description":"Server error responses.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":400},"code":{"type":"string","example":"bad_request"},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","description":"Human-readable explanation.","example":"Revision '1.4.0' exists with a different bill of materials (revision e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b)"}},"title":"errorResponse"}}}}}}
>
  
</StatusCodes>


      