Writing data
Create, update, and delete records within the permissions of your token.
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
arrayrequire an array of scalar values. Inputs markedraw JSONmay accept nested objects or arrays. - Event-level records are always assigned to the event in the URL.
- A body
event_idororganization_idthat conflicts with the URL returns400. - 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
eventsresource 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:
{
"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. Matchmaking selections use:
{
"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.