---
title: "Create contact"
method: POST
path: "/workspaces/{workspaceID}/contacts"
tags: ["Contacts"]
---

# Create contact

`POST /workspaces/{workspaceID}/contacts`

## Request

- Base URL: `https://api.salesforge.ai/public/v2`
- URL: `https://api.salesforge.ai/public/v2/workspaces/{workspaceID}/contacts`
- Auth: API key in header `Authorization`

Create a new contact. Requires at least one of email or linkedinUrl. If no tag is provided, a default date-based tag is applied automatically.

## Path parameters

- `workspaceID` string, required

## Request body

- ApiCreateSimpleLeadRequest
  - `company` string
  - `customVars` ApiFlexibleStringMap
  - `email` string: Email of the contact. At least one of email or linkedinUrl is required.
  - `firstName` string, required
  - `lastName` string
  - `linkedinUrl` string: LinkedIn URL of the contact. At least one of email or linkedinUrl is required.
  - `position` string
  - `tagIds` string[]: Existing tag IDs to apply to the contact. Bulk create requires at least one of tags or tagIds.
  - `tags` string[]: Tag names to apply to the contact. Bulk create requires at least one of tags or tagIds.

## Response `201`

Contact

- ApiContactResponse
  - `company` string
  - `customVars` object
  - `email` string
  - `firstName` string
  - `id` string
  - `lastName` string
  - `linkedinUrl` string
  - `position` string
  - `sequences` ApiContactSequenceResponse[]
    - `id` string
    - `name` string
    - `status` 'none' | 'ooo' | 'bounced' | 'bounce-protect' | 'replied' | 'failed' | 'active' | 'paused' | 'finished' | 'dnc' | 'deleted' | 'unsubscribed' | 'contacted' | 'multi-threading'
  - `tags` string[]

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

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