---
title: "List a contact's topics"
method: GET
path: "/contacts/{id}/topics"
tags: ["Contacts"]
---

# List a contact's topics

`GET /contacts/{id}/topics`

## Request

- Base URL: `https://api.mepmail.dev`
- URL: `https://api.mepmail.dev/contacts/{id}/topics`
- Auth: HTTP bearer

Lists every topic of the team with the contact's effective subscription.

## Path parameters

- `id` string, required

## Response `200`

Every topic of the team with the contact's effective subscription and whether it was chosen explicitly

- ListContactTopicsResponse
  - `object` 'list', required
  - `data` object[], required
    - `id` string, uuid, required
    - `name` string, required
    - `description` string, nullable, required
    - `subscription` 'opt_in' | 'opt_out', required: Effective choice: the contact's explicit one, else the topic's default
    - `explicit` boolean, required: True when the contact or the API chose this; false when it is the topic's default
    - `visibility` 'public' | 'private', required: The hosted preference page lists public topics only
  - `has_more` false, required

## Other responses

- `401`: Missing, malformed or invalid API key
- `404`: Not found
- `429`: Rate limit exceeded: 600 requests per minute per API key and 3,000 per team; wait for Retry-After

---

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