Skip to content
API Reference
Records

Upsert object

Idempotent create-or-update keyed on {slug}={value}. If exactly one record matches, it is patched and 200 is returned. If none match, a new record is created (with the lookup property set if absent) and 201 is returned. If multiple records match, 409 is returned and you should patch by id instead.

PUT/v2/prism/{teamId}/{objectType}/by/{slug}/{value}

Idempotent create-or-update keyed on {slug}={value}. If exactly one record matches, it is patched and 200 is returned. If none match, a new record is created (with the lookup property set if absent) and 201 is returned. If multiple records match, 409 is returned and you should patch by id instead.

x-api-key<token>

Public API key generated from Micro settings. Sent as the x-api-key header and validated by AWS API Gateway in front of the service.

In: header

Path Parameters

teamId*string
Formatuuid
objectType*string

Object types that support CRUD, query, list, and per-type property metadata. GET /v2/prism/{teamId}/properties (list-all) also returns definitions for pipeline-owned types that are not in this set — including message, thread, and linkedin_thread. Those types are not queryable. Contacts expose last_email as a ref_message; you cannot query message to follow it.

Value in

  • "comment"
  • "deal"
  • "engagement"
  • "identity"
  • "ai_chat_thread"
  • "ai_chat_message"
  • "agent_site"
  • "document"
  • "action"
  • "event"
  • "organization"
  • "contact"
slug*string
value*string

Query Parameters

list_id?string

Scope the upsert to a specific list/app. Required to match or write list-scoped properties, including app_stage.

Formatuuid

Header Parameters

Idempotency-Key?string

A unique key (UUID or any opaque string up to 255 chars) for an authenticated POST, PUT, or PATCH request. The server retains the initial claim for 24 hours and replays a completed non-5xx response only when the method, path, and request body all match. Reusing a non-expired key with a different method, path, or body returns 409 idempotency_key_mismatch; reusing it after expiry returns 409 idempotency_key_stale, so use a new key. Replays include the idempotent-replay: true response header.

Length1 <= length <= 255

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://developers.micro.so/v2/prism/${MICRO_TEAM_ID}/comment/by/${SLUG}/${VALUE}" \  -H "x-api-key: $MICRO_API_KEY" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "extended": {},  "default": {    "property1": null,    "property2": null  },  "list": {}}
micro.so