Asana Stories API

*See [our forum post](https://forum.asana.com/t/no-more-parsing-story-text-new-fields-on-stories/42924) for more info on when conditional fields are returned.* A story represents an activity associated with an object in the Asana system. Stories are generated by the system whenever users take actions such as creating or assigning tasks, or moving tasks between projects. "Comments" are also a form of user-generated story.

OpenAPI Specification

asana-stories-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Asana Allocations Stories API
  description: The Asana Allocations API allows users to manage and allocate resources within their Asana project management system. An allocation object represents how much of a resource (e.g. person, team) is dedicated to a specific work object (e.g. project, portfolio) over a specific period of time. The effort value can be a percentage or number of hours.
  version: '1.0'
  termsOfService: https://asana.com/terms
  contact:
    name: Asana Support
    url: https://asana.com/support
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://app.asana.com/api/1.0
  description: Main endpoint.
security:
- personalAccessToken: []
- oauth2: []
tags:
- name: Stories
  description: '*See [our forum post](https://forum.asana.com/t/no-more-parsing-story-text-new-fields-on-stories/42924) for more info on when conditional fields are returned.*


    A story represents an activity associated with an object in the Asana system. Stories are generated by the system whenever users take actions such as creating or assigning tasks, or moving tasks between projects. "Comments" are also a form of user-generated story.'
paths:
  /stories/{story_gid}:
    parameters:
    - $ref: '#/components/parameters/story_path_gid'
    - $ref: '#/components/parameters/pretty'
    get:
      summary: Asana Get a story
      description: Returns the full record for a single story.
      tags:
      - Stories
      operationId: getStory
      parameters:
      - name: opt_fields
        in: query
        description: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include.
        required: false
        example:
        - assignee
        - assignee.name
        - created_at
        - created_by
        - created_by.name
        - custom_field
        - custom_field.date_value
        - custom_field.date_value.date
        - custom_field.date_value.date_time
        - custom_field.display_value
        - custom_field.enabled
        - custom_field.enum_options
        - custom_field.enum_options.color
        - custom_field.enum_options.enabled
        - custom_field.enum_options.name
        - custom_field.enum_value
        - custom_field.enum_value.color
        - custom_field.enum_value.enabled
        - custom_field.enum_value.name
        - custom_field.id_prefix
        - custom_field.is_formula_field
        - custom_field.multi_enum_values
        - custom_field.multi_enum_values.color
        - custom_field.multi_enum_values.enabled
        - custom_field.multi_enum_values.name
        - custom_field.name
        - custom_field.number_value
        - custom_field.representation_type
        - custom_field.resource_subtype
        - custom_field.text_value
        - custom_field.type
        - dependency
        - dependency.created_by
        - dependency.name
        - dependency.resource_subtype
        - duplicate_of
        - duplicate_of.created_by
        - duplicate_of.name
        - duplicate_of.resource_subtype
        - duplicated_from
        - duplicated_from.created_by
        - duplicated_from.name
        - duplicated_from.resource_subtype
        - follower
        - follower.name
        - hearted
        - hearts
        - hearts.user
        - hearts.user.name
        - html_text
        - is_editable
        - is_edited
        - is_pinned
        - liked
        - likes
        - likes.user
        - likes.user.name
        - new_approval_status
        - new_date_value
        - new_dates
        - new_dates.due_at
        - new_dates.due_on
        - new_dates.start_on
        - new_enum_value
        - new_enum_value.color
        - new_enum_value.enabled
        - new_enum_value.name
        - new_multi_enum_values
        - new_multi_enum_values.color
        - new_multi_enum_values.enabled
        - new_multi_enum_values.name
        - new_name
        - new_number_value
        - new_people_value
        - new_people_value.name
        - new_resource_subtype
        - new_section
        - new_section.name
        - new_text_value
        - num_hearts
        - num_likes
        - old_approval_status
        - old_date_value
        - old_dates
        - old_dates.due_at
        - old_dates.due_on
        - old_dates.start_on
        - old_enum_value
        - old_enum_value.color
        - old_enum_value.enabled
        - old_enum_value.name
        - old_multi_enum_values
        - old_multi_enum_values.color
        - old_multi_enum_values.enabled
        - old_multi_enum_values.name
        - old_name
        - old_number_value
        - old_people_value
        - old_people_value.name
        - old_resource_subtype
        - old_section
        - old_section.name
        - old_text_value
        - previews
        - previews.fallback
        - previews.footer
        - previews.header
        - previews.header_link
        - previews.html_text
        - previews.text
        - previews.title
        - previews.title_link
        - project
        - project.name
        - resource_subtype
        - source
        - sticker_name
        - story
        - story.created_at
        - story.created_by
        - story.created_by.name
        - story.resource_subtype
        - story.text
        - tag
        - tag.name
        - target
        - target.created_by
        - target.name
        - target.resource_subtype
        - task
        - task.created_by
        - task.name
        - task.resource_subtype
        - text
        - type
        schema:
          type: array
          items:
            type: string
            enum:
            - assignee
            - assignee.name
            - created_at
            - created_by
            - created_by.name
            - custom_field
            - custom_field.date_value
            - custom_field.date_value.date
            - custom_field.date_value.date_time
            - custom_field.display_value
            - custom_field.enabled
            - custom_field.enum_options
            - custom_field.enum_options.color
            - custom_field.enum_options.enabled
            - custom_field.enum_options.name
            - custom_field.enum_value
            - custom_field.enum_value.color
            - custom_field.enum_value.enabled
            - custom_field.enum_value.name
            - custom_field.id_prefix
            - custom_field.is_formula_field
            - custom_field.multi_enum_values
            - custom_field.multi_enum_values.color
            - custom_field.multi_enum_values.enabled
            - custom_field.multi_enum_values.name
            - custom_field.name
            - custom_field.number_value
            - custom_field.representation_type
            - custom_field.resource_subtype
            - custom_field.text_value
            - custom_field.type
            - dependency
            - dependency.created_by
            - dependency.name
            - dependency.resource_subtype
            - duplicate_of
            - duplicate_of.created_by
            - duplicate_of.name
            - duplicate_of.resource_subtype
            - duplicated_from
            - duplicated_from.created_by
            - duplicated_from.name
            - duplicated_from.resource_subtype
            - follower
            - follower.name
            - hearted
            - hearts
            - hearts.user
            - hearts.user.name
            - html_text
            - is_editable
            - is_edited
            - is_pinned
            - liked
            - likes
            - likes.user
            - likes.user.name
            - new_approval_status
            - new_date_value
            - new_dates
            - new_dates.due_at
            - new_dates.due_on
            - new_dates.start_on
            - new_enum_value
            - new_enum_value.color
            - new_enum_value.enabled
            - new_enum_value.name
            - new_multi_enum_values
            - new_multi_enum_values.color
            - new_multi_enum_values.enabled
            - new_multi_enum_values.name
            - new_name
            - new_number_value
            - new_people_value
            - new_people_value.name
            - new_resource_subtype
            - new_section
            - new_section.name
            - new_text_value
            - num_hearts
            - num_likes
            - old_approval_status
            - old_date_value
            - old_dates
            - old_dates.due_at
            - old_dates.due_on
            - old_dates.start_on
            - old_enum_value
            - old_enum_value.color
            - old_enum_value.enabled
            - old_enum_value.name
            - old_multi_enum_values
            - old_multi_enum_values.color
            - old_multi_enum_values.enabled
            - old_multi_enum_values.name
            - old_name
            - old_number_value
            - old_people_value
            - old_people_value.name
            - old_resource_subtype
            - old_section
            - old_section.name
            - old_text_value
            - previews
            - previews.fallback
            - previews.footer
            - previews.header
            - previews.header_link
            - previews.html_text
            - previews.text
            - previews.title
            - previews.title_link
            - project
            - project.name
            - resource_subtype
            - source
            - sticker_name
            - story
            - story.created_at
            - story.created_by
            - story.created_by.name
            - story.resource_subtype
            - story.text
            - tag
            - tag.name
            - target
            - target.created_by
            - target.name
            - target.resource_subtype
            - task
            - task.created_by
            - task.name
            - task.resource_subtype
            - text
            - type
        style: form
        explode: false
      responses:
        200:
          description: Successfully retrieved the specified story.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/StoryResponse'
        400:
          $ref: '#/components/responses/BadRequest'
        401:
          $ref: '#/components/responses/Unauthorized'
        403:
          $ref: '#/components/responses/Forbidden'
        404:
          $ref: '#/components/responses/NotFound'
        500:
          $ref: '#/components/responses/InternalServerError'
      security:
      - oauth2:
        - stories:read
      x-readme:
        code-samples:
        - language: java
          install: <dependency><groupId>com.asana</groupId><artifactId>asana</artifactId><version>1.0.0</version></dependency>
          code: "import com.asana.Client;\n\nClient client = Client.accessToken(\"PERSONAL_ACCESS_TOKEN\");\n\nStory result = client.stories.getStory(storyGid)\n    .option(\"pretty\", true)\n    .execute();"
        - language: node
          install: npm install asana
          code: "const Asana = require('asana');\n\nlet client = Asana.ApiClient.instance;\nlet token = client.authentications['token'];\ntoken.accessToken = '<YOUR_ACCESS_TOKEN>';\n\nlet storiesApiInstance = new Asana.StoriesApi();\nlet story_gid = \"35678\"; // String | Globally unique identifier for the story.\nlet opts = { \n    'opt_fields': \"assignee,assignee.name,created_at,created_by,created_by.name,custom_field,custom_field.date_value,custom_field.date_value.date,custom_field.date_value.date_time,custom_field.display_value,custom_field.enabled,custom_field.enum_options,custom_field.enum_options.color,custom_field.enum_options.enabled,custom_field.enum_options.name,custom_field.enum_value,custom_field.enum_value.color,custom_field.enum_value.enabled,custom_field.enum_value.name,custom_field.id_prefix,custom_field.is_formula_field,custom_field.multi_enum_values,custom_field.multi_enum_values.color,custom_field.multi_enum_values.enabled,custom_field.multi_enum_values.name,custom_field.name,custom_field.number_value,custom_field.representation_type,custom_field.resource_subtype,custom_field.text_value,custom_field.type,dependency,dependency.created_by,dependency.name,dependency.resource_subtype,duplicate_of,duplicate_of.created_by,duplicate_of.name,duplicate_of.resource_subtype,duplicated_from,duplicated_from.created_by,duplicated_from.name,duplicated_from.resource_subtype,follower,follower.name,hearted,hearts,hearts.user,hearts.user.name,html_text,is_editable,is_edited,is_pinned,liked,likes,likes.user,likes.user.name,new_approval_status,new_date_value,new_dates,new_dates.due_at,new_dates.due_on,new_dates.start_on,new_enum_value,new_enum_value.color,new_enum_value.enabled,new_enum_value.name,new_multi_enum_values,new_multi_enum_values.color,new_multi_enum_values.enabled,new_multi_enum_values.name,new_name,new_number_value,new_people_value,new_people_value.name,new_resource_subtype,new_section,new_section.name,new_text_value,num_hearts,num_likes,old_approval_status,old_date_value,old_dates,old_dates.due_at,old_dates.due_on,old_dates.start_on,old_enum_value,old_enum_value.color,old_enum_value.enabled,old_enum_value.name,old_multi_enum_values,old_multi_enum_values.color,old_multi_enum_values.enabled,old_multi_enum_values.name,old_name,old_number_value,old_people_value,old_people_value.name,old_resource_subtype,old_section,old_section.name,old_text_value,previews,previews.fallback,previews.footer,previews.header,previews.header_link,previews.html_text,previews.text,previews.title,previews.title_link,project,project.name,resource_subtype,source,sticker_name,story,story.created_at,story.created_by,story.created_by.name,story.resource_subtype,story.text,tag,tag.name,target,target.created_by,target.name,target.resource_subtype,task,task.created_by,task.name,task.resource_subtype,text,type\"\n};\nstoriesApiInstance.getStory(story_gid, opts).then((result) => {\n    console.log('API called successfully. Returned data: ' + JSON.stringify(result.data, null, 2));\n}, (error) => {\n    console.error(error.response.body);\n});"
          name: node-sdk-v3
        - language: node
          install: npm install asana@1.0.5
          code: "const asana = require('asana');\n\nconst client = asana.Client.create().useAccessToken('PERSONAL_ACCESS_TOKEN');\n\nclient.stories.getStory(storyGid, {param: \"value\", param: \"value\", opt_pretty: true})\n    .then((result) => {\n        console.log(result);\n    });"
          name: node-sdk-v1
        - language: python
          install: pip install asana
          code: "import asana\nfrom asana.rest import ApiException\nfrom pprint import pprint\n\nconfiguration = asana.Configuration()\nconfiguration.access_token = '<YOUR_ACCESS_TOKEN>'\napi_client = asana.ApiClient(configuration)\n\n# create an instance of the API class\nstories_api_instance = asana.StoriesApi(api_client)\nstory_gid = \"35678\" # str | Globally unique identifier for the story.\nopts = {\n    'opt_fields': \"assignee,assignee.name,created_at,created_by,created_by.name,custom_field,custom_field.date_value,custom_field.date_value.date,custom_field.date_value.date_time,custom_field.display_value,custom_field.enabled,custom_field.enum_options,custom_field.enum_options.color,custom_field.enum_options.enabled,custom_field.enum_options.name,custom_field.enum_value,custom_field.enum_value.color,custom_field.enum_value.enabled,custom_field.enum_value.name,custom_field.id_prefix,custom_field.is_formula_field,custom_field.multi_enum_values,custom_field.multi_enum_values.color,custom_field.multi_enum_values.enabled,custom_field.multi_enum_values.name,custom_field.name,custom_field.number_value,custom_field.representation_type,custom_field.resource_subtype,custom_field.text_value,custom_field.type,dependency,dependency.created_by,dependency.name,dependency.resource_subtype,duplicate_of,duplicate_of.created_by,duplicate_of.name,duplicate_of.resource_subtype,duplicated_from,duplicated_from.created_by,duplicated_from.name,duplicated_from.resource_subtype,follower,follower.name,hearted,hearts,hearts.user,hearts.user.name,html_text,is_editable,is_edited,is_pinned,liked,likes,likes.user,likes.user.name,new_approval_status,new_date_value,new_dates,new_dates.due_at,new_dates.due_on,new_dates.start_on,new_enum_value,new_enum_value.color,new_enum_value.enabled,new_enum_value.name,new_multi_enum_values,new_multi_enum_values.color,new_multi_enum_values.enabled,new_multi_enum_values.name,new_name,new_number_value,new_people_value,new_people_value.name,new_resource_subtype,new_section,new_section.name,new_text_value,num_hearts,num_likes,old_approval_status,old_date_value,old_dates,old_dates.due_at,old_dates.due_on,old_dates.start_on,old_enum_value,old_enum_value.color,old_enum_value.enabled,old_enum_value.name,old_multi_enum_values,old_multi_enum_values.color,old_multi_enum_values.enabled,old_multi_enum_values.name,old_name,old_number_value,old_people_value,old_people_value.name,old_resource_subtype,old_section,old_section.name,old_text_value,previews,previews.fallback,previews.footer,previews.header,previews.header_link,previews.html_text,previews.text,previews.title,previews.title_link,project,project.name,resource_subtype,source,sticker_name,story,story.created_at,story.created_by,story.created_by.name,story.resource_subtype,story.text,tag,tag.name,target,target.created_by,target.name,target.resource_subtype,task,task.created_by,task.name,task.resource_subtype,text,type\", # list[str] | This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include.\n}\n\ntry:\n    # Get a story\n    api_response = stories_api_instance.get_story(story_gid, opts)\n    pprint(api_response)\nexcept ApiException as e:\n    print(\"Exception when calling StoriesApi->get_story: %s\\n\" % e)"
          name: python-sdk-v5
        - language: python
          install: pip install asana==3.2.3
          code: 'import asana


            client = asana.Client.access_token(''PERSONAL_ACCESS_TOKEN'')


            result = client.stories.get_story(story_gid, {''param'': ''value'', ''param'': ''value''}, opt_pretty=True)'
          name: python-sdk-v3
        - language: php
          install: composer require asana/asana
          code: '<?php

            require ''vendor/autoload.php'';


            $client = Asana\Client::accessToken(''PERSONAL_ACCESS_TOKEN'');


            $result = $client->stories->getStory($story_gid, array(''param'' => ''value'', ''param'' => ''value''), array(''opt_pretty'' => ''true''))'
        - language: ruby
          install: gem install asana
          code: "require 'asana'\n\nclient = Asana::Client.new do |c|\n    c.authentication :access_token, 'PERSONAL_ACCESS_TOKEN'\nend\n\nresult = client.stories.get_story(story_gid: 'story_gid', param: \"value\", param: \"value\", options: {pretty: true})"
    put:
      summary: Asana Update a story
      description: Updates the story and returns the full record for the updated story. Only comment stories can have their text updated, and only comment stories and attachment stories can be pinned. Only one of `text` and `html_text` can be specified.
      tags:
      - Stories
      operationId: updateStory
      parameters:
      - name: opt_fields
        in: query
        description: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include.
        required: false
        example:
        - assignee
        - assignee.name
        - created_at
        - created_by
        - created_by.name
        - custom_field
        - custom_field.date_value
        - custom_field.date_value.date
        - custom_field.date_value.date_time
        - custom_field.display_value
        - custom_field.enabled
        - custom_field.enum_options
        - custom_field.enum_options.color
        - custom_field.enum_options.enabled
        - custom_field.enum_options.name
        - custom_field.enum_value
        - custom_field.enum_value.color
        - custom_field.enum_value.enabled
        - custom_field.enum_value.name
        - custom_field.id_prefix
        - custom_field.is_formula_field
        - custom_field.multi_enum_values
        - custom_field.multi_enum_values.color
        - custom_field.multi_enum_values.enabled
        - custom_field.multi_enum_values.name
        - custom_field.name
        - custom_field.number_value
        - custom_field.representation_type
        - custom_field.resource_subtype
        - custom_field.text_value
        - custom_field.type
        - dependency
        - dependency.created_by
        - dependency.name
        - dependency.resource_subtype
        - duplicate_of
        - duplicate_of.created_by
        - duplicate_of.name
        - duplicate_of.resource_subtype
        - duplicated_from
        - duplicated_from.created_by
        - duplicated_from.name
        - duplicated_from.resource_subtype
        - follower
        - follower.name
        - hearted
        - hearts
        - hearts.user
        - hearts.user.name
        - html_text
        - is_editable
        - is_edited
        - is_pinned
        - liked
        - likes
        - likes.user
        - likes.user.name
        - new_approval_status
        - new_date_value
        - new_dates
        - new_dates.due_at
        - new_dates.due_on
        - new_dates.start_on
        - new_enum_value
        - new_enum_value.color
        - new_enum_value.enabled
        - new_enum_value.name
        - new_multi_enum_values
        - new_multi_enum_values.color
        - new_multi_enum_values.enabled
        - new_multi_enum_values.name
        - new_name
        - new_number_value
        - new_people_value
        - new_people_value.name
        - new_resource_subtype
        - new_section
        - new_section.name
        - new_text_value
        - num_hearts
        - num_likes
        - old_approval_status
        - old_date_value
        - old_dates
        - old_dates.due_at
        - old_dates.due_on
        - old_dates.start_on
        - old_enum_value
        - old_enum_value.color
        - old_enum_value.enabled
        - old_enum_value.name
        - old_multi_enum_values
        - old_multi_enum_values.color
        - old_multi_enum_values.enabled
        - old_multi_enum_values.name
        - old_name
        - old_number_value
        - old_people_value
        - old_people_value.name
        - old_resource_subtype
        - old_section
        - old_section.name
        - old_text_value
        - previews
        - previews.fallback
        - previews.footer
        - previews.header
        - previews.header_link
        - previews.html_text
        - previews.text
        - previews.title
        - previews.title_link
        - project
        - project.name
        - resource_subtype
        - source
        - sticker_name
        - story
        - story.created_at
        - story.created_by
        - story.created_by.name
        - story.resource_subtype
        - story.text
        - tag
        - tag.name
        - target
        - target.created_by
        - target.name
        - target.resource_subtype
        - task
        - task.created_by
        - task.name
        - task.resource_subtype
        - text
        - type
        schema:
          type: array
          items:
            type: string
            enum:
            - assignee
            - assignee.name
            - created_at
            - created_by
            - created_by.name
            - custom_field
            - custom_field.date_value
            - custom_field.date_value.date
            - custom_field.date_value.date_time
            - custom_field.display_value
            - custom_field.enabled
            - custom_field.enum_options
            - custom_field.enum_options.color
            - custom_field.enum_options.enabled
            - custom_field.enum_options.name
            - custom_field.enum_value
            - custom_field.enum_value.color
            - custom_field.enum_value.enabled
            - custom_field.enum_value.name
            - custom_field.id_prefix
            - custom_field.is_formula_field
            - custom_field.multi_enum_values
            - custom_field.multi_enum_values.color
            - custom_field.multi_enum_values.enabled
            - custom_field.multi_enum_values.name
            - custom_field.name
            - custom_field.number_value
            - custom_field.representation_type
            - custom_field.resource_subtype
            - custom_field.text_value
            - custom_field.type
            - dependency
            - dependency.created_by
            - dependency.name
            - dependency.resource_subtype
            - duplicate_of
            - duplicate_of.created_by
            - duplicate_of.name
            - duplicate_of.resource_subtype
            - duplicated_from
            - duplicated_from.created_by
            - duplicated_from.name
            - duplicated_from.resource_subtype
            - follower
            - follower.name
            - hearted
            - hearts
            - hearts.user
            - hearts.user.name
            - html_text
            - is_editable
            - is_edited
            - is_pinned
            - liked
            - likes
            - likes.user
            - likes.user.name
            - new_approval_status
            - new_date_value
            - new_dates
            - new_dates.due_at
            - new_dates.due_on
            - new_dates.start_on
            - new_enum_value
            - new_enum_value.color
            - new_enum_value.enabled
            - new_enum_value.name
            - new_multi_enum_values
            - new_multi_enum_values.color
            - new_multi_enum_values.enabled
            - new_multi_enum_values.name
            - new_name
            - new_number_value
            - new_people_value
            - new_people_value.name
            - new_resource_subtype
            - new_section
            - new_section.name
            - new_text_value
            - num_hearts
            - num_likes
            - old_approval_status
            - old_date_value
            - old_dates
            - old_dates.due_at
            - old_dates.due_on
            - old_dates.start_on
            - old_enum_value
            - old_enum_value.color
            - old_enum_value.enabled
            - old_enum_value.name
            - old_multi_enum_values
            - old_multi_enum_values.color
            - old_multi_enum_values.enabled
            - old_multi_enum_values.name
            - old_name
            - old_number_value
            - old_people_value
            - old_people_value.name
            - old_resource_subtype
            - old_section
            - old_section.name
            - old_text_value
            - previews
            - previews.fallback
            - previews.footer
            - previews.header
            - previews.header_link
            - previews.html_text
            - previews.text
            - previews.title
            - previews.title_link
            - project
            - project.name
            - resource_subtype
            - source
            - sticker_name
            - story
            - story.created_at
            - story.created_by
            - story.created_by.name
            - story.resource_subtype
            - story.text
            - tag
            - tag.name
            - target
            - target.created_by
            - target.name
            - target.resource_subtype
            - task
            - task.created_by
            - task.name
            - task.resource_subtype
            - text
            - type
        style: form
        explode: false
      requestBody:
        description: The comment story to update.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/StoryRequest'
      responses:
        200:
          description: Successfully retrieved the specified story.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/StoryResponse'
        400:
          $ref: '#/components/responses/BadRequest'
        401:
          $ref: '#/components/responses/Unauthorized'
        403:
          $ref: '#/components/responses/Forbidden'
        404:
          $ref: '#/components/responses/NotFound'
        500:
          $ref: '#/components/responses/InternalServerError'
      x-readme:
        code-samples:
        - language: java
          install: <dependency><groupId>com.asana</groupId><artifactId>asana</artifactId><version>1.0.0</version></dependency>
          code: "import com.asana.Client;\n\nClient client = Client.accessToken(\"PERSONAL_ACCESS_TOKEN\");\n\nStory result = client.stories.updateStory(storyGid)\n    .data(\"field\", \"value\")\n    .data(\"field\", \"value\")\n    .option(\"pretty\", true)\n    .execute();"
        - language: node
          install: npm install asana
          code: "const Asana = require('asana');\n\nlet client = Asana.ApiClient.instance;\nlet token = client.authentications['token'];\ntoken.accessToken = '<YOUR_ACCESS_TOKEN>';\n\nlet storiesApiInstance = new Asana.StoriesApi();\nlet body = {\"data\": {\"<PARAM_1>\": \"<VALUE_1>\", \"<PARAM_2>\": \"<VALUE_2>\",}}; // Object | The comment story to update.\nlet story_gid = \"35678\"; // String | Globally unique identifier for the story.\nlet opts = { \n    'opt_fields': \"assignee,assignee.name,created_at,created_by,created_by.name,custom_field,custom_field.date_value,custom_field.date_value.date,custom_field.date_value.date_time,custom_field.display_value,custom_field.enabled,custom_field.enum_options,custom_field.enum_options.color,custom_field.enum_options.enabled,custom_field.enum_options.name,custom_field.enum_value,custom_field.enum_value.color,custom_field.enum_value.enabled,custom_field.enum_value.name,custom_field.id_prefix,custom_field.is_formula_field,custom_field.multi_enum_values,custom_field.multi_enum_values.color,custom_field.multi_enum_values.enabled,custom_field.multi_enum_values.name,custom_field.name,custom_field.number_value,custom_field.representation_type,custom_field.resource_subtype,custom_field.text_value,custom_field.type,dependency,dependency.created_by,dependency.name,dependency.resource_subtype,duplicate_of,duplicate_of.created_by,duplicate_of.name,duplicate_of.resource_subtype,duplicated_from,duplicated_from.created_by,duplicated_from.name,duplicated_from.resource_subtype,follower,follower.name,hearted,hearts,hearts.user,hearts.user.name,html_text,is_editable,is_edited,is_pinned,liked,likes,likes.user,likes.user.name,new_approval_status,new_date_value,new_dates,new_dates.due_at,new_dates.due_on,new_dates.start_on,new_enum_value,new_enum_value.color,new_enum_value.enabled,new_enum_value.name,new_multi_enum_values,new_multi_enum_values.color,new_multi_enum_values.enabled,new_multi_enum_values.name,new_name,new_number_value,new_people_value,new_people_value.name,new_resource_subtype,new_section,new_section.name,new_text_value,num_hearts,num_likes,old_approval_status,old_date_value,old_dates,old_dates.due_at,old_dates.due_on,old_dates.start_on,old_enum_value,old_enum_value.color,old_enum_value.enabled,old_enum_value.name,old_multi_enum_values,old_multi_enum_values.color,old_multi_enum_values.enabled,old_multi_enum_values.name,old_name,old_number_value,old_people_value,old_people_value.name,old_resource_subtype,old_section,old_section.name,old_text_value,previews,previews.fallback,previews.footer,previews.header,previews.header_link,previews.html_text,previews.text,previews.title,previews.title_link,project,project.name,resource_subtype,source,sticker_name,story,story.created_at,story.created_by,story.created_by.name,story.resource_subtype,story.text,tag,tag.name,target,target.created_by,target.name,target.re

# --- truncated at 32 KB (112 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/asana/refs/heads/main/openapi/asana-stories-api-openapi.yml