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

# List and Update Identifiers

Identifiers (domains, keywords, identities, and other types) can be listed and updated via the Management API.
This guide covers how to list identifiers, retrieve a specific identifier by ID, and update it using the endpoints below.

## Steps

<Steps>
  <Step title="List identifiers">
    Use the
    [List Identifiers <Icon icon="code" size={16} />](/api-reference/v3/endpoints/identifiers/get-fireworkv3identifiers)
    endpoint to retrieve all identifiers. Apply filters to narrow down results to specific identifiers you want to update.
  </Step>

  <Step title="Get the full identifier by ID">
    Use the
    [Get Identifier <Icon icon="code" size={16} />](/api-reference/v3/endpoints/identifiers/get-fireworkv3identifiers-1)
    endpoint with the identifier ID to retrieve its complete details and associated data needed to perform the update.
  </Step>

  <Step title="Update the identifier by ID">
    Use the
    [Update Asset (Identifier) <Icon icon="code" size={16} />](/api-reference/v2/endpoints/identifiers/put-fireworkv2assets)
    endpoint to apply the desired changes to each identifier.
  </Step>
</Steps>

## End-to-end examples

<AccordionGroup>
  <Accordion title="Python SDK Example">
    ```python theme={null}
    from flareio import FlareApiClient
    from flareio.ratelimit import Limiter


    api_client = FlareApiClient.from_env()

    limiter_default = Limiter.from_seconds(0.25)

    # 1. List all identifiers
    for resp in api_client.scroll(
        method="GET",
        url="/firework/v3/identifiers/",
    ):
        limiter_default.tick()

        for item in resp.json()["items"]:
            limiter_default.tick()

            identifier_id = item["id"]

            # 2. Get the full identifier by ID
            identifier_resp = api_client.get(f"/firework/v3/identifiers/{identifier_id}")
            identifier = identifier_resp.json()["identifier"]

            # Rate limiting (default).
            limiter_default.tick()

            # 3. Do the necessary updates to the identifier
            api_client.put(
                f"/firework/v2/assets/{identifier_id}",
                json={
                    "name": identifier.get("name", "")
                    + " (updated)",  # Example: update name or other fields
                    "type": identifier.get("type"),  # Required
                    "data": identifier.get("data"),  # Required
                    # Include other fields from the Identifier schema as needed
                },
            )
            print(f"Updated identifier {identifier_id}")
    ```
  </Accordion>
</AccordionGroup>
