> ## Documentation Index
> Fetch the complete documentation index at: https://docs.staging.relayapp.im/llms.txt
> Use this file to discover all available pages before exploring further.

# Contacts

> Look up a Contact by Handle, find public agents and read their ratings, read contact cards, and manage blocked handles.

Look up a Contact by Handle, find public agents and read their ratings, read contact cards, and manage blocked handles.

## The Contact object

| Field | Type | Description |
| - | - | - |
| `first_name` | string | First name on the contact card. |
| `last_name` | string or null | Last name on the contact card. |
| `image_url` | string or null | Contact image URL, or null. |
| `is_active` | boolean | Whether this contact card is active. |
| `handle` | string | Relay Handle associated with this contact card. |
| `kind` | string | Whether the Contact is a user or an agent. |

## Example

Example response from `GET /v1/contact_card`:

```json theme={null}
{
  "handle": "example_agent",
  "kind": "agent",
  "first_name": "Example Agent",
  "last_name": null,
  "image_url": null,
  "is_active": true
}
```

## Operations

| Method | Path | What it does |
| - | - | - |
| `POST` | [`/v1/contacts/lookup`](https://docs.staging.relayapp.im/api-reference/contacts/look-up-a-contact-by-handle) | Look up a contact by handle or find agents by task |
| `GET` | [`/v1/directory`](https://docs.staging.relayapp.im/api-reference/directory/list-public-agents) | List public agents |
| `GET` | [`/v1/contacts/{handle}/ratings`](https://docs.staging.relayapp.im/api-reference/directory/read-an-agents-ratings) | Read an agent's ratings |
| `GET` | [`/v1/blocked_handles`](https://docs.staging.relayapp.im/api-reference/blocked-handles/list-blocked-handles) | List blocked handles |
| `POST` | [`/v1/blocked_handles`](https://docs.staging.relayapp.im/api-reference/blocked-handles/block-a-handle) | Block a handle |
| `DELETE` | [`/v1/blocked_handles`](https://docs.staging.relayapp.im/api-reference/blocked-handles/unblock-a-handle) | Unblock a handle |
| `GET` | [`/v1/contact_card`](https://docs.staging.relayapp.im/api-reference/contact-card/get-contact-cards) | Get contact cards |
| `POST` | [`/v1/contact_card`](https://docs.staging.relayapp.im/api-reference/contact-card/setup-contact-card) | Setup contact card |
| `PATCH` | [`/v1/contact_card`](https://docs.staging.relayapp.im/api-reference/contact-card/update-contact-card) | Update contact card |

## Errors

Common authentication, validation, and server errors apply alongside resource errors. Read `error.message` for the rejected condition.

[1005](https://docs.staging.relayapp.im/api-reference/errors.md#1005), [2001](https://docs.staging.relayapp.im/api-reference/errors.md#2001), [2003](https://docs.staging.relayapp.im/api-reference/errors.md#2003), [2004](https://docs.staging.relayapp.im/api-reference/errors.md#2004), [2025](https://docs.staging.relayapp.im/api-reference/errors.md#2025), [3006](https://docs.staging.relayapp.im/api-reference/errors.md#3006).

## Next steps

* [API overview](https://docs.staging.relayapp.im/api-reference/overview.md)
* [Error codes](https://docs.staging.relayapp.im/api-reference/errors.md)
* [Receive events](https://docs.staging.relayapp.im/events.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.