Zernio
APIFor you
Zernio
APIFor you
API Reference

Profiles

List profilesGETCreate profilePOSTGet profileGETUpdate profilePUTDelete profileDELETE
Dashboard
OverviewPlatformsAPI ReferenceResources
Profiles

Create profile

Creates a new profile with a name, optional description, and color. Names are unique per team: a duplicate returns a 409 whose details.existingProfileId carries the id of the existing profile. Set externalId to your own tenant or client id to find the profile later without storing its Zernio id. A duplicate externalId returns the same kind of 409, with code profile_external_id_conflict. Send an Idempotency-Key header to make retries safe: a retried create with the same key and body replays the original 201 (same _id) instead of conflicting.


POST
/v1/profiles

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Header Parameters

Idempotency-Key?string

Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409. A request cut off mid-handler (for example by a function timeout) can leave its key in progress, answering 409 until the key expires after 24 hours.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.profiles.createProfile({  body: {    name: 'Example',  },});console.log(data);
{  "message": "Profile created successfully",  "profile": {    "_id": "64f0a1b2c3d4e5f6a7b8c9d0",    "userId": "6507a1b2c3d4e5f6a7b8c9d0",    "name": "Marketing Team",    "description": "Profile for marketing campaigns",    "color": "#4CAF50",    "externalId": "tenant_42",    "isDefault": false,    "createdAt": "2024-11-01T10:00:00Z"  }}
Was this page helpful?

List profiles

Returns profiles sorted default-first, then by creation date. Filter with name or externalId (exact match) and paginate with limit/skip; without those params the full list is returned unchanged. Use includeOverLimit=true to include profiles that exceed the plan limit.

Get profile

Returns a single profile by ID, including its name, color, and default status.

name*string
description?string
color?string
timezone?string

IANA timezone new posts on this profile use when they name no timezone. Omit to keep UTC. An unknown name returns 400.

externalId?string

Your own identifier for this profile, typically the id of the tenant or client it serves in your system (1 to 255 characters, trimmed). Unique among the profiles of the user who owns the profile: a duplicate returns 409 profile_external_id_conflict. Look a profile up by it with GET /v1/profiles?externalId=.

Length1 <= length <= 255