SafetyCulture · Schema
CreateActionRequest represents the parameters to `CreateAction`
CompanyBusiness ApplicationsSafetyInspectionWorkplace OperationsEHSComplianceTrainingField ServiceWebhookAustralia
Properties
| Name | Type | Description |
|---|---|---|
| task_id | string | The unique identifier of the action If not provided, UUID will be generated server side. |
| title | string | Required. Title of the action Title is limited to only 255 characters max. |
| description | string | Description of the action (maximum 30000 characters). |
| collaborators | array | The collaborators involved into this action. |
| priority_id | string | ID of the action's priority If not set, this action will be stored with the default priority(none). |
| status_id | string | ID of the action's status If not set, this action will be stored with the default status(to do). |
| created_at | string | Date and time this action was created. |
| due_at | string | Date/time this action is due |
| inspection_id | string | ID of the inspection the action belongs to If not set, this action is a standalone action and the inspection ID will be null. |
| inspection_item_id | string | ID of the item in the inspection associated with the action |
| template_id | string | If a template ID is provided then an inspection ID must be provided. If not set, this action is a standalone action and the template ID will be null. |
| site_id | string | ID of the Site associated with the action. |
| references | array | Array of references attached to this action. |
| asset_id | string | ID of the Asset associated with the action |
| label_ids | array | IDs of the labels associated with the action. |
| type | object | The type to create an action in. |
| field_values | array | Array of custom fields and their values to create with the action. |
| template_ids | array | The list of templates to be linked to the action. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/safetyculture/main/json-schema/safetyculture-s12-tasks-v1-create-action-request-schema.json",
"title": "CreateActionRequest represents the parameters to `CreateAction`",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/safetyculture-mitti-api-openapi.yml#/components/schemas/s12.tasks.v1.CreateActionRequest",
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The unique identifier of the action\nIf not provided, UUID will be generated server side."
},
"title": {
"type": "string",
"description": "Required. Title of the action\nTitle is limited to only 255 characters max."
},
"description": {
"type": "string",
"description": "Description of the action (maximum 30000 characters)."
},
"collaborators": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/s12.tasks.v1.Task.Collaborator"
},
"description": "The collaborators involved into this action."
},
"priority_id": {
"type": "string",
"description": "ID of the action's priority\nIf not set, this action will be stored with the default priority(none)."
},
"status_id": {
"type": "string",
"description": "ID of the action's status\nIf not set, this action will be stored with the default status(to do)."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Date and time this action was created."
},
"due_at": {
"type": "string",
"format": "date-time",
"description": "Date/time this action is due"
},
"inspection_id": {
"type": "string",
"description": "ID of the inspection the action belongs to\nIf not set, this action is a standalone action and the inspection ID will\nbe null."
},
"inspection_item_id": {
"type": "string",
"description": "ID of the item in the inspection associated with the action"
},
"template_id": {
"type": "string",
"description": "If a template ID is provided then an inspection ID must be\nprovided. If not set, this action is a standalone action and the template\nID will be null."
},
"site_id": {
"type": "string",
"description": "ID of the Site associated with the action."
},
"references": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/s12.tasks.v1.Task.Reference"
},
"description": "Array of references attached to this action."
},
"asset_id": {
"type": "string",
"description": "ID of the Asset associated with the action"
},
"label_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "IDs of the labels associated with the action."
},
"type": {
"description": "The type to create an action in.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Type"
}
]
},
"field_values": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/s12.typefield.v1.FieldValue"
},
"description": "Array of custom fields and their values to create with the action."
},
"template_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "The list of templates to be linked to the action."
}
},
"required": [
"title"
],
"$defs": {
"s12.common.Color": {
"type": "object",
"properties": {
"red": {
"type": "number",
"format": "float",
"description": "The amount of red in the color as a value in the interval [0, 255]."
},
"green": {
"type": "number",
"format": "float",
"description": "The amount of green in the color as a value in the interval [0, 255]."
},
"blue": {
"type": "number",
"format": "float",
"description": "The amount of blue in the color as a value in the interval [0, 255]."
}
},
"title": "Color represents a color representation of given option and is decimal\nrepresentation of RGB"
},
"s12.common.GeoPosition": {
"type": "object",
"properties": {
"longitude": {
"type": "number",
"format": "double",
"description": "The geographical longitude"
},
"latitude": {
"type": "number",
"format": "double",
"description": "The geographical latitude"
},
"accuracy": {
"type": "integer",
"format": "int32",
"description": "The accuracy in meters"
}
},
"description": "A position is the fundamental geographical geometry construct."
},
"s12.common.MeasurementUnitSymbol": {
"type": "string",
"enum": [
"MEASUREMENT_UNIT_SYMBOL_KILOMETERS",
"MEASUREMENT_UNIT_SYMBOL_MILES",
"MEASUREMENT_UNIT_SYMBOL_HOURS",
"MEASUREMENT_UNIT_SYMBOL_MINUTES",
"MEASUREMENT_UNIT_SYMBOL_INCHES",
"MEASUREMENT_UNIT_SYMBOL_FOOT",
"MEASUREMENT_UNIT_SYMBOL_MILLIMETERS",
"MEASUREMENT_UNIT_SYMBOL_CENTIMETERS",
"MEASUREMENT_UNIT_SYMBOL_METERS",
"MEASUREMENT_UNIT_SYMBOL_MILLILITRES",
"MEASUREMENT_UNIT_SYMBOL_LITRES",
"MEASUREMENT_UNIT_SYMBOL_GALLONS",
"MEASUREMENT_UNIT_SYMBOL_CUBIC_METERS",
"MEASUREMENT_UNIT_SYMBOL_SECONDS",
"MEASUREMENT_UNIT_SYMBOL_FAHRENHEIT",
"MEASUREMENT_UNIT_SYMBOL_CELSIUS",
"MEASUREMENT_UNIT_SYMBOL_KELVIN",
"MEASUREMENT_UNIT_SYMBOL_OUNCE",
"MEASUREMENT_UNIT_SYMBOL_POUNDS",
"MEASUREMENT_UNIT_SYMBOL_TONNES",
"MEASUREMENT_UNIT_SYMBOL_GRAMS",
"MEASUREMENT_UNIT_SYMBOL_KILOGRAMS",
"MEASUREMENT_UNIT_SYMBOL_AMPERES",
"MEASUREMENT_UNIT_SYMBOL_HERTZ",
"MEASUREMENT_UNIT_SYMBOL_OHM",
"MEASUREMENT_UNIT_SYMBOL_VOLTS",
"MEASUREMENT_UNIT_SYMBOL_WATTS",
"MEASUREMENT_UNIT_SYMBOL_CANDELA",
"MEASUREMENT_UNIT_SYMBOL_CYCLES",
"MEASUREMENT_UNIT_SYMBOL_PERCENT",
"MEASUREMENT_UNIT_SYMBOL_POUNDS_PER_SQUARE_INCH",
"MEASUREMENT_UNIT_SYMBOL_MOLE",
"MEASUREMENT_UNIT_SYMBOL_DAYS",
"MEASUREMENT_UNIT_SYMBOL_WEEKS",
"MEASUREMENT_UNIT_SYMBOL_MONTHS"
],
"description": "Collection of symbols (km, mi, hr, etc) used in units of measurement.\n\n - MEASUREMENT_UNIT_SYMBOL_KILOMETERS: Measurement unit symbol for kilometers.\n - MEASUREMENT_UNIT_SYMBOL_MILES: Measurement unit symbol for miles.\n - MEASUREMENT_UNIT_SYMBOL_HOURS: Measurement unit symbol for hours.\n - MEASUREMENT_UNIT_SYMBOL_MINUTES: Measurement unit symbol for minutes.\n - MEASUREMENT_UNIT_SYMBOL_INCHES: Measurement unit symbol for inches.\n - MEASUREMENT_UNIT_SYMBOL_FOOT: Measurement unit symbol for foot.\n - MEASUREMENT_UNIT_SYMBOL_MILLIMETERS: Measurement unit symbol for Millimeters.\n - MEASUREMENT_UNIT_SYMBOL_CENTIMETERS: Measurement unit symbol for Centimeters.\n - MEASUREMENT_UNIT_SYMBOL_METERS: Measurement unit symbol for meters.\n - MEASUREMENT_UNIT_SYMBOL_MILLILITRES: Measurement unit symbol for millilitres.\n - MEASUREMENT_UNIT_SYMBOL_LITRES: Measurement unit symbol for litres.\n - MEASUREMENT_UNIT_SYMBOL_GALLONS: Measurement unit symbol for gallons.\n - MEASUREMENT_UNIT_SYMBOL_CUBIC_METERS: Measurement unit symbol for cubic meters.\n - MEASUREMENT_UNIT_SYMBOL_SECONDS: Measurement unit symbol for seconds.\n - MEASUREMENT_UNIT_SYMBOL_FAHRENHEIT: Measurement unit symbol for fahrenheit.\n - MEASUREMENT_UNIT_SYMBOL_CELSIUS: Measurement unit symbol for celsius.\n - MEASUREMENT_UNIT_SYMBOL_KELVIN: Measurement unit symbol for kelvin.\n - MEASUREMENT_UNIT_SYMBOL_OUNCE: Measurement unit symbol for ounce.\n - MEASUREMENT_UNIT_SYMBOL_POUNDS: Measurement unit symbol for pounds.\n - MEASUREMENT_UNIT_SYMBOL_TONNES: Measurement unit symbol for tonnes.\n - MEASUREMENT_UNIT_SYMBOL_GRAMS: Measurement unit symbol for grams.\n - MEASUREMENT_UNIT_SYMBOL_KILOGRAMS: Measurement unit symbol for kilograms.\n - MEASUREMENT_UNIT_SYMBOL_AMPERES: Measurement unit symbol for amperes.\n - MEASUREMENT_UNIT_SYMBOL_HERTZ: Measurement unit symbol for hertz.\n - MEASUREMENT_UNIT_SYMBOL_OHM: Measurement unit symbol for ohm.\n - MEASUREMENT_UNIT_SYMBOL_VOLTS: Measurement unit symbol for volts.\n - MEASUREMENT_UNIT_SYMBOL_WATTS: Measurement unit symbol for watts.\n - MEASUREMENT_UNIT_SYMBOL_CANDELA: Measurement unit symbol for candela.\n - MEASUREMENT_UNIT_SYMBOL_CYCLES: Measurement unit symbol for cycles.\n - MEASUREMENT_UNIT_SYMBOL_PERCENT: Measurement unit symbol for percent.\n - MEASUREMENT_UNIT_SYMBOL_POUNDS_PER_SQUARE_INCH: Measurement unit symbol for pounds per square inch.\n - MEASUREMENT_UNIT_SYMBOL_MOLE: Measurement unit symbol for mole.\n - MEASUREMENT_UNIT_SYMBOL_DAYS: Measurement unit symbol for days.\n - MEASUREMENT_UNIT_SYMBOL_WEEKS: Measurement unit symbol for weeks.\n - MEASUREMENT_UNIT_SYMBOL_MONTHS: Measurement unit symbol for months."
},
"s12.common.Media": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"token": {
"type": "string"
},
"filename": {
"type": "string",
"description": "full file name, including file extension"
},
"media_type": {
"$ref": "#/$defs/s12.common.MediaType"
}
},
"title": "Represents an image or video"
},
"s12.common.MediaType": {
"type": "string",
"enum": [
"MEDIA_TYPE_IMAGE",
"MEDIA_TYPE_VIDEO",
"MEDIA_TYPE_PDF",
"MEDIA_TYPE_DOCX",
"MEDIA_TYPE_XLSX",
"MEDIA_TYPE_PPTX",
"MEDIA_TYPE_CSV"
],
"description": " - MEDIA_TYPE_IMAGE: An image file (GIF, JPG, PNG, WEBP).\n - MEDIA_TYPE_VIDEO: A video file (MP4, MOV).\n - MEDIA_TYPE_PDF: A PDF document.\n - MEDIA_TYPE_DOCX: A Microsoft Word document (DOCX, DOC).\n - MEDIA_TYPE_XLSX: A Microsoft Excel spreadsheet (XLSX, XLS).\n - MEDIA_TYPE_PPTX: A Microsoft PowerPoint presentation (PPTX, PPT).\n - MEDIA_TYPE_CSV: A CSV file."
},
"s12.common.Money": {
"type": "object",
"properties": {
"currency_code": {
"type": "string",
"description": "The 3-letter currency code defined in ISO 4217."
},
"units": {
"type": "string",
"format": "int64",
"description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar."
},
"nanos": {
"type": "integer",
"format": "int32",
"description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example £-1.75 is represented as `units`=-1 and `nanos`=-750,000,000."
}
},
"description": "Represents an amount of money with its currency type."
},
"s12.common.TemperatureUnit": {
"type": "string",
"enum": [
"KELVIN",
"CELSIUS",
"FAHRENHEIT"
],
"default": "UNKNOWN_TEMPERATURE_UNIT",
"description": "- KELVIN: Represents Kelvin temperature unit\n - CELSIUS: Represents Celsius temperature unit\n - FAHRENHEIT: Represents Fahrenheit temperature unit",
"title": "Represents different units to measure temperature"
},
"s12.tasks.v1.AlertEventLevel": {
"type": "string",
"enum": [
"OK",
"INFO",
"WARN",
"CRITICAL"
],
"default": "UNKNOWN_LEVEL",
"description": "- OK: `OK` level indicates that device metric became healthy\n - INFO: `INFO` level indicates that the first alert event sent\n - WARN: `WARN` level indicates that the second alert event sent\n - CRITICAL: `CRITICAL` level indicates that the third alert event sent",
"title": "Alert event level represents a level of importance of the alert event"
},
"s12.tasks.v1.CollaboratorRole": {
"type": "string",
"enum": [
"ASSIGNEE",
"CREATOR"
],
"default": "COLLABORATOR_ROLE_NOT_SET",
"description": "- ASSIGNEE: The collaborator has been assigned to a task.\n - CREATOR: The collaborator has created the task.",
"title": "The role of the collaborator in relation to a task"
},
"s12.tasks.v1.CollaboratorType": {
"type": "string",
"enum": [
"USER",
"GROUP",
"EXTERNAL_USER",
"CONTRIBUTOR"
],
"default": "COLLABORATOR_TYPE_NOT_SET",
"description": "- USER: The collaborator is an internal user.\n - GROUP: The collaborator is a group.\n - EXTERNAL_USER: The collaborator is an external user.\nThis happens when a task is assigned to an email address.\n - CONTRIBUTOR: The collaborator is a contributor.\nA contributor is an individual who raises a task anonymously. For example,\ncreating an incident through the incident QR code functionality.",
"title": "The type of the collaborator"
},
"s12.tasks.v1.MetricType": {
"type": "string",
"enum": [
"TEMPERATURE",
"HUMIDITY",
"BATTERY",
"SIGNAL",
"AIR_QUALITY_PM25",
"AIR_QUALITY_PM10",
"TEMPERATURE_2",
"DIFFERENTIAL_AIR_PRESSURE",
"CO",
"DOOR_OPEN_CLOSED",
"BATTERY_VOLTAGE",
"WEATHER",
"WIND_SPEED",
"WIND_DIRECTION",
"WIND_GUST",
"CO2"
],
"default": "UNKNOWN_TYPE",
"description": "- TEMPERATURE: Temperature metric\n - HUMIDITY: Humidity metric\n - BATTERY: Battery level. Percentage based i.e. 0 - 100\n - SIGNAL: Signal strength metric\n - AIR_QUALITY_PM25: Air quality for particulate matter less than 2.5 microns\n - AIR_QUALITY_PM10: Air quality for particulate matter less than 10 microns\n - TEMPERATURE_2: Alternative temperature (Some hardware i.e. Avem Quirks do have 2 probes\nand are sending 2 temperatures)\n - DIFFERENTIAL_AIR_PRESSURE: Differential air pressure\n - CO: Carbon monoxide\n - DOOR_OPEN_CLOSED: Door open/closed boolean metric\n - BATTERY_VOLTAGE: Battery voltage metric\n - WEATHER: Weather (e.g. sunny, thunderstorms)\n - WIND_SPEED: Wind speed\n - WIND_DIRECTION: Wind direction\n - WIND_GUST: Wind gust\n - CO2: Carbon dioxide",
"title": "Metric type represents a type of received metric"
},
"s12.tasks.v1.ReferenceType": {
"type": "string",
"enum": [
"SENSOR",
"SENSOR_ALERT",
"INSPECTION",
"INCIDENT",
"SCHEDULE",
"ACTION",
"LINKED_INSPECTION",
"ASSET_MAINTENANCE_PLAN"
],
"default": "REFERENCE_TYPE_NOT_SET",
"description": "Reference type. The idea here is to list all the \"external\" types that would\nbe used as a reference when creating actions."
},
"s12.tasks.v1.Task.ActionContext": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the action"
},
"description": {
"type": "string",
"description": "Description of the action"
},
"creator": {
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.User"
}
],
"description": "User that created the action"
},
"status": {
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.Status"
}
],
"description": "Status ID of the action"
},
"due_at": {
"type": "string",
"format": "date-time",
"description": "Date/time the action is due"
},
"priority_id": {
"type": "string",
"description": "Priority ID of the action"
},
"unique_id": {
"type": "string",
"description": "The human readable unique ID of the action"
},
"collaborators": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/s12.tasks.v1.Task.Collaborator"
},
"description": "The collaborators of the action"
},
"inspection": {
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.Inspection"
}
],
"description": "The inspection of the related action (if relevant)"
},
"type": {
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Type"
}
],
"description": "The type id and label associated with the action"
}
},
"title": "context of an action associated with the incident"
},
"s12.tasks.v1.Task.AddressAnswer": {
"type": "object",
"properties": {
"location_text": {
"type": "string",
"description": "Location text"
},
"location": {
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.AddressLocation"
}
],
"description": "Location info generated only when location is added using a location\npicker"
}
},
"title": "Answer returned for AddressItem"
},
"s12.tasks.v1.Task.AddressLocation": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the task's location."
},
"thoroughfare": {
"type": "string",
"description": "The thoroughfare of the location."
},
"sub_thoroughfare": {
"type": "string",
"description": "The sub_thoroughfare of the location,"
},
"locality": {
"type": "string",
"description": "The locality of the location"
},
"sub_locality": {
"type": "string",
"description": "The sub_locality of the location"
},
"administrative_area": {
"type": "string",
"description": "The administrative_area of the location"
},
"sub_administrative_area": {
"type": "string",
"description": "The sub_administrative_area of the location"
},
"postal_code": {
"type": "string",
"description": "The postal_code of the location"
},
"country": {
"type": "string",
"description": "The country of the location"
},
"iso_country_code": {
"type": "string",
"description": "The iso_country_code of the location"
},
"geo_position": {
"allOf": [
{
"$ref": "#/$defs/s12.common.GeoPosition"
}
],
"description": "The geometry of the location"
}
},
"description": "The location of the task.\nThe latitude and longitude in the `geo_position` object are required.\nAll other fields are optional, but add extra context to the location on\nplatform."
},
"s12.tasks.v1.Task.AssetMaintenancePlan": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the maintenance plan."
},
"name": {
"type": "string",
"description": "The name of the maintenance plan."
},
"state": {
"description": "The state of the maintenance plan.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.AssetMaintenancePlan.AssetMaintenancePlanState"
}
]
}
},
"description": "AssetMaintenancePlan represents the maintenance plan associated with the\naction."
},
"s12.tasks.v1.Task.AssetMaintenancePlan.AssetMaintenancePlanState": {
"type": "string",
"enum": [
"ASSET_MAINTENANCE_PLAN_STATE_UNSPECIFIED",
"ASSET_MAINTENANCE_PLAN_STATE_ACTIVE",
"ASSET_MAINTENANCE_PLAN_STATE_DELETED"
],
"default": "ASSET_MAINTENANCE_PLAN_STATE_UNSPECIFIED",
"description": " - ASSET_MAINTENANCE_PLAN_STATE_UNSPECIFIED: ASSET_MAINTENANCE_PLAN_STATE_UNSPECIFIED is an unknown maintenance plan state.\n - ASSET_MAINTENANCE_PLAN_STATE_ACTIVE: ASSET_MAINTENANCE_PLAN_STATE_ACTIVE is a maintenance plan state that is active.\n - ASSET_MAINTENANCE_PLAN_STATE_DELETED: ASSET_MAINTENANCE_PLAN_STATE_DELETED is a maintenance plan state that is deleted."
},
"s12.tasks.v1.Task.AssetMaintenancePlanContext": {
"type": "object",
"properties": {
"maintenance_plan": {
"description": "The maintenance plan associated with the action.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.AssetMaintenancePlan"
}
]
},
"maintenance_program": {
"description": "The maintenance program where the maintenance plan belongs.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.AssetMaintenanceProgram"
}
]
}
},
"title": "AssetMaintenancePlanContext is the context of the maintenance plan associated\nwith the action"
},
"s12.tasks.v1.Task.AssetMaintenanceProgram": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the maintenance program."
},
"name": {
"type": "string",
"description": "The name of the maintenance program."
},
"state": {
"description": "The state of the maintenance program.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.AssetMaintenanceProgram.AssetMaintenanceProgramState"
}
]
}
},
"description": "AssetMaintenanceProgram represents the maintenance program where the\nmaintenance plan belongs."
},
"s12.tasks.v1.Task.AssetMaintenanceProgram.AssetMaintenanceProgramState": {
"type": "string",
"enum": [
"ASSET_MAINTENANCE_PROGRAM_STATE_UNSPECIFIED",
"ASSET_MAINTENANCE_PROGRAM_STATE_ACTIVE",
"ASSET_MAINTENANCE_PROGRAM_STATE_DELETED"
],
"default": "ASSET_MAINTENANCE_PROGRAM_STATE_UNSPECIFIED",
"description": " - ASSET_MAINTENANCE_PROGRAM_STATE_UNSPECIFIED: ASSET_MAINTENANCE_PROGRAM_STATE_UNSPECIFIED is an unknown maintenance program state.\n - ASSET_MAINTENANCE_PROGRAM_STATE_ACTIVE: ASSET_MAINTENANCE_PROGRAM_STATE_ACTIVE is a maintenance program state that is active.\n - ASSET_MAINTENANCE_PROGRAM_STATE_DELETED: ASSET_MAINTENANCE_PROGRAM_STATE_DELETED is a maintenance program state that is deleted."
},
"s12.tasks.v1.Task.Attachments": {
"type": "object",
"properties": {
"note": {
"type": "string",
"description": "Note inside Attachments of inspectionItem Answer"
},
"media": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/s12.common.Media"
},
"description": "images or pdf inside Attachments of inspectionItem Answer"
}
},
"title": "Attachments of inspectionItem Answer"
},
"s12.tasks.v1.Task.CheckboxAnswer": {
"type": "object",
"properties": {
"answer": {
"type": "boolean",
"description": "answer content for CheckboxAnswer"
}
},
"title": "Answer returned for CheckboxItem"
},
"s12.tasks.v1.Task.Collaborator": {
"type": "object",
"properties": {
"collaborator_id": {
"type": "string",
"description": "A UUID uniquely identifying this collaborator."
},
"collaborator_type": {
"description": "The type of the collaborator i.e. group or user.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.CollaboratorType"
}
]
},
"assigned_role": {
"description": "The role of the collaborator in this task.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.CollaboratorRole"
}
]
},
"user": {
"description": "Collaborator details for an authenticated user.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.User"
}
]
},
"group": {
"description": "Collaborator details for a group.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.Group"
}
]
},
"external_user": {
"description": "Collaborator details for an external user.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.ExternalUser"
}
]
},
"contributor": {
"description": "Collaborator details for a contributor.",
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.Contributor"
}
]
}
},
"description": "A collaborator is somebody who is involved with the task.\nThey have either created the task, or are assigned to it."
},
"s12.tasks.v1.Task.Contributor": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The UUID uniquely identifying this contributor"
},
"name": {
"type": "string",
"description": "Optional. The contributor's name."
},
"email": {
"type": "string",
"description": "Optional. The contributor's email address."
},
"contact": {
"type": "string",
"description": "Optional. The contributor's (freetext) contact details."
}
},
"title": "The contributor that raised the issue"
},
"s12.tasks.v1.Task.DateTimeAnswer": {
"type": "object",
"properties": {
"answer": {
"type": "string",
"format": "date-time",
"description": "answer content for DateTimeItem"
},
"enable_date": {
"type": "boolean",
"description": "Enable date turns on input for date values"
},
"enable_time": {
"type": "boolean",
"description": "Enable date turns on input for time values"
}
},
"title": "Answer returned for DateTimeItem"
},
"s12.tasks.v1.Task.DrawingAnswer": {
"type": "object",
"properties": {
"media": {
"allOf": [
{
"$ref": "#/$defs/s12.common.Media"
}
],
"description": "media field contains media ID and token to download the media content"
}
},
"title": "Answer returned for DrawingItem"
},
"s12.tasks.v1.Task.ExternalUser": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The UUID uniquely identifying this external user."
},
"email": {
"type": "string",
"description": "The email address of the external user."
}
},
"description": "The external user that is assigned to a task."
},
"s12.tasks.v1.Task.Group": {
"type": "object",
"properties": {
"group_id": {
"type": "string",
"description": "The UUID of this group."
},
"name": {
"type": "string",
"description": "The name of the group"
}
},
"description": "The group that is assigned to a task."
},
"s12.tasks.v1.Task.IncidentContext": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the incident"
},
"description": {
"type": "string",
"description": "Description of the incident"
},
"creator": {
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.User"
}
],
"description": "User that created the incident"
},
"status_id": {
"type": "string",
"description": "Status ID of the incident"
},
"category_id": {
"type": "string",
"description": "Category of the incident"
},
"due_at": {
"type": "string",
"format": "date-time",
"description": "Date/time the incident is due"
},
"priority_id": {
"type": "string",
"description": "Priority ID of the incident"
},
"unique_id": {
"type": "string",
"description": "The human readable unique ID of the incident"
},
"collaborators": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/$defs/s12.tasks.v1.Task.Collaborator"
},
"description": "The collaborators of the incident"
}
},
"title": "context of an incident associated with the action"
},
"s12.tasks.v1.Task.Inspection": {
"type": "object",
"properties": {
"inspection_id": {
"type": "string",
"description": "ID of the inspection the action belongs to"
},
"inspection_name": {
"type": "string",
"description": "The name of the inspection the action belongs to"
}
},
"title": "The inspection data of this task"
},
"s12.tasks.v1.Task.InspectionContext": {
"type": "object",
"properties": {
"inspection_id": {
"type": "string",
"description": "ID of the inspection associated with the action"
},
"inspection_name": {
"type": "string",
"description": "name of the inspection associated with the action"
},
"inspection_item_id": {
"type": "string",
"description": "ID of the inspectionItem associated with the action"
},
"inspection_item_name": {
"type": "string",
"description": "name of the inspectionItem associated with the action"
},
"inspection_item_type": {
"type": "string",
"description": "@deprecated The type of the inspectionItem associated with the action"
},
"inspection_item_path": {
"type": "array",
"items": {
"type": "string"
},
"description": "The path(breadcrumbs) of the inspectionItem associated with the action"
},
"inspection_item_attachments": {
"allOf": [
{
"$ref": "#/$defs/s12.tasks.v1.Task.Attachments"
}
],
"description": "Attachments of the inspectionItem associated with the action"
},
"list_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.ListAnswer"
},
"text_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.TextAnswer"
},
"checkbox_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.CheckboxAnswer"
},
"media_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.MediaAnswer"
},
"signature_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.SignatureAnswer"
},
"drawing_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.DrawingAnswer"
},
"slider_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.SliderAnswer"
},
"datetime_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.DateTimeAnswer"
},
"address_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.AddressAnswer"
},
"switch_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.SwitchAnswer"
},
"temperature_answer": {
"$ref": "#/$defs/s12.tasks.v1.Task.TemperatureAnswer"
},
"inspection_deleted": {
"type": "boolean",
"description": "Flag indicated whether the inspection has been deleted"
},
"is_complete": {
# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/safetyculture/refs/heads/main/json-schema/safetyculture-s12-tasks-v1-create-action-request-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/safetyculture-s12-tasks-v1-create-action-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.