---
title: "Create a Hive contact from an email address, or return the one that already has it. Only send emailConsent true when the person really agreed to get emails from you. This sends nothing. People on Instagram, Messenger, WhatsApp and other channels become contacts when they message you."
method: POST
path: "/api/v1/tools/create_contact"
---

# Create a Hive contact from an email address, or return the one that already has it. Only send emailConsent true when the person really agreed to get emails from you. This sends nothing. People on Instagram, Messenger, WhatsApp and other channels become contacts when they message you.

`POST /api/v1/tools/create_contact`

## Request

- Base URL: `https://hivepublish.com`
- URL: `https://hivepublish.com/api/v1/tools/create_contact`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `email` string, required: The person’s email address.
  - `emailConsent` boolean, required: True only when this person agreed to get emails from you.
  - `firstName` string: First name.
  - `lastName` string: Last name.

## Response `200`

Tool result

- ToolResult
  - `data` unknown, required
  - `meta` object, required
    - `tool` string
    - `workspaceId` string, uuid

## Other responses

- `400`: Invalid input
- `401`: Missing or invalid credential
- `403`: Missing workspace scope, role permission, or plan entitlement
- `409`: Idempotency conflict, replay, or request still in progress
- `429`: Rate limit exceeded

---

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