Vendor Audit Trail API
curl --request GET \
--url https://api.pazy.io/v1.0/vendor/:id/audit-trailimport requests
url = "https://api.pazy.io/v1.0/vendor/:id/audit-trail"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.pazy.io/v1.0/vendor/:id/audit-trail', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pazy.io/v1.0/vendor/:id/audit-trail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pazy.io/v1.0/vendor/:id/audit-trail"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pazy.io/v1.0/vendor/:id/audit-trail")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pazy.io/v1.0/vendor/:id/audit-trail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyVendor APIs
Vendor Audit Trail API
Retrieve audit trail for a specific vendor by its identifier
Vendor Audit Trail API
curl --request GET \
--url https://api.pazy.io/v1.0/vendor/:id/audit-trailimport requests
url = "https://api.pazy.io/v1.0/vendor/:id/audit-trail"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.pazy.io/v1.0/vendor/:id/audit-trail', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pazy.io/v1.0/vendor/:id/audit-trail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pazy.io/v1.0/vendor/:id/audit-trail"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pazy.io/v1.0/vendor/:id/audit-trail")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pazy.io/v1.0/vendor/:id/audit-trail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyAuthentication
All requests require an API key in the request headers. Headers:Authorization: Api-Key YOUR_API_KEY
Request
Content-Type:application/json
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the Vendor to retrieve |
Code Examples
curl -X GET https://api.pazy.io/v1.0/vendor/vendor_identifier/audit-trail \
-H "Authorization: Api-Key YOUR_API_KEY"
const response = await fetch(
"https://api.pazy.io/v1.0/vendor/vendor_identifier/audit-trail",
{
method: "GET",
headers: {
Authorization: "Api-Key YOUR_API_KEY",
},
},
);
const result = await response.json();
import requests
url = "https://api.pazy.io/v1.0/vendor/vendor_identifier/audit-trail"
headers = {
"Authorization": "Api-Key YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
result = response.json()
Success Response
HTTP Status:200 OK
Response Fields:
| Field | Type | Description |
|---|---|---|
ok | boolean | Indicates whether the request was successful |
data | object | Contains the vendor audit trail response data |
data.auditTrail | array | List of audit trail entries associated with the vendor |
data.auditTrail[].createdOn | string | The date when the audit trail entry was created (ISO 8601 format) |
data.auditTrail[].fieldType | string | The field of the audit where the data experience change. Like: ADDRESS, BANK, PAN, STATE |
data.auditTrail[].type | string | The type of the audit trail entry. Like: CREATE, UPDATE, DELETE |
data.auditTrail[].actionBy | string | Give who performed the action: USER, or PLATFORM |
data.auditTrail[].user | object | Information about the user who made the comment |
data.auditTrail[].user.id | string | Unique identifier for the user |
data.auditTrail[].user.name | string | Name of the user |
data.auditTrail[].activity | object | Details about the audit trail entry |
data.auditTrail[].activity.before | object | Gives the old state |
data.auditTrail[].activity.after | object | Gives the new state |
data.context | object | Additional context for the audit trail |
data.context.count | number | The total number of audit trail |
Response Example
{
"ok": true,
"data": {
"auditTrail": [
{
"fieldType": "GSTIN",
"type": "UPDATE",
"actionBy": "USER",
"createdOn": "2024-07-14T15:31:58.024Z",
"user": {
"id": "<userId>",
"name": "John Doe"
},
"activity": {
"before": {
"value": "29ABCDE1234F1Z5"
},
"after": {
"value": "29ABCDE1234F2Z5"
}
}
},
{
"fieldType": "BANK",
"type": "DELETE",
"actionBy": "USER",
"createdOn": "2024-07-14T19:55:41.879Z",
"user": {
"id": "<userId>",
"name": "John Doe"
},
"activity": {
"before": {
"value": {
"ifsc": "ABCD0123456",
"accountNumber": "<accountNumber>"
}
}
}
}
],
"context": {
"count": 2
}
}
}
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 your own vendors or vendors where you are the vendor owner"
}
}
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"
}
}
Best Practices
Access Control
- Only vendors you created or where you are the vendor owner are accessible (unless you have admin or auditor role)
- Use the vendor
idreturned from the vendor creation endpoint to retrieve audit trail
Was this page helpful?