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

# List All Supplier Mappings for Your Organization

> Retrieve all ERP vendor-to-EU Operator UUID mappings registered to your AgriBackup enterprise organization for EUDR supply chain traceability.

AgriBackup's supplier mapping registry links your internal ERP vendor identifiers to the official EU TRACES NT Operator UUIDs required for EUDR traceability. Use this endpoint to retrieve the full list of supplier mappings currently registered on your organization. You can use the returned records to verify existing mappings, audit your supply chain coverage, or look up the internal `id` needed to retrieve a specific mapping with the [Get Supplier](/sdks/enterprise-suppliers/get-supplier-mapping) endpoint.

**`GET /api/v1/enterprise/eudr/suppliers`**

## Request Parameters

This endpoint accepts no request body and no query parameters.

## Code Examples

<CodeGroup>
  ```python Python theme={null}
  import agribackup
  from agribackup.rest import ApiException

  configuration = agribackup.Configuration(host="https://live.agribackup.com/api/v1")
  configuration.api_key["ApiKeyAuth"] = "sk_live_YOUR_API_KEY"

  with agribackup.ApiClient(configuration) as api_client:
      try:
          api_instance = agribackup.EnterpriseSuppliersApi(api_client)
          response = api_instance.list_suppliers()
          for supplier in response:
              print(f"{supplier.vendor_id} -> {supplier.operator_uuid}")
      except ApiException as e:
          print("Exception when calling API: %s\n" % e)
  ```

  ```javascript Node.js theme={null}
  import { AgriBackupClient } from "@agribackup/sdk";

  const client = new AgriBackupClient({
    apiKey: "sk_live_YOUR_API_KEY",
    baseUrl: "https://live.agribackup.com/api/v1",
  });

  async function listSuppliers() {
    try {
      const suppliers = await client.suppliers.listSuppliers();
      suppliers.forEach((s) =>
        console.log(`${s.vendorId} -> ${s.operatorUuid}`)
      );
    } catch (error) {
      console.error(error);
    }
  }

  listSuppliers();
  ```

  ```bash cURL theme={null}
  curl --request GET \
    --url https://live.agribackup.com/api/v1/enterprise/eudr/suppliers \
    --header "Authorization: Bearer sk_live_YOUR_API_KEY"
  ```
</CodeGroup>

## Response

A `200 OK` response returns an array of supplier mapping objects. An empty array (`[]`) means no suppliers have been registered yet.

```json theme={null}
[
  {
    "id": "sup_11aabbccddee",
    "vendorId": "VEND-1001",
    "operatorUuid": "123e4567-e89b-12d3-a456-426614174000",
    "companyName": "Acme Sourcing Ltd",
    "taxId": "TAX-1234",
    "countryCode": "KEN",
    "parentVendorId": null
  },
  {
    "id": "sup_22ffgghhiijj",
    "vendorId": "VEND-1002",
    "operatorUuid": "987fcdeb-51a2-43d8-b123-111222333444",
    "companyName": "Highland Coffee Cooperative",
    "taxId": "TAX-5678",
    "countryCode": "ETH",
    "parentVendorId": "VEND-1001"
  }
]
```

<ResponseField name="id" type="string">
  The unique internal AgriBackup identifier for this supplier mapping record.
</ResponseField>

<ResponseField name="vendorId" type="string">
  Your internal ERP Vendor ID that was used to create this mapping. This is the identifier used within your own systems to refer to this supplier.
</ResponseField>

<ResponseField name="operatorUuid" type="string">
  The official EU TRACES NT Operator UUID associated with this supplier. This UUID is required by the TRACES NT system for DDS filing and supply chain linkage.
</ResponseField>

<ResponseField name="companyName" type="string">
  The registered company name of the supplier as provided at mapping time.
</ResponseField>

<ResponseField name="taxId" type="string">
  The supplier's Tax Identification Number. May be `null` if not provided at registration.
</ResponseField>

<ResponseField name="countryCode" type="string">
  The ISO-3166-1 alpha-3 country code of the supplier's country of registration (e.g., `KEN`, `ETH`, `BRA`). May be `null` if not provided at registration.
</ResponseField>

<ResponseField name="parentVendorId" type="string">
  The ERP Vendor ID of this supplier's parent in the chain of custody hierarchy, if applicable. Returns `null` for top-level (Tier-1) suppliers.
</ResponseField>

## Error Responses

| HTTP Status             | Error Code     | Description                                                                             |
| ----------------------- | -------------- | --------------------------------------------------------------------------------------- |
| `401 Unauthorized`      | `UNAUTHORIZED` | The `Authorization` header is absent or the bearer token is not recognised.             |
| `403 Forbidden`         | `FORBIDDEN`    | Your API key does not have the required scope to list supplier mappings.                |
| `429 Too Many Requests` | `RATE_LIMITED` | You have exceeded the hourly rate limit. Check `X-RateLimit-Reset` for your reset time. |

```json theme={null}
{
  "code": "UNAUTHORIZED",
  "message": "Missing or invalid API key",
  "details": []
}
```
