---
title: "List personal links"
method: GET
path: "/personal_links"
tags: ["Personal links"]
---

# List personal links

`GET /personal_links`

## Request

- Base URL: `https://api.meetdarwin.ai/v1`
- URL: `https://api.meetdarwin.ai/v1/personal_links`
- Auth: HTTP bearer

Requires the `agent:read` scope.

Each link with its greeting, its address with every email tool's merge fields, and its results.

## Response `200`

OK

- object
  - `object` 'list', required
  - `data` PersonalLink[], required
    - `id` string, required
    - `object` 'personal_link', required
    - `name` string, required
    - `page` string, required: The page it opens: a path on the workspace's website, or a full address.
    - `greeting` string, nullable, required: The greeting it shows (gr_…); null for a draft.
    - `status` 'active' | 'draft', required: draft: no greeting yet, so it greets no one.
    - `url` string, nullable, required: The page with the link's id. Add a person's details as dw_email, dw_first, dw_last, dw_company and dw_title, or ask POST /personal_links/{id}/urls to do it. Null for a draft.
    - `fields` string[], required: The details its greeting uses: first_name, last_name, company, title.
    - `templates` object, nullable, required: The address with each email tool's merge fields (hubspot, instantly, apollo, outreach, salesloft, lemlist, other), ready to paste into a sequence. Null for a draft.
    - `results` object, required: The last 30 days: people who opened it, how many of them chatted, and how many booked. Your team's and test visits are left out.
      - `days` integer, required
      - `visits` integer, required
      - `chats` integer, required
      - `meetings` integer, required
  - `has_more` boolean, required
  - `next_cursor` string, nullable, required

## Other responses

- `400`: Invalid request (`invalid_request`, `unsupported_version`).
- `401`: Missing or invalid key (`authentication_required`, `invalid_api_key`).
- `402`: The workspace must add a card before the API can be used (`payment_required`).
- `403`: The key lacks the scope (`insufficient_scope`), the feature is off (`feature_disabled`), or the workspace's plan doesn't include it (`plan_required`, with `required_plan`).
- `404`: No such object in this workspace (`not_found`).
- `409`: Conflicts with the current state (`conflict`, `idempotency_key_in_use`), or the change would leave a live agent with no calendar or live form (`goal_required`).
- `422`: Refused by a rule (`unprocessable`, `idempotency_key_reused`).
- `429`: Rate limited (`rate_limited`) or a monthly allowance used (`quota_exceeded`); see Retry-After.

## Changes

- **2026-10-20** `f93b0bcb454a`: 24 info
  - added the optional property `feature` to the response with the `400` status
  - added the optional property `feature` to the response with the `401` status
  - added the optional property `feature` to the response with the `402` status
  - added the optional property `feature` to the response with the `403` status
  - …20 more

[Operation history](https://skmtc.dev/meetdarwin/apis/darwin-api/changes/personal_links/get.md)

---

[API](https://skmtc.dev/meetdarwin/apis/darwin-api.md) · [All operations](https://skmtc.dev/meetdarwin/apis/darwin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meetdarwin/apis/darwin-api/revisions/f93b0bcb454a?raw)
