Get a record

GET /1/indexes/:index/records/:objectID — fetch one record by its objectID.

Text
GET /1/indexes/:index/records/:objectID

Requires a search, write or admin key. On a partitioned index a search key must be a scoped token: the record is read from the token's own partition, ?partition= is refused, and a record that does not match the token's filters returns not_found. A write or admin key names the partition with ?partition=. A key restricted to referrers is refused from any other origin.

Response

TypeScript
type StoredRecord = RecordInput & {
	version: number;
	updatedAt: number;
};

The stored record, exactly as last written, plus its current version and the server timestamp it was last accepted (updatedAt). This is a direct lookup, not a search — it does not run ranking, tokenization or highlighting, and it does not count toward query analytics.

Example

Terminal
curl https://api.usesuo.com/1/indexes/library/records/item-482 \
  -H "x-suo-key: suo_search_YOUR_KEY"
JSON
{
	"objectID": "item-482",
	"userId": "user_9f2",
	"title": "The gentle art of note-taking",
	"url": "https://example.com/read/item-482",
	"version": 1732550400000,
	"updatedAt": 1732550401123
}

Not found

A missing objectID, or one whose tombstone is still within its 30-day retention, returns not_found:

JSON
{ "error": { "code": "not_found", "message": "No record with this objectID." } }

Use search for anything a person types. Use this endpoint when your own code already knows the exact objectID and just needs the current stored value — for example, confirming a push landed as expected, or reading a record back before an update that should merge with the existing attributes.