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

# List Finder Shortlist

> List saved Affiliate Finder opportunities

## Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number for pagination. Must be a positive integer.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Number of results per page. Maximum value is 100. Default is 50.
</ParamField>

<ParamField query="category" type="string">
  Filter by opportunity category. Maximum 50 characters.
</ParamField>

<ParamField query="status" type="string">
  Filter by workflow status. Maximum 50 characters.
</ParamField>

<ParamField query="search" type="string">
  Case-insensitive filter on name or domain. Maximum 200 characters.
</ParamField>

## Response

The response includes a paginated list of saved opportunities and pagination metadata.

<ResponseField name="success" type="boolean">
  Always `true` for successful responses
</ResponseField>

<ResponseField name="data" type="array">
  Array of shortlist item objects.

  <Expandable title="Data Object Properties">
    <ResponseField name="id" type="string">
      Unique identifier for the shortlist item
    </ResponseField>

    <ResponseField name="name" type="string">
      Opportunity name
    </ResponseField>

    <ResponseField name="domain" type="string">
      Opportunity domain
    </ResponseField>

    <ResponseField name="urls" type="string[]">
      URLs grouped into this shortlist item
    </ResponseField>

    <ResponseField name="category" type="string">
      Opportunity category
    </ResponseField>

    <ResponseField name="emails" type="string[]">
      Saved contact emails
    </ResponseField>

    <ResponseField name="social_media" type="string[]">
      Saved social profile URLs
    </ResponseField>

    <ResponseField name="notes" type="string | null">
      Notes, or `null` if unset
    </ResponseField>

    <ResponseField name="status" type="string | null">
      Workflow status, or `null` if unset
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp of when the item was created
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 timestamp of when the item was last updated
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="pagination" type="object">
  Pagination metadata object containing:

  * `page` (integer): Current page number
  * `limit` (integer): Number of results per page
  * `total` (integer): Total number of items matching the filters
  * `total_pages` (integer): Total number of pages
  * `has_next_page` (boolean): Whether there is a next page
  * `has_prev_page` (boolean): Whether there is a previous page
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.affonso.io/v1/finder/shortlist?limit=50" \
    -H "Authorization: Bearer sk_live_your_api_key"
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": [
      {
        "id": "cmk2q1wau0003sb01lpvka003",
        "name": "Example",
        "domain": "example.com",
        "urls": [
          "https://example.com/article"
        ],
        "category": "google",
        "emails": [],
        "social_media": [],
        "notes": null,
        "status": "NEW",
        "created_at": "2026-08-28T00:00:00.000Z",
        "updated_at": "2026-08-28T00:00:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 50,
      "total": 1,
      "total_pages": 1,
      "has_next_page": false,
      "has_prev_page": false
    }
  }
  ```
</ResponseExample>

## Errors

| Status | Code               | Description              |
| ------ | ------------------ | ------------------------ |
| `400`  | `VALIDATION_ERROR` | Invalid query parameters |

## Notes

* Requires the `read:finder` permission.
