---
title: "Poll Lead Perfection workspaces for latest call results"
description: "Internal endpoint called by Supabase pg_cron via pg_net. Pulls all selected Lead Perfection activity, directly enforces DNC on contacts, and resumes a separate full-history DNC reconciliation from saved progress."
---

> Documentation Index
> Fetch the complete documentation index at: https://developer.channelautomations.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Channel Automation API › Integrations

`POST /internal/triggers/leadperfection/process-due`

Internal endpoint called by Supabase pg_cron via pg_net. Pulls all selected Lead Perfection activity, directly enforces DNC on contacts, and resumes a separate full-history DNC reconciliation from saved progress.

## Authentication

- `ApiKeyAuth`, apiKey, in header, header `X-API-Key`, format `API_KEY`

## Header parameters

- `x-internal-secret` (`post/internal/triggers/leadperfection/process-due.header.x-internal-secret`; string, required) — Internal trigger secret shared with Supabase pg_net runtime config.

## Request body

_Optional._

- `workspaceId` (`post/internal/triggers/leadperfection/process-due.workspaceId`; string, optional) — Optional workspace override for a targeted poll.

## Example request

```json
{
  "workspaceId": "string"
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url https://api.channelautomation.com/internal/triggers/leadperfection/process-due \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <X-API-Key>' \
  --header 'x-internal-secret: string' \
  --data '
{
  "workspaceId": "string"
}
'
```

### TypeScript

```typescript
const url = 'https://api.channelautomation.com/internal/triggers/leadperfection/process-due';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-internal-secret': 'string',
    'X-API-Key': '<X-API-Key>'
  },
  body: JSON.stringify({workspaceId: 'string'})
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.channelautomation.com/internal/triggers/leadperfection/process-due"

payload = { "workspaceId": "string" }
headers = {
    "Content-Type": "application/json",
    "x-internal-secret": "string",
    "X-API-Key": "<X-API-Key>"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

Lead Perfection workspace poll completed.

### 401

Invalid internal secret.

### 500

Queue processing failed.


Source: https://developer.channelautomations.com/api/post-internal-triggers-leadperfection-process-due/index.md
