---
id: artifact-revision-list-by-ids
title: "Read artifact revisions by id, batched"
description: "Resolve up to 200 artifact revision ids in one request, for example every artifact pin of a package bill of materials. Each revision is authorized against its parent artifact like the direct read, and the whole request fails when any parent isn't readable. Unknown ids are omitted from the results."
sidebar_label: "Read artifact revisions by id, batched"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/api/artifact
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 artifact revisions by id, batched"}
>
</Heading>

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



Resolve up to 200 artifact revision ids in one request, for example every artifact pin of a package bill of materials. Each revision is authorized against its parent artifact like the direct read, and the whole request fails when any parent isn't readable. Unknown ids are omitted from the results.

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

<ParamsDetails
  parameters={[{"in":"query","name":"id","required":true,"schema":{"type":"string"},"description":"Comma-separated artifact revision ids (up to 200). Rows are returned in no particular order.","example":"2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e,6d7e8f9a-0b1c-4d2e-8f3a-4b5c6d7e8f9a"}]}
>
  
</ParamsDetails>

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

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"description":"The requested revisions.","content":{"application/json":{"schema":{"type":"object","properties":{"paging":{"type":"object","properties":{"offset":{"type":"integer","description":"The offset of this page.","example":0},"limit":{"type":"integer","description":"The maximum number of results in this page.","example":20}},"title":"paging"},"results":{"type":"array","items":{"type":"object","description":"One immutable revision, identified by the ids a package component pins.","properties":{"resource_id":{"type":"string","format":"uuid","description":"The parent artifact id (a package component's resource_id).","example":"5c6d7e8f-9a0b-4c1d-8e2f-3a4b5c6d7e8f"},"resource_revision_id":{"type":"string","format":"uuid","description":"The revision id (a package component's resource_revision_id).","example":"2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e"},"type":{"type":"string","enum":["oci_image","oras_artifact","git_repository","blob"],"description":"The parent artifact's type.","example":"oci_image"},"meta":{"type":"object","additionalProperties":true,"description":"Flat meta blob. Its shape depends on `type`:\n\n- `oci_image`: `registry` and `repository` (strings), `digest` (`sha256:` followed by 64 lowercase hex characters), and an optional `tag` (an OCI tag, up to 128 characters).\n- `oras_artifact`: `registry`, `repository` and `digest` (same rules as `oci_image`), and an optional `artifact_media_type` string.\n- `git_repository`: `url` and `reference` (any non-empty ref, such as a commit SHA, tag or branch). The url must not embed credentials: a password is rejected in any form, a user is rejected over http(s) (a user such as `git@` is allowed over ssh and the scp-like `user@host:path` form), and a url with a scheme must not carry a query string or fragment.\n- `blob`: `location` (starting with `s3://`, `gs://`, `https://` or `http://`), `sha256` (64 lowercase hex characters), and an optional `size_bytes` (non-negative integer).\n\nAny key not listed for the type is rejected, and so is an explicit `null` value: omit the key instead.\n\n> ℹ️ **Note:** A `git_repository` artifact is a pointer only. nullplatform never stores the repository content, so never commit secrets to a referenced repository.\n","example":{"registry":"123456789012.dkr.ecr.us-east-1.amazonaws.com","repository":"my-org/my-scope","digest":"sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","tag":"v1.4.0"},"title":"artifactMeta"},"annotations":{"type":"object","additionalProperties":true,"nullable":true,"description":"The revision's annotations (see the registration body), or null when it has none."},"nrn":{"type":"string","description":"The parent artifact's owning NRN.","example":"organization=1:account=2"},"visible_to":{"type":"array","items":{"type":"string"},"description":"The parent artifact's visibility.","example":["organization=1:account=2"]},"created_at":{"type":"string","format":"date-time","description":"When the revision was registered.","example":"2026-09-14T12:00:00.000Z"}},"title":"artifactRevision"}}},"title":"artifactRevisionListResponse"}}}},"4XX":{"description":"Client error responses due to invalid input, missing parameters or insufficient permissions.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP status code.","example":400},"code":{"type":"string","description":"Machine-readable error code.","example":"bad_request"},"error":{"type":"string","description":"Short error name.","example":"Bad Request"},"message":{"type":"string","description":"Human-readable explanation.","example":"meta.digest must match sha256:<64-hex>"}},"title":"errorResponse"}}}},"5XX":{"description":"Server error responses.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP status code.","example":400},"code":{"type":"string","description":"Machine-readable error code.","example":"bad_request"},"error":{"type":"string","description":"Short error name.","example":"Bad Request"},"message":{"type":"string","description":"Human-readable explanation.","example":"meta.digest must match sha256:<64-hex>"}},"title":"errorResponse"}}}}}}
>
  
</StatusCodes>


      