Skip to main content

Create and Update Records

Use record endpoints when your integration owns CRM data or needs to sync data from another system into Reevo.

Create a record

Create records with POST /api/v2/<record_type>.
{
  "attributes": {
    "first_name": "Sarah",
    "last_name": "Chen",
    "stage": "working",
    "primary_email": "sarah.chen@acme.com"
  }
}
The response status is 201 Created and returns the full record in a data envelope.

Patch a record

Patch records with PATCH /api/v2/<record_type>/{id}.
{
  "attributes": {
    "title": "CTO"
  }
}
Patch rules:
Request shapeMeaning
Field omittedLeave the field unchanged
Field present with a valueSet the field
Field present with nullClear the field, if nullable
Array field presentReplace the full array where parent patch supports that field
For surgical edits to supported array-like fields, prefer sub-resource endpoints such as contact emails, contact phone numbers, and account domains.

Archive a record

Archive records with DELETE /api/v2/<record_type>/{id}. Successful archive returns 204 No Content.
curl -X DELETE "https://api.reevo.ai/api/v2/account/<account_id>" \
  -H "Authorization: Bearer <your-api-key>"

Create or update with _assert

Use _assert when you want a create-or-update workflow based on a unique field.
POST /api/v2/contact/_assert
POST /api/v2/account/_assert
_assert is available for contact and account only.
{
  "match": {
    "contact_emails": "sarah.chen@acme.com"
  },
  "attributes": {
    "first_name": "Sarah",
    "last_name": "Chen",
    "stage": "working",
    "title": "CTO"
  }
}
Response status depends on the branch:
BranchHTTP statusmeta.action
Created new record201created
Updated existing record200updated

Common errors

Error codeUsually meansHow to recover
unknown_fieldThe field API name is not declared for this record typeCheck GET /api/v2/_schema/{record_type}
field_not_creatableA create request tried to set a read-only or system fieldRemove the field from POST bodies
field_not_updatableA patch request tried to set a read-only or system fieldRemove the field from PATCH bodies
field_required_missingA required create field was omittedInclude the field or rely on a documented default
field_value_invalidA value could not be coerced into the field typeCheck the field’s value_type and write shape
record_not_foundThe record ID does not exist in the workspaceRe-query before patching or archiving
ambiguous_matchA match found more than one possible recordUse a more specific match field or resolve duplicates