---
title: "Writing data"
description: "Create, update, and delete records within the permissions of your token."
lastModified: "2026-08-21"
---

Writes use flat JSON request bodies. Do not wrap a Core API write in JSON:API `data`, `type`, `attributes`, or a resource-name object.

## POST

```
POST /api/core/organizations/{organization_id}/events/{event_id}/{resource}
Content-Type: application/json

{
  "field_name": "value",
  "array_input": [1, 2]
}
```

A successful create returns `201 Created` and a JSON:API resource containing `id` plus the scope's configured write-response fields.

## PATCH

```
PATCH /api/core/organizations/{organization_id}/events/{event_id}/{resource}/{id}
Content-Type: application/json

{
  "field_name": "new value"
}
```

Updates are partial: send only the fields to change. A successful update returns `200 OK` with `id` plus the scope's configured write-response fields.

## DELETE

```
DELETE /api/core/organizations/{organization_id}/events/{event_id}/{resource}/{id}
```

A successful delete returns `204 No Content`.

## Write enforcement

- Only request parameters mapped in the scope's writable fields are used; other body parameters are ignored.  
- Scalar fields accept only scalar values. Inputs marked `array` require an array of scalar values. Inputs marked `raw JSON` may accept nested objects or arrays.  
- Event-level records are always assigned to the event in the URL.  
- A body `event_id` or `organization_id` that conflicts with the URL returns `400`.  
- Referenced parent records must belong to the same event or organization. Missing or out-of-bound references return `404`.  
- Updates and deletes can affect only records visible through the scope's row restrictions.  
- The `events` resource cannot be created by Core tokens. Event deletion is advertised and permitted only in sandbox environments.

## Common nested input shapes

Several resources expose a raw `custom_fields_attributes` input. For registrants, sponsors, speakers, and content sessions, each entry identifies the definition by key and supplies either one value or an array:

```json
{
  "custom_fields_attributes": [
    { "key": "company_size", "values": ["51-200"] },
    { "key": "linkedin_url", "value": "https://www.linkedin.com/in/example" }
  ]
}
```

Lead-scan answers use a different shape and are documented under [Leads](/reference/leads). Matchmaking selections use:

```json
{
  "selected_interests": [
    { "interest_id": 701, "intent_ids": [801, 802] }
  ]
}
```

Image inputs documented as base64 accept a data URI such as `data:image/png;base64,...`. Send an empty string on supported PATCH operations to remove an existing image.
