---
title: "Create a custom object"
method: POST
path: "/custom-objects/{type}"
tags: ["custom-objects"]
---

# Create a custom object

`POST /custom-objects/{type}`

Creates a new custom object instance of the given type. To link the object to an account, pass the built-in Account relationship field in `custom_fields`: `{"name":"Example","custom_fields":{"account":{"value":"account_uuid"}}}`.

**Rate limit:** 120 requests per minute

## Path parameters

- `type` string, required

## Request body

- CreateCustomObjectRequestBody
  - `custom_fields` object — Custom field values to set on the object, keyed by field slug. To link the object to an account, pass the built-in Account relationship field as `custom_fields.account.value`, for example `{"custom_fields":{"account":{"value":"account_uuid"}}}`.
  - `name` string, required — The name of the custom object.

## Response `200`

- CreateCustomObjectResponseBody
  - `data` APICustomObject
    - `created_at` string — When the object was created.
    - `custom_fields` object — Custom field values keyed by field slug. Relationship-typed fields are excluded here and returned in the `relations` field instead.
    - `id` string — The ID of the custom object.
    - `name` string — The name of the custom object.
    - `relations` APIObjectRelation[] — Relationships from this object to other objects, sourced from relationship-typed custom fields.
      - `object_id` string — The ID of the related object.
      - `object_type` string — The type of the related object (e.g. "account", "contact", "issue").
    - `type` string — The type slug of the custom object.
    - `updated_at` string — When the object was last updated.
  - `request_id` string

## Other responses

- `400` — The request was invalid or could not be completed.
- `403` — The authenticated caller or organization is not allowed to access this endpoint or operation.
- `404`
- `500` — An unexpected internal error occurred.

## Changes

- **2026-08-28** `fe3adb90ea45` — 1 info
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/usepylon/apis/pylon-api/changes/custom-objects/:type/post.md)

---

[API](https://skmtc.dev/usepylon/apis/pylon-api.md) · [All operations](https://skmtc.dev/usepylon/apis/pylon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usepylon/pylon-api/revisions/7b12ab92de27/schema)
