> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strandai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List artifacts

> List organization-private report metadata, filtered by linked samples or jobs.

Requires `samples:read` and `results:read`. Credit-free. Optional `sample_id`
and `job_id` UUID filters combine with AND.

Pagination uses `limit` (1 to 100, default 50) and `offset` (0 to 100000, default 0).
The response is `{count, artifacts}`: **count is the returned page length, not
the total number of matching artifacts**. Responses are private and not cached.

```python theme={"dark"}
page = client.artifacts.list(limit=10, offset=0)
for artifact in page["artifacts"]:
    print(artifact["title"], artifact["description"], artifact["url"])
```

MCP `list_artifacts` accepts the same filters and pagination arguments.
Each item has the same metadata shape as [Get an artifact](https://docs.strandai.com/api-reference/endpoint/getArtifact.md).


## OpenAPI

````yaml GET /artifacts
openapi: 3.1.0
info:
  title: Strand AI Platform API
  version: v1
  description: >-
    REST surface for uploading WSIs, submitting Lattice inference jobs, and
    streaming results. All endpoints require an API key or Strand AI OAuth
    access token in the `Authorization: Bearer` header.
servers:
  - url: https://app.strandai.com/api/v1
    description: Production
security:
  - ApiKey: []
  - OAuth2: []
paths:
  /artifacts:
    get:
      summary: List artifacts
      description: >-
        Org-private report metadata. Credit-free. Requires samples:read and
        results:read. Filters combine with AND. count is this page's length;
        paginate with limit/offset. Responses are private, no-store.
      operationId: listArtifacts
      parameters:
        - name: sample_id
          in: query
          schema:
            type: string
            format: uuid
        - name: job_id
          in: query
          schema:
            type: string
            format: uuid
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: offset
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 100000
            default: 0
      responses:
        '200':
          description: Artifact page
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtifactList'
        '400':
          description: Invalid input, bundle or linked sample/job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid credential
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient scopes or organization access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - ApiKey: []
        - OAuth2:
            - samples:read
            - results:read
components:
  schemas:
    ArtifactList:
      type: object
      required:
        - count
        - artifacts
      properties:
        count:
          type: integer
          minimum: 0
          description: Returned page length, not total.
        artifacts:
          type: array
          items:
            $ref: '#/components/schemas/Artifact'
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
        message:
          type: string
        reason:
          type: string
          nullable: true
        required:
          type: integer
          nullable: true
        retryAfterSeconds:
          type: integer
          nullable: true
    Artifact:
      type: object
      required:
        - id
        - org_id
        - title
        - description
        - sample_ids
        - job_ids
        - author_type
        - author_id
        - entry_html_path
        - size_bytes
        - sha256
        - created_at
        - url
      properties:
        id:
          type: string
          format: uuid
        org_id:
          type: string
          format: uuid
        title:
          type: string
        description:
          type: string
        sample_ids:
          type: array
          items:
            type: string
            format: uuid
        job_ids:
          type: array
          items:
            type: string
            format: uuid
        author_type:
          type: string
          enum:
            - user
            - agent
        author_id:
          type: string
        entry_html_path:
          type: string
          enum:
            - index.html
        size_bytes:
          type: integer
          minimum: 1
          maximum: 33554432
        sha256:
          type: string
          pattern: ^[a-f0-9]{64}$
        created_at:
          type: string
          format: date-time
        url:
          type: string
          description: Org-gated relative in-app URL /artifacts/{id}, not a public link.
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: sk-strand-XXXXXXXXXXXXXXXXXXXXXXXX
    OAuth2:
      type: oauth2
      description: >-
        Strand AI authorization-code flow with S256 PKCE, explicit organization
        consent, and RFC 8707 resource binding.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.strandai.com/oauth2/auth
          tokenUrl: https://auth.strandai.com/oauth2/token
          scopes:
            samples:read: Read slide metadata and estimates
            samples:write: Upload and change slides
            jobs:read: Read run status
            jobs:write: Start, export, or cancel runs
            results:read: Read and download results
            credits:spend: Reserve and spend organization credits

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.