<commit_before>---
# See `user.yaml` for more docs on these yaml files.
!include ../includes.yaml
name: task
comment: |
  The _task_ is the basic object around which many operations in Asana are
  centered. In the Asana application, multiple tasks populate the middle pane
  according to some view parameters, and the set of selected tasks determines
  the more detailed information presented in the details pane.
notes:
  - |
    [Queries](#query) return a compact representation of each object which is typically the `id` and `name` fields.
    Interested in a specific set of fields or *all* of the fields?
    Use [field selectors](/developers/documentation/getting-started/input-output-options) to manipulate what data is included in a response.

properties:

  - name: id
    <<: *PropType.Id
    comment: |
      Globally unique ID of the task.
      **Note: This field is under active migration to the [`gid` field](#field-gid)--please see our [blog post](/developers/documentation/getting-started/deprecations) for more information.**

  - name: gid
    <<: *PropType.Gid
    comment: |
      Globally unique ID of the task.

  - name: resource_type
    <<: *PropType.ResourceType
    comment: |
      The resource type of this resource. The value for this resource is always `task`.
    example_values:
      - '"task"'
    values:
      - name: task
        comment: A task resource type.

  - name: resource_subtype
    <<: *PropType.ResourceSubtype
    access: Read-only
    comment: |
      The type of task. Different subtypes of tasks retain many of the same fields and behavior, but may render differently in Asana or represent tasks with different semantic meaning.
    example_values:
      - '"default_task"'
      - '"milestone"'
      - '"section"'
    values:
      - name: default_task
        comment: A normal task.
      - name: milestone
        comment: |
          A task that represents a milestone. A milestone marks a specific point in time and cannot have a start_date.
      - name: section
        comment: |
          "**This value is under active migration—please see our [forum post](https://forum.asana.com/t/sections-are-dead-long-live-sections) for more information.**"

          A task which represents a section in list projects - a task that ends in a colon and renders with a different style to visually group tasks together.

  - name: assignee
    <<: *PropType.User
    comment: |
      User to which this task is assigned, or `null` if the task is
      unassigned.

  - name: assignee_status
    <<: *PropType.AssigneeStatus
    comment: |
      Scheduling status of this task for the user it is assigned to. This field
      can only be set if `assignee` is non-null. If the task has an assignee
      and `assignee_status` is null or not present, Asana will set
      `assignee_status` to `inbox`.

  - name: created_at
    <<: *PropType.DateTime
    access: Read-only
    comment: |
      The time at which this task was created.

  - name: completed
    <<: *PropType.Bool
    comment: |
      True if the task is currently marked complete, false if not.

  - name: completed_at
    <<: *PropType.DateTime
    access: Read-only
    comment: |
      The time at which this task was completed, or null if the task is incomplete.

  - name: custom_fields
    <<: *PropType.CustomFieldValuesArray
    comment: |
      Array of custom fields applied to the task. These custom fields represent
      the values recorded on this task for a particular custom field. For
      example, these fields will contain an `enum_value` property for custom
      fields of type `enum`, a `string_value` property for custom fields of
      type `string`, and so on. Please note that the id returned on each custom
      field value *is identical* to the id of the custom field, which allows
      referencing the custom field metadata through the
      `/custom_fields/custom_field-id` endpoint.

  - name: dependencies
    <<: *PropType.ResourceArray
    comment: |
      [Opt In](/developers/documentation/getting-started/input-output-options). Array of resources referencing tasks that this task depends on. The objects contain only the ID of the dependency.

  - name: dependents
    <<: *PropType.ResourceArray
    comment: |
      [Opt In](/developers/documentation/getting-started/input-output-options).
      Array of resources referencing tasks that depend on this task. The objects
      contain only the ID of the dependent.

  - name: due_on
    <<: *PropType.Date
    comment: |
      Date on which this task is due, or null if the task has no due date. This
      takes a date with YYYY-MM-DD format and should not be used together with
      `due_at`.

  - name: due_at
    <<: *PropType.DateTime
    comment: |
      Date and time on which this task is due, or null if the task has no due
      time. This takes a UTC timestamp and should not be used together with
      `due_on`.

  - name: external
    <<: *PropType.External
    comment: |
      This field is returned if external values are set or it is included by using
      [Opt In](/developers/documentation/getting-started/input-output-options).
      The external field allows you to store app-specific metadata on tasks,
      including an id that can be used to retrieve tasks and a data blob that
      can store app-specific character strings. Note that you will need to
      authenticate with Oauth to access or modify this data. Once an external
      id is set, you can use the notation `external:custom_id` to reference your
      object anywhere in the API where you may use the original object id.
      See the page on Custom External Data for more details.

  - name: followers
    <<: *PropType.UserArray
    comment: |
      Array of users following this task.

  - name: liked
    <<: *PropType.Bool
    comment: |
      True if the task is liked by the authorized user, false if not.

  - name: likes
    <<: *PropType.UserArray
    access: Read-only
    comment: |
      Array of users who have liked this task.<commit_msg>Add is_rendered_as_separator property to the Task model<commit_after>---
# See `user.yaml` for more docs on these yaml files.
!include ../includes.yaml
name: task
comment: |
  The _task_ is the basic object around which many operations in Asana are
  centered. In the Asana application, multiple tasks populate the middle pane
  according to some view parameters, and the set of selected tasks determines
  the more detailed information presented in the details pane.
notes:
  - |
    [Queries](#query) return a compact representation of each object which is typically the `id` and `name` fields.
    Interested in a specific set of fields or *all* of the fields?
    Use [field selectors](/developers/documentation/getting-started/input-output-options) to manipulate what data is included in a response.

properties:

  - name: id
    <<: *PropType.Id
    comment: |
      Globally unique ID of the task.
      **Note: This field is under active migration to the [`gid` field](#field-gid)--please see our [blog post](/developers/documentation/getting-started/deprecations) for more information.**

  - name: gid
    <<: *PropType.Gid
    comment: |
      Globally unique ID of the task.

  - name: resource_type
    <<: *PropType.ResourceType
    comment: |
      The resource type of this resource. The value for this resource is always `task`.
    example_values:
      - '"task"'
    values:
      - name: task
        comment: A task resource type.

  - name: resource_subtype
    <<: *PropType.ResourceSubtype
    access: Read-only
    comment: |
      The type of task. Different subtypes of tasks retain many of the same fields and behavior, but may render differently in Asana or represent tasks with different semantic meaning.
    example_values:
      - '"default_task"'
      - '"milestone"'
      - '"section"'
    values:
      - name: default_task
        comment: A normal task.
      - name: milestone
        comment: |
          A task that represents a milestone. A milestone marks a specific point in time and cannot have a start_date.
      - name: section
        comment: |
          "**This value is under active migration—please see our [forum post](https://forum.asana.com/t/sections-are-dead-long-live-sections) for more information.**"

          A task which represents a section in list projects - a task that ends in a colon and renders with a different style to visually group tasks together.

  - name: assignee
    <<: *PropType.User
    comment: |
      User to which this task is assigned, or `null` if the task is
      unassigned.

  - name: assignee_status
    <<: *PropType.AssigneeStatus
    comment: |
      Scheduling status of this task for the user it is assigned to. This field
      can only be set if `assignee` is non-null. If the task has an assignee
      and `assignee_status` is null or not present, Asana will set
      `assignee_status` to `inbox`.

  - name: created_at
    <<: *PropType.DateTime
    access: Read-only
    comment: |
      The time at which this task was created.

  - name: completed
    <<: *PropType.Bool
    comment: |
      True if the task is currently marked complete, false if not.

  - name: completed_at
    <<: *PropType.DateTime
    access: Read-only
    comment: |
      The time at which this task was completed, or null if the task is incomplete.

  - name: custom_fields
    <<: *PropType.CustomFieldValuesArray
    comment: |
      Array of custom fields applied to the task. These custom fields represent
      the values recorded on this task for a particular custom field. For
      example, these fields will contain an `enum_value` property for custom
      fields of type `enum`, a `string_value` property for custom fields of
      type `string`, and so on. Please note that the id returned on each custom
      field value *is identical* to the id of the custom field, which allows
      referencing the custom field metadata through the
      `/custom_fields/custom_field-id` endpoint.

  - name: dependencies
    <<: *PropType.ResourceArray
    comment: |
      [Opt In](/developers/documentation/getting-started/input-output-options). Array of resources referencing tasks that this task depends on. The objects contain only the ID of the dependency.

  - name: dependents
    <<: *PropType.ResourceArray
    comment: |
      [Opt In](/developers/documentation/getting-started/input-output-options).
      Array of resources referencing tasks that depend on this task. The objects
      contain only the ID of the dependent.

  - name: due_on
    <<: *PropType.Date
    comment: |
      Date on which this task is due, or null if the task has no due date. This
      takes a date with YYYY-MM-DD format and should not be used together with
      `due_at`.

  - name: due_at
    <<: *PropType.DateTime
    comment: |
      Date and time on which this task is due, or null if the task has no due
      time. This takes a UTC timestamp and should not be used together with
      `due_on`.

  - name: external
    <<: *PropType.External
    comment: |
      This field is returned if external values are set or it is included by using
      [Opt In](/developers/documentation/getting-started/input-output-options).
      The external field allows you to store app-specific metadata on tasks,
      including an id that can be used to retrieve tasks and a data blob that
      can store app-specific character strings. Note that you will need to
      authenticate with Oauth to access or modify this data. Once an external
      id is set, you can use the notation `external:custom_id` to reference your
      object anywhere in the API where you may use the original object id.
      See the page on Custom External Data for more details.

  - name: followers
    <<: *PropType.UserArray
    comment: |
      Array of users following this task.

  - name: is_rendered_as_separator
    <<: *PropType.Bool
    comment: |
      [Opt In](/developers/documentation/getting-started/input-output-options). In some contexts tasks can be rendered as a visual separator; for instance, subtasks can appear similar to [sections](/developers/api-reference/sections) without being true section objects. If a `task` object is rendered this way in any context it will have the property `is_rendered_as_separator` set to `true`.<br /><br />**Note:** Until the default behavior for our API changes integrations must [opt in to the `new_sections` change](https://forum.asana.com/t/sections-are-dead-long-live-sections/33951) to modify the `is_rendered_as_separator` property.

  - name: liked
    <<: *PropType.Bool
    comment: |
      True if the task is liked by the authorized user, false if not.

  - name: likes
    <<: *PropType.UserArray
    access: Read-only
    comment: |
      Array of users who have liked this task.
{'fraction_non_alphanumeric': 0.07338308457711443, 'fraction_numerical': 0.000388681592039801, 'mean_word_length': 2.864523881045359, 'pattern_counts': {'":': 0, '<': 79, '<?xml version=': 0, '>': 5, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2815102', 'n_tokens_mistral': 3536, 'n_tokens_neox': 3374, 'n_words': 1566}