---
title: "Search and filter published agent readiness profiles."
method: GET
path: "/v1/agent-readiness-profiles"
tags: ["Catalog"]
---

# Search and filter published agent readiness profiles.

`GET /v1/agent-readiness-profiles`

## Request

- Base URL: `https://api.sourcey.com`
- URL: `https://api.sourcey.com/v1/agent-readiness-profiles`
- Auth: one of:
  - none
  - HTTP bearer

## Query parameters

- `cursor` string
- `entity_id` string
- `freshness` 'fresh' | 'stale'
- `job_key` string
- `label` 'vendor_run_verified' | 'probed'
- `letter` 'A+' | 'A' | 'B+' | 'B' | 'C' | 'D' | 'F'
- `lifecycle` 'active' | 'paused' | 'ended' | 'withdrawn'
- `limit` integer, required
- `offer_id` string
- `product_key` string
- `q` string, required
- `visibility` 'discoverable' | 'resolvable_only': Publication visibility. Defaults to discoverable. Select resolvable_only to enumerate public records retained outside discovery, including stale report cards. Private candidates are never returned.

## Response `200`

Successful response.

- ListAgentReadinessProfilesResponse200
  - `api_contract` 'sourcey.catalog-api/v1', required
  - `artifact_sha256` string, required
  - `data` object[], required
    - `agent_readiness_profile_id` string, required
    - `canonical_url` string, uri, required
    - `declaration_revision_digest` string, required
    - `effective_from` string, date-time, required
    - `entity_id` string, required
    - `grade` object, required
      - `job` 'reachable' | 'verified' | 'unavailable', required
      - `letter` 'A+' | 'A' | 'B+' | 'B' | 'C' | 'D' | 'F', required
      - `steps` object[], required
        - `outcome` 'machine' | 'not_applicable' | 'approval' | 'workaround' | 'gated' | 'not_assessed', required
        - `step` 'discover' | 'authority' | 'onboard' | 'pay' | 'confirm' | 'sustain', required
        - `timing` 'setup' | 'recurring', nullable, required
    - `interface_id` string, nullable, required
    - `label` 'vendor_run_verified' | 'probed', required
    - `label_run_at` string, date-time, nullable, required
    - `last_run_at` string, date-time, required
    - `lifecycle` 'active' | 'paused' | 'ended' | 'withdrawn', required
    - `policy_as_of` string, date-time, required
    - `policy_digest` string, required
    - `policy_version` string, required
    - `projection_digest` string, required
    - `provenance` object, required
      - `basis_event_ids` string[], required
      - `dispute` 'none' | 'open' | 'resolved', required
      - `vendor_attestation` union, required
        - object
          - `status` 'none', required
        - object
          - `attested_at` string, date-time, required
          - `event_id` string, required
          - `status` 'current', required
    - `publication` object, required
      - `reasons` string[], required
      - `visibility` 'discoverable' | 'resolvable_only' | 'private', required
    - `revision_digest` string, required
    - `scope` object, required
      - `job` object, required
        - `key` string, required
        - `name` string, required
      - `product` object, required
        - `key` string, required
        - `name` string, required
  - `freshness` object, required
  - `next_cursor` string, nullable, required
  - `query` string, required
  - `release_id` string, required

## Other responses

- `400`: Invalid request.
- `401`: HTTP 401 response.
- `403`: HTTP 403 response.
- `405`: HTTP 405 response.
- `429`: HTTP 429 response.
- `500`: HTTP 500 response.
- `503`: HTTP 503 response.

---

[API](https://skmtc.dev/sourcey/apis/sourcey-public-api.md) · [All operations](https://skmtc.dev/sourcey/apis/sourcey-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sourcey/apis/sourcey-public-api/revisions/437166b51fa5?raw)
