Skip to main content
POST
/
v1
/
contacts
curl --request POST \
  --url https://brew.new/api/v1/contacts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "jane@example.com",
  "firstName": "Jane",
  "customFields": {
    "plan": "enterprise"
  }
}
'
{
  "summary": {
    "inserted": 2,
    "updated": 0,
    "failed": 0
  },
  "fieldsCreated": [],
  "errors": [],
  "warnings": []
}

Authorizations

Authorization
string
header
default:Bearer brew_your_api_key
required

Send your Brew API key as Authorization: Bearer brew_xxx.

Headers

Idempotency-Key
string

Optional idempotency key for safe retries. Reusing the same key with the same request body returns the original response for 24 hours.

Required string length: 1 - 100

Body

application/json
email
string
required
Minimum string length: 1
firstName
string
lastName
string
subscribed
boolean
customFields
object

Response

Batch upsert applied (every row succeeded).

summary
object
required
fieldsCreated
string[]
required
errors
object[]
required
warnings
object[]
required