---
title: "Create personal survey links"
url: https://docs.gleap.ai/en/reference/rest-api/personal-links
method: POST
path: "/engagement/surveys/{surveyId}/personal-links"
api: "API Reference"
tag: "Engagement Survey"
operationId: "PersonalLinks"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Create personal survey links

`POST https://api.gleap.io/v3/engagement/surveys/{surveyId}/personal-links`

Personal survey links, one per contact. Body `{ userIds?: string[], contactIds?: string[], csv?: string, expiresInDays?: number, format?: 'json'|'csv' }` (≤ 5000). `format: 'csv'` answers text/csv `userId,email,name,url`. Returns `{ links: [{ userId, email?, name?, url }], expiresAt, skipped }`; url = help center domain + `/s/<slug>?t=<token>`.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Path parameters

- `surveyId` (string, required)

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

## Example request

```bash
curl --request POST \
  --url 'https://api.gleap.io/v3/engagement/surveys/{surveyId}/personal-links' \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{}'
```

## Responses

### 200 (`application/json`)

Ok
