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

# Get a Specific Supplier Mapping by ID

> Retrieve the full details of a single ERP vendor-to-EU Operator UUID mapping registered to your AgriBackup organization by its vendor ID.

When you need to inspect or confirm the details of a single supplier mapping — for example, to verify the associated EU Operator UUID before submitting a DDS, or to check a supplier's country classification — use this endpoint to retrieve the full record by its `vendorId`. The path parameter accepts the ERP Vendor ID string that was used when the mapping was originally registered.

**`GET /api/v1/enterprise/eudr/suppliers/{vendorId}`**

## Path Parameters

<ParamField path="vendorId" type="string" required>
  The ERP Vendor ID used to identify the supplier mapping you want to retrieve. This is the same `vendorId` string that was submitted when calling [Register Supplier Mapping](/sdks/enterprise-suppliers/register-supplier-mapping).

  **Example:** `VEND-1002`
</ParamField>

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

  vendor_id = "VEND-1002"

  with agribackup.ApiClient(configuration) as api_client:
      try:
          api_instance = agribackup.EnterpriseSuppliersApi(api_client)
          response = api_instance.get_supplier(vendor_id=vendor_id)
          print(f"Company: {response.company_name}, Operator UUID: {response.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 getSupplier(vendorId) {
    try {
      const supplier = await client.suppliers.getSupplier(vendorId);
      console.log(`Company: ${supplier.companyName}, Operator UUID: ${supplier.operatorUuid}`);
    } catch (error) {
      console.error(error);
    }
  }

  getSupplier("VEND-1002");
  ```

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

## Response

A `200 OK` response returns the full supplier mapping object for the requested `vendorId`.

```json theme={null}
{
  "id": "sup_11aabbccddee",
  "vendorId": "VEND-1002",
  "operatorUuid": "123e4567-e89b-12d3-a456-426614174000",
  "companyName": "Acme Sourcing Ltd",
  "taxId": "TAX-1234",
  "countryCode": "KEN",
  "parentVendorId": "VEND-1001"
}
```

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

<ResponseField name="vendorId" type="string">
  The ERP Vendor ID as registered, confirming the requested mapping was found.
</ResponseField>

<ResponseField name="operatorUuid" type="string">
  The official EU TRACES NT Operator UUID bound to this vendor ID. This value is referenced during DDS submission to identify the supplier within the TRACES NT system.
</ResponseField>

<ResponseField name="companyName" type="string">
  The legal registered company name of the supplier.
</ResponseField>

<ResponseField name="taxId" type="string">
  The supplier's Tax Identification Number. Returns `null` if one was 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. Returns `null` if not provided at registration.
</ResponseField>

<ResponseField name="parentVendorId" type="string">
  The ERP Vendor ID of the parent supplier in the chain of custody hierarchy. Returns `null` for top-level suppliers or where no parent was specified.
</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 read supplier mappings.                                                                                                                                                    |
| `404 Not Found`         | `NOT_FOUND`    | No supplier mapping with the provided `vendorId` exists for your organization. Check the vendor ID or use the [List Suppliers](/sdks/enterprise-suppliers/list-supplier-mappings) endpoint to view all registered 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": "NOT_FOUND",
  "message": "Supplier mapping not found",
  "details": [
    {
      "code": "VENDOR_NOT_FOUND",
      "field": "vendorId",
      "issue": "No supplier mapping with vendorId 'VEND-1002' exists for this organization"
    }
  ]
}
```
