Vendor List API
Vendor APIs
Vendor List API
Retrieve a paginated list of vendors with filters by name, GST number, PAN, and owner
Vendor List API
Authentication
All requests require an API key in the request headers. Headers:Request
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No | Filter by vendor name (partial match). |
gstNumber | string | No | Filter by GST number. Must be a valid 15-character GSTIN. |
panNumber | string | No | Filter by PAN number. Must be a valid 10-character PAN. |
userId | string | No | Filter by the id of the vendor’s owner user. |
limit | integer | No | Number of records to return. Min 1, Max 100. |
cursor | string | No | Cursor for pagination. Use the nextCursor value returned by the previous response. |
Code Examples
Success Response
HTTP Status:200 OK
Response Fields:
| Field | Type | Description |
|---|---|---|
ok | boolean | Indicates whether the request was successful |
data | object | Contains the vendor list response data |
data.vendors | array | List of vendors |
data.vendors[].id | string | Unique identifier (slug) for the vendor |
data.vendors[].name | string | Vendor display name (falls back to legal name) |
data.vendors[].GSTIN | string | Vendor GSTIN. Empty string if not set |
data.vendors[].PAN | string | Vendor PAN. Empty string if not set |
data.vendors[].dateCreated | string | Date the vendor was created (ISO 8601 format) |
data.vendors[].email | string | Vendor email address. Empty string if not set |
data.vendors[].ownerId | string | Unique slug identifier of the vendor owner |
data.vendors[].ownerName | string | Full name of the vendor owner |
data.vendors[].totalPaidAmount | number or string | Total amount paid to the vendor |
data.vendors[].outstandingAmount | number or string | Total outstanding amount for the vendor |
data.vendors[].overdueAmount | number or string | Total overdue amount for the vendor |
data.vendors[].advanceAmount | number or string | Total advance amount available for the vendor |
data.vendors[].currency | string | Currency code for the vendor amount summaries |
data.vendors[].accountingSynced | boolean | Indicates whether the vendor is synced to the connected accounting platform |
data.vendors[].accountingSyncId | string | Identifier of the vendor in the connected accounting platform |
data.vendors[].selfUrl | string | Shareable URL for viewing the vendor in the web interface |
data.context | object | Pagination metadata |
data.context.count | number | Total number of vendors matching the filters |
data.context.hasMore | boolean | Indicates whether there are more vendors to fetch |
data.context.nextCursor | string or null | Cursor to fetch the next page. null when there are no more results |
Response Example
Error Responses
Invalid GST Number
HTTP Status:400 Bad Request
Invalid PAN Number
HTTP Status:400 Bad Request
Validation Error
HTTP Status:400 Bad Request
Access Denied
HTTP Status:403 Forbidden
Authentication Errors
HTTP Status:401 Unauthorized
Permission Errors
HTTP Status:403 Forbidden
Internal Error
HTTP Status:500 Internal Server Error
Best Practices
- Use
cursorandlimittogether to paginate; pass thenextCursorfrom the response as thecursorvalue for the next call - Combine
name,gstNumber,panNumber, anduserIdfilters to narrow results - Use the
idfrom the response as the input to the Vendor Details API for full vendor information - The API returns at most 100 vendors per call regardless of the
limitvalue - Access is limited to users with vendor read permission and an admin or bookkeeper role