Customer-readable API lead delivery history (30-day retention)
curl --request GET \
--url https://api.pineyard.ai/campaigns/{id}/api-logs \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pineyard.ai/campaigns/{id}/api-logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pineyard.ai/campaigns/{id}/api-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{
"requestId": "<string>",
"receivedAt": "<string>",
"expiresAt": "<string>",
"apiKeyName": "<string>",
"apiKeyPrefix": "<string>",
"leadName": "<string>",
"leadPhone": "<string>",
"idempotencyKey": "<string>",
"requestTruncated": true,
"responseTruncated": true,
"httpStatus": 123,
"outcome": "ACCEPTED",
"errorCode": "<string>",
"durationMs": 123,
"contact": {
"id": "<string>",
"status": "<string>",
"errorMessage": "<string>",
"attemptCount": 123,
"createdAt": "<string>"
},
"call": {
"id": "<string>",
"status": "<string>",
"disposition": "<string>",
"errorMessage": "<string>",
"queuedAt": "<string>",
"initiatedAt": "<string>",
"answeredAt": "<string>",
"endedAt": "<string>"
},
"requestBody": null,
"responseBody": null
}
],
"nextCursor": "<string>",
"total": 123
}Results & insights
Customer-readable API lead delivery history (30-day retention)
GET
/
campaigns
/
{id}
/
api-logs
Customer-readable API lead delivery history (30-day retention)
curl --request GET \
--url https://api.pineyard.ai/campaigns/{id}/api-logs \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pineyard.ai/campaigns/{id}/api-logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pineyard.ai/campaigns/{id}/api-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"items": [
{
"requestId": "<string>",
"receivedAt": "<string>",
"expiresAt": "<string>",
"apiKeyName": "<string>",
"apiKeyPrefix": "<string>",
"leadName": "<string>",
"leadPhone": "<string>",
"idempotencyKey": "<string>",
"requestTruncated": true,
"responseTruncated": true,
"httpStatus": 123,
"outcome": "ACCEPTED",
"errorCode": "<string>",
"durationMs": 123,
"contact": {
"id": "<string>",
"status": "<string>",
"errorMessage": "<string>",
"attemptCount": 123,
"createdAt": "<string>"
},
"call": {
"id": "<string>",
"status": "<string>",
"disposition": "<string>",
"errorMessage": "<string>",
"queuedAt": "<string>",
"initiatedAt": "<string>",
"answeredAt": "<string>",
"endedAt": "<string>"
},
"requestBody": null,
"responseBody": null
}
],
"nextCursor": "<string>",
"total": 123
}Required scope:
campaigns.viewAuthorizations
Your API key, e.g. pk_live_xxxxxxxxxxxxxxxxxxxxxxxx.
Path Parameters
Query Parameters
Required range:
1 <= x <= 100Available options:
ACCEPTED, DUPLICATE, REJECTED, RATE_LIMITED, ERROR, NEEDS_ATTENTION Maximum string length:
200
