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

# List Assignments

> Filter recorded trademark transfers, liens, and releases

## When To Use This

Use this endpoint when a brand-transaction analyst, lender, or counsel needs to filter recorded transfers and security interests across an owner or corporate family. For example, a lender checking existing liens before brand-backed lending can replace a manual UCC plus USPTO dual search with `owner_id` or `entity_id` plus `type=security_interest`. This endpoint always requires a filter and is never a firehose.

For an end-to-end workflow, see [Chain-of-title & Lien Diligence](/guides/chain-of-title-lien-diligence).

## Query Parameters

At least one of `owner_id`, `entity_id`, `trademark_id`, `conveyance_type`, `type`, `recorded_date_gte`, `recorded_date_lt`, or `role` must be supplied.

<ParamField query="owner_id" type="string">
  Filter by resolved owner ID (`own_...`). Matches assignments where the owner appears as any party unless `role` is also supplied.
</ParamField>

<ParamField query="entity_id" type="string">
  Filter by resolved entity ID (`ent_...`) across member owner records.
</ParamField>

<ParamField query="trademark_id" type="string">
  Filter by affected trademark ID (`tm_...`).
</ParamField>

<ParamField query="conveyance_type" type="string">
  Comma-separated conveyance types. Allowed values: `assignment`, `security_interest`, `release`, `merger`, `name_change`, `license`, `partial_assignment`, `correction`, `entity_conversion`, `other`.
</ParamField>

<ParamField query="type" type="string">
  Alias for `conveyance_type`. Use either `type` or `conveyance_type`, not both.
</ParamField>

<ParamField query="recorded_date_gte" type="string">
  Recorded date >= (YYYY-MM-DD).
</ParamField>

<ParamField query="recorded_date_lt" type="string">
  Recorded date \< (YYYY-MM-DD). Must be after `recorded_date_gte`.
</ParamField>

<ParamField query="role" type="string">
  Filter by party role. One of `assignor`, `assignee`.
</ParamField>

<ParamField query="sort" type="string" default="-recorded_date">
  Sort order. One of `-recorded_date`, `recorded_date`.
</ParamField>

<ParamField query="limit" type="integer" default="20">
  Page size (1-100).
</ParamField>

<ParamField query="cursor" type="string">
  Pagination cursor from a previous response.
</ParamField>

## Response

<ResponseField name="data" type="object[]">
  Array of assignment summary records.
</ResponseField>

Each item carries `id`, `object`, `reel_no`, `frame_no`, `conveyance_type`, `conveyance_text`, `recorded_date`, `last_update_date`, `page_count`, `release_of_reel_no`, `release_of_frame_no`, `created_at`, and `updated_at`. Use [Get Assignment](/api-reference/records/transactions/get-assignment) when you need parties and affected marks.

## Example Request

<RequestExample>
  ```bash cURL theme={null}
  curl -G "https://api.signa.so/v1/assignments" \
    -H "Authorization: Bearer $SIGNA_API_KEY" \
    --data-urlencode "owner_id=own_019f20b5-0a66-76c2-968e-d35f9eb1eb87" \
    --data-urlencode "type=security_interest" \
    --data-urlencode "recorded_date_gte=2026-04-27" \
    --data-urlencode "recorded_date_lt=2026-04-28" \
    --data-urlencode "limit=20"
  ```
</RequestExample>

## Example Response

<ResponseExample>
  ```json theme={null}
  {
    "object": "list",
    "data": [
      {
        "id": "asg_15b6d53f-3dfd-4714-8623-e369d0f2aad6",
        "object": "assignment",
        "reel_no": "9248",
        "frame_no": "0297",
        "conveyance_type": "security_interest",
        "conveyance_text": "SECURITY INTEREST",
        "recorded_date": "2026-04-27",
        "last_update_date": "2026-06-30",
        "page_count": 6,
        "release_of_reel_no": null,
        "release_of_frame_no": null,
        "created_at": "2026-07-09T06:29:33.527Z",
        "updated_at": "2026-07-09T06:29:33.527Z"
      }
    ],
    "has_more": false,
    "pagination": {
      "cursor": null
    },
    "request_id": "req_01kx3pgq4xmn84ze3g8ydreag9"
  }
  ```
</ResponseExample>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.signa.so/v1/assignments?owner_id=own_019f20b5-0a66-76c2-968e-d35f9eb1eb87&type=security_interest&limit=20" \
    -H "Authorization: Bearer sig_YOUR_KEY_HERE"
  ```

  ```typescript TypeScript theme={null}
  import { Signa } from "@signa-so/sdk";

  const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

  const liens = await signa.assignments.list({
    owner_id: "own_019f20b5-0a66-76c2-968e-d35f9eb1eb87",
    type: "security_interest",
    limit: 20,
  });
  ```

  ```python Python theme={null}
  import requests

  resp = requests.get(
      "https://api.signa.so/v1/assignments",
      headers={"Authorization": "Bearer sig_YOUR_KEY_HERE"},
      params={
          "owner_id": "own_019f20b5-0a66-76c2-968e-d35f9eb1eb87",
          "type": "security_interest",
          "limit": 20,
      },
  )
  ```
</CodeGroup>

## Errors

| Status | Type               | Description                                                                                                  |
| ------ | ------------------ | ------------------------------------------------------------------------------------------------------------ |
| 400    | `validation_error` | No filter supplied, invalid date range, unsupported parameter, or both `type` and `conveyance_type` supplied |
| 401    | `unauthorized`     | Missing or invalid API key                                                                                   |
| 403    | `forbidden`        | Missing `trademarks:read` scope                                                                              |
| 422    | `entity_too_large` | `entity_id` resolved to more member owners than the cap                                                      |
| 429    | `rate_limited`     | Too many requests                                                                                            |

## Related Endpoints

* [Get Assignment](/api-reference/records/transactions/get-assignment): full parties and affected marks for one transaction
* [Trademark Assignments](/api-reference/trademarks/trademark-assignments): chain of title for one mark
* [Chain-of-title & Lien Diligence](/guides/chain-of-title-lien-diligence): recipe for owner, lien, and release checks
