Skip to main content
POST
/
crm
/
objects
Create a custom CRM object
curl --request POST \
  --url https://api.zeeg.me/v2/crm/objects \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "slug": "products",
  "singularName": "Product",
  "pluralName": "Products",
  "isActive": true
}
'
{
  "success": true,
  "status": 201,
  "object": {
    "slug": "products",
    "singularName": "Product",
    "pluralName": "Products",
    "isStandard": false,
    "isActive": true,
    "attributes": [
      {
        "key": "id",
        "label": "ID",
        "type": "text",
        "isRequired": true,
        "isStandard": true
      },
      {
        "key": "created_at",
        "label": "Created At",
        "type": "datetime",
        "isRequired": true,
        "isStandard": true
      },
      {
        "key": "updated_at",
        "label": "Updated At",
        "type": "datetime",
        "isRequired": false,
        "isStandard": true
      }
    ],
    "createdAt": "2025-06-01T10:00:00+00:00",
    "updatedAt": "2025-06-01T10:00:00+00:00"
  }
}

Documentation Index

Fetch the complete documentation index at: https://developer.zeeg.me/llms.txt

Use this file to discover all available pages before exploring further.

Slug rules

  • 3–60 characters, lowercase letters, numbers, hyphens, and underscores only
  • Must be unique within your workspace
  • Immutable after creation — the slug cannot be renamed
The slugs people and companies are reserved for standard objects and cannot be used.

Auto-created attributes

Every new object automatically receives three system attributes that cannot be removed:
KeyTypeDescription
idtextUnique record identifier (UUID)
created_atdatetimeRecord creation timestamp
updated_atdatetimeLast modification timestamp
Add custom attributes to the object using POST /crm/objects/{slug}/attributes after creation.

Authorizations

Authorization
string
header
required

Body

application/json
slug
string
required

Unique identifier for the object. Must be 3–60 characters, alphanumeric with dots or hyphens. Cannot use reserved slugs (people, companies, etc.).

Required string length: 3 - 60
Pattern: ^(?=.{1,60}$)[\w]+((\.|-)[\w]+)*$
Example:

"products"

singularName
string
required

Singular display name shown in the UI.

Maximum string length: 255
Example:

"Product"

pluralName
string
required

Plural display name shown in the UI.

Maximum string length: 255
Example:

"Products"

isActive
boolean
default:true

Whether the object is enabled. Defaults to true.

Response

Created

success
boolean
Example:

true

status
integer
Example:

201

object
object

A CRM object definition including its full attribute schema.

Last modified on May 14, 2026