PurrOSDocs

Forms, Checklists & Compliance

Forms and submissions, scored audits, corrective actions, sensors and readings.

For how this area works day to day, see the Forms, checklists & compliance guide.

Webhook events: form.submitted, form.answer_failed, checklist.overdue Planned, corrective_action.created, corrective_action.closed, audit.completed, sensor.out_of_range. See Webhooks.

All paths are relative to /api/v1. Key is the scope an integration key needs, People the permission a signed-in person or personal key needs, and Feature the feature switch the endpoint belongs to. See how to read this reference.

  • GET/audits

    List scored audits

    Keyoperations:read
    Peopleaudits.read
    Featureoperations.audits
  • GET/corrective-actions

    List corrective actions

    Keyoperations:read
    Peoplecorrective_actions.manage
    Featureoperations.corrective_actions
  • POST/corrective-actions

    Create a corrective action

    Keyoperations:write
    Peoplecorrective_actions.manage
    Featureoperations.corrective_actions
  • GET/corrective-actions/{id}

    Get a corrective action

    Keyoperations:read
    Peoplecorrective_actions.manage
    Featureoperations.corrective_actions
  • PATCH/corrective-actions/{id}

    Update a corrective action (partial)

    Keyoperations:write
    Peoplecorrective_actions.manage
    Featureoperations.corrective_actions
  • POST/corrective-actions/{id}:close

    Close a corrective action with its resolution

    Keyoperations:write
    Peoplecorrective_actions.manage
    Featureoperations.corrective_actions
  • GET/form-submissions

    List submissions

    Keyoperations:read
    Peoplechecklists.manage
    Featureoperations
  • POST/form-submissions

    Submit a completed form or checklist

    Keyoperations:write
    Peoplechecklists.complete
    Featureoperations
  • GET/form-submissions/{id}

    Get a submission with per-question results

    Keyoperations:read
    Peoplechecklists.manage
    Featureoperations
  • GET/forms

    List forms

    Keyoperations:read
    Peoplechecklists.complete
    Featureoperations
  • POST/forms

    Create a form

    Keyoperations:write
    Peopleforms.manage
    Featureoperations
  • GET/forms/external/{externalId}

    Get a form by external ID

    Keyoperations:read
    Peoplechecklists.complete
    Featureoperations
  • PUT/forms/external/{externalId}

    Create or replace a form by external ID

    Keyoperations:write
    Peopleforms.manage
    Featureoperations
  • GET/forms/{id}

    Get a form

    Keyoperations:read
    Peoplechecklists.complete
    Featureoperations
  • PATCH/forms/{id}

    Update a form (partial)

    Keyoperations:write
    Peopleforms.manage
    Featureoperations
  • DELETE/forms/{id}

    Archive a form

    Keyoperations:write
    Peopleforms.manage
    Featureoperations
  • POST/sensor-readings

    Send sensor readings

    Keyoperations:write
    Peoplenot allowed
    Featureoperations.sensors
  • GET/sensors

    List sensors

    Keyoperations:read
    Peoplesensors.manage
    Featureoperations.sensors
  • POST/sensors

    Create a sensor

    Keyoperations:write
    Peoplesensors.manage
    Featureoperations.sensors
  • GET/sensors/external/{externalId}

    Get a sensor by external ID

    Keyoperations:read
    Peoplesensors.manage
    Featureoperations.sensors
  • PUT/sensors/external/{externalId}

    Create or replace a sensor by external ID

    Keyoperations:write
    Peoplesensors.manage
    Featureoperations.sensors
  • GET/sensors/{id}

    Get a sensor

    Keyoperations:read
    Peoplesensors.manage
    Featureoperations.sensors
  • PATCH/sensors/{id}

    Update a sensor (partial)

    Keyoperations:write
    Peoplesensors.manage
    Featureoperations.sensors
  • DELETE/sensors/{id}

    Archive a sensor

    Keyoperations:write
    Peoplesensors.manage
    Featureoperations.sensors
  • GET/sensors/{id}/readings

    Recent readings for a sensor (newest first, up to 1,000)

    Keyoperations:read
    Peoplesensors.manage
    Featureoperations.sensors