Create or update a document
Pushes text into the brain. Documents are keyed by (`source`, `external_id`): pushing the same pair again updates the existing document in place, so syncing is safe to repeat. The text is encrypted at rest and indexed for search within seconds.
Pushes text into the brain. Documents are keyed by (source, external_id): pushing the same pair again updates the existing document in place, so syncing is safe to repeat. The text is encrypted at rest and indexed for search within seconds.
bearerAuthAuthorizationBearer <sk_live_<region>_<secret>>Idempotency-Key?stringUnique key (≤ 255 chars) that makes retries of this request safe for 24 hours.
length <= 255application/json- body
source*stringLabel for the system this text comes from, e.g. notion, hubspot, zendesk.
^[a-z0-9][a-z0-9_.-]{0,63}$external_id*stringThe record's id in that system. Re-pushing the same (source, external_id) updates it.
1 <= length <= 256title*string1 <= length <= 500body*stringPlain text or Markdown, up to 200,000 characters.
length <= 200000url?|Link back to the original (http or https).
metadata?Up to 50 flat key/value pairs (strings ≤ 1000 chars, numbers, booleans).
visibility?|Who can see what you write. Defaults to the key's own data access; it can narrow that, never widen it.
Success
application/json- response
object*stringid*stringstatus*string"created""updated"curl -X POST 'https://api.synqed.dev/v1/documents' \ -H 'Content-Type: application/json' \ -d '{ "source": "string", "external_id": "string", "title": "string", "body": "string"}'{ "object": "document_upsert", "id": "string", "status": "created"}