Create Contact
Body Parameters
emailstringRequired
Contact email address
firstNamestring
Contact first name
lastNamestring
Contact last name
status"subscribed""unsubscribed""blocked"
Possible values: subscribed | unsubscribed | blocked
propertiesobject
Contact properties as key-value pairs
Custom properties
keystringRequired
The property key.
valuestringRequired
The property value.
groupIdsstring[]
Array of group IDs to add the contact to
Example: ["value1", "value2"]
channelsobject[]
Array of channels to enroll the contact in
channels properties
channelIdstringRequired
Channel identifier
subscription"opt_in""opt_out"Required
Possible values: opt_in | opt_out
import { Reloop } from "reloop-email";
const reloop = new Reloop({ apiKey: "rl_123456789" });
const { response: contact, error } = await reloop.contacts.create({
email: "john.doe@example.com",
firstName: "John",
lastName: "Doe",
status: "subscribed",
properties: { company: "Reloop", role: "Developer" },
groupIds: ["grp_123456789"],
channels: [{ channelId: "chn_123456789", subscription: "opt_in" }],
});
if (error) throw error;{
"object": "contact",
"id": "con_123456789",
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"status": "subscribed",
"properties": {
"company": "Reloop",
"role": "Developer"
},
"groups": [
{
"id": "grp_123456789",
"name": "Beta Testers"
}
],
"channels": [
{
"id": "channel_123456789",
"name": "Newsletter",
"subscription": "opt_in"
}
],
"suppressionReason": null,
"suppressedAt": null,
"createdAt": "2026-03-23T10:00:00.000Z",
"updatedAt": "2026-03-23T10:00:00.000Z",
"event": "evt_123456789"
}Was this page helpful?