Skip to content

API Calls

Base: https://api.g3nretailstack.com/mrs

Source of truth: /internal-docs/mrs-openapi.yaml/mrs/openapi.yaml

Notes: samples are schema-derived placeholders. Replace placeholder values (ORGCODE, SESSION_GUID, etc.) with real values.

Inventory

MethodPathSummaryRequest schemaResponse schema
POST/doomDoom a record (terminal)NoneEnvelope
GET/headHEAD-like existence + minimal metadataNoneEnvelope
GET/listList recordsNoneEnvelope
GET/recordFetch record (inline JSON or presigned download)NoneEnvelope
POST/recordCreate/put record (inline JSON or presign)NoneEnvelope
POST/record/completeComplete presigned uploadNoneEnvelope
GET/record/metaFetch record metadata (no content)NoneEnvelope
GET/statHealth check (session required)NoneEnvelope
POST/tag/addAdd tags to a recordNoneEnvelope
POST/tag/removeRemove tags from a recordNoneEnvelope
POST/ttl/setSet doom_at (TTL)NoneEnvelope

Call details

POST /doom

Purpose: Doom a record (terminal)

Notes: Doom a record (terminal). Auth is via headers; orgcode lives in query on GET and JSON body on POST. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "record_id": "RECORD_ID",
    "container": "string",
    "orgcode": "ORGCODE",
    "status": "active",
    "revision": "string",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /doom",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

GET /head

Purpose: HEAD-like existence + minimal metadata

Notes: HEAD-like existence + minimal metadata. Auth is via headers; orgcode lives in query on GET and JSON body on POST. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "exists": false,
    "status": "active"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "GET /head",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

GET /list

Purpose: List records

Notes: List records. Auth is via headers; orgcode lives in query on GET and JSON body on POST. Paginated with limit/next_token (default 8; clamp 1–256). Org-scoped reads may return 404 for non-associated callers (anti-enumeration). Route class Tier B (p95 300ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "items": [
      {
        "record_id": "RECORD_ID",
        "container": "string",
        "orgcode": "ORGCODE",
        "status": "active",
        "revision": "string",
        "created_at": "2026-01-01T00:00:00Z",
        "updated_at": "2026-01-01T00:00:00Z"
      }
    ],
    "next_token": "string"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "GET /list",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

GET /record

Purpose: Fetch record (inline JSON or presigned download)

Notes: Fetch record (inline JSON or presigned download). Auth is via headers; orgcode lives in query on GET and JSON body on POST. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier B (p95 300ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "metadata": {
      "record_id": "RECORD_ID",
      "container": "string",
      "orgcode": "ORGCODE",
      "status": "active",
      "revision": "string",
      "created_at": "2026-01-01T00:00:00Z",
      "updated_at": "2026-01-01T00:00:00Z"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "GET /record",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /record

Purpose: Create/put record (inline JSON or presign)

Notes: Create/put record (inline JSON or presign). Auth is via headers; orgcode lives in query on GET and JSON body on POST. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "record_id": "RECORD_ID",
    "container": "string",
    "orgcode": "ORGCODE",
    "status": "active",
    "revision": "string",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /record",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /record/complete

Purpose: Complete presigned upload

Notes: Complete presigned upload. Auth is via headers; orgcode lives in query on GET and JSON body on POST. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "record_id": "RECORD_ID",
    "container": "string",
    "orgcode": "ORGCODE",
    "status": "active",
    "revision": "string",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /record/complete",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

GET /record/meta

Purpose: Fetch record metadata (no content)

Notes: Fetch record metadata (no content). Auth is via headers; orgcode lives in query on GET and JSON body on POST. Org-scoped reads may return 404 for non-associated callers (anti-enumeration). If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier B (p95 300ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "record_id": "RECORD_ID",
    "container": "string",
    "orgcode": "ORGCODE",
    "status": "active",
    "revision": "string",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "GET /record/meta",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

GET /stat

Purpose: Health check (session required)

Notes: Health check. Requires valid session_guid or api_key. Returns service name and status.

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "note": "See Envelope"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "GET /stat",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /tag/add

Purpose: Add tags to a record

Notes: Add tags to a record. Auth is via headers; orgcode lives in query on GET and JSON body on POST. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "record_id": "RECORD_ID",
    "container": "string",
    "orgcode": "ORGCODE",
    "status": "active",
    "revision": "string",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /tag/add",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /tag/remove

Purpose: Remove tags from a record

Notes: Remove tags from a record. Auth is via headers; orgcode lives in query on GET and JSON body on POST. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier D (p95 300ms, p99 600ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "record_id": "RECORD_ID",
    "container": "string",
    "orgcode": "ORGCODE",
    "status": "active",
    "revision": "string",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /tag/remove",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /ttl/set

Purpose: Set doom_at (TTL)

Notes: Set doom_at (TTL). Auth is via headers; orgcode lives in query on GET and JSON body on POST. If this updates a revisioned record, expected_revision is required (428 if missing; 409 on mismatch). Route class Tier A (p95 500ms).

Request schema: None Response schema: Envelope

Sample request (schema-derived)

json
{}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "record_id": "RECORD_ID",
    "container": "string",
    "orgcode": "ORGCODE",
    "status": "active",
    "revision": "string",
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /ttl/set",
    "service": "mrs",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}