---
title: "Create an action with recurring schedule"
method: POST
path: "/tasks/v1/actions/schedule"
tags: ["Actions"]
---

# Create an action with recurring schedule

`POST /tasks/v1/actions/schedule`

## Request body

- S12TasksV1CreateActionScheduleRequest
  - `title` string — Title of the actions that will be created in this schedule
  - `description` string — Description of the actions that will be created in this schedule
  - `collaborators` S12TasksV1TaskCollaborator[] — The assignees of the actions that will be created in this schedule
    - `collaborator_id` string — A UUID uniquely identifying this collaborator.
    - `collaborator_type` 'USER' | 'GROUP' | 'EXTERNAL_USER' | 'CONTRIBUTOR' — - USER: The collaborator is an internal user. - GROUP: The collaborator is a group. - EXTERNAL_USER: The collaborator is an external user. This happens when a task is assigned to an email address. - CONTRIBUTOR: The collaborator is a contributor. A contributor is an individual who raises a task anonymously. For example, creating an incident through the incident QR code functionality.
    - `assigned_role` 'ASSIGNEE' | 'CREATOR' — - ASSIGNEE: The collaborator has been assigned to a task. - CREATOR: The collaborator has created the task.
    - `user` S12TasksV1TaskUser — The user associated to the task. They could be a creator or assignee.
      - `user_id` string — The UUID of this user.
      - `firstname` string — The first name of the user.
      - `lastname` string — The last name of the user.
    - `group` S12TasksV1TaskGroup — The group that is assigned to a task.
      - `group_id` string — The UUID of this group.
      - `name` string — The name of the group
    - `external_user` S12TasksV1TaskExternalUser — The external user that is assigned to a task.
      - `id` string — The UUID uniquely identifying this external user.
      - `email` string — The email address of the external user.
    - `contributor` S12TasksV1TaskContributor
      - `id` string — The UUID uniquely identifying this contributor
      - `name` string — Optional. The contributor's name.
      - `email` string — Optional. The contributor's email address.
      - `contact` string — Optional. The contributor's (freetext) contact details.
  - `priority_id` string — The priority ID of the actions that will be created in this schedule If not set, these actions will be stored with the default priority(none)
  - `site_id` string — The site ID of the actions that will be created in this schedule
  - `asset_id` string — The asset ID of the actions that will be created in this schedule
  - `label_ids` string[] — The label IDs of the actions that will be created in this schedule
  - `frequency` string — The frequency rule for the schedule to create actions. This follows RFC 5545, and is in the RRule format.
  - `action_id` string — This ID will be used to create the first action in the schedule right away. It is specified here to allow for optimistic update of the UI, as well as redirecting to the action details view.
  - `field_values` S12TypefieldV1FieldValue[] — Array of custom fields and their values of the actions that will be created in this schedule
    - `field_id` string — A global unique identifier for a field.
    - `string_value` string — The string value of a field.
    - `money_value` S12CommonMoney — Represents an amount of money with its currency type.
      - `currency_code` string — The 3-letter currency code defined in ISO 4217.
      - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example £-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
    - `timestamp_value` string, date-time — The timestamp value of a field.
    - `integer_value` string, int64 — The integer value of a field. Signed, 64-bit integer.
    - `address_location_value` S12TypefieldV1AddressLocation — Address and location details for a structure.
      - `name` string — The name of the location.
      - `thoroughfare` string — The thoroughfare of the location.
      - `sub_thoroughfare` string — The sub-thoroughfare of the location.
      - `locality` string — The locality of the location.
      - `sub_locality` string — The sub-locality of the location.
      - `administrative_area` string — The administrative area of the location.
      - `sub_administrative_area` string — The sub-administrative area of the location.
      - `postal_code` string — The postal code of the location.
      - `country` string — The country of the location.
      - `iso_country_code` string — The ISO country code of the location.
      - `geo_position` S12CommonGeoPosition — A position is the fundamental geographical geometry construct.
        - `longitude` number, double — The geographical longitude
        - `latitude` number, double — The geographical latitude
        - `accuracy` integer — The accuracy in meters
    - `contact_details_value` S12TypefieldV1ContactDetails — Contact details for a person or entity.
      - `name` string — The name of the contact.
      - `phone` string — The phone number of the contact.
      - `email` string — The email address of the contact.
    - `multi_select_value` S12TypefieldV1MultiSelectValue — MultiSelectValue represents the value of a multi-select custom field. option_ids contains the UUIDs of the selected options (as strings). An empty option_ids with has_value = true means the field was explicitly cleared. has_value = false (or absent) means the field has never been set on this record.
      - `option_ids` string[] — UUIDs of the selected options. May be empty if the field was explicitly cleared.
      - `has_value` boolean — True if this field has ever been explicitly saved (including a clear to empty). Distinguishes "user cleared all selections" from "field was never touched".
  - `type` S12TasksV1Type — The type associated with an action.
    - `type` 'TASK_TYPE_ACTION' | 'TASK_TYPE_CUSTOM' — - TASK_TYPE_ACTION: Indicates this task is of type Action. - TASK_TYPE_CUSTOM: Indicates this task is of a custom type.
    - `id` string — The unique identifier of a type.
    - `name` string — The name of a type.
  - `template_ids` string[] — The list of templates identifiers linked to an action.

## Response `200`

A successful response.

- S12TasksV1CreateActionScheduleResponse

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/safetyculture/apis/safetyculture-api.md) · [All operations](https://skmtc.net/safetyculture/apis/safetyculture-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/safetyculture/safetyculture-api/revisions/5be91df61ded/schema)
