> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getkato.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a record

> Create a record in one workspace object.

Create a record in one workspace object.

Use a developer access key. See [authentication, errors, and rate limits](/api-reference/authentication).

Required scopes: `records:write`.

Satisfy the object’s required fields. Writes create the same record activity as the app. Invalid field mappings or values return `400`; an unknown object returns `404`.

## Parameters

<ParamField body="object" type="string">
  Object ID or slug. Supply exactly one of object or object\_type\_id.
</ParamField>

<ParamField body="object_type_id" type="string">
  Legacy object identifier alternative; do not supply with object.
</ParamField>

<ParamField body="values" type="object">
  Map writable field IDs or unambiguous slugs to values matching their field definitions. Unknown fields are rejected. Read-only fields are ignored. Discover the schema first; the example assumes a text field named `name` on `clients`. Defaults to an empty map.
</ParamField>

## Response

**201** — Returns the [record model](/api-reference/objects-and-records#record-response) under `data`. Example IDs and values are illustrative.

<ResponseExample>
  ```json 201 theme={null}
  {
    "data": {
      "id": "record_example",
      "objectTypeId": "object_example",
      "title": "Northlane",
      "avatarUrl": null,
      "values": {
        "field_name": "Northlane"
      },
      "archived": false,
      "createdBy": "user_example",
      "createdAt": "2026-09-07T12:00:00.000Z",
      "updatedAt": "2026-09-07T12:00:00.000Z"
    }
  }
  ```
</ResponseExample>

<RequestExample>
  ```bash Request theme={null}
  curl --fail-with-body --silent --show-error \
    "https://api.getkato.io/v1/records" \
    -H "Authorization: Bearer $KATO_API_KEY" \
    -H "Content-Type: application/json" \
    --data '{
    "object": "clients",
    "values": {
      "name": "Northlane"
    }
  }'
  ```
</RequestExample>

This request changes workspace data. A timeout does not prove that the write failed; inspect the result before retrying.


## Related topics

- [Work with records](/documentation/data/records.md)
- [Objects and records API](/api-reference/objects-and-records.md)
- [Onboard a new client](/recipes/onboard-client.md)
- [All endpoints](/api-reference/endpoints.md)
- [Bring your data into Kato](/documentation/importing-data.md)
