Skip to content

Get a tour progress

Platform module

GET/tour-progress/{id}tourProgress.get

The caller's progress through one guided tour (0642). A tour is offered once (the row exists from then on), can be replayed by moving it to Started at step 0, and is never offered again. Returns one tour progress with its `ETag`. A tour progress the caller may not see returns 404.

  • Requires the capability me.preferences.write.
  • OAuth scopes: me.
  • Error statuses: 400, 401, 404, 429. Errors are RFC 9457 problem details.

Path and query parameters

tourProgress.get: Path and query parameters
FieldTypeRequiredDescription
idstring (uuid)YesIdentifier of the tour progress.
fieldsFieldsNoSparse fieldset: a comma-separated list of top-level fields to return. `id` is always returned.Constraints: pattern ^[a-z_][a-z0-9_]*(,[a-z_][a-z0-9_]*)*$

Response 200: TourProgress

tourProgress.get: TourProgress
FieldTypeRequiredDescription
idstring (uuid)YesIdentifier of the tour progress.
org_idstring (uuid)YesIdentifier of the owning organization, derived from the parent row and never accepted from the caller.
created_atstring (date-time)YesWhen the row was created.
created_bystring (uuid) | nullYesIdentifier of the person who created the row.
updated_atstring (date-time)YesWhen the row was last updated.
updated_bystring (uuid) | nullYesIdentifier of the person who last updated the row.
membership_idstring (uuid)YesIdentifier of the membership of the caller, set by the server.
tour_keystringYesTour key from the help content.Constraints: pattern ^[a-z][a-z0-9-]*(\.[a-z][a-z0-9-]*)*$; length 0 to 100
tour_state"Offered" | "Started" | "Completed" | "Dismissed"YesOffered, Started, Completed or Dismissed.
stepintegerYesLast step reached, from 0.Constraints: range 0 to any
{
  "id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "org_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "created_at": "2026-10-08T14:30:00Z",
  "created_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "updated_at": "2026-10-08T14:30:00Z",
  "updated_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "membership_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "tour_key": "atlas.getting-started",
  "tour_state": "Started",
  "step": 2
}

Code samples

curl -X GET "$XOS_BASE_URL/tour-progress/0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f" \
  -H "Authorization: Bearer $XOS_API_KEY"
const { data, etag } = await xos.tourProgress.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f");
response = xos.tour_progress.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f")
xos tour-progress get 0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f