Return a page of the project’s contacts. Filter by subscription state, search by email or name, and page forward with the cursor.
GET /v1/contacts
Query parameters
Filter by subscription state. Omit to return both.
Search term matched against email and name.
Opaque pagination cursor from a previous response’s nextCursor.
Page size, 1–100 (default 25).
Request
curl "https://api.drin.run/v1/contacts?subscribed=true&limit=50" \
-H "Authorization: Bearer $DRIN_API_KEY"
Response
Returns 200 OK with a page under data. When nextCursor is non-null, pass it as cursor to fetch the next page. The SDK’s paginate() iterator does this for you.
{
"data": [
{
"id": "ct_7Yh2Lp",
"email": "ada@example.com",
"firstName": "Ada",
"lastName": "Lovelace",
"subscribed": true,
"unsubscribedAt": null,
"metadata": { "plan": "pro" },
"createdAt": "2026-06-02T17:30:00.000Z",
"updatedAt": "2026-06-02T17:30:00.000Z"
}
],
"nextCursor": "ct_7Yh2Lp"
}