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

# List Issuers

> Retrieve MiCA-registered entities with filtering, sorting, and pagination

Returns all entities in the MiCA register. Supports filtering by license type, country, status, and entity type, with full-text search and field projection.

## Query Parameters

<ParamField query="licenseType" type="string">
  Comma-separated license types to filter by. Values: `CASP`, `ART`, `EMT`, `OTHER`, `NON_COMPLIANT`.
</ParamField>

<ParamField query="country" type="string">
  Comma-separated ISO country codes (e.g., `DE,FR`) or partial country name matches.
</ParamField>

<ParamField query="status" type="string">
  Comma-separated statuses. Values: `active`, `expired`, `non_compliant`.
</ParamField>

<ParamField query="entityType" type="string">
  Comma-separated entity types. Values: `provider`, `issuer`, `whitepaper`, `non_compliant`.
</ParamField>

<ParamField query="search" type="string">
  Free-text search across `entityName`, `entityIdentifier`, `nationalAuthority`, and `commercialName`. Max 200 characters.
</ParamField>

<ParamField query="sortBy" type="string">
  Field to sort by. Values: `entityName`, `countryCode`, `licenseType`, `authorizationDate`, `status`.
</ParamField>

<ParamField query="sortOrder" type="string" default="asc">
  Sort direction. Values: `asc`, `desc`.
</ParamField>

<ParamField query="limit" type="integer" default="100">
  Number of results per page. Maximum `500`.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of results to skip for pagination.
</ParamField>

<ParamField query="fields" type="string">
  Comma-separated list of fields to include in the response. When omitted, all fields are returned. Allowed values: `id`, `entityName`, `entityIdentifier`, `licenseType`, `country`, `countryCode`, `nationalAuthority`, `authorizationDate`, `status`, `commercialName`, `address`, `website`, `websitePlatform`, `services`, `passportedCountries`, `comments`, `authorizationEndDate`, `entityType`.
</ParamField>

## Response Fields

<ResponseField name="success" type="boolean">Request status</ResponseField>

<ResponseField name="data" type="array">
  Array of issuer objects. Each contains the fields listed in the `fields` parameter documentation. When no `fields` filter is applied, all available fields are returned.
</ResponseField>

<ResponseField name="pagination" type="object">
  <Expandable>
    <ResponseField name="total" type="integer">Total matching records</ResponseField>
    <ResponseField name="returned" type="integer">Records in this response</ResponseField>
    <ResponseField name="limit" type="integer">Applied limit</ResponseField>
    <ResponseField name="offset" type="integer">Applied offset</ResponseField>
    <ResponseField name="hasMore" type="boolean">Whether more results exist beyond this page</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="metadata" type="object">
  <Expandable>
    <ResponseField name="source" type="string">Data source (`cache`, `database`, or `empty`)</ResponseField>
    <ResponseField name="timestamp" type="string">ISO 8601 response timestamp</ResponseField>
  </Expandable>
</ResponseField>

The `X-Total-Count` and `X-Data-Source` response headers mirror `pagination.total` and `metadata.source`.

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.trusset.org/api/mica/v1/issuers?licenseType=CASP&country=DE&limit=10" \
    -H "X-API-Key: trusset_mica_your_key_here"
  ```

  ```typescript TypeScript theme={null}
  const params = new URLSearchParams({
    licenseType: 'CASP',
    country: 'DE',
    limit: '10'
  });

  const response = await fetch(
    `https://api.trusset.org/api/mica/v1/issuers?${params}`,
    { headers: { 'X-API-Key': 'trusset_mica_your_key_here' } }
  );
  const data = await response.json();
  ```

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

  response = requests.get(
      'https://api.trusset.org/api/mica/v1/issuers',
      headers={'X-API-Key': 'trusset_mica_your_key_here'},
      params={'licenseType': 'CASP', 'country': 'DE', 'limit': 10}
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": [
      {
        "id": "clx_abc123",
        "entityName": "Example Crypto AG",
        "entityIdentifier": "529900EXAMPLE00LEI00",
        "licenseType": "CASP",
        "entityType": "provider",
        "country": "Germany",
        "countryCode": "DE",
        "nationalAuthority": "BaFin",
        "commercialName": "ExCrypto",
        "address": "Musterstraße 1, 10115 Berlin",
        "website": "https://example-crypto.de",
        "authorizationDate": "2025-03-01T00:00:00.000Z",
        "authorizationEndDate": null,
        "services": ["service_1", "service_3"],
        "passportedCountries": ["FR", "NL"],
        "status": "active",
        "comments": null
      }
    ],
    "pagination": {
      "total": 1,
      "returned": 1,
      "limit": 10,
      "offset": 0,
      "hasMore": false
    },
    "metadata": {
      "source": "cache",
      "timestamp": "2025-06-15T12:00:00.000Z"
    }
  }
  ```

  ```json Error - Validation theme={null}
  {
    "success": false,
    "error": {
      "code": "VALIDATION_ERROR",
      "message": "Search query too long (max 200 chars)"
    }
  }
  ```
</ResponseExample>
