Skip to content

API Calls

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

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

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

Inventory

MethodPathSummaryRequest schemaResponse schema
POST/export/download/startStart export-only downloadExportOnlyDownloadStartRequestEnvelope
POST/export/requestCreate export-only requestExportOnlyRequestEnvelope
POST/export/statusGet export-only statusExportOnlyStatusRequestEnvelope
POST/offboarding/cancelCancel offboarding requestOffboardingCancelRequestEnvelope
POST/offboarding/requestCreate offboarding requestOffboardingRequestEnvelope
POST/offboarding/statusGet offboarding request statusOffboardingStatusRequestEnvelope
GET/statHealth checkNoneEnvelope

Call details

POST /export/download/start

Purpose: Start export-only download

Notes: Start export-only download. UTL tenant calls require session_guid in the JSON body (header auth not used). Route class Tier C (p95 1500ms, p99 3000ms).

Request schema: ExportOnlyDownloadStartRequest Response schema: Envelope

Sample request (schema-derived)

json
{
  "orgcode": "ORGCODE",
  "session_guid": "SESSION_GUID",
  "export_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "export_id": "string",
    "export_manifest": {
      "bucket": "string",
      "key": "string"
    },
    "export_location": {
      "bucket": "string",
      "prefix": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /export/download/start",
    "service": "utl",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /export/request

Purpose: Create export-only request

Notes: Create export-only request. UTL tenant calls require session_guid in the JSON body (header auth not used). Route class Tier C (p95 1500ms, p99 3000ms).

Request schema: ExportOnlyRequest Response schema: Envelope

Sample request (schema-derived)

json
{
  "orgcode": "ORGCODE",
  "session_guid": "SESSION_GUID",
  "reason": "example"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "export": {
      "entity_type": "string",
      "orgcode": "ORGCODE",
      "org_guid": "ORG_GUID"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /export/request",
    "service": "utl",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /export/status

Purpose: Get export-only status

Notes: Get export-only status. UTL tenant calls require session_guid in the JSON body (header auth not used). 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 400ms).

Request schema: ExportOnlyStatusRequest Response schema: Envelope

Sample request (schema-derived)

json
{
  "orgcode": "ORGCODE",
  "session_guid": "SESSION_GUID",
  "export_id": "string"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "export": {
      "entity_type": "string",
      "orgcode": "ORGCODE",
      "org_guid": "ORG_GUID"
    },
    "export_manifest": {
      "bucket": "string",
      "key": "string"
    },
    "export_location": {
      "bucket": "string",
      "prefix": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /export/status",
    "service": "utl",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /offboarding/cancel

Purpose: Cancel offboarding request

Notes: Cancel offboarding request. UTL tenant calls require session_guid in the JSON body (header auth not used). Route class Tier D (p95 2000ms, p99 4000ms).

Request schema: OffboardingCancelRequest Response schema: Envelope

Sample request (schema-derived)

json
{
  "orgcode": "ORGCODE",
  "session_guid": "SESSION_GUID",
  "expected_revision": "string",
  "reason": "example"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "offboarding": {
      "entity_type": "string",
      "orgcode": "ORGCODE",
      "org_guid": "ORG_GUID"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /offboarding/cancel",
    "service": "utl",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /offboarding/request

Purpose: Create offboarding request

Notes: Create offboarding request. UTL tenant calls require session_guid in the JSON body (header auth not used). Route class Tier D (p95 2000ms, p99 4000ms).

Request schema: OffboardingRequest Response schema: Envelope

Sample request (schema-derived)

json
{
  "orgcode": "ORGCODE",
  "session_guid": "SESSION_GUID",
  "requested_export_at": "2026-01-01T00:00:00Z",
  "reason": "example"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "offboarding": {
      "entity_type": "string",
      "orgcode": "ORGCODE",
      "org_guid": "ORG_GUID"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /offboarding/request",
    "service": "utl",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

POST /offboarding/status

Purpose: Get offboarding request status

Notes: Get offboarding request status. UTL tenant calls require session_guid in the JSON body (header auth not used). 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 400ms).

Request schema: OffboardingStatusRequest Response schema: Envelope

Sample request (schema-derived)

json
{
  "orgcode": "ORGCODE",
  "session_guid": "SESSION_GUID"
}

Sample response (shape-only)

json
{
  "success": true,
  "data": {
    "offboarding": {
      "entity_type": "string",
      "orgcode": "ORGCODE",
      "org_guid": "ORG_GUID"
    },
    "export_manifest": {
      "bucket": "string",
      "key": "string"
    },
    "export_location": {
      "bucket": "string",
      "prefix": "string"
    }
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "POST /offboarding/status",
    "service": "utl",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}

GET /stat

Purpose: Health check

Notes: Health check. UTL tenant calls require session_guid in the JSON body (header auth not used). Org-scoped reads may return 404 for non-associated callers (anti-enumeration). 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": {
    "ok": false
  },
  "build": {
    "build_id": "MONDAY-0000000000"
  },
  "stats": {
    "call": "GET /stat",
    "service": "utl",
    "timestamp_utc": "2026-01-01T00:00:00Z"
  }
}