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

# Vendor Details API

> Retrieve detailed vendor information including tax, address, accounting, and payment summary data

## Authentication

All requests require an API key in the request headers.

**Headers:**

```
Authorization: Api-Key YOUR_API_KEY
```

## Request

### Path Parameters

| Parameter  | Type   | Required | Description                              |
| ---------- | ------ | -------- | ---------------------------------------- |
| `vendorId` | string | Yes      | The unique slug identifier of the vendor |

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://api.pazy.io/v1.0/vendor/vendor_identifier \
    -H "Authorization: Api-Key YOUR_API_KEY"
  ```

  ```javascript JavaScript (Fetch API) theme={null}
  const response = await fetch('https://api.pazy.io/v1.0/vendor/vendor_identifier', {
    method: 'GET',
    headers: {
      'Authorization': 'Api-Key YOUR_API_KEY'
    }
  });

  const result = await response.json();
  ```

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

  url = "https://api.pazy.io/v1.0/vendor/vendor_identifier"
  headers = {
      "Authorization": "Api-Key YOUR_API_KEY"
  }

  response = requests.get(url, headers=headers)
  result = response.json()
  ```
</CodeGroup>

## Success Response

**HTTP Status:** `200 OK`

**Response Fields:**

| Field                                     | Type             | Description                                                                                                                                                 |
| ----------------------------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ok`                                      | boolean          | Indicates whether the request was successful                                                                                                                |
| `data`                                    | object           | Contains the vendor details                                                                                                                                 |
| `data.id`                                 | string           | Unique slug identifier for the vendor                                                                                                                       |
| `data.name`                               | string           | Vendor display name. Falls back to legal name if display name is unavailable                                                                                |
| `data.expenseAccount`                     | object           | Expense account mapped to the vendor                                                                                                                        |
| `data.expenseAccount.id`                  | number or null   | Unique identifier of the expense account                                                                                                                    |
| `data.expenseAccount.name`                | string or null   | Expense account name                                                                                                                                        |
| `data.GSTIN`                              | string           | Vendor GSTIN. Empty string if not set                                                                                                                       |
| `data.PAN`                                | string           | Vendor PAN. Empty string if not set                                                                                                                         |
| `data.dateCreated`                        | string           | ISO 8601 timestamp when the vendor was created                                                                                                              |
| `data.email`                              | string           | Vendor email address. Empty string if not set                                                                                                               |
| `data.ownerId`                            | string           | Unique slug identifier of the vendor owner                                                                                                                  |
| `data.ownerName`                          | string           | Full name of the vendor owner                                                                                                                               |
| `data.totalPaidAmount`                    | number or string | Total amount paid to the vendor                                                                                                                             |
| `data.outstandingAmount`                  | number or string | Total outstanding amount for the vendor                                                                                                                     |
| `data.overdueAmount`                      | number or string | Total overdue amount for the vendor                                                                                                                         |
| `data.advanceAmount`                      | number or string | Total advance amount available for the vendor                                                                                                               |
| `data.advancePendingAmount`               | number or string | Pending advance amount for the vendor                                                                                                                       |
| `data.currency`                           | string           | Currency code for the vendor amount summaries. Defaults to `INR` when unavailable                                                                           |
| `data.accountingSynced`                   | boolean          | Indicates whether the vendor is synced to the connected accounting platform                                                                                 |
| `data.accountingSyncId`                   | string           | Identifier of the vendor in the connected accounting platform                                                                                               |
| `data.accountingPlatform`                 | string           | Connected accounting platform name. Present only when an accounting integration exists                                                                      |
| `data.address`                            | object           | Vendor address details                                                                                                                                      |
| `data.address.line1`                      | string           | Primary address line                                                                                                                                        |
| `data.address.line2`                      | string           | Secondary address line                                                                                                                                      |
| `data.address.state`                      | string           | State or region                                                                                                                                             |
| `data.address.country`                    | string           | Country                                                                                                                                                     |
| `data.address.pinCode`                    | string           | Postal or PIN code                                                                                                                                          |
| `data.locality`                           | string           | Vendor locality, such as `DOMESTIC` or `INTERNATIONAL`                                                                                                      |
| `data.msmeStatus`                         | string           | MSME status. Possible normalized values are `YES`, `NO`, or `NOT_AVAILABLE`                                                                                 |
| `data.stats`                              | object           | Vendor activity counters                                                                                                                                    |
| `data.stats.draftInvoicesCount`           | number           | Number of draft invoices associated with the vendor                                                                                                         |
| `data.stats.advancePaymentRequestsCount`  | number           | Number of active advance payment requests associated with the vendor                                                                                        |
| `data.selfUrl`                            | string           | Share URL for the vendor                                                                                                                                    |
| `data.taxation`                           | object           | Vendor tax configuration                                                                                                                                    |
| `data.taxation.tds`                       | object           | TDS configuration for the vendor                                                                                                                            |
| `data.taxation.tds.name`                  | string or null   | TDS ledger name                                                                                                                                             |
| `data.taxation.tds.ratePercent`           | number or null   | TDS rate percentage                                                                                                                                         |
| `data.taxation.tds.section`               | string or null   | TDS section                                                                                                                                                 |
| `data.bankingDetails`                     | object or null   | Vendor banking details. `null` if no bank account is configured                                                                                             |
| `data.bankingDetails.type`                | string           | Bank account type. Possible values: `IFSC` (Indian bank account), `IBAN` (International bank account), `UPI` (UPI ID)                                       |
| `data.bankingDetails.primaryIdentifier`   | string           | Primary identifier for the account. For `IFSC` type, this is the bank account number. For `IBAN` type, this is the IBAN. For `UPI` type, this is the UPI ID |
| `data.bankingDetails.secondaryIdentifier` | string           | Secondary identifier for the account. For `IFSC` type, this is the IFSC code. For `IBAN` type, this is the SWIFT code. Empty string if not applicable       |

### Response Example

```json theme={null}
{
  "ok": true,
  "data": {
    "id": "vendor_identifier",
    "name": "ABC Suppliers",
    "expenseAccount": {
      "id": 123,
      "name": "Purchases"
    },
    "GSTIN": "29ABCDE1234F1Z5",
    "PAN": "ABCDE1234F",
    "dateCreated": "2026-03-28T08:12:25.088Z",
    "email": "contact@abcsuppliers.com",
    "ownerId": "<userId>",
    "ownerName": "John Doe",
    "totalPaidAmount": 25000,
    "outstandingAmount": 15000,
    "overdueAmount": 5000,
    "advanceAmount": 10000,
    "advancePendingAmount": 4000,
    "currency": "INR",
    "accountingSynced": true,
    "accountingSyncId": "LEDGER-ABC-SUPPLIERS",
    "accountingPlatform": "TALLY",
    "address": {
      "line1": "123 Business Park",
      "line2": "Near Tech Hub",
      "state": "MAHARASHTRA",
      "country": "India",
      "pinCode": "400001"
    },
    "locality": "DOMESTIC",
    "msmeStatus": "YES",
    "stats": {
      "draftInvoicesCount": 2,
      "advancePaymentRequestsCount": 1
    },
    "selfUrl": "https://app.pazy.io/p/vendor/update/vendor_identifier",
    "taxation": {
      "tds": {
        "name": "TDS Contractor",
        "ratePercent": 10,
        "section": "194C"
      }
    },
    "bankingDetails": {
      "type": "IFSC",
      "primaryIdentifier": "12345678901",
      "secondaryIdentifier": "ABCD0123456"
    }
  }
}
```

## Error Responses

### Missing Vendor ID

**HTTP Status:** `400 Bad Request`

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "MISSING_REQUIRED_FIELD",
    "message": "Vendor ID is required"
  }
}
```

### Vendor Not Found

**HTTP Status:** `404 Not Found`

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "VENDOR_NOT_FOUND",
    "message": "Vendor not found"
  }
}
```

### Access Denied

**HTTP Status:** `403 Forbidden`

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "ACCESS_DENIED",
    "message": "Access denied: You can only view vendors you own"
  }
}
```

### Authentication Errors

**HTTP Status:** `401 Unauthorized`

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "MISSING_CREDENTIALS",
    "message": "Missing Credentials"
  }
}
```

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "INVALID_API_KEY",
    "message": "Invalid API Key"
  }
}
```

### Permission Errors

**HTTP Status:** `403 Forbidden`

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "Permission check failed - PERMISSION_CHECK_FAILED"
  }
}
```

### Internal Error

**HTTP Status:** `500 Internal Server Error`

```json theme={null}
{
  "ok": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal error"
  }
}
```

## Best Practices

* Use the `vendorId` returned from the [Vendor Creation API](/apis/vendor-creation) or [Vendor Search API](/apis/vendor-search) to retrieve details
* Store `data.id` as the stable vendor identifier for related APIs such as vendor documents, audit trail, advances, and payments
* Check `accountingSynced` and `accountingSyncId` before relying on accounting-platform identifiers
* Treat amount fields as optional because they may be empty strings when no matching financial activity exists
* Access is limited to users with vendor read permission and an admin or accountant role
