Skip to main content
Vendor Details API
curl --request GET \
  --url https://api.pazy.io/v1.0/vendor/:vendorId

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.

Authentication

All requests require an API key in the request headers. Headers:
Authorization: Api-Key YOUR_API_KEY

Request

Path Parameters

ParameterTypeRequiredDescription
vendorIdstringYesThe unique slug identifier of the vendor

Code Examples

curl -X GET https://api.pazy.io/v1.0/vendor/vendor_identifier \
  -H "Authorization: Api-Key YOUR_API_KEY"

Success Response

HTTP Status: 200 OK Response Fields:
FieldTypeDescription
okbooleanIndicates whether the request was successful
dataobjectContains the vendor details
data.idstringUnique slug identifier for the vendor
data.namestringVendor display name. Falls back to legal name if display name is unavailable
data.expenseAccountobjectExpense account mapped to the vendor
data.expenseAccount.idnumber or nullUnique identifier of the expense account
data.expenseAccount.namestring or nullExpense account name
data.GSTINstringVendor GSTIN. Empty string if not set
data.PANstringVendor PAN. Empty string if not set
data.dateCreatedstringISO 8601 timestamp when the vendor was created
data.emailstringVendor email address. Empty string if not set
data.ownerIdstringUnique slug identifier of the vendor owner
data.ownerNamestringFull name of the vendor owner
data.totalPaidAmountnumber or stringTotal amount paid to the vendor
data.outstandingAmountnumber or stringTotal outstanding amount for the vendor
data.overdueAmountnumber or stringTotal overdue amount for the vendor
data.advanceAmountnumber or stringTotal advance amount available for the vendor
data.advancePendingAmountnumber or stringPending advance amount for the vendor
data.currencystringCurrency code for the vendor amount summaries. Defaults to INR when unavailable
data.accountingSyncedbooleanIndicates whether the vendor is synced to the connected accounting platform
data.accountingSyncIdstringIdentifier of the vendor in the connected accounting platform
data.accountingPlatformstringConnected accounting platform name. Present only when an accounting integration exists
data.addressobjectVendor address details
data.address.line1stringPrimary address line
data.address.line2stringSecondary address line
data.address.statestringState or region
data.address.countrystringCountry
data.address.pinCodestringPostal or PIN code
data.localitystringVendor locality, such as DOMESTIC or INTERNATIONAL
data.msmeStatusstringMSME status. Possible normalized values are YES, NO, or NOT_AVAILABLE
data.statsobjectVendor activity counters
data.stats.draftInvoicesCountnumberNumber of draft invoices associated with the vendor
data.stats.advancePaymentRequestsCountnumberNumber of active advance payment requests associated with the vendor
data.selfUrlstringShare URL for the vendor
data.taxationobjectVendor tax configuration
data.taxation.tdsobjectTDS configuration for the vendor
data.taxation.tds.namestring or nullTDS ledger name
data.taxation.tds.ratePercentnumber or nullTDS rate percentage
data.taxation.tds.sectionstring or nullTDS section
data.bankingDetailsobject or nullVendor banking details. null if no bank account is configured
data.bankingDetails.typestringBank account type. Possible values: IFSC (Indian bank account), IBAN (International bank account), UPI (UPI ID)
data.bankingDetails.primaryIdentifierstringPrimary 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.secondaryIdentifierstringSecondary 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

{
  "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
{
  "ok": false,
  "error": {
    "code": "MISSING_REQUIRED_FIELD",
    "message": "Vendor ID is required"
  }
}

Vendor Not Found

HTTP Status: 404 Not Found
{
  "ok": false,
  "error": {
    "code": "VENDOR_NOT_FOUND",
    "message": "Vendor not found"
  }
}

Access Denied

HTTP Status: 403 Forbidden
{
  "ok": false,
  "error": {
    "code": "ACCESS_DENIED",
    "message": "Access denied: You can only view vendors you own"
  }
}

Authentication Errors

HTTP Status: 401 Unauthorized
{
  "ok": false,
  "error": {
    "code": "MISSING_CREDENTIALS",
    "message": "Missing Credentials"
  }
}
{
  "ok": false,
  "error": {
    "code": "INVALID_API_KEY",
    "message": "Invalid API Key"
  }
}

Permission Errors

HTTP Status: 403 Forbidden
{
  "ok": false,
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "Permission check failed - PERMISSION_CHECK_FAILED"
  }
}

Internal Error

HTTP Status: 500 Internal Server Error
{
  "ok": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal error"
  }
}

Best Practices

  • Use the vendorId returned from the Vendor Creation API or Vendor Search API 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