Skip to content

Get a std sop

Canon module

GET/canon/std/sops/{sop_id}canonStdSops.get

A standard operating procedure. Standard Library row, copied into each new org as editable org data. Returns one std sop with its `ETag`. A std sop the caller may not see returns 404.

  • Requires the capability canon.taxonomy.read.
  • OAuth scopes: canon.
  • Error statuses: 400, 401, 404, 429. Errors are RFC 9457 problem details.

Path and query parameters

canonStdSops.get: Path and query parameters
FieldTypeRequiredDescription
sop_idStdCodeYesNatural code of a Standard Library row (Section 2.1).Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
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: StdSop

canonStdSops.get: StdSop
FieldTypeRequiredDescription
sop_idStdCodeYesNatural code of a Standard Library row (Section 2.1).Constraints: pattern ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$
titlestring | nullYesSOP title.Constraints: length 1 to 200
operational_domainstring | nullYesOperational domain.Constraints: length 1 to 300
revisionstring | nullYesRevision.Constraints: length 1 to 100
accountable_role_codestring | nullYesAccountable role code.Constraints: length 1 to 100
required_ppe_compliance_tagstring | nullYesRequired PPE and compliance tags.Constraints: length 1 to 20000
prerequisites_and_hazardsstring | nullYesPrerequisites and hazards.Constraints: length 1 to 20000
procedure_step_1string | nullYesProcedure step 1.Constraints: length 1 to 20000
procedure_step_2string | nullYesProcedure step 2.Constraints: length 1 to 20000
procedure_step_3string | nullYesProcedure step 3.Constraints: length 1 to 20000
procedure_step_4string | nullYesProcedure step 4.Constraints: length 1 to 20000
reference_doc_idstring | nullYesReference document.Constraints: length 1 to 200
departmentstring | nullYesDepartment as the sheet names it.Constraints: length 1 to 200
categorystring | nullYesCategory code or name as the sheet gives it.Constraints: length 1 to 200
sub_categorystring | nullYesSub-category as the sheet names it.Constraints: length 1 to 200
statusstring | nullYesRow status in the sheet.Constraints: length 1 to 200
notesstring | nullYesNotes in the sheet.Constraints: length 1 to 20000
organizationstring | nullYesOrganization as the sheet names it.Constraints: length 1 to 200
projectstring | nullYesProject as the sheet names it.Constraints: length 1 to 200
{
  "sop_id": "SOP-001",
  "title": "Working at Height",
  "operational_domain": "Structural & Rigging Safety",
  "revision": "v2.0",
  "accountable_role_code": "5000.51.02",
  "required_ppe_compliance_tag": "TAG-002 OSHA",
  "prerequisites_and_hazards": "Verify the drop zone.",
  "procedure_step_1": "Inspect every hoist.",
  "procedure_step_2": "Lift to trim.",
  "procedure_step_3": "Load test.",
  "procedure_step_4": "Sign off.",
  "reference_doc_id": "DOC-004",
  "department": "5000 Production",
  "category": "5000.05.02",
  "sub_category": "Overhead Rigging",
  "status": "Active",
  "notes": "Primary life safety and incident response",
  "organization": "GHXSTSHIP",
  "project": "CSMIA26"
}

Code samples

curl -X GET "$XOS_BASE_URL/canon/std/sops/SOP-001" \
  -H "Authorization: Bearer $XOS_API_KEY"
const { data, etag } = await xos.canonStdSops.get("SOP-001");
response = xos.canon_std_sops.get("SOP-001")
xos canon-std-sops get SOP-001