Asana
  1. Goals
Asana
  • Attachments
    • Delete an attachment
      DELETE
    • Get an attachment
      GET
    • Get attachments for a task
      GET
    • Upload an attachment
      POST
  • Batch API
    • Submit parallel requests
      POST
  • Custom Fields
    • Create a custom field
      POST
    • Delete a custom field
      DELETE
    • Get a custom field
      GET
    • Update a custom field
      PUT
    • Create an enum option
      POST
    • Reorder a custom field's enum
      POST
    • Update an enum option
      PUT
    • Get a workspace's custom fields
      GET
  • Events
    • Get events on a resource
  • Goals
    • Get goals
      GET
    • Create a goal
      POST
    • Delete a goal
      DELETE
    • Get a goal
      GET
    • Update a goal
      PUT
    • Add a collaborator to a goal
      POST
    • Add a subgoal to a parent goal
      POST
    • Add a project/portfolio as supporting work for a goal.
      POST
    • Get parent goals from a goal
      GET
    • Remove a collaborator from a goal
      POST
    • Remove a subgoal from a goal
      POST
    • Remove a project/portfolio as supporting work for a goal.
      POST
    • Create a goal metric
      POST
    • Update a goal metric
      POST
    • Get subgoals from a goal
      GET
    • Get supporting work from a goal
      GET
  • Jobs
    • Get a job by id
  • Organization Exports
    • Create an organization export request
    • Get details on an org export request
  • Teams
    • Get teams in an organization
    • Create a team
    • Get a team
    • Add a user to a team
    • Remove a user from a team
    • Get teams for a user
  • Portfolio Memberships
    • Get multiple portfolio memberships
    • Get a portfolio membership
    • Get memberships from a portfolio
  • Portfolios
    • Get multiple portfolios
    • Create a portfolio
    • Delete a portfolio
    • Get a portfolio
    • Update a portfolio
    • Add a custom field to a portfolio
    • Add a portfolio item
    • Add users to a portfolio
    • Get portfolio items
    • Remove a custom field from a portfolio
    • Remove a portfolio item
    • Remove users from a portfolio
  • Custom Field Settings
    • Get a portfolio's custom fields
    • Get a project's custom fields
  • Project Memberships
    • Get a project membership
    • Get memberships from a project
  • Project Statuses
    • Delete a project status
    • Get a project status
    • Get statuses from a project
    • Create a project status
  • Projects
    • Get multiple projects
    • Create a project
    • Delete a project
    • Get a project
    • Update a project
    • Add a custom field to a project
    • Add followers to a project
    • Add users to a project
    • Duplicate a project
    • Remove a custom field from a project
    • Remove followers from a project
    • Remove users from a project
    • Get task count of a project
    • Get projects a task is in
    • Get a team's projects
    • Create a project in a team
    • Get all projects in a workspace
    • Create a project in a workspace
  • Sections
    • Get sections in a project
    • Create a section in a project
    • Move or Insert sections
    • Delete a section
    • Get a section
    • Update a section
    • Add task to section
  • Tasks
    • Get tasks from a project
    • Get tasks from a section
    • Get tasks from a tag
    • Get multiple tasks
    • Create a task
    • Delete a task
    • Get a task
    • Update a task
    • Set dependencies for a task
    • Set dependents for a task
    • Add followers to a task
    • Add a project to a task
    • Add a tag to a task
    • Get dependencies from a task
    • Get dependents from a task
    • Duplicate a task
    • Unlink dependencies from a task
    • Unlink dependents from a task
    • Remove followers from a task
    • Remove a project from a task
    • Remove a tag from a task
    • Set the parent of a task
    • Get subtasks from a task
    • Create a subtask
    • Get tasks from a user task list
    • Search tasks in a workspace
  • Stories
    • Delete a story
    • Get a story
    • Update a story
    • Get stories from a task
    • Create a story on a task
  • Tags
    • Get multiple tags
    • Create a tag
    • Delete a tag
    • Get a tag
    • Update a tag
    • Get a task's tags
    • Get tags in a workspace
    • Create a tag in a workspace
  • Team Memberships
    • Get team memberships
    • Get a team membership
    • Get memberships from a team
    • Get memberships from a user
  • Users
    • Get users in a team
    • Get multiple users
    • Get a user
    • Get a user's favorites
    • Get users in a workspace or organization
  • Time Periods
    • Get time periods
    • Get a time period
  • User Task Lists
    • Get a user task list
    • Get a user's task list
  • Workspace Memberships
    • Get workspace memberships for a user
    • Get a workspace membership
    • Get the workspace memberships for a workspace
  • Webhooks
    • Get multiple webhooks
    • Establish a webhook
    • Delete a webhook
    • Get a webhook
  • Workspaces
    • Get multiple workspaces
    • Get a workspace
    • Update a workspace
    • Add a user to a workspace or organization
    • Remove a user from a workspace or organization
  • Typeahead
    • Get objects via typeahead
  1. Goals

Create a goal metric

POST
/goals/{goal_gid}/setMetric
Goals
Creates and adds a goal metric to a specified goal. Note that this replaces an existing goal metric if one already exists.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://app.asana.com/api/1.0/goals//setMetric' \
--header 'Content-Type: application/json' \
--data-raw '{
    "data": {
        "currency_code": "EUR",
        "current_display_value": "8.12",
        "current_number_value": 8.12,
        "initial_number_value": 5.2,
        "precision": 2,
        "target_number_value": 10.2,
        "unit": "none"
    }
}'
Response Response Example
200 - Example 1
{
  "data": {
    "gid": "12345",
    "resource_type": "task",
    "name": "Grow web traffic by 30%",
    "owner": {
      "gid": "12345",
      "resource_type": "task",
      "name": "Greg Sanchez"
    },
    "due_on": "2019-09-15",
    "followers": [
      {
        "gid": "12345",
        "resource_type": "task",
        "name": "Greg Sanchez"
      }
    ],
    "html_notes": "<body>Start building brand awareness.</body>",
    "is_workspace_level": true,
    "liked": false,
    "metric": {
      "gid": "12345",
      "resource_type": "task",
      "currency_code": "EUR",
      "current_display_value": "8.12",
      "current_number_value": 8.12,
      "initial_number_value": 5.2,
      "precision": 2,
      "resource_subtype": "number",
      "target_number_value": 10.2,
      "unit": "none"
    },
    "notes": "Start building brand awareness.",
    "start_on": "2019-09-14",
    "status": "string",
    "team": {
      "gid": "12345",
      "resource_type": "task",
      "name": "Marketing"
    },
    "time_period": {
      "gid": "12345",
      "resource_type": "task",
      "end_on": "2019-09-14",
      "period": "Q1",
      "start_on": "2019-09-13"
    },
    "workspace": {
      "gid": "12345",
      "resource_type": "task",
      "name": "My Company Workspace"
    },
    "likes": [
      {
        "gid": "12345",
        "user": {
          "gid": "12345",
          "resource_type": "task",
          "name": "Greg Sanchez"
        }
      }
    ],
    "num_likes": 5
  }
}

Request

Path Params
goal_gid
string 
required
Automatically added
Body Params application/json
data
object (GoalMetricBase) 
optional
A generic Asana Resource, containing a globally unique identifier.
currency_code
string  | null 
optional
ISO 4217 currency code to format this custom field. This will be null if the format is not currency.
Example:
EUR
current_display_value
string 
optional
Conditional. This string is the current value of a goal metric of type string.
Example:
8.12
current_number_value
number 
optional
Conditional. This number is the current value of a goal metric of type number.
Example:
8.12
initial_number_value
number 
optional
Conditional. This number is the start value of a goal metric of type number.
Example:
5.2
precision
integer 
optional
Only relevant for goal metrics of type ‘Number’. This field dictates the number of places after the decimal to round to, i.e. 0 is integer values, 1 rounds to the nearest tenth, and so on. Must be between 0 and 6, inclusive.
For percentage format, this may be unintuitive, as a value of 0.25 has a precision of 0, while a value of 0.251 has a precision of 1. This is due to 0.25 being displayed as 25%.
Example:
2
target_number_value
number 
optional
Conditional. This number is the end value of a goal metric of type number.
Example:
10.2
unit
enum<string> 
optional
A supported unit of measure for the goal metric, or none.
Allowed values:
nonecurrencypercentage
Examples

Responses

🟢200Successfully created a new goal metric.
application/json
Body
data
object (GoalResponse) 
optional
A generic Asana Resource, containing a globally unique identifier.
likes
array[object (Like) {2}] 
read-onlyoptional
Array of likes for users who have liked this goal.
num_likes
integer 
read-onlyoptional
The number of users who have liked this goal.
Example:
5
due_on
string  | null 
optional
The localized day on which this goal is due. This takes a date with format YYYY-MM-DD.
Example:
2019-09-15
followers
array[object (UserCompact) {3}] 
optional
Array of users following this goal.
html_notes
string 
optional
The notes of the goal with formatting as HTML.
Example:
<body>Start building brand awareness.</body>
is_workspace_level
boolean 
optional
Conditional. This property is only present when the workspace provided is an organization. Whether the goal belongs to the workspace (and is listed as part of the workspace’s goals) or not. If it isn’t a workspace-level goal, it is a team-level goal, and is associated with the goal’s team.
Example:
true
liked
boolean 
optional
True if the goal is liked by the authorized user, false if not.
Example:
false
metric
object 
optional
A generic Asana Resource, containing a globally unique identifier.
notes
string 
optional
Free-form textual information associated with the goal (i.e. its description).
Example:
Start building brand awareness.
start_on
string  | null 
optional
The day on which work for this goal begins, or null if the goal has no start date. This takes a date with YYYY-MM-DD format, and cannot be set unless there is an accompanying due date.
Example:
2019-09-14
status
string  | null 
optional
The current status of this goal. When the goal is open, its status can be green, yellow, and red to reflect "On Track", "At Risk", and "Off Track", respectively. When the goal is closed, the value can be missed, achieved, partial, or dropped.
team
object 
optional
Conditional. This property is only present when the workspace provided is an organization.
time_period
object 
optional
A generic Asana Resource, containing a globally unique identifier.
workspace
object 
optional
A workspace is the highest-level organizational unit in Asana. All projects and tasks have an associated workspace.
gid
string 
read-onlyoptional
Globally unique identifier of the resource, as a string.
Example:
12345
resource_type
string 
read-onlyoptional
The base type of this resource.
Example:
task
name
string 
optional
The name of the goal.
Example:
Grow web traffic by 30%
owner
object 
optional
A user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
🟠400400
🟠401401
🟠402402
🟠403403
🟠404404
🔴500500
Modified at 2022-09-13 02:00:31
Previous
Remove a project/portfolio as supporting work for a goal.
Next
Update a goal metric
Built with