---
title: "Read a profile out of a description (Trvlrr Plus)"
method: POST
path: "/api/profile/describe"
tags: ["Profile"]
---

# Read a profile out of a description (Trvlrr Plus)

`POST /api/profile/describe`

## Request

- Base URL: `https://trvlrr.app`
- URL: `https://trvlrr.app/api/profile/describe`
- Auth: HTTP bearer

The person describes themselves in prose; the AI extracts the profile fields and homes. Nothing is saved — the client shows the result for confirmation. Uses a profile read.

## Request body

- object
  - `text` string, required: The text.

## Response `200`

What was understood.

- DescribedProfile
  - `display_name` string, nullable, required
  - `home_city` string, nullable, required
  - `date_of_birth` string, nullable, required
  - `travels_with` string, nullable, required
  - `interests` string, nullable, required
  - `pace` string, nullable, required
  - `budget` string, nullable, required
  - `dietary` string, nullable, required
  - `avoid` string, nullable, required
  - `about` string, nullable, required
  - `homes` object[], required
    - `city` string, required
    - `country` string, nullable, required
    - `hometown` string, nullable, required
    - `gateway` string, nullable, required
    - `from_date` string, nullable, required
    - `to_date` string, nullable, required

## Other responses

- `400`: The request is malformed or fails validation.
- `401`: No usable credential: a Clerk session token, a device token or an OAuth access token is required.
- `402`: Trvlrr Plus is required, or this month's AI allowance is used up.
- `403`: The caller may not do this to this account or trip.
- `422`: The input was understood but could not be acted on.
- `501`: The feature is not configured on this deployment.

---

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