> ## 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.

# Get Assignment

> Retrieve one recorded trademark transaction with parties and affected marks

## When To Use This

Use this endpoint when you already have an assignment ID and need the full parties plus affected marks for one recorded transaction. A diligence team can pull a security-interest record to identify the borrower, lender, execution date, reel/frame, and every trademark covered by the filing.

For release pairing across a mark or owner, see [Chain-of-title & Lien Diligence](/guides/chain-of-title-lien-diligence).

## Path Parameters

<ParamField path="id" type="string" required>
  Assignment ID (`asg_...`).
</ParamField>

## Response

<ResponseField name="id" type="string">
  Assignment ID (`asg_...`).
</ResponseField>

<ResponseField name="object" type="string">
  Always `assignment`.
</ResponseField>

<ResponseField name="reel_no" type="string">
  USPTO assignment reel number.
</ResponseField>

<ResponseField name="frame_no" type="string">
  USPTO assignment frame number.
</ResponseField>

<ResponseField name="conveyance_type" type="string">
  Normalized conveyance type, such as `assignment`, `security_interest`, or `release`.
</ResponseField>

<ResponseField name="conveyance_text" type="string">
  Office conveyance text.
</ResponseField>

<ResponseField name="recorded_date" type="string | null">
  Date the transaction was recorded.
</ResponseField>

<ResponseField name="last_update_date" type="string | null">
  Date the source office last updated this assignment record.
</ResponseField>

<ResponseField name="page_count" type="integer | null">
  Number of pages in the recorded assignment document, when known.
</ResponseField>

<ResponseField name="release_of_reel_no" type="string | null">
  Reel number released by this record, when the conveyance is a release.
</ResponseField>

<ResponseField name="release_of_frame_no" type="string | null">
  Frame number released by this record, when the conveyance is a release.
</ResponseField>

<ResponseField name="correspondent" type="object | null">
  Correspondent payload from the assignment record, when available. A pass-through object of the office-provided fields — a `name` plus address fields such as `address1`–`address4` (which keys are present varies by record).
</ResponseField>

<ResponseField name="parties" type="object[]">
  Parties to the recorded transaction. Each party has `role`, `name`, `owner_id`, `execution_date`, `date_acknowledged`, `legal_entity_text`, `nationality`, and `address`. `address` is a pass-through object of the office-provided party address fields (such as `address1`–`address2`, `city`, `state`, `postcode`), or `null` when the office recorded none. `date_acknowledged` is the date the party acknowledged the conveyance, or `null`.
</ResponseField>

<ResponseField name="properties" type="object[]">
  Affected trademark records. Each property has `trademark_id`, `serial_no`, `registration_no`, `intl_reg_no`, and `mark_name`.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO timestamp for when Signa created the assignment record.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO timestamp for the latest Signa update to the assignment record.
</ResponseField>

## Example Request

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.signa.so/v1/assignments/asg_cacc6877-1e78-4290-9c5d-1b5c4ef832f7" \
    -H "Authorization: Bearer $SIGNA_API_KEY"
  ```
</RequestExample>

## Example Response

<ResponseExample>
  ```json theme={null}
  {
    "id": "asg_cacc6877-1e78-4290-9c5d-1b5c4ef832f7",
    "object": "assignment",
    "reel_no": "9252",
    "frame_no": "0333",
    "conveyance_type": "security_interest",
    "conveyance_text": "SECURITY INTEREST",
    "recorded_date": "2026-04-30",
    "last_update_date": "2026-07-07",
    "page_count": 15,
    "release_of_reel_no": null,
    "release_of_frame_no": null,
    "created_at": "2026-07-09T06:29:56.742Z",
    "updated_at": "2026-07-09T06:29:56.742Z",
    "correspondent": {
      "name": "Beth Frankenfield",
      "address1": "1735 Market Street 51st Fl.",
      "address2": "Philadelphia, PA 19103"
    },
    "parties": [
      {
        "role": "assignee",
        "name": "PNC BANK, NATIONAL ASSOCIATION",
        "owner_id": null,
        "execution_date": null,
        "date_acknowledged": null,
        "legal_entity_text": "NATIONAL BANKING ASSOCIATION",
        "nationality": "UNITED STATES",
        "address": {
          "address1": "1600 MARKET STREET",
          "city": "PHILADELPHIA",
          "state": "PENNSYLVANIA",
          "postcode": "19103"
        }
      },
      {
        "role": "assignor",
        "name": "PMC BIOGENIX (KOREA) LTD.",
        "owner_id": null,
        "execution_date": "2026-04-24",
        "date_acknowledged": null,
        "legal_entity_text": "CORPORATION",
        "nationality": "KOREA, REPUBLIC OF",
        "address": null
      }
    ],
    "properties": [
      {
        "trademark_id": null,
        "serial_no": "98352651",
        "registration_no": "7806315",
        "intl_reg_no": null,
        "mark_name": "ARMOSLIP"
      }
    ],
    "request_id": "req_01kx2v1xdwhpsazba6p3effxm9"
  }
  ```
</ResponseExample>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://api.signa.so/v1/assignments/asg_cacc6877-1e78-4290-9c5d-1b5c4ef832f7" \
    -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 assignment = await signa.assignments.retrieve(
    "asg_cacc6877-1e78-4290-9c5d-1b5c4ef832f7",
  );
  ```

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

  resp = requests.get(
      "https://api.signa.so/v1/assignments/asg_cacc6877-1e78-4290-9c5d-1b5c4ef832f7",
      headers={"Authorization": "Bearer sig_YOUR_KEY_HERE"},
  )
  ```
</CodeGroup>

## Errors

| Status | Type               | Description                     |
| ------ | ------------------ | ------------------------------- |
| 400    | `validation_error` | Invalid assignment ID           |
| 401    | `unauthorized`     | Missing or invalid API key      |
| 403    | `forbidden`        | Missing `trademarks:read` scope |
| 404    | `not_found`        | Assignment not found            |
| 429    | `rate_limited`     | Too many requests               |

## Related Endpoints

* [List Assignments](/api-reference/records/transactions/list-assignments): find recorded transactions by owner, entity, trademark, or type
* [Trademark Assignments](/api-reference/trademarks/trademark-assignments): chain of title for one mark
* [Chain-of-title & Lien Diligence](/guides/chain-of-title-lien-diligence): pair security interests with releases
