REST API v5
This section of the Pivotal Tracker API documentation is a reference to all of the endpoints (URL paths) the API supports, the operations (request types) that can be performed with those endpoints, and the schema of the resource data encodings they return. It is applicable to API v5 only. Information about behaviors and request/response information that is common across the API is covered in the documentation Introduction.
Introduction
This section of the documentation is a reference for API version 'v5'. The bulk of the documentation is made up of the references for Endpoints (all of the URL paths the API makes available and the HTTP methods supported by each) and for Resources (the supported attributes for the different data structures maintained by the Tracker server and used to exchange data between client and server). Each resource is listed independently, sorted alphabetically by name. Endpoints are listed in groups with other, related endpoints. Groups are arranged in what is intended to be a logical reading/scanning order.
Pivotal Tracker API v5 behaves exactly as described in the API documentation's Essentials section. Each individual item reference below describes the deviations, if any, that that item has from the standard/default API behavior.
In particular, there are a handful of endpoints that either don't support any of
the standard response-formatting parameters (their format is entirely fixed), or
that don't support the date_format
query parameter, see
Selecting the Date/Time Format. These cases
are noted in the description of each endpoint. In cases where date_format
is not supported, the format is always an integer number of milliseconds since
the epoch—the client is never forced to use an ISO 8601-format time value.
Endpoints
Me
/ me
Provides information about the authenticated user.
In addition to authenticating this request like other API requests, this request can be made with authentication using "basic auth" to pass the user's normal Pivotal Tracker login credentials (their email address or user name plus their password). In this way, client software can use the user's name and password to obtain their API Token, and then use that token to authenticate future API requests made on behalf of that user. Obviously, the user's password should not be stored or otherwise retained.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ me?fields=%3Adefault"
Headers
Response Body
{"accounts":[{"kind":"account_summary","id":100,"name":"Galactic Empire","status":"active","plan":"Enterprise"}],"api_token":"VadersToken","created_at":"2024-08-20T12:00:05Z","email":"vader@deathstar.mil","has_google_identity":false,"id":101,"initials":"DV","kind":"me","name":"Darth Vader","projects":[{"kind":"membership_summary","id":108,"project_id":98,"project_name":"Learn About the Force","project_color":"8100ea","favorite":false,"role":"owner","last_viewed_at":"2024-08-20T12:00:00Z"},{"kind":"membership_summary","id":101,"project_id":99,"project_name":"Death Star","project_color":"8100ea","favorite":false,"role":"member","last_viewed_at":"2024-08-20T12:00:00Z"}],"receives_in_app_notifications":true,"time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-08:00"},"twofactor_auth_enabled":false,"updated_at":"2024-08-20T12:00:10Z","username":"vader"}
curl -X GET --user vader:password "https:/ /www.pivotaltracker.com/ services/ v5/ me"
Headers
Response Body
{"accounts":[{"kind":"account_summary","id":100,"name":"Galactic Empire","status":"active","plan":"Enterprise"}],"api_token":"VadersToken","created_at":"2024-08-20T12:00:05Z","email":"vader@deathstar.mil","has_google_identity":false,"id":101,"initials":"DV","kind":"me","name":"Darth Vader","projects":[{"kind":"membership_summary","id":108,"project_id":98,"project_name":"Learn About the Force","project_color":"8100ea","favorite":false,"role":"owner","last_viewed_at":"2024-08-20T12:00:10Z"},{"kind":"membership_summary","id":101,"project_id":99,"project_name":"Death Star","project_color":"8100ea","favorite":false,"role":"member","last_viewed_at":"2024-08-20T12:00:10Z"}],"receives_in_app_notifications":true,"time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-08:00"},"twofactor_auth_enabled":false,"updated_at":"2024-08-20T12:00:10Z","username":"vader"}
PARAMETERS
PARAMETERS
/ my/ people
Access a list of all the people you know
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ my/ people?project_id=99"
Headers
Response Body
[{"kind":"known_person","person":{"kind":"person","id":109,"name":"3D-4X administrative droid","email":"threedeefourx@sith.mil","initials":"3D4X","username":"threedeefourx"},"collaboration_factor":0},{"kind":"known_person","person":{"kind":"person","id":107,"name":"Bevel Lemelisk","email":"bevel@sith.mil","initials":"bl","username":"bevel"},"collaboration_factor":0},{"kind":"known_person","person":{"kind":"person","id":104,"name":"Clone TK421","email":"tk421@deathstar.mil","initials":"TK421","username":"tk421"},"collaboration_factor":1},{"kind":"known_person","person":{"kind":"person","id":101,"name":"Darth Vader","email":"vader@deathstar.mil","initials":"DV","username":"vader"},"collaboration_factor":2},{"kind":"known_person","person":{"kind":"person","id":100,"name":"Emperor Palpatine","email":"emperor@galacticrepublic.gov","initials":"EP","username":"palpatine"},"collaboration_factor":1},{"kind":"known_person","person":{"kind":"person","id":106,"name":"Galen Marek","email":"marek@sith.mil","initials":"GM","username":"starkiller"},"collaboration_factor":0},{"kind":"known_person","person":{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"},"collaboration_factor":2},{"kind":"known_person","person":{"kind":"person","id":105,"name":"Robotic Maintenance Team 4","email":"I662@deathstar.mil","initials":"i662","username":"i662"},"collaboration_factor":1},{"kind":"known_person","person":{"kind":"person","id":114,"name":"Tarfang","email":"tarfang@example.com","initials":"TF","username":"tarfang"},"collaboration_factor":0},{"kind":"known_person","person":{"kind":"person","id":102,"name":"Wilhuff Tarkin","email":"governor@eriadu.gov","initials":"WT","username":"tarkin"},"collaboration_factor":1}]
export TOKEN='your Pivotal Tracker API token'
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"emails":["threedeefourx@sith.mil","bevel@sith.mil","tk421@deathstar.mil","vader@deathstar.mil","emperor@galacticrepublic.gov","marek@sith.mil","bast@deathstar.mil","I662@deathstar.mil"]}' "https:/ /www.pivotaltracker.com/ services/ v5/ my/ people"
Headers
Response Body
[{"kind":"known_person","person":{"kind":"person","id":109,"name":"3D-4X administrative droid","email":"threedeefourx@sith.mil","initials":"3D4X","username":"threedeefourx"},"collaboration_factor":0},{"kind":"known_person","person":{"kind":"person","id":107,"name":"Bevel Lemelisk","email":"bevel@sith.mil","initials":"bl","username":"bevel"},"collaboration_factor":0},{"kind":"known_person","person":{"kind":"person","id":104,"name":"Clone TK421","email":"tk421@deathstar.mil","initials":"TK421","username":"tk421"},"collaboration_factor":1},{"kind":"known_person","person":{"kind":"person","id":101,"name":"Darth Vader","email":"vader@deathstar.mil","initials":"DV","username":"vader"},"collaboration_factor":2},{"kind":"known_person","person":{"kind":"person","id":100,"name":"Emperor Palpatine","email":"emperor@galacticrepublic.gov","initials":"EP","username":"palpatine"},"collaboration_factor":1},{"kind":"known_person","person":{"kind":"person","id":106,"name":"Galen Marek","email":"marek@sith.mil","initials":"GM","username":"starkiller"},"collaboration_factor":0},{"kind":"known_person","person":{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"},"collaboration_factor":2},{"kind":"known_person","person":{"kind":"person","id":105,"name":"Robotic Maintenance Team 4","email":"I662@deathstar.mil","initials":"i662","username":"i662"},"collaboration_factor":1}]
Notifications
/ my/ notifications
Provides a list of all notifications.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ my/ notifications?envelope=true"
Headers
Response Body
{"data":[{"kind":"notification","id":22,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":102,"name":"Wilhuff Tarkin"},"message":"Wilhuff Tarkin has made you an owner of this story:","notification_type":"story","new_attachment_count":0,"action":"ownership","story":{"kind":"story","id":559,"name":"All exhaust ports should be shielded"},"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:20Z"},{"kind":"notification","id":18,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":101,"name":"Darth Vader"},"message":"Darth Vader rejected your story","notification_type":"story","action":"rejection","story":{"kind":"story","id":559,"name":"All exhaust ports should be shielded"},"created_at":"2024-08-20T12:00:20Z","updated_at":"2024-08-20T12:00:20Z"},{"kind":"notification","id":8,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":102,"name":"Wilhuff Tarkin"},"message":"Wilhuff Tarkin has made you an owner of this story","notification_type":"story","action":"ownership","story":{"kind":"story","id":559,"name":"All exhaust ports should be shielded"},"created_at":"2024-08-20T12:00:20Z","updated_at":"2024-08-20T12:00:20Z"},{"kind":"notification","id":5,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":100,"name":"Emperor Palpatine"},"message":"Emperor Palpatine has made you an owner of this story","notification_type":"story","action":"ownership","story":{"kind":"story","id":551,"name":"Hire bounty hunters to bring in Solo"},"created_at":"2024-08-20T12:00:20Z","updated_at":"2024-08-20T12:00:20Z"},{"kind":"notification","id":21,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":101,"name":"Darth Vader"},"message":"Darth Vader added the comment: \"Should we send a probe to Dantooine?\"","notification_type":"comment","new_attachment_count":0,"action":"create","epic":{"kind":"epic","id":5,"name":"Rebel Home Worlds"},"comment_id":110,"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:20Z","read_at":"2024-08-20T12:00:10Z"}],"http_status":"200","last_notification_timestamp":1724155220000}
PARAMETERS
— Show notifications created after this date/time. If this parameter or updated_after is not provided, the default is 10 days prior to the request time.
— Filter which notifications are included in the response. Specifying :default or omitting a notification type will include "story", "epic", "comment", and "comment_with_mention" notification types. Specifying :all will include all types provided by default as well as new or experimental notification types.
/ my/ notifications/ mark_read
Marks all notifications read before a notification id.
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ my/ notifications/ mark_read"
Headers
PARAMETERS
/ people/ {person_id}/ notifications/ since/ {timestamp}
Provides a list of notifications. Unlike most endpoints that allow you to control the response format with url parameters, this endpoint will always return responses with an envelope and a date_format in milliseconds.
export TOKEN='your Pivotal Tracker API token'
export PERSON_ID=104
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ people/ $PERSON_ID/ notifications/ since/ 1723377600000"
Headers
Response Body
{"data":[{"kind":"notification","id":22,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":102,"name":"Wilhuff Tarkin"},"message":"Wilhuff Tarkin has made you an owner of this story:","notification_type":"story","new_attachment_count":0,"action":"ownership","story":{"kind":"story","id":559,"name":"All exhaust ports should be shielded"},"created_at":1724155205000,"updated_at":1724155205000},{"kind":"notification","id":18,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":101,"name":"Darth Vader"},"message":"Darth Vader rejected your story","notification_type":"story","action":"rejection","story":{"kind":"story","id":559,"name":"All exhaust ports should be shielded"},"created_at":1724155205000,"updated_at":1724155205000},{"kind":"notification","id":8,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":102,"name":"Wilhuff Tarkin"},"message":"Wilhuff Tarkin has made you an owner of this story","notification_type":"story","action":"ownership","story":{"kind":"story","id":559,"name":"All exhaust ports should be shielded"},"created_at":1724155205000,"updated_at":1724155205000},{"kind":"notification","id":5,"project":{"kind":"project","id":99,"name":"Death Star"},"performer":{"kind":"person","id":100,"name":"Emperor Palpatine"},"message":"Emperor Palpatine has made you an owner of this story","notification_type":"story","action":"ownership","story":{"kind":"story","id":551,"name":"Hire bounty hunters to bring in Solo"},"created_at":1724155205000,"updated_at":1724155205000}],"http_status":"200"}
PARAMETERS
required — Show notifications created after this timestamp. The timestamp provided must match that of an existing notification. Note that this datetime must be specified in number of milliseconds since the epoch; it does not support ISO 8601 like other datetimes.
— Filter which notifications are included in the response. Specifying :default or omitting a notification type will include "story", "epic", "comment", and "comment_with_mention" notification types. Specifying :all will include all types provided by default as well as new or experimental notification types.
/ my/ notifications/ {notification_id}
Access the notification specified by the notification_id value in the URL.
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"read_at":"2024-08-20T12:00:00Z"}' "https:/ /www.pivotaltracker.com/ services/ v5/ my/ notifications/ 22"
Headers
Response Body
{"action":"ownership","created_at":"2024-08-20T12:00:00Z","id":22,"kind":"notification","message":"Wilhuff Tarkin has made you an owner of this story:","new_attachment_count":0,"notification_type":"story","performer":{"kind":"person","id":102,"name":"Wilhuff Tarkin"},"project":{"kind":"project","id":99,"name":"Death Star"},"read_at":"2024-08-20T12:00:05Z","story":{"kind":"story","id":559,"name":"All exhaust ports should be shielded"},"updated_at":"2024-08-20T12:00:05Z"}
Projects
/ projects
Access a user's projects
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects"
Headers
Response Body
[{"id":98,"kind":"project","name":"Learn About the Force","version":2,"iteration_length":1,"week_start_day":"Monday","point_scale":"0,1,2,3","point_scale_is_custom":false,"bugs_and_chores_are_estimatable":false,"automatic_planning":true,"enable_tasks":true,"time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"velocity_averaged_over":3,"number_of_done_iterations_to_show":4,"has_google_domain":false,"enable_incoming_emails":true,"initial_velocity":10,"public":false,"atom_enabled":true,"project_type":"private","start_time":"2024-08-20T12:00:05Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:15Z","show_story_priority":true,"show_priority_icon":false,"show_priority_icon_in_all_panels":true,"account_id":100,"current_iteration_number":1,"enable_following":true},{"id":99,"kind":"project","name":"Death Star","version":66,"iteration_length":1,"week_start_day":"Monday","point_scale":"0,1,2,3","point_scale_is_custom":false,"bugs_and_chores_are_estimatable":false,"automatic_planning":true,"enable_tasks":true,"time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"velocity_averaged_over":3,"number_of_done_iterations_to_show":4,"has_google_domain":false,"description":"Expeditionary Battle Planetoid","profile_content":"This is a machine of war such as the universe has never known. It's colossal, the size of a class-four moon. And it possesses firepower unequaled in the history of warfare.","enable_incoming_emails":true,"initial_velocity":10,"public":false,"atom_enabled":true,"project_type":"private","start_date":"2024-05-06","start_time":"2024-08-20T12:00:15Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:15Z","show_story_priority":true,"show_priority_icon":false,"show_priority_icon_in_all_panels":true,"account_id":100,"current_iteration_number":15,"enable_following":true}]
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects?account_ids=100"
Headers
Response Body
[{"id":98,"kind":"project","name":"Learn About the Force","version":2,"iteration_length":1,"week_start_day":"Monday","point_scale":"0,1,2,3","point_scale_is_custom":false,"bugs_and_chores_are_estimatable":false,"automatic_planning":true,"enable_tasks":true,"time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"velocity_averaged_over":3,"number_of_done_iterations_to_show":4,"has_google_domain":false,"enable_incoming_emails":true,"initial_velocity":10,"public":false,"atom_enabled":true,"project_type":"private","start_time":"2024-08-20T12:00:05Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:15Z","show_story_priority":true,"show_priority_icon":false,"show_priority_icon_in_all_panels":true,"account_id":100,"current_iteration_number":1,"enable_following":true},{"id":99,"kind":"project","name":"Death Star","version":66,"iteration_length":1,"week_start_day":"Monday","point_scale":"0,1,2,3","point_scale_is_custom":false,"bugs_and_chores_are_estimatable":false,"automatic_planning":true,"enable_tasks":true,"time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"velocity_averaged_over":3,"number_of_done_iterations_to_show":4,"has_google_domain":false,"description":"Expeditionary Battle Planetoid","profile_content":"This is a machine of war such as the universe has never known. It's colossal, the size of a class-four moon. And it possesses firepower unequaled in the history of warfare.","enable_incoming_emails":true,"initial_velocity":10,"public":false,"atom_enabled":true,"project_type":"private","start_date":"2024-05-06","start_time":"2024-08-20T12:00:15Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:15Z","show_story_priority":true,"show_priority_icon":false,"show_priority_icon_in_all_panels":true,"account_id":100,"current_iteration_number":15,"enable_following":true}]
PARAMETERS
— A comma separated list of account ids whose projects should be returned
export TOKEN='your Pivotal Tracker API token'
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"Executioner"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects"
Headers
Response Body
{"account_id":100,"atom_enabled":false,"automatic_planning":true,"bugs_and_chores_are_estimatable":false,"created_at":"2024-08-20T12:00:05Z","current_iteration_number":1,"enable_following":true,"enable_incoming_emails":true,"enable_tasks":true,"has_google_domain":false,"id":1900,"initial_velocity":10,"iteration_length":1,"kind":"project","name":"Executioner","number_of_done_iterations_to_show":4,"point_scale":"0,1,2,3","point_scale_is_custom":false,"project_type":"private","public":false,"show_priority_icon":false,"show_priority_icon_in_all_panels":true,"show_story_priority":false,"start_time":"2024-08-20T12:00:00Z","time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"updated_at":"2024-08-20T12:00:05Z","velocity_averaged_over":3,"version":1,"week_start_day":"Monday"}
PARAMETERS
— By default, the user whose credentials are supplied will be added as a project owner. To leave the project without this owner, supply the no_owner key.
— If specified, creates a new account with the specified name, and adds the new project to that account.
— The day in the week the project's iterations are to start on.
— The specification for the "point scale" available for entering story estimates within the project. It is specified as a comma-delimited series of values--any value that would be acceptable on the Project Settings page of the Tracker web application may be used here. If an exact match to one of the built-in point scales, the project will use that point scale. If another comma-separated point-scale string is passed, it will be treated as a "custom" point scale. The built-in scales are "0,1,2,3", "0,1,2,4,8", and "0,1,2,3,5,8".
— When true, Tracker will allow estimates to be set on Bug- and Chore-type stories. This is strongly not recommended. Please see the FAQ for more information.
— When false, Tracker suspends the emergent planning of iterations based on the project's velocity, and allows users to manually control the set of unstarted stories included in the Current iteration. See the FAQ for more information.
— When true, Tracker allows individual tasks to be created and managed within each story in the project.
— When true, Tracker allows Priority field to be hidden within each story in the project.
— When true, Tracker allows Priority field to be hidden within each story in the project.
— When true, Tracker allows Priority field to be hidden within each story in the project.
— The first day that should be in an iteration of the project. If both this and "week_start_day" are supplied, they must be consistent. It is specified as a string in the format "YYYY-MM-DD" with "01" for January. If this is not supplied, it will remain blank (null), but "start_time" will have a default value based on the stories in the project. If a value is supplied for start_date, but that date is later than the accepted_at date of the earliest accepted story in your project, start_time will be based on the accepted_at date of the earliest accepted story.
— The "native" time zone for the project, independent of the time zone(s) from which members of the project view or modify it.
— The number of iterations that should be used when averaging the number of points of Done stories in order to compute the project's velocity.
— There are areas within the Tracker UI and the API in which sets of stories automatically exclude the Done stories contained in older iterations. For example, in the web UI, the DONE panel doesn't necessarily show all Done stories by default, and provides a link to click to cause the full story set to be loaded/displayed. The value of this attribute is the maximum number of Done iterations that will be loaded/shown/included in these areas.
— A description of the project's content. Entered through the web UI on the Project Settings page.
— A long description of the project. This is displayed on the Project Overview page in the Tracker web UI.
— When true, the project will accept incoming email responses to Tracker notification emails and convert them to comments on the appropriate stories.
— The number which should be used as the project's velocity when there are not enough recent iterations with Done stories for an actual velocity to be computed.
— The project's type which determines visibility and permissions [demo is deprecated].
— When true, Tracker will allow any user on the web to view the content of the project. The project will not count toward the limits of a paid subscription, and may be included on Tracker's Public Projects listing page.
— When true, Tracker allows people to subscribe to the Atom (RSS, XML) feed of project changes.
— The default join_as value for the project [viewer, member].
Project
/ projects/ {project_id}
Access the project specified by the project_id value in the URL.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ 99"
Headers
Response Body
{"account_id":100,"atom_enabled":true,"automatic_planning":true,"bugs_and_chores_are_estimatable":false,"created_at":"2024-08-20T12:00:05Z","current_iteration_number":15,"description":"Expeditionary Battle Planetoid","enable_following":true,"enable_incoming_emails":true,"enable_tasks":true,"has_google_domain":false,"id":99,"initial_velocity":10,"iteration_length":1,"kind":"project","name":"Death Star","number_of_done_iterations_to_show":4,"point_scale":"0,1,2,3","point_scale_is_custom":false,"profile_content":"This is a machine of war such as the universe has never known. It's colossal, the size of a class-four moon. And it possesses firepower unequaled in the history of warfare.","project_type":"private","public":false,"show_priority_icon":false,"show_priority_icon_in_all_panels":true,"show_story_priority":true,"start_date":"2024-05-06","start_time":"2024-08-20T12:00:10Z","time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"updated_at":"2024-08-20T12:00:10Z","velocity_averaged_over":3,"version":66,"week_start_day":"Monday"}
PARAMETERS
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"totally a new project name"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ 99"
Headers
Response Body
{"account_id":100,"atom_enabled":true,"automatic_planning":true,"bugs_and_chores_are_estimatable":false,"created_at":"2024-08-20T12:00:05Z","current_iteration_number":15,"description":"Expeditionary Battle Planetoid","enable_following":true,"enable_incoming_emails":true,"enable_tasks":true,"has_google_domain":false,"id":99,"initial_velocity":10,"iteration_length":1,"kind":"project","name":"totally a new project name","number_of_done_iterations_to_show":4,"point_scale":"0,1,2,3","point_scale_is_custom":false,"profile_content":"This is a machine of war such as the universe has never known. It's colossal, the size of a class-four moon. And it possesses firepower unequaled in the history of warfare.","project_type":"private","public":false,"show_priority_icon":false,"show_priority_icon_in_all_panels":true,"show_story_priority":true,"start_date":"2024-05-06","start_time":"2024-08-20T12:00:00Z","time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"updated_at":"2024-08-20T12:00:10Z","velocity_averaged_over":3,"version":67,"week_start_day":"Monday"}
PARAMETERS
— The day in the week the project's iterations are to start on.
— The specification for the "point scale" available for entering story estimates within the project. It is specified as a comma-delimited series of values--any value that would be acceptable on the Project Settings page of the Tracker web application may be used here. If an exact match to one of the built-in point scales, the project will use that point scale. If another comma-separated point-scale string is passed, it will be treated as a "custom" point scale. The built-in scales are "0,1,2,3", "0,1,2,4,8", and "0,1,2,3,5,8".
— When true, Tracker will allow estimates to be set on Bug- and Chore-type stories. This is strongly not recommended. Please see the FAQ for more information.
— When false, Tracker suspends the emergent planning of iterations based on the project's velocity, and allows users to manually control the set of unstarted stories included in the Current iteration. See the FAQ for more information.
— When true, Tracker allows individual tasks to be created and managed within each story in the project.
— When true, Tracker allows Priority field to be hidden within each story in the project.
— When true, Tracker allows Priority field to be hidden within each story in the project.
— When true, Tracker allows Priority field to be hidden within each story in the project.
— The first day that should be in an iteration of the project. If both this and "week_start_day" are supplied, they must be consistent. It is specified as a string in the format "YYYY-MM-DD" with "01" for January. If this is not supplied, it will remain blank (null), but "start_time" will have a default value based on the stories in the project. If a value is supplied for start_date, but that date is later than the accepted_at date of the earliest accepted story in your project, start_time will be based on the accepted_at date of the earliest accepted story.
— The "native" time zone for the project, independent of the time zone(s) from which members of the project view or modify it.
— The number of iterations that should be used when averaging the number of points of Done stories in order to compute the project's velocity.
— There are areas within the Tracker UI and the API in which sets of stories automatically exclude the Done stories contained in older iterations. For example, in the web UI, the DONE panel doesn't necessarily show all Done stories by default, and provides a link to click to cause the full story set to be loaded/displayed. The value of this attribute is the maximum number of Done iterations that will be loaded/shown/included in these areas.
— A description of the project's content. Entered through the web UI on the Project Settings page.
— A long description of the project. This is displayed on the Project Overview page in the Tracker web UI.
— When true, the project will accept incoming email responses to Tracker notification emails and convert them to comments on the appropriate stories.
— The number which should be used as the project's velocity when there are not enough recent iterations with Done stories for an actual velocity to be computed.
— The project's type which determines visibility and permissions [demo is deprecated].
— When true, Tracker will allow any user on the web to view the content of the project. The project will not count toward the limits of a paid subscription, and may be included on Tracker's Public Projects listing page.
— When true, Tracker allows people to subscribe to the Atom (RSS, XML) feed of project changes.
— The default join_as value for the project [viewer, member].
export TOKEN='your Pivotal Tracker API token'
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ 99"
Headers
PARAMETERS
Iterations
/ projects/ {project_id}/ iterations
Allows iterations to be retrieved, with optional scope, limit and offset. For the 'Done' scope, a negative offset can be passed, which specifies the number of iterations preceding the 'Current' iteration. Note that iterations are ordered with the oldest (lowest iteration number) first.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iterations?limit=10&offset=1"
Headers
Response Body
[{"number":2,"project_id":99,"length":1,"team_strength":1,"stories":[{"kind":"story","id":563,"created_at":"2024-08-20T12:01:00Z","updated_at":"2024-08-20T12:01:00Z","accepted_at":"2024-08-20T12:00:05Z","estimate":3,"story_type":"feature","story_priority":"p3","name":"Complete construction of the Expeditionary Battle Planetoid","description":"Palpatine was impressed with the PoC, make this one bigger","current_state":"accepted","requested_by_id":102,"external_id":"abc123","integration_id":30,"url":"http://localhost/story/show/563","project_id":99,"owner_ids":[102,101],"labels":[{"id":2009,"project_id":99,"kind":"label","name":"plans","created_at":"2024-08-20T12:01:00Z","updated_at":"2024-08-20T12:01:00Z"}],"owned_by_id":102}],"start":"2024-08-20T12:01:00Z","finish":"2024-08-20T12:00:10Z","kind":"iteration"},{"number":3,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:10Z","finish":"2024-08-20T12:00:15Z","kind":"iteration"},{"number":4,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:15Z","finish":"2024-08-20T12:00:20Z","kind":"iteration"},{"number":5,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:20Z","finish":"2024-08-20T12:00:25Z","kind":"iteration"},{"number":6,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:25Z","finish":"2024-08-20T12:00:30Z","kind":"iteration"},{"number":7,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:30Z","finish":"2024-08-20T12:00:35Z","kind":"iteration"},{"number":8,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:35Z","finish":"2024-08-20T12:00:40Z","kind":"iteration"},{"number":9,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:40Z","finish":"2024-08-20T12:00:45Z","kind":"iteration"},{"number":10,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:45Z","finish":"2024-08-20T12:00:50Z","kind":"iteration"},{"number":11,"project_id":99,"length":1,"team_strength":1,"stories":[],"start":"2024-08-20T12:00:50Z","finish":"2024-08-20T12:00:55Z","kind":"iteration"}]
PARAMETERS
— The offset of first iteration to return, relative to the set of iterations specified by 'scope', with zero being the first iteration in the scope. Defaults to zero. For the 'Done' scope, negative numbers can be passed, which specifies the number of iterations preceding the 'Current' iteration.
— Restricts the state of iterations to return. If not specified, it defaults to all iterations including done.
/ projects/ {project_id}/ iterations/ {iteration_number}
Allows an iteration to be retrieved.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iterations/ 15"
Headers
Response Body
{"finish":"2024-08-20T12:00:10Z","kind":"iteration","length":1,"number":15,"project_id":99,"start":"2024-08-20T12:00:05Z","stories":[{"kind":"story","id":558,"project_id":99,"name":"Contact Lando","story_type":"feature","current_state":"accepted","estimate":1,"accepted_at":"2024-08-20T12:00:05Z","requested_by_id":101,"owner_ids":[],"labels":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/558","story_priority":"p3"},{"kind":"story","id":560,"project_id":99,"name":"Destroy Alderaan","description":"Dantooine is too remote to make an effective demonstration.","story_type":"feature","current_state":"accepted","estimate":1,"accepted_at":"2024-08-20T12:00:05Z","requested_by_id":102,"owned_by_id":101,"owner_ids":[101,105],"labels":[{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/560","story_priority":"p3"},{"kind":"story","id":556,"project_id":99,"name":"Interrogate Leia Organa","description":"She is proving to be resistant to our mind probes","story_type":"feature","current_state":"started","estimate":2,"requested_by_id":101,"owned_by_id":101,"owner_ids":[101,105],"labels":[{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/556","story_priority":"p3"},{"kind":"story","id":559,"project_id":99,"name":"All exhaust ports should be shielded","description":"ray shielded, that is.","story_type":"feature","current_state":"rejected","estimate":3,"requested_by_id":102,"owned_by_id":104,"owner_ids":[104],"labels":[{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/559","story_priority":"p3"}],"team_strength":1}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iterations/ 15?fields=number%2Cproject_id%2Clength%2Cteam_strength%2Cstories%2Cstart%2Cfinish%2Ckind%2Cvelocity"
Headers
Response Body
{"finish":"2024-08-20T12:00:10Z","kind":"iteration","length":1,"number":15,"project_id":99,"start":"2024-08-20T12:00:05Z","stories":[{"kind":"story","id":558,"project_id":99,"name":"Contact Lando","story_type":"feature","current_state":"accepted","estimate":1,"accepted_at":"2024-08-20T12:00:05Z","requested_by_id":101,"owner_ids":[],"labels":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/558","story_priority":"p3"},{"kind":"story","id":560,"project_id":99,"name":"Destroy Alderaan","description":"Dantooine is too remote to make an effective demonstration.","story_type":"feature","current_state":"accepted","estimate":1,"accepted_at":"2024-08-20T12:00:05Z","requested_by_id":102,"owned_by_id":101,"owner_ids":[101,105],"labels":[{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/560","story_priority":"p3"},{"kind":"story","id":556,"project_id":99,"name":"Interrogate Leia Organa","description":"She is proving to be resistant to our mind probes","story_type":"feature","current_state":"started","estimate":2,"requested_by_id":101,"owned_by_id":101,"owner_ids":[101,105],"labels":[{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/556","story_priority":"p3"},{"kind":"story","id":559,"project_id":99,"name":"All exhaust ports should be shielded","description":"ray shielded, that is.","story_type":"feature","current_state":"rejected","estimate":3,"requested_by_id":102,"owned_by_id":104,"owner_ids":[104],"labels":[{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/559","story_priority":"p3"}],"team_strength":1,"velocity":1}
PARAMETERS
/ projects/ {project_id}/ iteration_overrides/ {iteration_number}
Operations on an individual iteration's overrides.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"length":5,"team_strength":0.7}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iteration_overrides/ 3"
Headers
Response Body
{"kind":"iteration_override","length":5,"number":3,"project_id":99,"team_strength":0.7}
PARAMETERS
/ projects/ {project_id}/ iterations/ {iteration_number}/ analytics
Gets analytics for the specified iteration. The iteration must fall entirely within the last six months.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export ITERATION_ID=15
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iterations/ $ITERATION_ID/ analytics"
Headers
Response Body
{"bugs_created":2,"cycle_time":0,"kind":"analytics","rejection_rate":25.0,"stories_accepted":2}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export ITERATION_ID=15
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iterations/ $ITERATION_ID/ analytics.csv"
Headers
Response Body
stories_accepted,bugs_created,cycle_time,rejection_rate
2,2,0,25.0
/ projects/ {project_id}/ iterations/ {iteration_number}/ analytics/ cycle_time_details
Gets cycle time details for the stories in the specified iteration. The iteration must fall entirely within the last six months.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=101
export ITERATION_ID=3
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iterations/ $ITERATION_ID/ analytics/ cycle_time_details"
Headers
Response Body
[{"kind":"cycle_time_details","total_cycle_time":309600000,"started_time":91880000,"started_count":1,"finished_time":217720000,"finished_count":1,"delivered_time":0,"delivered_count":1,"rejected_time":0,"rejected_count":0,"story_id":2141},{"kind":"cycle_time_details","total_cycle_time":550800000,"started_time":432000000,"started_count":1,"finished_time":0,"finished_count":1,"delivered_time":118800000,"delivered_count":1,"rejected_time":0,"rejected_count":0,"story_id":2117},{"kind":"cycle_time_details","total_cycle_time":646068000,"started_time":214068000,"started_count":1,"finished_time":473000,"finished_count":2,"delivered_time":222727000,"delivered_count":2,"rejected_time":208800000,"rejected_count":1,"story_id":2144},{"kind":"cycle_time_details","total_cycle_time":649693000,"started_time":217693000,"started_count":1,"finished_time":209418000,"finished_count":1,"delivered_time":222582000,"delivered_count":1,"rejected_time":0,"rejected_count":0,"story_id":2142},{"kind":"cycle_time_details","total_cycle_time":1328400000,"started_time":1328400000,"started_count":1,"finished_time":0,"finished_count":0,"delivered_time":0,"delivered_count":0,"rejected_time":0,"rejected_count":0,"story_id":2115},{"kind":"cycle_time_details","total_cycle_time":881149000,"started_time":525367000,"started_count":1,"finished_time":21745000,"finished_count":1,"delivered_time":334037000,"delivered_count":1,"rejected_time":0,"rejected_count":0,"story_id":2119}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export ITERATION_ID=15
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ iterations/ $ITERATION_ID/ analytics/ cycle_time_details.csv"
Headers
Response Body
State,Type,Estimate,Title,ID,Labels,Total Cycle Time (Seconds),Started Time (Seconds),Started Count,Finished Time (Seconds),Finished Count,Delivered Time (Seconds),Delivered Count,Rejected Time (Seconds),Rejected Count,Owned By,Owned By
accepted,feature,1,Contact Lando,558,"r&d,rebel bases",,0,0,0,0,0,0,0,0,,
accepted,feature,1,Destroy Alderaan,560,rebel bases,,0,1,0,1,0,1,0,0,Darth Vader,Robotic Maintenance Team 4
started,feature,2,Interrogate Leia Organa,556,"plans,rebel bases",86400,86400,1,0,0,0,0,0,0,Darth Vader,Robotic Maintenance Team 4
rejected,bug,,All exhaust ports should be shielded,559,plans,86400,0,1,0,1,0,1,86400,1,Darth Vader,Moradmin Bast
Project Memberships
/ projects/ {project_id}/ memberships
Membership operations.
Note that currently none of our endpoints will return memberships marked as inactive
for a person. This is likely to change with future additions to the V5 API, but
as of right now, no responses should contain references to users who do not have active access to your project.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"email":"marek@sith.mil","role":"member"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ memberships"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","favorite":false,"id":16200,"kind":"project_membership","person":{"kind":"person","id":106,"name":"Galen Marek","email":"marek@sith.mil","initials":"GM","username":"starkiller"},"project_color":"b800bb","project_id":99,"role":"member","updated_at":"2024-08-20T12:00:00Z","wants_comment_notification_emails":true,"will_receive_mention_notifications_or_emails":true}
PARAMETERS
— The role the user will assume on the project.
— The email address of a new/existing Tracker user to be added to this project.
— The name to be given to a new Tracker user, should a user with the given email address not already exist.
— The initials to be given to a new Tracker user, should a user with the given email address not already exist.
— The hex-value color to give the project in multi-project views
Note that currently none of our endpoints will return memberships marked as inactive
for a person. This is likely to change with future additions to the V5 API, but
as of right now, no responses should contain references to users who do not have active access to your project.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ memberships"
Headers
Response Body
[{"kind":"project_membership","project_id":99,"id":100,"last_viewed_at":"2024-08-20T12:00:10Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","role":"owner","project_color":"8100ea","favorite":false,"wants_comment_notification_emails":false,"will_receive_mention_notifications_or_emails":true,"person":{"kind":"person","id":100,"name":"Emperor Palpatine","email":"emperor@galacticrepublic.gov","initials":"EP","username":"palpatine"}},{"kind":"project_membership","project_id":99,"id":101,"last_viewed_at":"2024-08-20T12:00:10Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","role":"member","project_color":"8100ea","favorite":false,"wants_comment_notification_emails":true,"will_receive_mention_notifications_or_emails":true,"person":{"kind":"person","id":101,"name":"Darth Vader","email":"vader@deathstar.mil","initials":"DV","username":"vader"}},{"kind":"project_membership","project_id":99,"id":102,"last_viewed_at":"2024-08-20T12:00:10Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","role":"owner","project_color":"8100ea","favorite":false,"wants_comment_notification_emails":false,"will_receive_mention_notifications_or_emails":true,"person":{"kind":"person","id":102,"name":"Wilhuff Tarkin","email":"governor@eriadu.gov","initials":"WT","username":"tarkin"}},{"kind":"project_membership","project_id":99,"id":103,"last_viewed_at":"2024-08-20T12:00:10Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","role":"member","project_color":"8100ea","favorite":false,"wants_comment_notification_emails":true,"will_receive_mention_notifications_or_emails":true,"person":{"kind":"person","id":104,"name":"Clone TK421","email":"tk421@deathstar.mil","initials":"TK421","username":"tk421"}},{"kind":"project_membership","project_id":99,"id":104,"last_viewed_at":"2024-08-20T12:00:10Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","role":"member","project_color":"8100ea","favorite":false,"wants_comment_notification_emails":true,"will_receive_mention_notifications_or_emails":true,"person":{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"}},{"kind":"project_membership","project_id":99,"id":105,"last_viewed_at":"2024-08-20T12:00:10Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","role":"member","project_color":"8100ea","favorite":false,"wants_comment_notification_emails":true,"will_receive_mention_notifications_or_emails":true,"person":{"kind":"person","id":105,"name":"Robotic Maintenance Team 4","email":"I662@deathstar.mil","initials":"i662","username":"i662"}},{"kind":"project_membership","project_id":99,"id":107,"last_viewed_at":"2024-08-20T12:00:05Z","created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","role":"viewer","project_color":"8100ea","favorite":false,"wants_comment_notification_emails":false,"will_receive_mention_notifications_or_emails":true,"person":{"kind":"person","id":107,"name":"Bevel Lemelisk","email":"bevel@sith.mil","initials":"bl","username":"bevel"}}]
PARAMETERS
— The field to sort by. Default is id
/ projects/ {project_id}/ memberships/ {membership_id}
Membership operations.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ memberships/ 102"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","favorite":false,"id":102,"kind":"project_membership","last_viewed_at":"2024-08-20T12:00:05Z","person":{"kind":"person","id":102,"name":"Wilhuff Tarkin","email":"governor@eriadu.gov","initials":"WT","username":"tarkin"},"project_color":"8100ea","project_id":99,"role":"owner","updated_at":"2024-08-20T12:00:05Z","wants_comment_notification_emails":false,"will_receive_mention_notifications_or_emails":true}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ memberships/ 104"
Headers
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"role":"viewer"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ memberships/ 104"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","favorite":false,"id":104,"kind":"project_membership","last_viewed_at":"2024-08-20T12:00:05Z","person":{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"},"project_color":"8100ea","project_id":99,"role":"viewer","updated_at":"2024-08-20T12:00:10Z","wants_comment_notification_emails":true,"will_receive_mention_notifications_or_emails":true}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"favorite":true,"project_color":"ffffff"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ memberships/ 104"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","favorite":true,"id":104,"kind":"project_membership","last_viewed_at":"2024-08-20T12:00:05Z","person":{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"},"project_color":"ffffff","project_id":99,"role":"member","updated_at":"2024-08-20T12:00:10Z","wants_comment_notification_emails":true,"will_receive_mention_notifications_or_emails":true}
PARAMETERS
— The role the user will assume on the project
— The hex-value color to give the project in multi-project views
Account Memberships
/ accounts/ {account_id}/ memberships
Membership operations.
export TOKEN='your Pivotal Tracker API token'
export ACCOUNT_ID=100
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ accounts/ $ACCOUNT_ID/ memberships"
Headers
Response Body
[{"kind":"account_membership","id":100,"person":{"kind":"person","id":100,"name":"Emperor Palpatine","email":"emperor@galacticrepublic.gov","initials":"EP","username":"palpatine"},"account_id":100,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","owner":true,"admin":false,"project_creator":false},{"kind":"account_membership","id":101,"person":{"kind":"person","id":101,"name":"Darth Vader","email":"vader@deathstar.mil","initials":"DV","username":"vader"},"account_id":100,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","owner":false,"admin":true,"project_creator":false},{"kind":"account_membership","id":102,"person":{"kind":"person","id":102,"name":"Wilhuff Tarkin","email":"governor@eriadu.gov","initials":"WT","username":"tarkin"},"account_id":100,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","owner":false,"admin":false,"project_creator":false},{"kind":"account_membership","id":103,"person":{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"},"account_id":100,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","owner":false,"admin":false,"project_creator":false},{"kind":"account_membership","id":104,"person":{"kind":"person","id":104,"name":"Clone TK421","email":"tk421@deathstar.mil","initials":"TK421","username":"tk421"},"account_id":100,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","owner":false,"admin":false,"project_creator":false},{"kind":"account_membership","id":106,"person":{"kind":"person","id":106,"name":"Galen Marek","email":"marek@sith.mil","initials":"GM","username":"starkiller"},"account_id":100,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","owner":false,"admin":false,"project_creator":false},{"kind":"account_membership","id":109,"person":{"kind":"person","id":109,"name":"3D-4X administrative droid","email":"threedeefourx@sith.mil","initials":"3D4X","username":"threedeefourx"},"account_id":100,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","owner":false,"admin":true,"project_creator":false}]
PARAMETERS
export TOKEN='your Pivotal Tracker API token'
export ACCOUNT_ID=100
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"email":"dooku@example.com","initials":"CD","name":"Count Dooku"}' "https:/ /www.pivotaltracker.com/ services/ v5/ accounts/ $ACCOUNT_ID/ memberships"
Headers
Response Body
{"account_id":100,"admin":false,"created_at":"2024-08-20T12:00:00Z","id":19200,"kind":"account_membership","owner":false,"person":{"kind":"person","id":1900,"name":"Count Dooku","email":"dooku@example.com","initials":"CD","username":"countd"},"project_creator":false,"updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export ACCOUNT_ID=100
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"email":"monmothma@example.com","initials":"MM","name":"Mon Mothma"}' "https:/ /www.pivotaltracker.com/ services/ v5/ accounts/ $ACCOUNT_ID/ memberships"
Headers
Response Body
{"account_id":100,"admin":false,"created_at":"2024-08-20T12:00:00Z","id":19200,"kind":"account_membership","owner":false,"person":{"kind":"person","id":108,"name":"Mon Mothma","email":"monmothma@example.com","initials":"MM","username":"monmothma"},"project_creator":false,"updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
— The email address of a new/existing Tracker user to be added to this account.
— The name to be given to a new Tracker user, should a user with the given email address not already exist.
— The initials to be given to a new Tracker user, should a user with the given email address not already exist.
— True if the person is allowed to create new projects within the account.
/ accounts/ {account_id}/ memberships/ {person_id}
Get an individual account membership, requested by the person_id.
export TOKEN='your Pivotal Tracker API token'
export ACCOUNT_ID=100
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ accounts/ $ACCOUNT_ID/ memberships/ 101"
Headers
Response Body
{"account_id":100,"admin":true,"created_at":"2024-08-20T12:00:00Z","id":101,"kind":"account_membership","owner":false,"person":{"kind":"person","id":101,"name":"Darth Vader","email":"vader@deathstar.mil","initials":"DV","username":"vader"},"project_creator":false,"updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export ACCOUNT_ID=100
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"project_creator":true}' "https:/ /www.pivotaltracker.com/ services/ v5/ accounts/ $ACCOUNT_ID/ memberships/ 103"
Headers
Response Body
{"account_id":100,"admin":false,"created_at":"2024-08-20T12:00:00Z","id":103,"kind":"account_membership","owner":false,"person":{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"},"project_creator":true,"updated_at":"2024-08-20T12:00:05Z"}
PARAMETERS
— True if the person is allowed to create new projects within the account.
export TOKEN='your Pivotal Tracker API token'
export ACCOUNT_ID=100
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ accounts/ $ACCOUNT_ID/ memberships/ 104"
Headers
Accounts
/ accounts
Access a user's accounts
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ accounts"
Headers
Response Body
[{"kind":"account","id":100,"name":"Galactic Empire","plan":"Enterprise","status":"active","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]
/ account_summaries
Access the account summaries that you are a member of.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ account_summaries?with_permission=project_creation"
Headers
Response Body
[{"kind":"account_summary","id":100,"name":"Galactic Empire","status":"active","plan":"Enterprise"},{"kind":"account_summary","id":1901,"name":"Tarkin Project","status":"active","plan":"Free"},{"kind":"account_summary","id":1902,"name":"Empire Operations","status":"active","plan":"Free"}]
PARAMETERS
— Find accounts where you have the specified permission.
Account
/ accounts/ {account_id}
Access the account specified by the account_id value in the URL.
Retrieving account resources via this endpoint is restricted to Owners and Administrators for the Account specified. Non authorized users will receive an error.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ accounts/ 100"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":100,"kind":"account","name":"Galactic Empire","plan":"Enterprise","status":"active","updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
Labels
/ projects/ {project_id}/ labels
Access the project's labels.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ labels?date_format=millis"
Headers
Response Body
[{"kind":"label","id":2015,"project_id":99,"name":"diplomatic relations","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2013,"project_id":99,"name":"fleet ops","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2012,"project_id":99,"name":"personnel","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2014,"project_id":99,"name":"r&d","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2017,"project_id":99,"name":"sanitation","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2016,"project_id":99,"name":"security protocol","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2010,"project_id":99,"name":"turning luke","created_at":1724155200000,"updated_at":1724155200000}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ labels?date_format=millis&with_type=epic"
Headers
Response Body
[{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2017,"project_id":99,"name":"sanitation","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2010,"project_id":99,"name":"turning luke","created_at":1724155200000,"updated_at":1724155200000}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ labels?date_format=millis&with_status=active"
Headers
Response Body
[{"kind":"label","id":2015,"project_id":99,"name":"diplomatic relations","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2012,"project_id":99,"name":"personnel","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2014,"project_id":99,"name":"r&d","created_at":1724155200000,"updated_at":1724155200000},{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":1724155200000,"updated_at":1724155200000}]
PARAMETERS
— Filters the returned labels by the given type.
— Filters the returned labels by the given status.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"a new hope"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ labels"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":5100,"kind":"label","name":"a new hope","project_id":99,"updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
/ projects/ {project_id}/ labels/ {label_id}
Access the project's labels.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ labels/ 2015"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":2015,"kind":"label","name":"diplomatic relations","project_id":99,"updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"detention"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ labels/ 2015"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":2015,"kind":"label","name":"detention","project_id":99,"updated_at":"2024-08-20T12:00:05Z"}
PARAMETERS
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ labels/ 2015"
Headers
/ projects/ {project_id}/ stories/ {story_id}/ labels
Operations on a story's labels
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=556
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ labels"
Headers
Response Body
[{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=556
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"my new label"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ labels"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":5100,"kind":"label","name":"my new label","project_id":99,"updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
— The id of a label that already exists within the project, which should be added to the selected story.
/ projects/ {project_id}/ stories/ {story_id}/ labels/ {label_id}
Operations on a story label
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=556
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ labels/ 2009"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":2009,"kind":"label","name":"plans","project_id":99,"updated_at":"2024-08-20T12:00:00Z"}
Releases
/ projects/ {project_id}/ releases
GETs a paginated list of releases for a given project.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ releases"
Headers
Response Body
[{"kind":"release","id":552,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","deadline":"2024-08-20T12:00:05Z","name":"Battlestation fully operational","description":"Everything is proceeding as I have foreseen.","current_state":"unstarted","url":"http://localhost/story/show/552","project_id":99,"labels":[]}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ releases?with_state=accepted"
Headers
Response Body
[{"kind":"release","id":2300,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","accepted_at":"2024-08-20T12:00:00Z","deadline":"2024-08-20T12:00:00Z","name":"Foo","current_state":"accepted","url":"http://localhost/story/show/2300","project_id":99,"labels":[]}]
PARAMETERS
— A release's current_state which all returned releases must match.
— A date and time (ISO 8601 format or milliseconds) which all returned releases are accepted before.
— A date and time (ISO 8601 format or milliseconds) which all returned releases are accepted after.
— A date and time (ISO 8601 format or milliseconds) that release dates fall before.
— A date and time (ISO 8601 format or milliseconds) that release dates fall after.
— With the first release in your priority list as 0, the index of the first release you want returned.
/ projects/ {project_id}/ releases/ {id}
GETs a release for a given project.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ releases/ 552"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unstarted","deadline":"2024-08-20T12:00:05Z","description":"Everything is proceeding as I have foreseen.","id":552,"kind":"release","labels":[],"name":"Battlestation fully operational","project_id":99,"updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/552"}
/ projects/ {project_id}/ releases/ {id}/ stories
GETs the stories in a given release.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export RELEASE_ID=552
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ releases/ $RELEASE_ID/ stories"
Headers
Response Body
[{"kind":"story","id":553,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","accepted_at":"2024-08-20T12:00:15Z","estimate":3,"story_type":"feature","story_priority":"p3","name":"Build protocol droid","description":"I want a friend","current_state":"accepted","requested_by_id":101,"url":"http://localhost/story/show/553","project_id":99,"owner_ids":[101],"labels":[{"id":2014,"project_id":99,"kind":"label","name":"r&d","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"},{"id":2008,"project_id":99,"kind":"label","name":"rebel bases","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"}],"owned_by_id":101},{"kind":"story","id":563,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","accepted_at":"2024-08-20T12:00:05Z","estimate":3,"story_type":"feature","story_priority":"p3","name":"Complete construction of the Expeditionary Battle Planetoid","description":"Palpatine was impressed with the PoC, make this one bigger","current_state":"accepted","requested_by_id":102,"external_id":"abc123","integration_id":30,"url":"http://localhost/story/show/563","project_id":99,"owner_ids":[102,101],"labels":[{"id":2009,"project_id":99,"kind":"label","name":"plans","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"}],"owned_by_id":102},{"kind":"story","id":554,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","accepted_at":"2024-08-20T12:00:10Z","estimate":3,"story_type":"feature","story_priority":"p3","name":"Identify Bothan spies","description":"Infiltrate their spy network.","current_state":"accepted","requested_by_id":101,"url":"http://localhost/story/show/554","project_id":99,"owner_ids":[106],"labels":[],"owned_by_id":106},{"kind":"story","id":558,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","accepted_at":"2024-08-20T12:00:15Z","estimate":1,"story_type":"feature","story_priority":"p3","name":"Contact Lando","current_state":"accepted","requested_by_id":101,"url":"http://localhost/story/show/558","project_id":99,"owner_ids":[],"labels":[]},{"kind":"story","id":560,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","accepted_at":"2024-08-20T12:00:15Z","estimate":1,"story_type":"feature","story_priority":"p3","name":"Destroy Alderaan","description":"Dantooine is too remote to make an effective demonstration.","current_state":"accepted","requested_by_id":102,"url":"http://localhost/story/show/560","project_id":99,"owner_ids":[101,105],"labels":[{"id":2008,"project_id":99,"kind":"label","name":"rebel bases","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"}],"owned_by_id":101},{"kind":"story","id":556,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","estimate":2,"story_type":"feature","story_priority":"p3","name":"Interrogate Leia Organa","description":"She is proving to be resistant to our mind probes","current_state":"started","requested_by_id":101,"url":"http://localhost/story/show/556","project_id":99,"owner_ids":[101,105],"labels":[{"id":2009,"project_id":99,"kind":"label","name":"plans","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"},{"id":2008,"project_id":99,"kind":"label","name":"rebel bases","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"}],"owned_by_id":101},{"kind":"story","id":559,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","estimate":3,"story_type":"feature","story_priority":"p3","name":"All exhaust ports should be shielded","description":"ray shielded, that is.","current_state":"rejected","requested_by_id":102,"url":"http://localhost/story/show/559","project_id":99,"owner_ids":[104],"labels":[{"id":2009,"project_id":99,"kind":"label","name":"plans","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"}],"owned_by_id":104},{"kind":"story","id":561,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","story_type":"bug","story_priority":"p3","name":"Tractor beam loses power intermittently","current_state":"unstarted","requested_by_id":102,"url":"http://localhost/story/show/561","project_id":99,"owner_ids":[],"labels":[]},{"kind":"story","id":566,"created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z","story_type":"chore","story_priority":"p3","name":"Repair CommLink","description":"It's malfunctioning.","current_state":"unstarted","requested_by_id":104,"url":"http://localhost/story/show/566","project_id":99,"owner_ids":[],"labels":[{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:15Z","updated_at":"2024-08-20T12:00:15Z"}]}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export RELEASE_ID=552
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ releases/ $RELEASE_ID/ stories.csv"
Headers
Response Body
State,Accepted at (PDT),Type,Estimate,Title,ID,Labels,Owned By,Owned By
accepted,5/14/2024 05:00:00,feature,3,Build protocol droid,553,"r&d,rebel bases",Darth Vader,
accepted,5/21/2024 05:00:00,feature,3,Complete construction of the Expeditionary Battle Planetoid,563,plans,Wilhuff Tarkin,Darth Vader
accepted,8/13/2024 05:00:00,feature,3,Identify Bothan spies,554,"",Galen Marek,
accepted,8/20/2024 05:00:00,feature,1,Contact Lando,558,"",,
accepted,8/20/2024 05:00:00,feature,1,Destroy Alderaan,560,rebel bases,Darth Vader,Robotic Maintenance Team 4
started,,feature,2,Interrogate Leia Organa,556,"plans,rebel bases",Darth Vader,Robotic Maintenance Team 4
rejected,,feature,3,All exhaust ports should be shielded,559,plans,Clone TK421,
unstarted,,bug,,Tractor beam loses power intermittently,561,"",,
unstarted,,chore,,Repair CommLink,566,mnt,,
Stories
/ projects/ {project_id}/ stories
Fetch some or all stories for the specified project.
Note that labels or strings with a space must be quoted, and multiple filters must be separated with a space, and everything must be URL-escaped. You can also search on multiple values within the same search term, for example, 'filter=id:1,2,3' will return resources with the id 1, 2 or 3.
Searches can be refined with all of the modifications listed here: How can a search be refined?
On endpoints that support filters, 'filter' can only be combined with project_id, date_format, limit and offset. All other parameters will result in an error.
state:started requester:OWK label:"jedi stuff" keyword
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories?date_format=millis&with_state=unstarted"
Headers
Response Body
[{"kind":"story","id":561,"created_at":1724155200000,"updated_at":1724155200000,"story_type":"bug","story_priority":"p3","name":"Tractor beam loses power intermittently","current_state":"unstarted","requested_by_id":102,"url":"http://localhost/story/show/561","project_id":99,"owner_ids":[],"labels":[]},{"kind":"story","id":566,"created_at":1724155200000,"updated_at":1724155200000,"story_type":"chore","story_priority":"p3","name":"Repair CommLink","description":"It's malfunctioning.","current_state":"unstarted","requested_by_id":104,"url":"http://localhost/story/show/566","project_id":99,"owner_ids":[],"labels":[{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":1724155200000,"updated_at":1724155200000}]},{"kind":"story","id":552,"created_at":1724155200000,"updated_at":1724155200000,"deadline":1724155205000,"story_type":"release","story_priority":"p3","name":"Battlestation fully operational","description":"Everything is proceeding as I have foreseen.","current_state":"unstarted","requested_by_id":100,"url":"http://localhost/story/show/552","project_id":99,"owner_ids":[],"labels":[]},{"kind":"story","id":555,"created_at":1724155200000,"updated_at":1724155200000,"estimate":2,"story_type":"feature","story_priority":"p3","name":"Bring me the passengers","description":"ignore the droids","current_state":"unstarted","requested_by_id":101,"url":"http://localhost/story/show/555","project_id":99,"owner_ids":[],"labels":[]}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories?fields=current_state%2Clabels%2Ccomments%2Ctasks&with_state=unstarted"
Headers
Response Body
[{"id":561,"current_state":"unstarted","labels":[],"tasks":[],"comments":[]},{"id":566,"current_state":"unstarted","labels":[{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"tasks":[],"comments":[]},{"id":552,"current_state":"unstarted","labels":[],"tasks":[],"comments":[]},{"id":555,"current_state":"unstarted","labels":[],"tasks":[],"comments":[{"kind":"comment","id":112,"text":"I want them alive!","person_id":101,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","story_id":555}]}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories?fields=comments%28%3Adefault%2Cfile_attachments%28%3Adefault%2Cuploader%29%29&with_state=unstarted"
Headers
Response Body
[{"id":561,"comments":[]},{"id":566,"comments":[]},{"id":552,"comments":[]},{"id":555,"comments":[{"kind":"comment","id":112,"text":"I want them alive!","person_id":101,"created_at":"2024-08-20T12:00:10Z","updated_at":"2024-08-20T12:00:10Z","story_id":555,"file_attachments":[{"kind":"file_attachment","uploader":{"kind":"person","id":100,"name":"Emperor Palpatine","email":"emperor@galacticrepublic.gov","initials":"EP","username":"palpatine"},"id":20,"filename":"empire.png","created_at":"2024-08-20T12:00:10Z","uploader_id":100,"thumbnailable":true,"height":804,"width":1000,"size":82382,"download_url":"/attachments/0000/0020/empire_big.png","thumbnail_url":"/attachments/0000/0020/empire_thumb.png"},{"kind":"file_attachment","uploader":{"kind":"person","id":101,"name":"Darth Vader","email":"vader@deathstar.mil","initials":"DV","username":"vader"},"id":21,"filename":"Corellian corvette deck plan.tiff","created_at":"2024-08-20T12:00:05Z","uploader_id":101,"thumbnailable":false,"height":216,"width":650,"size":561878,"download_url":"/attachments/0000/0021/Corellian corvette deck plan_big.tiff","thumbnail_url":"/attachments/0000/0021/Corellian corvette deck plan_thumb.tiff"}]}]}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories?after_story_id=553&before_story_id=551&with_label=mnt"
Headers
Response Body
[{"kind":"story","id":566,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","story_type":"chore","story_priority":"p3","name":"Repair CommLink","description":"It's malfunctioning.","current_state":"unstarted","requested_by_id":104,"url":"http://localhost/story/show/566","project_id":99,"owner_ids":[],"labels":[{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]},{"kind":"story","id":567,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","story_type":"feature","story_priority":"p3","name":"Clean Cell Block 1138","description":"The large, hairy _Thing_ is being transferred away","current_state":"unscheduled","requested_by_id":104,"url":"http://localhost/story/show/567","project_id":99,"owner_ids":[],"labels":[{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]},{"kind":"story","id":565,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","story_type":"feature","story_priority":"p3","name":"Reactor leak reported in Detention Block AA-23","description":"large leak, very dangerous","current_state":"unscheduled","requested_by_id":103,"url":"http://localhost/story/show/565","project_id":99,"owner_ids":[],"labels":[{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]},{"kind":"story","id":562,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","story_type":"bug","story_priority":"p3","name":"Garbage smashers on the detention level have malfunctioned","current_state":"unscheduled","requested_by_id":102,"url":"http://localhost/story/show/562","project_id":99,"owner_ids":[],"labels":[{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]}]
PARAMETERS
— A label name which all returned stories must match.
— A story's type which all returned stories must match.
— A story's priority which all returned stories must match.
— A story's current_state which all returned stories must match.
— Filters results to stories that are after the given story id
— Filters results to stories that are before the given story id
— A date and time (ISO 8601 format or milliseconds) which all returned stories are accepted before.
— A date and time (ISO 8601 format or milliseconds) which all returned stories are accepted after.
— A date and time (ISO 8601 format or milliseconds) which all returned stories are created before.
— A date and time (ISO 8601 format or milliseconds) which all returned stories are created after.
— A date and time (ISO 8601 format or milliseconds) which all returned stories are updated before.
— A date and time (ISO 8601 format or milliseconds) which all returned stories are updated after.
— A date and time (ISO 8601 format or milliseconds) that release dates fall before.
— A date and time (ISO 8601 format or milliseconds) that release dates fall after.
— With the first story in your priority list as 0, the index of the first story you want returned.
— This parameter supplies a search string; only stories that match the search criteria are returned. Cannot be used together with any other parameters. How can a search be refined?
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"Exhaust ports are ray shielded 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[],"name":"Exhaust ports are ray shielded 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"after_id":555,"before_id":567,"name":"Replace the lining in Darth Vader's helmet"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[],"name":"Replace the lining in Darth Vader's helmet","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"current_state":"accepted","estimate":1,"name":"Exhaust ports are ray shielded 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"accepted_at":"2024-08-20T12:00:00Z","created_at":"2024-08-20T12:00:00Z","current_state":"accepted","estimate":1,"id":2300,"kind":"story","labels":[],"name":"Exhaust ports are ray shielded 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"description":null,"name":"Exhaust ports are ray shielded 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[],"name":"Exhaust ports are ray shielded 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"comments":[{"text":"Just ray shielding? What about proton weapons?"}],"name":"Exhaust ports are ray shielded 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories?fields=%3Adefault%2Ccomments"
Headers
Response Body
{"comments":[{"kind":"comment","id":300,"story_id":2300,"text":"Just ray shielding? What about proton weapons?","person_id":101,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"created_at":"2024-08-20T12:00:00Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[],"name":"Exhaust ports are ray shielded 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"comments":[{"text":"Make sure the stamp on the latest shipment of seals matches the new Imperial logo (attached).","file_attachments":[{"type":"file_attachment","id":20,"filename":"empire.png","created_at":1724155200000,"uploader_id":100,"thumbnailable":true,"height":804,"width":1000,"size":82382,"download_url":"/ attachments/ 0000/ 0020/ empire_big.png","thumbnail_url":"/ attachments/ 0000/ 0020/ empire_thumb.png"}]}],"name":"replace seals on trash compactors","story_type":"chore"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[],"name":"replace seals on trash compactors","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"chore","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"label_ids":[2008],"name":"Exhaust ports are ray shielded 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"name":"Exhaust ports are ray shielded 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"labels":["plans","Inspected by TK-421"],"name":"Exhaust ports are ray shielded 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[{"kind":"label","id":5100,"project_id":99,"name":"inspected by tk-421","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"name":"Exhaust ports are ray shielded 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/2300"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"labels":["Inspected by TK-421",{"id":2009,"name":"plans"},{"name":"mnt"}],"name":"Exhaust ports are ray shielded 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","current_state":"unscheduled","id":2300,"kind":"story","labels":[{"kind":"label","id":5100,"project_id":99,"name":"inspected by tk-421","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},{"kind":"label","id":2009,"project_id":99,"name":"plans","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"name":"Exhaust ports are ray shielded 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/2300"}
PARAMETERS
— In-depth explanation of the story requirements.
— Type of story.
— Story's state of completion.
— This parameter allows labels to be selected by content or to be created implicitly as part of the basic request. See the 'label_ids' attribute of the story resource. The labels' ids must not be included if creating a new one.
— This parameter allows creation of new tasks implicitly as part of the basic request. See the 'task_ids' attribute of the story resource for how the resources relate. See the parameters of the POST to /projects/{project_id}/stories/{story_id}/tasks operation for keys that can be included in the nested hash in the parameters. The nested tasks must not contain an id.
— This parameter allows creation of new pull_requests implicitly as part of the basic request. See the 'pull_request_ids' attribute of the story resource. The nested pull_requests must not contain an id.
— This parameter allows creation of new branches implicitly as part of the basic request. See the 'branch_ids' attribute of the story resource. The nested branches must not contain an id.
— This parameter allows creation of new blockers implicitly as part of the basic request. See the 'blocker_ids' attribute of the story resource for how the resources relate. See the parameters of the POST to /projects/{project_id}/stories/{story_id}/blockers operation for keys that can be included in the nested hash in the parameters. The nested blockers must not contain an id.
— This parameter allows creation of new comments implicitly as part of the basic request. See the 'comment_ids' attribute of the story resource for how the resources relate. See the parameters of the POST to /projects/{project_id}/stories/{story_id}/comments operation for keys that can be included in the nested hash in the parameters. The nested comments must not contain an id.
— ID of the story that the current story is located before. Null if story is last one in the project.
— ID of the story that the current story is located after. Null if story is the first one in the project.
— This parameter allows creation of new reviews implicitly as part of the basic request. See the 'review_ids' attribute of the story resource for how the resources relate. See the parameters of the POST to /projects/{project_id}/stories/{story_id}/reviews operation for keys that can be included in the nested hash in the parameters. The nested reviews must not contain an id.
— Story Priority of the specified story.
/ projects/ {project_id}/ stories/ bulk
Fetch more than one story in a project with one request.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ bulk?ids=552%2C553%2C2%2C0"
Headers
Response Body
[{"kind":"story","id":553,"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","accepted_at":"2024-08-20T12:00:05Z","estimate":3,"story_type":"feature","story_priority":"p3","name":"Build protocol droid","description":"I want a friend","current_state":"accepted","requested_by_id":101,"url":"http://localhost/story/show/553","project_id":99,"owner_ids":[101],"labels":[{"id":2014,"project_id":99,"kind":"label","name":"r&d","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"id":2008,"project_id":99,"kind":"label","name":"rebel bases","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"owned_by_id":101},{"kind":"story","id":552,"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","deadline":"2024-08-20T12:00:10Z","story_type":"release","story_priority":"p3","name":"Battlestation fully operational","description":"Everything is proceeding as I have foreseen.","current_state":"unstarted","requested_by_id":100,"url":"http://localhost/story/show/552","project_id":99,"owner_ids":[],"labels":[]}]
Story
/ projects/ {project_id}/ stories/ {story_id}
Operations on an individual story.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 555"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unstarted","description":"ignore the droids","estimate":2,"id":555,"kind":"story","labels":[],"name":"Bring me the passengers","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/555"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"labels":[{"name":"newnew"},{"name":"labellabel"},{"id":2011}]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 555"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unstarted","description":"ignore the droids","estimate":2,"id":555,"kind":"story","labels":[{"kind":"label","id":5101,"project_id":99,"name":"labellabel","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},{"kind":"label","id":5100,"project_id":99,"name":"newnew","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"name":"Bring me the passengers","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"labels":["no life signs","look sir metal"]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 555"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unstarted","description":"ignore the droids","estimate":2,"id":555,"kind":"story","labels":[{"kind":"label","id":5101,"project_id":99,"name":"look sir metal","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"kind":"label","id":5100,"project_id":99,"name":"no life signs","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"name":"Bring me the passengers","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"labels":[]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 555"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unstarted","description":"ignore the droids","estimate":2,"id":555,"kind":"story","labels":[],"name":"Bring me the passengers","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"before_id":556,"current_state":"started","estimate":1}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 567"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"started","description":"The large, hairy _Thing_ is being transferred away","estimate":1,"id":567,"kind":"story","labels":[{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"name":"Clean Cell Block 1138","owner_ids":[],"project_id":99,"requested_by_id":104,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/567"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"current_state":"accepted","estimate":1,"name":"Exhaust ports have ray shielding 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 555"
Headers
Response Body
{"accepted_at":"2024-08-20T12:00:05Z","created_at":"2024-08-20T12:00:00Z","current_state":"accepted","description":"ignore the droids","estimate":1,"id":555,"kind":"story","labels":[],"name":"Exhaust ports have ray shielding 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"after_id":568,"before_id":null,"group":"scheduled","project_id":98}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 555"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unstarted","description":"ignore the droids","estimate":2,"id":555,"kind":"story","labels":[],"name":"Bring me the passengers","owner_ids":[],"project_id":98,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555"}
PARAMETERS
— The content for a comment when rejecting a story (current state = rejected). For all other comment actions see the Comments endpoint.
— The ids of the users you would like to follow the story.
— Should be supplied when specifying the story's before_id and/or after_id.
— The value that the story's project_id should be updated to. Has the effect of moving the story being updated into that project from its current one.
— In-depth explanation of the story requirements.
— Type of story.
— Story's state of completion.
— This parameter allows labels to be selected by content or to be created implicitly as part of the basic request. See the 'label_ids' attribute of the story resource. The labels' ids must not be included if creating a new one.
— ID of the story that the current story is located before. Null if story is last one in the project.
— ID of the story that the current story is located after. Null if story is the first one in the project.
— Story Priority of the specified story.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ 555"
Headers
/ projects/ {project_id}/ stories/ {story_id}/ owners
Operations on a story's owners
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ owners"
Headers
Response Body
[{"kind":"person","id":100,"name":"Emperor Palpatine","email":"emperor@galacticrepublic.gov","initials":"EP","username":"palpatine"},{"kind":"person","id":103,"name":"Moradmin Bast","email":"bast@deathstar.mil","initials":"MB","username":"bast"}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"id":100}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ owners"
Headers
Response Body
{"email":"emperor@galacticrepublic.gov","id":100,"initials":"EP","kind":"person","name":"Emperor Palpatine","username":"palpatine"}
/ projects/ {project_id}/ stories/ {story_id}/ owners/ {person_id}
Operations on a story's owners
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ owners/ 100"
Headers
/ stories/ {story_id}
Operations on an individual story.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ stories/ 559"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"rejected","description":"ray shielded, that is.","estimate":3,"id":559,"kind":"story","labels":[{"id":2009,"project_id":99,"kind":"label","name":"plans","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"name":"All exhaust ports should be shielded","owned_by_id":104,"owner_ids":[104],"project_id":99,"requested_by_id":102,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/story/show/559"}
PARAMETERS
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"labels":[{"name":"newnew"},{"name":"labellabel"},{"id":2011}]}' "https:/ /www.pivotaltracker.com/ services/ v5/ stories/ 555"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"unstarted","description":"ignore the droids","estimate":2,"id":555,"kind":"story","labels":[{"kind":"label","id":5101,"project_id":99,"name":"labellabel","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"},{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},{"kind":"label","id":5100,"project_id":99,"name":"newnew","created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z"}],"name":"Bring me the passengers","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555"}
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"before_id":556,"current_state":"started","estimate":1}' "https:/ /www.pivotaltracker.com/ services/ v5/ stories/ 567"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","current_state":"started","description":"The large, hairy _Thing_ is being transferred away","estimate":1,"id":567,"kind":"story","labels":[{"kind":"label","id":2011,"project_id":99,"name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}],"name":"Clean Cell Block 1138","owner_ids":[],"project_id":99,"requested_by_id":104,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/567"}
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"comment":{"text":"Here are the new plans.","file_attachments":[{"type":"file_attachment","id":21,"filename":"Corellian corvette deck plan.tiff","created_at":1724155200000,"uploader_id":101,"thumbnailable":false,"height":216,"width":650,"size":561878,"download_url":"/ attachments/ 0000/ 0021/ Corellian corvette deck plan_big.tiff","thumbnail_url":"/ attachments/ 0000/ 0021/ Corellian corvette deck plan_thumb.tiff"}]},"current_state":"rejected"}' "https:/ /www.pivotaltracker.com/ services/ v5/ stories/ 555?fields=requested_by%2Cowned_by%2Clabels%2Ccomments%28text%2Cfile_attachments%29%2Ctasks"
Headers
Response Body
{"comments":[{"text":"I want them alive!","file_attachments":[{"kind":"file_attachment","id":20,"filename":"empire.png","created_at":"2024-08-20T12:00:00Z","uploader_id":100,"thumbnailable":true,"height":804,"width":1000,"size":82382,"download_url":"/attachments/0000/0020/empire_big.png","thumbnail_url":"/attachments/0000/0020/empire_thumb.png"},{"kind":"file_attachment","id":21,"filename":"Corellian corvette deck plan.tiff","created_at":"2024-08-20T12:00:05Z","uploader_id":101,"thumbnailable":false,"height":216,"width":650,"size":561878,"download_url":"/attachments/0000/0021/Corellian corvette deck plan_big.tiff","thumbnail_url":"/attachments/0000/0021/Corellian corvette deck plan_thumb.tiff"}],"id":112},{"text":"Here are the new plans.","file_attachments":[{"kind":"file_attachment","id":21,"filename":"Corellian corvette deck plan.tiff","created_at":"2024-08-20T12:00:05Z","uploader_id":101,"thumbnailable":false,"height":216,"width":650,"size":561878,"download_url":"/attachments/0000/0021/Corellian corvette deck plan_big.tiff","thumbnail_url":"/attachments/0000/0021/Corellian corvette deck plan_thumb.tiff"}],"id":300}],"id":555,"labels":[],"requested_by":{"kind":"person","id":101,"name":"Darth Vader","email":"vader@deathstar.mil","initials":"DV","username":"vader"},"tasks":[]}
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"current_state":"accepted","estimate":1,"name":"Exhaust ports have ray shielding 👹"}' "https:/ /www.pivotaltracker.com/ services/ v5/ stories/ 555"
Headers
Response Body
{"accepted_at":"2024-08-20T12:00:05Z","created_at":"2024-08-20T12:00:00Z","current_state":"accepted","description":"ignore the droids","estimate":1,"id":555,"kind":"story","labels":[],"name":"Exhaust ports have ray shielding 👹","owner_ids":[],"project_id":99,"requested_by_id":101,"story_priority":"p3","story_type":"feature","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555"}
PARAMETERS
— The content for a comment when rejecting a story (current state = rejected). For all other comment actions see the Comments endpoint.
— The ids of the users you would like to follow the story.
— Should be supplied when specifying the story's before_id and/or after_id.
— In-depth explanation of the story requirements.
— Type of story.
— Story's state of completion.
— This parameter allows labels to be selected by content or to be created implicitly as part of the basic request. See the 'label_ids' attribute of the story resource. The labels' ids must not be included if creating a new one.
— ID of the story that the current story is located before. Null if story is last one in the project.
— ID of the story that the current story is located after. Null if story is the first one in the project.
— Story Priority of the specified story.
export TOKEN='your Pivotal Tracker API token'
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ stories/ 555"
Headers
PARAMETERS
Story Tasks
/ projects/ {project_id}/ stories/ {story_id}/ tasks
Operations on a story's tasks
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks"
Headers
Response Body
[{"kind":"task","id":5,"story_id":559,"description":"Port 0","complete":false,"position":1,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},{"kind":"task","id":6,"story_id":559,"description":"Port 90","complete":false,"position":2,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"description":"port 270"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks"
Headers
Response Body
{"complete":false,"created_at":"2024-08-20T12:00:00Z","description":"port 270","id":5100,"kind":"task","position":3,"story_id":559,"updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"complete":true,"description":"port 270","position":1}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks"
Headers
Response Body
{"complete":true,"created_at":"2024-08-20T12:00:00Z","description":"port 270","id":5100,"kind":"task","position":1,"story_id":559,"updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
— Offset from the top of the task list. Positions start counting from 1 for the first task on a story.
/ projects/ {project_id}/ stories/ {story_id}/ tasks/ {task_id}
Operations on a task
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks/ 5"
Headers
Response Body
{"complete":false,"created_at":"2024-08-20T12:00:00Z","description":"Port 0","id":5,"kind":"task","position":1,"story_id":559,"updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks/ 5?fields=description%2Ccomplete"
Headers
Response Body
{"complete":false,"description":"Port 0","id":5}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks/ 5"
Headers
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"description":"port 360"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks/ 5"
Headers
Response Body
{"complete":false,"created_at":"2024-08-20T12:00:00Z","description":"port 360","id":5,"kind":"task","position":1,"story_id":559,"updated_at":"2024-08-20T12:00:05Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=559
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"complete":true,"position":2}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ tasks/ 5"
Headers
Response Body
{"complete":true,"created_at":"2024-08-20T12:00:00Z","description":"Port 0","id":5,"kind":"task","position":2,"story_id":559,"updated_at":"2024-08-20T12:00:05Z"}
PARAMETERS
— Offset from the top of the task list. Positions start counting from 1 for the first task on a story.
Epics
/ projects/ {project_id}/ epics
Epic operations.
Note that labels or strings with a space must be quoted, and multiple filters must be separated with a space, and everything must be URL-escaped. You can also search on multiple values within the same search term, for example, 'filter=id:1,2,3' will return resources with the id 1, 2 or 3.
Searches can be refined with all of the modifications listed here: How can a search be refined?
On endpoints that support filters, 'filter' can only be combined with project_id, date_format, limit and offset. All other parameters will result in an error.
label:"jedi stuff" keyword
keyword created_since:11/16/2009 has_attachment:
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics"
Headers
Response Body
[{"id":555,"kind":"epic","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","project_id":99,"name":"Sanitation","url":"http://localhost/epic/show/555","label":{"id":2017,"project_id":99,"kind":"label","name":"sanitation","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}},{"id":8,"kind":"epic","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","project_id":99,"name":"Maintenance","url":"http://localhost/epic/show/8","label":{"id":2011,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}},{"id":7,"kind":"epic","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","project_id":99,"name":"Turn Luke Skywalker","url":"http://localhost/epic/show/7","label":{"id":2010,"project_id":99,"kind":"label","name":"turning luke","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}},{"id":6,"kind":"epic","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","project_id":99,"name":"Death Star Plans","url":"http://localhost/epic/show/6","label":{"id":2009,"project_id":99,"kind":"label","name":"plans","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}},{"id":5,"kind":"epic","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","project_id":99,"name":"Rebel Home Worlds","description":"Identify the systems and eliminate the rebel scum.","url":"http://localhost/epic/show/5","label":{"id":2008,"project_id":99,"kind":"label","name":"rebel bases","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics?fields=id%2Ccomments"
Headers
Response Body
[{"id":555,"comments":[{"kind":"comment","id":113,"text":"Audit security of oscillator sanitation components","person_id":102,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","epic_id":555}]},{"id":8,"comments":[]},{"id":7,"comments":[]},{"id":6,"comments":[{"kind":"comment","id":111,"text":"Check out these Uffel mouse droids","person_id":103,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","epic_id":6}]},{"id":5,"comments":[{"kind":"comment","id":110,"text":"Should we send a probe to Dantooine?","person_id":103,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","epic_id":5}]}]
PARAMETERS
— This parameter supplies a search string; only epics that match the search criteria are returned. How can a search be refined?
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"Tractor Beams"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":2100,"kind":"epic","label":{"kind":"label","id":5100,"project_id":99,"name":"tractor beams","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},"name":"Tractor Beams","project_id":99,"updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/epic/show/2100"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"description":"Install tractor beam systems in all landing bays. Beam systems should report to central monitoring.","label":{"name":"tractor-beams"},"name":"Tractor Beams"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","description":"Install tractor beam systems in all landing bays. Beam systems should report to central monitoring.","id":2100,"kind":"epic","label":{"kind":"label","id":5100,"project_id":99,"name":"tractor-beams","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},"name":"Tractor Beams","project_id":99,"updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/epic/show/2100"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"comments":[{"text":"Use this image on all external comms","file_attachments":[{"id":20,"uploader_id":101,"size":82382,"uploaded":false,"thumbnail_url":"#","download_url":"#","filename":"empire.png","big_url":"#","thumbnailable":true,"content_type":"image/ png","created_at":"2024-08-20T12:00:00Z","width":1000,"height":804}]}],"name":"PR"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":2100,"kind":"epic","label":{"kind":"label","id":5100,"project_id":99,"name":"pr","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},"name":"PR","project_id":99,"updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/epic/show/2100"}
PARAMETERS
— This parameter allows a label to be selected by content or to be created implicitly as part of the basic request. See the 'label_id' attribute of the epic resource. The label's id must not be included if creating a new one.
— In-depth explanation of the epic's goals, scope, etc.
— This parameter allows creation of new comments implicitly as part of the basic request. See the 'comment_ids' attribute of the epic resource for how the resources relate. See the parameters of the POST to /projects/{project_id}/epics/{epic_id}/comments operation for keys that can be included in the nested hash in the parameters. The nested comments must not contain an id.
— This parameter allows creation of new pull_requests implicitly as part of the basic request. See the 'pull_request_ids' attribute of the epic resource. The nested pull_requests must not contain an id.
— This parameter allows creation of new branches implicitly as part of the basic request. See the 'branch_ids' attribute of the epic resource. The nested branches must not contain an id.
Epic
/ projects/ {project_id}/ epics/ {epic_id}
Operations on an individual epic.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ 5"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","description":"Identify the systems and eliminate the rebel scum.","id":5,"kind":"epic","label":{"id":2008,"project_id":99,"kind":"label","name":"rebel bases","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},"name":"Rebel Home Worlds","project_id":99,"updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/epic/show/5"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ 5?fields=name%2Cproject%28enable_following%2Ctime_zone%2Cweek_start_day%2Cname%29"
Headers
Response Body
{"id":5,"name":"Rebel Home Worlds","project":{"id":99,"name":"Death Star","week_start_day":"Monday","time_zone":{"kind":"time_zone","olson_name":"America/Los_Angeles","offset":"-07:00"},"enable_following":true}}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"description":"new desc"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ 5"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","description":"new desc","id":5,"kind":"epic","label":{"kind":"label","id":2008,"project_id":99,"name":"rebel bases","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},"name":"Rebel Home Worlds","project_id":99,"updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/epic/show/5"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"label":{"name":"find-rebels"}}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ 5?fields=name%2Clabel_id"
Headers
Response Body
{"id":5,"label_id":5100,"name":"Rebel Home Worlds"}
PARAMETERS
— This parameter allows a label to be selected by content or to be created implicitly as part of the basic request. See the 'label_id' attribute of the epic resource. The label's id must not be included if creating a new one.
— In-depth explanation of the epic's goals, scope, etc.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ 5"
Headers
/ epics/ {epic_id}
Get an individual epic.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ epics/ 5"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","description":"Identify the systems and eliminate the rebel scum.","id":5,"kind":"epic","label":{"id":2008,"project_id":99,"kind":"label","name":"rebel bases","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"},"name":"Rebel Home Worlds","project_id":99,"updated_at":"2024-08-20T12:00:00Z","url":"http://localhost/epic/show/5"}
PARAMETERS
Comments
/ projects/ {project_id}/ stories/ {story_id}/ comments
Index of comments on an individual story.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments"
Headers
Response Body
[{"kind":"comment","id":112,"story_id":555,"text":"I want them alive!","person_id":101,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]
Note that to include file_attachment
s or google_attachment
s in a new comment,
they must be identified using complete nested resources (JSON hashes, like the one in the response
from performing an upload to /projects/{project_id}/uploads) rather than
solely by ID. When attaching an uploaded file, the client should include the entire
file_attachment resource hash that was received from
the server in response to uploading the file—this includes the file_attachment
resource's id
attribute.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"text":"If this is a consular ship, then where is the ambassador 👅?"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":300,"kind":"comment","person_id":101,"story_id":555,"text":"If this is a consular ship, then where is the ambassador 👅?","updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"commit_identifier":"abc123","commit_type":"github"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments?fields=commit_identifier"
Headers
Response Body
{"commit_identifier":"abc123","id":300}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"person_id":104,"text":"Blame the clone for saying this."}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":300,"kind":"comment","person_id":104,"story_id":555,"text":"Blame the clone for saying this.","updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"file_attachments":[{"id":24,"kind":"file_attachment","filename":"empire.png","size":82382,"width":1000,"height":804,"uploader_id":100,"thumbnail_url":"/ attachments/ 0000/ 0024/ empire_thumb.png","thumbnailable":true,"uploaded":true,"download_url":"/ attachments/ 0000/ 0024/ empire_big.png","created_at":"2024-08-20T12:00:00Z","content_type":"image/ png"}],"text":"What if this were our new sigil?"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments?fields=%3Adefault%2Cfile_attachment_ids"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","file_attachment_ids":[24],"id":300,"kind":"comment","person_id":101,"story_id":555,"text":"What if this were our new sigil?","updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
— This parameter allows file_attachments to be selected by content as part of the basic request. See the 'file_attachment_ids' attribute of the comment resource. The file_attachments' ids must be included.
— This parameter allows creation of new google_attachments implicitly as part of the basic request. See the 'google_attachment_ids' attribute of the comment resource. The nested google_attachments must not contain an id.
— This parameter allows attachments to be selected by content as part of the basic request. See the 'attachment_ids' attribute of the comment resource. The attachments' ids must be included.
— Commit Id on the remote source control system for the comment. Present only on comments that were created by a POST to the source commits API endpoint.
— String identifying the type of remote source control system if Pivotal Tracker can determine it. Present only on comments that were created by a POST to the source commits API endpoint.
— String identifying, in case these comment has been cloned from another platform(eg. jira).
/ projects/ {project_id}/ stories/ {story_id}/ comments/ {comment_id}
Operations on an individual comment.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=564
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ 109"
Headers
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=564
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ 109"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":109,"kind":"comment","person_id":102,"story_id":564,"text":"I think you overestimate their chances!","updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=564
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"text":"updated comment text"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ 109"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","id":109,"kind":"comment","person_id":102,"story_id":564,"text":"updated comment text","updated_at":"2024-08-20T12:00:05Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=564
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"file_attachment_ids_to_add":[21]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ 109?fields=%3Adefault%2Cfile_attachments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","file_attachments":[{"kind":"file_attachment","id":21,"filename":"Corellian corvette deck plan.tiff","created_at":"2024-08-20T12:00:05Z","uploader_id":101,"thumbnailable":false,"height":216,"width":650,"size":561878,"download_url":"/attachments/0000/0021/Corellian corvette deck plan_big.tiff","thumbnail_url":"/attachments/0000/0021/Corellian corvette deck plan_thumb.tiff"}],"id":109,"kind":"comment","person_id":102,"story_id":564,"text":"I think you overestimate their chances!","updated_at":"2024-08-20T12:00:10Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"file_attachment_ids_to_remove":[21]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ 112?fields=%3Adefault%2Cfile_attachments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:05Z","file_attachments":[{"kind":"file_attachment","id":20,"filename":"empire.png","created_at":"2024-08-20T12:00:05Z","uploader_id":100,"thumbnailable":true,"height":804,"width":1000,"size":82382,"download_url":"/attachments/0000/0020/empire_big.png","thumbnail_url":"/attachments/0000/0020/empire_thumb.png"}],"id":112,"kind":"comment","person_id":101,"story_id":555,"text":"I want them alive!","updated_at":"2024-08-20T12:00:10Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"google_attachment_ids_to_remove":[50]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ 112?fields=%3Adefault%2Cgoogle_attachments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","google_attachments":[],"id":112,"kind":"comment","person_id":101,"story_id":555,"text":"I want them alive!","updated_at":"2024-08-20T12:00:05Z"}
PARAMETERS
— list of ids for existing file attachments to attach to the comment
— list of ids for file attachments to detach from the comment
— list of ids for google attachments to remove from the comment
— list of objects for existing attachments to attach to the comment
— list of identity objects for attachments to detach from the comment
/ projects/ {project_id}/ epics/ {epic_id}/ comments
Index of comments on an individual epic.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=5
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments"
Headers
Response Body
[{"kind":"comment","id":110,"epic_id":5,"text":"Should we send a probe to Dantooine?","person_id":103,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=5
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ 110?fields=file_attachments%2Cgoogle_attachments"
Headers
Response Body
{"file_attachments":[],"google_attachments":[],"id":110}
Note that to include file_attachment
s or google_attachment
s in a new comment,
they must be identified using complete nested resources (JSON hashes, like the one in the response
from performing an upload to /projects/{project_id}/uploads) rather than
solely by ID. When attaching an uploaded file, the client should include the entire
file_attachment resource hash that was received from
the server in response to uploading the file—this includes the file_attachment
resource's id
attribute.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=5
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"text":"This is my comment"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","epic_id":5,"id":300,"kind":"comment","person_id":103,"text":"This is my comment","updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
— This parameter allows file_attachments to be selected by content as part of the basic request. See the 'file_attachment_ids' attribute of the comment resource. The file_attachments' ids must be included.
— This parameter allows creation of new google_attachments implicitly as part of the basic request. See the 'google_attachment_ids' attribute of the comment resource. The nested google_attachments must not contain an id.
— This parameter allows attachments to be selected by content as part of the basic request. See the 'attachment_ids' attribute of the comment resource. The attachments' ids must be included.
— Commit Id on the remote source control system for the comment. Present only on comments that were created by a POST to the source commits API endpoint.
— String identifying the type of remote source control system if Pivotal Tracker can determine it. Present only on comments that were created by a POST to the source commits API endpoint.
— String identifying, in case these comment has been cloned from another platform(eg. jira).
/ projects/ {project_id}/ epics/ {epic_id}/ comments/ {comment_id}
Operations on an individual comment.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=5
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ 110"
Headers
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=5
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ 110"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","epic_id":5,"id":110,"kind":"comment","person_id":103,"text":"Should we send a probe to Dantooine?","updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=5
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"text":"updated comment text"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ 110"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","epic_id":5,"id":110,"kind":"comment","person_id":103,"text":"updated comment text","updated_at":"2024-08-20T12:00:05Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=5
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"file_attachment_ids_to_add":[26]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ 110?fields=%3Adefault%2Cfile_attachments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","epic_id":5,"file_attachments":[{"kind":"file_attachment","id":26,"filename":"empire_thumb.png","created_at":"2024-08-20T12:00:00Z","thumbnailable":false,"height":58,"width":72,"size":82382,"download_url":"/attachments/0000/0020/empire_thumb_big.png","thumbnail_url":"/attachments/0000/0020/empire_thumb_thumb.png"}],"id":110,"kind":"comment","person_id":103,"text":"Should we send a probe to Dantooine?","updated_at":"2024-08-20T12:00:05Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=6
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"file_attachment_ids_to_remove":[22]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ 111?fields=%3Adefault%2Cfile_attachments"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","epic_id":6,"file_attachments":[],"id":111,"kind":"comment","person_id":103,"text":"Check out these Uffel mouse droids","updated_at":"2024-08-20T12:00:05Z"}
PARAMETERS
— list of ids for existing file attachments to attach to the comment
— list of ids for file attachments to detach from the comment
— list of objects for existing attachments to attach to the comment
— list of identity objects for attachments to detach from the comment
Attachments
/ projects/ {project_id}/ stories/ {story_id}/ comments/ {comment_id}/ file_attachments/ {file_attachment_id}
Operations on an individual file attachment.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
export COMMENT_ID=112
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ $COMMENT_ID/ file_attachments/ 21"
Headers
PARAMETERS
/ projects/ {project_id}/ stories/ {story_id}/ comments/ {comment_id}/ google_attachments/ {google_attachment_id}
Operations on an individual google attachment.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=555
export COMMENT_ID=112
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ comments/ $COMMENT_ID/ google_attachments/ 50"
Headers
PARAMETERS
/ projects/ {project_id}/ epics/ {epic_id}/ comments/ {comment_id}/ file_attachments/ {file_attachment_id}
Operations on an individual file attachment.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=6
export COMMENT_ID=111
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ $COMMENT_ID/ file_attachments/ 22"
Headers
PARAMETERS
/ projects/ {project_id}/ epics/ {epic_id}/ comments/ {comment_id}/ google_attachments/ {google_attachment_id}
Operations on an individual google attachment.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export EPIC_ID=6
export COMMENT_ID=111
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ comments/ $COMMENT_ID/ google_attachments/ 51"
Headers
PARAMETERS
/ projects/ {project_id}/ uploads
Upload content for a new file_attachment object.
export TOKEN='your Pivotal Tracker API token'
export FILE_PATH='/ home/ vader/ art-projects/ new-imperial-logo-6.jpg'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -F file=@"$FILE_PATH" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ uploads"
Headers
Response Body
"{\"kind\":\"file_attachment\",\"id\":300,\"filename\":\"new-imperial-logo.jpg\",\"created_at\":\"2024-08-21T12:00:00Z\",\"uploader_id\":101,\"thumbnailable\":true,\"height\":1995,\"width\":2000,\"size\":96228,\"download_url\":\"/file_attachments/300/download\",\"content_type\":\"image/jpeg\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}"
PARAMETERS
— The comment with which the file attachment will be associated.
required — The content of the file being uploaded. It is expected to be incorporated in the multipart data with a 'Content-Disposition' of 'form-data; name="file"; filename="imperial_banner.png"'. The file extension is used to determine the file's content type. A Content-Type header may be supplied, but it is not used to determine the file type.
https:/ / www.pivotaltracker.com/ file_attachments/ {file_attachment_id}/ download
Download the original file content of an attachment.
PARAMETERS
— Determines if server should include response headers that would cause a browser to show the attachment in a new tab or window (inline=true) or show a Save dialog box (inline=false). Default is false.
Search
/ projects/ {project_id}/ search
GET only; searches the project data and returns the stories and/or epics matching the query_string.
Note that labels or strings with a space must be quoted, and multiple filters must be separated with a space, and everything must be URL-escaped. You can also search on multiple values within the same search term, for example, 'filter=id:1,2,3' will return resources with the id 1, 2 or 3.
Searches can be refined with all of the modifications listed here: How can a search be refined?
On endpoints that support filters, 'filter' can only be combined with project_id, date_format, limit and offset. All other parameters will result in an error.
label:"jedi stuff" keyword
keyword created_since:11/16/2009 has_attachment:
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ search?query=label%3Amnt+AND+includedone%3Atrue"
Headers
Response Body
{"epics":{"epics":[],"total_hits":0},"query":"label:mnt AND includedone:true","stories":{"stories":[{"kind":"story","id":566,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:05Z","story_type":"feature","name":"Clean Cell Block 1138","description":"The large, hairy _Thing_ is being transferred away","current_state":"unstarted","requested_by_id":104,"project_id":99,"url":"http://localhost:3000/story/show/566","owner_ids":[],"labels":[{"id":2010,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]},{"kind":"story","id":564,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:10Z","story_type":"feature","name":"Reactor leak reported in Detention Block AA-23","description":"large leak, very dangerous","current_state":"unstarted","requested_by_id":103,"project_id":99,"url":"http://localhost:3000/story/show/564","owner_ids":[],"labels":[{"id":2010,"project_id":99,"kind":"label","name":"mnt","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]}],"total_points":0,"total_points_completed":0,"total_hits":2,"total_hits_with_done":2}}
PARAMETERS
required — String containing the search terms and options. How can a search be refined?
Saved Search
/ projects/ {project_id}/ my/ searches
Access the saved searches for the currently logged-in person.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ my/ searches"
Headers
Response Body
[{"kind":"saved_search","id":4,"project_id":99,"name":"New Maintenance Issues","query":"label:\"mnt\" state:unscheduled"},{"kind":"saved_search","id":5,"project_id":99,"name":"Family","query":"luke, leia"}]
PARAMETERS
Note that labels or strings with a space must be quoted, and multiple filters must be separated with a space, and everything must be URL-escaped. You can also search on multiple values within the same search term, for example, 'filter=id:1,2,3' will return resources with the id 1, 2 or 3.
Searches can be refined with all of the modifications listed here: How can a search be refined?
On endpoints that support filters, 'filter' can only be combined with project_id, date_format, limit and offset. All other parameters will result in an error.
label:"jedi stuff" keyword
keyword created_since:11/16/2009 has_attachment:
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"my saved search","query":"label:\"rebel bases\""}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ my/ searches"
Headers
Response Body
{"id":300,"kind":"saved_search","name":"my saved search","project_id":99,"query":"label:\"rebel bases\""}
PARAMETERS
required — The search criteria string containing search terms and options which were specified for this saved search. How can a search be refined?
/ projects/ {project_id}/ my/ searches/ {search_id}
Deleted a saved search for the currently logged-in person.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ my/ searches/ 5"
Headers
Activity
/ my/ activity
Provides a list of all the activity performed by you. (Limited to the most recent six months of activity performed in projects that are in accounts on any non-Enterprise subscription plan, and to at least the last 25 months of activity for projects in an account on an Enterprise subscription plan.)
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ my/ activity"
Headers
Response Body
[{"kind":"story_move_activity","guid":"99_65","project_version":65,"message":"Darth Vader moved 2 stories","highlight":"moved","changes":[{"kind":"story","change_type":"update","id":562,"original_values":{"before_id":551},"new_values":{"before_id":557},"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","story_priority":"p3"},{"kind":"story","change_type":"update","id":564,"original_values":{"after_id":557},"new_values":{"after_id":565},"name":"Evacuate, in our moment of triumph","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":564,"name":"Evacuate, in our moment of triumph","story_type":"feature","url":"http://localhost/story/show/564","story_priority":"p3"},{"kind":"story","id":562,"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","url":"http://localhost/story/show/562","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_move_activity","guid":"99_64","project_version":64,"message":"Darth Vader moved 2 stories","highlight":"moved","changes":[{"kind":"story","change_type":"update","id":562,"original_values":{"before_id":557},"new_values":{"before_id":551},"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","story_priority":"p3"},{"kind":"story","change_type":"update","id":564,"original_values":{"after_id":565},"new_values":{"after_id":557},"name":"Evacuate, in our moment of triumph","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":564,"name":"Evacuate, in our moment of triumph","story_type":"feature","url":"http://localhost/story/show/564","story_priority":"p3"},{"kind":"story","id":562,"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","url":"http://localhost/story/show/562","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"comment_create_activity","guid":"99_62","project_version":62,"message":"Darth Vader added comment: \"I want them alive!\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":112,"new_values":{"id":112,"story_id":555,"text":"I want them alive!","person_id":101,"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"story","change_type":"update","id":555,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[101]},"name":"Bring me the passengers","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":555,"name":"Bring me the passengers","story_type":"feature","url":"http://localhost/story/show/555","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_update_activity","guid":"99_56","project_version":56,"message":"Darth Vader unstarted this feature","highlight":"unstarted","changes":[{"kind":"story","change_type":"update","id":555,"original_values":{"current_state":"unscheduled","before_id":551,"after_id":557},"new_values":{"current_state":"unstarted","before_id":567,"after_id":552},"name":"Bring me the passengers","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":555,"name":"Bring me the passengers","story_type":"feature","url":"http://localhost/story/show/555","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_update_activity","guid":"99_54","project_version":54,"message":"Darth Vader rejected this feature","highlight":"rejected","changes":[{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":3,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":3,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":1,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":559,"original_values":{"current_state":"delivered"},"new_values":{"current_state":"rejected"},"name":"All exhaust ports should be shielded","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_update_activity","guid":"99_48","project_version":48,"message":"Darth Vader started this feature","highlight":"started","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":5,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":556,"original_values":{"current_state":"unscheduled","before_id":555,"after_id":557},"new_values":{"current_state":"started","before_id":567,"after_id":560},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_update_activity","guid":"99_47","project_version":47,"message":"Darth Vader accepted this feature","highlight":"accepted","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"story","change_type":"update","id":560,"original_values":{"current_state":"delivered","accepted_at":null},"new_values":{"current_state":"accepted","accepted_at":"2024-08-20T12:00:05Z"},"name":"Destroy Alderaan","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":560,"name":"Destroy Alderaan","story_type":"feature","url":"http://localhost/story/show/560","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_update_activity","guid":"99_43","project_version":43,"message":"Darth Vader edited this feature","highlight":"edited","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":5,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"},{"kind":"story","change_type":"update","id":556,"original_values":{"label_ids":[2015],"labels":["diplomatic relations"]},"new_values":{"label_ids":[2009,2008],"labels":["plans","rebel bases"]},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_create_activity","guid":"98_2","project_version":2,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":568,"new_values":{"id":568,"project_id":98,"name":"Midi-chlorians","description":"Without the midi-chlorians, life could not exist, and we would have no knowledge of the Force. They continually speak to us, telling us the will of the Force. When you learn to quiet your mind, you'll hear them speaking to you","story_type":"feature","current_state":"unstarted","estimate":3,"requested_by_id":101,"owned_by_id":101,"owner_ids":[101],"label_ids":[],"follower_ids":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","blocked_story_ids":[],"story_priority":"p3","labels":[]},"name":"Midi-chlorians","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":568,"name":"Midi-chlorians","story_type":"feature","url":"http://localhost/story/show/568","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":98,"name":"Learn About the Force"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_create_activity","guid":"99_11","project_version":11,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":558,"new_values":{"id":558,"project_id":99,"name":"Contact Lando","story_type":"feature","current_state":"accepted","estimate":1,"accepted_at":"2024-08-20T12:00:05Z","requested_by_id":101,"owner_ids":[],"label_ids":[],"follower_ids":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","before_id":557,"after_id":553,"blocked_story_ids":[],"story_priority":"p3","labels":[]},"name":"Contact Lando","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":558,"name":"Contact Lando","story_type":"feature","url":"http://localhost/story/show/558","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_create_activity","guid":"99_10","project_version":10,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":557,"new_values":{"id":557,"project_id":99,"name":"Prepare carbonite freezing chamber","description":"Test first on Solo, we don't want the Emperor's prize damaged.","story_type":"feature","current_state":"unscheduled","requested_by_id":101,"owner_ids":[],"label_ids":[2014],"follower_ids":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","before_id":556,"after_id":553,"blocked_story_ids":[],"story_priority":"p3","labels":["r&d"]},"name":"Prepare carbonite freezing chamber","story_type":"feature","story_priority":"p3"},{"kind":"label","change_type":"update","id":2014,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"r&d"}],"primary_resources":[{"kind":"story","id":557,"name":"Prepare carbonite freezing chamber","story_type":"feature","url":"http://localhost/story/show/557","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_create_activity","guid":"99_9","project_version":9,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":556,"new_values":{"id":556,"project_id":99,"name":"Interrogate Leia Organa","description":"She is proving to be resistant to our mind probes","story_type":"feature","current_state":"unscheduled","requested_by_id":101,"owned_by_id":101,"owner_ids":[101,105],"label_ids":[2015],"follower_ids":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","before_id":555,"after_id":553,"blocked_story_ids":[],"story_priority":"p3","labels":["diplomatic relations"]},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"},{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_create_activity","guid":"99_8","project_version":8,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":555,"new_values":{"id":555,"project_id":99,"name":"Bring me the passengers","description":"ignore the droids","story_type":"feature","current_state":"unscheduled","requested_by_id":101,"owner_ids":[],"label_ids":[],"follower_ids":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","before_id":554,"after_id":553,"blocked_story_ids":[],"story_priority":"p3","labels":[]},"name":"Bring me the passengers","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":555,"name":"Bring me the passengers","story_type":"feature","url":"http://localhost/story/show/555","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_create_activity","guid":"99_7","project_version":7,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":554,"new_values":{"id":554,"project_id":99,"name":"Identify Bothan spies","description":"Infiltrate their spy network.","story_type":"feature","current_state":"unscheduled","requested_by_id":101,"owned_by_id":106,"owner_ids":[106],"label_ids":[],"follower_ids":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","before_id":552,"after_id":553,"blocked_story_ids":[],"story_priority":"p3","labels":[]},"name":"Identify Bothan spies","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":554,"name":"Identify Bothan spies","story_type":"feature","url":"http://localhost/story/show/554","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"},{"kind":"story_create_activity","guid":"99_6","project_version":6,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":553,"new_values":{"id":553,"project_id":99,"name":"Build protocol droid","description":"I want a friend","story_type":"feature","current_state":"accepted","estimate":3,"accepted_at":"2024-08-20T12:00:05Z","requested_by_id":101,"owned_by_id":101,"owner_ids":[101],"label_ids":[2014,2008],"follower_ids":[],"created_at":"2024-08-20T12:00:05Z","updated_at":"2024-08-20T12:00:05Z","before_id":552,"blocked_story_ids":[],"story_priority":"p3","labels":["r&d","rebel bases"]},"name":"Build protocol droid","story_type":"feature","story_priority":"p3"},{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2014,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"r&d"}],"primary_resources":[{"kind":"story","id":553,"name":"Build protocol droid","story_type":"feature","url":"http://localhost/story/show/553","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:05Z"}]
PARAMETERS
— Index of the first activity item you want, starting from zero.
— Activity will be returned only for operations that occurred before the time specified by this parameter.
— Activity will be returned only for operations that occurred after the time specified by this parameter.
— The order to return the activity. Defaults to descending (most recent first).
/ projects/ {project_id}/ activity
Provides a list of all the activity performed on a project. (Limited to the most recent six months of activity performed in projects that are in accounts on any non-Enterprise subscription plan, and to at least the last 25 months of activity for projects in an account on an Enterprise subscription plan.)
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ activity?limit=1"
Headers
Response Body
[{"kind":"iteration_update_activity","guid":"99_66","project_version":66,"message":"Wilhuff Tarkin changed iteration 1's length from default to 2 weeks","highlight":"changed","changes":[{"kind":"iteration_override","change_type":"update","number":1,"original_values":{"number":1,"finish":1724155200000,"team_strength":1.0,"length":"default"},"new_values":{"number":1,"team_strength":0.9,"length":2,"finish":1724155205000}}],"primary_resources":[{"kind":"iteration_override","number":1}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:10Z"}]
PARAMETERS
— The order to return the activity. Defaults to descending.
— Index of the first activity item you want, starting from zero.
— Activity will be returned only for operations that occurred before the time specified by this parameter.
— Activity will be returned only for operations that occurred after the time specified by this parameter.
— Activity will be returned only for operations that occurred after the specified version.
/ projects/ {project_id}/ stories/ {story_id}/ activity
Provides a list of all the activity performed on the story. (Limited to the most recent six months of activity performed in projects that are in accounts on any non-Enterprise subscription plan, and to at least the last 25 months of activity for projects in an account on an Enterprise subscription plan.)
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=556
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ activity"
Headers
Response Body
[{"kind":"story_update_activity","guid":"99_48","project_version":48,"message":"Darth Vader started this feature","highlight":"started","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":5,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":556,"original_values":{"current_state":"unscheduled","before_id":555,"after_id":557},"new_values":{"current_state":"started","before_id":567,"after_id":560},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:00Z"},{"kind":"story_update_activity","guid":"99_43","project_version":43,"message":"Darth Vader edited this feature","highlight":"edited","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":5,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"},{"kind":"story","change_type":"update","id":556,"original_values":{"label_ids":[2015],"labels":["diplomatic relations"]},"new_values":{"label_ids":[2009,2008],"labels":["plans","rebel bases"]},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:00Z"},{"kind":"story_update_activity","guid":"99_26","project_version":26,"message":"Emperor Palpatine estimated this feature as 2 points","highlight":"estimated","changes":[{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"},{"kind":"story","change_type":"update","id":556,"original_values":{"estimate":null},"new_values":{"estimate":2},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":100,"name":"Emperor Palpatine","initials":"EP"},"occurred_at":"2024-08-20T12:00:00Z"},{"kind":"story_create_activity","guid":"99_9","project_version":9,"message":"Darth Vader added this feature","highlight":"added","changes":[{"kind":"story","change_type":"create","id":556,"new_values":{"id":556,"project_id":99,"name":"Interrogate Leia Organa","description":"She is proving to be resistant to our mind probes","story_type":"feature","current_state":"unscheduled","requested_by_id":101,"owned_by_id":101,"owner_ids":[101,105],"label_ids":[2015],"follower_ids":[],"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","before_id":555,"after_id":553,"blocked_story_ids":[],"story_priority":"p3","labels":["diplomatic relations"]},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"},{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:00Z"}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export STORY_ID=556
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ stories/ $STORY_ID/ activity?limit=2&offset=1"
Headers
Response Body
[{"kind":"story_update_activity","guid":"99_43","project_version":43,"message":"Darth Vader edited this feature","highlight":"edited","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":5,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"},{"kind":"story","change_type":"update","id":556,"original_values":{"label_ids":[2015],"labels":["diplomatic relations"]},"new_values":{"label_ids":[2009,2008],"labels":["plans","rebel bases"]},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:00Z"},{"kind":"story_update_activity","guid":"99_26","project_version":26,"message":"Emperor Palpatine estimated this feature as 2 points","highlight":"estimated","changes":[{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"},{"kind":"story","change_type":"update","id":556,"original_values":{"estimate":null},"new_values":{"estimate":2},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":100,"name":"Emperor Palpatine","initials":"EP"},"occurred_at":"2024-08-20T12:00:00Z"}]
PARAMETERS
— The order to return the activity. Defaults to descending.
— Index of the first activity item you want, starting from zero.
— Activity will be returned only for operations that occurred before the time specified by this parameter.
— Activity will be returned only for operations that occurred after the time specified by this parameter.
— Activity will be returned only for operations that occurred after the specified version.
/ projects/ {project_id}/ epics/ {epic_id}/ activity
Provides a list of all the activity performed on the epic. (Limited to the most recent six months of activity performed in projects that are in accounts on any non-Enterprise subscription plan, and to at least the last 25 months of activity for projects in an account on an Enterprise subscription plan.)
export PROJECT_ID=99
export EPIC_ID=5
curl -X GET "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ activity"
Headers
Response Body
[{"kind":"comment_create_activity","guid":"99_60","project_version":60,"message":"Moradmin Bast added comment: \"Should we send a probe to Dantooine?\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":110,"new_values":{"id":110,"epic_id":5,"text":"Should we send a probe to Dantooine?","person_id":103,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"epic","change_type":"update","id":5,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[103]},"name":"Rebel Home Worlds"}],"primary_resources":[{"kind":"epic","id":5,"name":"Rebel Home Worlds","url":"http://localhost/epic/show/5"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":103,"name":"Moradmin Bast","initials":"MB"},"occurred_at":"2024-08-20T12:00:00Z"},{"kind":"epic_create_activity","guid":"99_21","project_version":21,"message":"Wilhuff Tarkin added this epic","highlight":"added","changes":[{"kind":"epic","change_type":"create","id":5,"new_values":{"id":5,"project_id":99,"name":"Rebel Home Worlds","label_id":2008,"description":"Identify the systems and eliminate the rebel scum.","follower_ids":[],"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","past_done_story_estimates":3,"past_done_stories_count":1,"past_done_stories_no_point_count":0,"label":"rebel bases"},"name":"Rebel Home Worlds"}],"primary_resources":[{"kind":"epic","id":5,"name":"Rebel Home Worlds","url":"http://localhost/epic/show/5"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:00Z"}]
export PROJECT_ID=99
export EPIC_ID=5
curl -X GET "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ activity?limit=42&offset=1"
Headers
Response Body
[{"kind":"epic_create_activity","guid":"99_21","project_version":21,"message":"Wilhuff Tarkin added this epic","highlight":"added","changes":[{"kind":"epic","change_type":"create","id":5,"new_values":{"id":5,"project_id":99,"name":"Rebel Home Worlds","label_id":2008,"description":"Identify the systems and eliminate the rebel scum.","follower_ids":[],"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","past_done_story_estimates":3,"past_done_stories_count":1,"past_done_stories_no_point_count":0,"label":"rebel bases"},"name":"Rebel Home Worlds"}],"primary_resources":[{"kind":"epic","id":5,"name":"Rebel Home Worlds","url":"http://localhost/epic/show/5"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:00Z"}]
export PROJECT_ID=99
export EPIC_ID=5
curl -X GET "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ epics/ $EPIC_ID/ activity?since_version=55"
Headers
Response Body
[{"kind":"comment_create_activity","guid":"99_60","project_version":60,"message":"Moradmin Bast added comment: \"Should we send a probe to Dantooine?\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":110,"new_values":{"id":110,"epic_id":5,"text":"Should we send a probe to Dantooine?","person_id":103,"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"epic","change_type":"update","id":5,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[103]},"name":"Rebel Home Worlds"}],"primary_resources":[{"kind":"epic","id":5,"name":"Rebel Home Worlds","url":"http://localhost/epic/show/5"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":103,"name":"Moradmin Bast","initials":"MB"},"occurred_at":"2024-08-20T12:00:00Z"}]
PARAMETERS
— The order to return the activity. Defaults to descending.
— Index of the first activity item you want, starting from zero.
— Activity will be returned only for operations that occurred before the time specified by this parameter.
— Activity will be returned only for operations that occurred after the time specified by this parameter.
— Activity will be returned only for operations that occurred after the specified version.
Source Commits
/ source_commits
Provides integration with commits in a Source Control system.
The Tracker API supports integration with post-commit hooks of Source Control Management (SCM) systems such as Subversion, Git, etc. When a commit is made to the SCM, a trigger can call the Tracker API to add a story comment with the commit ID, author and message. It can also optionally change story state.
To associate an SCM commit with a specific Tracker story, you must include a special syntax in the commit message to indicate one or more story IDs and (optionally) a state change for the story. Your commit message should have square brackets containing a hash mark followed by the story ID. If a story was not already started (it was in the "not started" state), a commit message will automatically start it.
To automatically finish a story by using a commit message, include "fixed", "completed" or "finished" in the square brackets in addition to the story ID. You may also use different cases or forms of these verbs, such as "Fix" or "FIXES", and they may appear before or after the story ID. Note: For features, this will put the story in the 'finished' state. For chores, it will put the story in the 'accepted' state.
In some environments, code that is committed is automatically deployed. For this situation, include "delivers" and feature stories will be put in the 'delivered' state.
export TOKEN='your Pivotal Tracker API token'
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"source_commit":{"commit_id":"abc123","message":"[#555] some commit","url":"http:/ /example.com/ abc123","author":"Darth Vader","repo":"reponame"}}' "https:/ /www.pivotaltracker.com/ services/ v5/ source_commits"
Headers
Response Body
[{"kind":"story","id":555,"project_id":99,"name":"Bring me the passengers","description":"ignore the droids","story_type":"feature","current_state":"started","estimate":2,"requested_by_id":101,"owner_ids":[],"labels":[],"created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:05Z","url":"http://localhost/story/show/555","story_priority":"p3"}]
PARAMETERS
Exports
/ projects/ {project_id}/ export
Export the specified project to CSV
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"story_ids":[551]}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ export"
Headers
Response Body
Id,Title,Labels,Iteration,Iteration Start,Iteration End,Type,Estimate,Priority,Current State,Created at,Accepted at,Deadline,Requested By,Description,URL,Sounder Flats Computer Complex ID,Integration,Owned By,Owned By
551,Hire bounty hunters to bring in Solo,"diplomatic relations, personnel",,,,feature,1,p3 - Low,unscheduled,"Aug 20, 2024",,,Emperor Palpatine,No disintegrations,http://localhost/story/show/551,,,Darth Vader,Clone TK421
/ stories/ export
Export the specified stories (from any number of projects) to CSV
PARAMETERS
Project Integrations
/ projects/ {project_id}/ integrations
Operations on a project's integrations.
NOTE: Few account level & project level integrations such as GitHub, GitHub Enterprise, Gitlab, Gitlab Self-Managed and Concourse Pipeline currently can only be managed via the Generic_Integrations endpoint. Please refer the above endpoint for more details.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ integrations"
Headers
Response Body
[{"id":30,"kind":"other_integration","project_id":99,"can_import":true,"base_url":"http://localhost:3000","is_other":true,"story_name":"item","name":"Sounder Flats Computer Complex","active":true,"import_api_url":"http://localhost:3000/starwars.xml","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z"}]
PARAMETERS
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"active":false,"base_url":"http:/ /some.th/ ing","name":"something","type":"other"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ integrations"
Headers
Response Body
{"active":false,"base_url":"http://some.th/ing","can_import":false,"created_at":"2024-08-20T12:00:00Z","id":200,"is_other":true,"kind":"other_integration","name":"something","project_id":99,"story_name":"item","updated_at":"2024-08-20T12:00:00Z"}
PARAMETERS
required — The name of the type of external integration that this resource represents. NOTE - Few account level & project level integrations such as GitHub, GitHub Enterprise, Gitlab, Gitlab Self-Managed and Concourse Pipeline currently can only be managed via the can be managed via Generic Integrations endpoint.
— The email of the Zendesk user which you want to use for integration purposes.
— The password of the Zendesk user which you want to use for integration purposes.
— Can be found in the URL in your company's community on Satisfaction. For example - http://www.getsatisfaction.com/yourcompany.
— The name of your Bugzilla Product. Use this in conjunction with the component to narrow the bugs to be imported.
— The name of your Bugzilla Component. Use this in conjunction with product to narrow the bugs to be imported.
— A comma separated list of status names that should be excluded from the imported bugs. If left blank, all bugs will be imported.
— Your Lighthouse account name, and can be found in the first part of your Lighthouse URL, for example http://yourcompany.lighthouseapp.com.
— The unique ID of your Lighthouse project, which can be found in a project URL, for example http://yourcompany.lighthouseapp.com/projects/1234-project-name/overview.
— If enabled, comments made by Tracker on the external bug will be marked as private.
— If enabled, comments created in Tracker will be added to the linked ticket or bug.
— Adds a state change comment to the linked ticket or bug.
— url used for outgoing web links in stories imported via this integration.
— The name given to the particular external integration in the Project Settings pages.
/ projects/ {project_id}/ integrations/ {integration_id}
Operations on a single project integration.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ integrations/ 30"
Headers
Response Body
{"active":true,"base_url":"http://localhost:3000","can_import":true,"created_at":"2024-08-20T12:00:00Z","id":30,"import_api_url":"http://localhost:3000/starwars.xml","is_other":true,"kind":"other_integration","name":"Sounder Flats Computer Complex","project_id":99,"story_name":"item","updated_at":"2024-08-20T12:00:00Z"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"base_url":"http:/ /some.th/ ing","name":"something"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ integrations/ 30"
Headers
Response Body
{"active":true,"base_url":"http://some.th/ing","can_import":true,"created_at":"2024-08-20T12:00:00Z","id":30,"import_api_url":"http://localhost:3000/starwars.xml","is_other":true,"kind":"other_integration","name":"something","project_id":99,"story_name":"item","updated_at":"2024-08-20T12:00:05Z"}
PARAMETERS
— The email of the Zendesk user which you want to use for integration purposes.
— The password of the Zendesk user which you want to use for integration purposes.
— Can be found in the URL in your company's community on Satisfaction. For example - http://www.getsatisfaction.com/yourcompany.
— The name of your Bugzilla Product. Use this in conjunction with the component to narrow the bugs to be imported.
— The name of your Bugzilla Component. Use this in conjunction with product to narrow the bugs to be imported.
— A comma separated list of status names that should be excluded from the imported bugs. If left blank, all bugs will be imported.
— Your Lighthouse account name, and can be found in the first part of your Lighthouse URL, for example http://yourcompany.lighthouseapp.com.
— The unique ID of your Lighthouse project, which can be found in a project URL, for example http://yourcompany.lighthouseapp.com/projects/1234-project-name/overview.
— If enabled, comments made by Tracker on the external bug will be marked as private.
— If enabled, comments created in Tracker will be added to the linked ticket or bug.
— Adds a state change comment to the linked ticket or bug.
— url used for outgoing web links in stories imported via this integration.
— The name given to the particular external integration in the Project Settings pages.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ integrations/ 200"
Headers
/ projects/ {project_id}/ integrations/ {integration_id}/ stories
Fetch story information from the selected integration.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export INTEGRATION_ID=30
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ integrations/ $INTEGRATION_ID/ stories"
Headers
Response Body
[{"kind":"external_story","name":"Please let us go","integration_id":30,"external_id":"Bespin","estimate":0,"created_at":"2024-08-20T12:00:00Z","external_requester":"Lando Calrissian","external_owner":"Darth Vader","owned_by_id":101,"owner_ids":[101],"story_type":"feature"}]
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
export INTEGRATION_ID=30
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ integrations/ $INTEGRATION_ID/ stories?exclude_linked=true"
Headers
PARAMETERS
— When this parameter is present and true, response will not include external stories which already have matching Pivotal Tracker stories.
Generic Integrations
/ projects/ {project_id}/ generic_integrations
Create and list generic integrations.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ generic_integrations?integration_type=concourse_pipeline"
Headers
Response Body
[{"id":2,"name":"Production Integration: Death Star","project_id":99,"uuid":"concourse_uuid","environment":"production","git_resource_name":"deathstar_repo","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","kind":"concourse_pipeline_generic_integration_object","job_url":"http://example.com/teams/1/pipelines/1/jobs/1","integration_type":"concourse_pipeline"}]
PARAMETERS
required — The type of generic integration
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"integration_type":"github","integration_values":{"title":"vader"}}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ generic_integrations"
Headers
Response Body
{"account_id":100,"created_at":"2024-08-20T12:00:00Z","id":101,"integration_type":"github","kind":"github_generic_integration_object","project_id":99,"secret_token":"39d75ba3eecc9d6f593c5d6624e2679b314cb252","title":"vader","updated_at":"2024-08-20T12:00:00Z","webhook_url":"https://www.pivotaltracker.com/services/v5/github_hooks/ab3256f1467024746b5bbc7b2e4da83e","webhook_uuid":"ab3256f1467024746b5bbc7b2e4da83e"}
PARAMETERS
required — The type of generic integration
required — For Github: {'title': 'Github Integration'} For GithubEnterprise: {'host_url': 'enterprise.github.com', 'title': 'My Github enterprise Integration'} For Gitlab: {'title': 'Gitlab Integration'} For Gitlab Self-Managed: {'host_url': 'enterprise.gitlab.com', 'title': 'My Gitlab self managed Integration'} For Concourse: {'name': 'concourse integration', 'git_resource_name' : 'production', 'url': 'https://concourse-k8s.prod.com/teams/vader/pipelines/jobs'}
/ projects/ {project_id}/ generic_integrations/ {integration_id}
Operations on a single generic integration.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"integration_type":"github_enterprise","integration_values":{"title":"updated integration name","host_url":"https:/ /enterprise_host_url.com/ pivotaltracker/ tracker"}}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ generic_integrations/ 1"
Headers
Response Body
{"account_id":100,"created_at":"2024-08-20T12:00:00Z","host_url":"https://enterprise_host_url.com/pivotaltracker/tracker","id":1,"integration_type":"github_enterprise","kind":"github_enterprise_generic_integration_object","project_id":99,"secret_token":"7f951be08c787b558479335a7d6db4fff95fd982","title":"updated integration name","updated_at":"2024-08-20T12:00:05Z","webhook_url":"https://www.pivotaltracker.com/services/v5/github_hooks/8b83aa66d1e1cab8b38f031db400b8a6","webhook_uuid":"8b83aa66d1e1cab8b38f031db400b8a6"}
PARAMETERS
required — The type of generic integration
required — For Github: {'title': 'Github Integration'} For GithubEnterprise: {'host_url': 'enterprise.github.com', 'title': 'My Github enterprise Integration'} For Gitlab: {'title': 'Gitlab Integration'} For Gitlab Self-Managed: {'host_url': 'enterprise.gitlab.com', 'title': 'My Gitlab self managed Integration'} For Concourse: {'name': 'concourse integration', 'git_resource_name' : 'production', 'url': 'https://concourse-k8s.prod.com/teams/vader/pipelines/jobs'}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ generic_integrations/ 2?integration_type=concourse_pipeline"
Headers
PARAMETERS
required — The type of generic integration
Project Webhooks
/ projects/ {project_id}/ webhooks
Lets the user access the project's list of webhooks.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ webhooks"
Headers
Response Body
[{"kind":"webhook","id":27,"project_id":99,"webhook_url":"http://example.com:3000/test_postbin","created_at":"2024-08-20T12:00:00Z","updated_at":"2024-08-20T12:00:00Z","enabled":true,"last_error_code":400,"last_response_body":"Bad request"}]
PARAMETERS
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"enabled":true,"webhook_url":"http:/ /pastebin.com/ fred"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ webhooks"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","enabled":true,"id":100,"kind":"webhook","project_id":99,"updated_at":"2024-08-20T12:00:00Z","webhook_url":"http://pastebin.com/fred"}
PARAMETERS
required — The location of the application listening for Tracker events.
— Most recent response body received.
/ projects/ {project_id}/ webhooks/ {webhook_id}
Lets the user access a single project webhook
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ webhooks/ 27"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","enabled":true,"id":27,"kind":"webhook","last_error_code":400,"last_response_body":"Bad request","project_id":99,"updated_at":"2024-08-20T12:00:00Z","webhook_url":"http://example.com:3000/test_postbin"}
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"webhook_url":"http:/ /pastebin.com/ wilma"}' "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ webhooks/ 27"
Headers
Response Body
{"created_at":"2024-08-20T12:00:00Z","enabled":true,"id":27,"kind":"webhook","last_error_code":400,"last_response_body":"Bad request","project_id":99,"updated_at":"2024-08-20T12:00:05Z","webhook_url":"http://pastebin.com/wilma"}
PARAMETERS
— The location of the application listening for Tracker events.
— Most recent response body received.
export TOKEN='your Pivotal Tracker API token'
export PROJECT_ID=99
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ projects/ $PROJECT_ID/ webhooks/ 27"
Headers
Workspaces
/ my/ workspaces
Provides a list of all of the workspaces owned by you.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ my/ workspaces"
Headers
Response Body
[{"kind":"workspace","id":46,"name":"executor","person_id":101,"project_ids":[99]}]
export TOKEN='your Pivotal Tracker API token'
curl -X POST -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"name":"A new workspace","project_ids":[99,98]}' "https:/ /www.pivotaltracker.com/ services/ v5/ my/ workspaces"
Headers
Response Body
{"id":100,"kind":"workspace","name":"A new workspace","person_id":101,"project_ids":[99,98]}
PARAMETERS
/ my/ workspaces/ {workspace_id}
Updates the specified workspace owned by you.
export TOKEN='your Pivotal Tracker API token'
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ my/ workspaces/ 46"
Headers
Response Body
{"id":46,"kind":"workspace","name":"executor","person_id":101,"project_ids":[99]}
PARAMETERS
export TOKEN='your Pivotal Tracker API token'
curl -X PUT -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" -d '{"project_ids":[99,98]}' "https:/ /www.pivotaltracker.com/ services/ v5/ my/ workspaces/ 46"
Headers
Response Body
{"id":46,"kind":"workspace","name":"executor","person_id":101,"project_ids":[99,98]}
export TOKEN='your Pivotal Tracker API token'
curl -X DELETE -H "X-TrackerToken: $TOKEN" -H "Content-Type: application/ json" "https:/ /www.pivotaltracker.com/ services/ v5/ my/ workspaces/ 46"
Headers
PARAMETERS
/ workspaces/ {workspace_id}/ activity
Provides a list of all the activity in a workspace. Limited to the most recent six months of activity performed in the project(s) within the workspace.
export TOKEN='your Pivotal Tracker API token'
export WORKSPACE_ID=46
curl -X GET -H "X-TrackerToken: $TOKEN" "https:/ /www.pivotaltracker.com/ services/ v5/ workspaces/ $WORKSPACE_ID/ activity"
Headers
Response Body
[{"kind":"iteration_update_activity","guid":"99_66","project_version":66,"message":"Wilhuff Tarkin changed iteration 1's length from default to 2 weeks","highlight":"changed","changes":[{"kind":"iteration_override","change_type":"update","number":1,"original_values":{"number":1,"finish":1724155200000,"team_strength":1.0,"length":"default"},"new_values":{"number":1,"team_strength":0.9,"length":2,"finish":1724155210000}}],"primary_resources":[{"kind":"iteration_override","number":1}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_move_activity","guid":"99_65","project_version":65,"message":"Darth Vader moved 2 stories","highlight":"moved","changes":[{"kind":"story","change_type":"update","id":562,"original_values":{"before_id":551},"new_values":{"before_id":557},"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","story_priority":"p3"},{"kind":"story","change_type":"update","id":564,"original_values":{"after_id":557},"new_values":{"after_id":565},"name":"Evacuate, in our moment of triumph","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":564,"name":"Evacuate, in our moment of triumph","story_type":"feature","url":"http://localhost/story/show/564","story_priority":"p3"},{"kind":"story","id":562,"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","url":"http://localhost/story/show/562","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_move_activity","guid":"99_64","project_version":64,"message":"Darth Vader moved 2 stories","highlight":"moved","changes":[{"kind":"story","change_type":"update","id":562,"original_values":{"before_id":557},"new_values":{"before_id":551},"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","story_priority":"p3"},{"kind":"story","change_type":"update","id":564,"original_values":{"after_id":565},"new_values":{"after_id":557},"name":"Evacuate, in our moment of triumph","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":564,"name":"Evacuate, in our moment of triumph","story_type":"feature","url":"http://localhost/story/show/564","story_priority":"p3"},{"kind":"story","id":562,"name":"Garbage smashers on the detention level have malfunctioned","story_type":"bug","url":"http://localhost/story/show/562","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"comment_create_activity","guid":"99_63","project_version":63,"message":"Wilhuff Tarkin added comment: \"Audit security of oscillator sanitation components\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":113,"new_values":{"id":113,"epic_id":555,"text":"Audit security of oscillator sanitation components","person_id":102,"created_at":"2024-08-20T12:00:25Z","updated_at":"2024-08-20T12:00:25Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"epic","change_type":"update","id":555,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[102]},"name":"Sanitation"}],"primary_resources":[{"kind":"epic","id":555,"name":"Sanitation","url":"http://localhost/epic/show/555"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"comment_create_activity","guid":"99_62","project_version":62,"message":"Darth Vader added comment: \"I want them alive!\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":112,"new_values":{"id":112,"story_id":555,"text":"I want them alive!","person_id":101,"created_at":"2024-08-20T12:00:25Z","updated_at":"2024-08-20T12:00:25Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"story","change_type":"update","id":555,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[101]},"name":"Bring me the passengers","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":555,"name":"Bring me the passengers","story_type":"feature","url":"http://localhost/story/show/555","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"comment_create_activity","guid":"99_61","project_version":61,"message":"Moradmin Bast added comment: \"Check out these Uffel mouse droids\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":111,"new_values":{"id":111,"epic_id":6,"text":"Check out these Uffel mouse droids","person_id":103,"created_at":"2024-08-20T12:00:25Z","updated_at":"2024-08-20T12:00:25Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"epic","change_type":"update","id":6,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[103]},"name":"Death Star Plans"}],"primary_resources":[{"kind":"epic","id":6,"name":"Death Star Plans","url":"http://localhost/epic/show/6"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":103,"name":"Moradmin Bast","initials":"MB"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"comment_create_activity","guid":"99_60","project_version":60,"message":"Moradmin Bast added comment: \"Should we send a probe to Dantooine?\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":110,"new_values":{"id":110,"epic_id":5,"text":"Should we send a probe to Dantooine?","person_id":103,"created_at":"2024-08-20T12:00:25Z","updated_at":"2024-08-20T12:00:25Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"epic","change_type":"update","id":5,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[103]},"name":"Rebel Home Worlds"}],"primary_resources":[{"kind":"epic","id":5,"name":"Rebel Home Worlds","url":"http://localhost/epic/show/5"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":103,"name":"Moradmin Bast","initials":"MB"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"comment_create_activity","guid":"99_59","project_version":59,"message":"Wilhuff Tarkin added comment: \"I think you overestimate their chances!\"","highlight":"added comment:","changes":[{"kind":"comment","change_type":"create","id":109,"new_values":{"id":109,"story_id":564,"text":"I think you overestimate their chances!","person_id":102,"created_at":"2024-08-20T12:00:25Z","updated_at":"2024-08-20T12:00:25Z","file_attachment_ids":[],"google_attachment_ids":[],"attachment_ids":[],"file_attachments":[],"google_attachments":[]}},{"kind":"story","change_type":"update","id":564,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[102]},"name":"Evacuate, in our moment of triumph","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":564,"name":"Evacuate, in our moment of triumph","story_type":"feature","url":"http://localhost/story/show/564","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"task_create_activity","guid":"99_58","project_version":58,"message":"Wilhuff Tarkin added task: \"Port 90\"","highlight":"added task:","changes":[{"kind":"task","change_type":"create","id":6,"new_values":{"id":6,"story_id":559,"description":"Port 90","complete":false,"position":2,"created_at":"2024-08-20T12:00:25Z","updated_at":"2024-08-20T12:00:25Z"}}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"task_create_activity","guid":"99_57","project_version":57,"message":"Wilhuff Tarkin added task: \"Port 0\"","highlight":"added task:","changes":[{"kind":"task","change_type":"create","id":5,"new_values":{"id":5,"story_id":559,"description":"Port 0","complete":false,"position":1,"created_at":"2024-08-20T12:00:25Z","updated_at":"2024-08-20T12:00:25Z"}},{"kind":"story","change_type":"update","id":559,"original_values":{"follower_ids":[]},"new_values":{"follower_ids":[102]},"name":"All exhaust ports should be shielded","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_56","project_version":56,"message":"Darth Vader unstarted this feature","highlight":"unstarted","changes":[{"kind":"story","change_type":"update","id":555,"original_values":{"current_state":"unscheduled","before_id":551,"after_id":557},"new_values":{"current_state":"unstarted","before_id":567,"after_id":552},"name":"Bring me the passengers","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":555,"name":"Bring me the passengers","story_type":"feature","url":"http://localhost/story/show/555","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_55","project_version":55,"message":"Emperor Palpatine unstarted this release","highlight":"unstarted","changes":[{"kind":"story","change_type":"update","id":552,"original_values":{"current_state":"unscheduled","before_id":551,"after_id":555},"new_values":{"current_state":"unstarted","before_id":567,"after_id":566},"name":"Battlestation fully operational","story_type":"release","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":552,"name":"Battlestation fully operational","story_type":"release","url":"http://localhost/story/show/552","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":100,"name":"Emperor Palpatine","initials":"EP"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_54","project_version":54,"message":"Darth Vader rejected this feature","highlight":"rejected","changes":[{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":3,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":3,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":1,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":559,"original_values":{"current_state":"delivered"},"new_values":{"current_state":"rejected"},"name":"All exhaust ports should be shielded","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_53","project_version":53,"message":"Wilhuff Tarkin delivered this feature","highlight":"delivered","changes":[{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":3,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":1,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":3,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":559,"original_values":{"current_state":"finished"},"new_values":{"current_state":"delivered"},"name":"All exhaust ports should be shielded","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_52","project_version":52,"message":"Wilhuff Tarkin finished this feature","highlight":"finished","changes":[{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":5,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":3,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":1,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":559,"original_values":{"current_state":"started"},"new_values":{"current_state":"finished"},"name":"All exhaust ports should be shielded","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_51","project_version":51,"message":"Wilhuff Tarkin unstarted this chore","highlight":"unstarted","changes":[{"kind":"label","change_type":"update","id":2011,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":4,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":4,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":1,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":1,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"mnt"},{"kind":"story","change_type":"update","id":566,"original_values":{"current_state":"unscheduled","before_id":565,"after_id":567},"new_values":{"current_state":"unstarted","before_id":567,"after_id":561},"name":"Repair CommLink","story_type":"chore","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":566,"name":"Repair CommLink","story_type":"chore","url":"http://localhost/story/show/566","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_50","project_version":50,"message":"Wilhuff Tarkin unstarted this bug","highlight":"unstarted","changes":[{"kind":"story","change_type":"update","id":561,"original_values":{"current_state":"unscheduled","before_id":557,"after_id":562},"new_values":{"current_state":"unstarted","before_id":567,"after_id":559},"name":"Tractor beam loses power intermittently","story_type":"bug","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":561,"name":"Tractor beam loses power intermittently","story_type":"bug","url":"http://localhost/story/show/561","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_49","project_version":49,"message":"Wilhuff Tarkin started this feature","highlight":"started","changes":[{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":5,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":559,"original_values":{"current_state":"unscheduled","before_id":557,"after_id":561},"new_values":{"current_state":"started","before_id":567,"after_id":556},"name":"All exhaust ports should be shielded","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_48","project_version":48,"message":"Darth Vader started this feature","highlight":"started","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":5,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":2,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":556,"original_values":{"current_state":"unscheduled","before_id":555,"after_id":557},"new_values":{"current_state":"started","before_id":567,"after_id":560},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_47","project_version":47,"message":"Darth Vader accepted this feature","highlight":"accepted","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":4,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":2,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"story","change_type":"update","id":560,"original_values":{"current_state":"delivered","accepted_at":null},"new_values":{"current_state":"accepted","accepted_at":"2024-08-20T12:00:25Z"},"name":"Destroy Alderaan","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":560,"name":"Destroy Alderaan","story_type":"feature","url":"http://localhost/story/show/560","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_46","project_version":46,"message":"Wilhuff Tarkin delivered this feature","highlight":"delivered","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":1,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":1,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":1,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"story","change_type":"update","id":560,"original_values":{"current_state":"finished"},"new_values":{"current_state":"delivered"},"name":"Destroy Alderaan","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":560,"name":"Destroy Alderaan","story_type":"feature","url":"http://localhost/story/show/560","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_45","project_version":45,"message":"Wilhuff Tarkin finished this feature","highlight":"finished","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":1,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":1,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"story","change_type":"update","id":560,"original_values":{"current_state":"started"},"new_values":{"current_state":"finished"},"name":"Destroy Alderaan","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":560,"name":"Destroy Alderaan","story_type":"feature","url":"http://localhost/story/show/560","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_44","project_version":44,"message":"Wilhuff Tarkin started this feature","highlight":"started","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":1,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"story","change_type":"update","id":560,"original_values":{"current_state":"unscheduled","before_id":559,"after_id":561},"new_values":{"current_state":"started","before_id":567,"after_id":558},"name":"Destroy Alderaan","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":560,"name":"Destroy Alderaan","story_type":"feature","url":"http://localhost/story/show/560","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":102,"name":"Wilhuff Tarkin","initials":"WT"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_43","project_version":43,"message":"Darth Vader edited this feature","highlight":"edited","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"rebel bases"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":5,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"},{"kind":"story","change_type":"update","id":556,"original_values":{"label_ids":[2015],"labels":["diplomatic relations"]},"new_values":{"label_ids":[2009,2008],"labels":["plans","rebel bases"]},"name":"Interrogate Leia Organa","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":556,"name":"Interrogate Leia Organa","story_type":"feature","url":"http://localhost/story/show/556","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":101,"name":"Darth Vader","initials":"DV"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_42","project_version":42,"message":"Emperor Palpatine edited this feature","highlight":"edited","changes":[{"kind":"epic","change_type":"update","id":6,"original_values":{"completed_at":1724155215000},"new_values":{"completed_at":null},"name":"Death Star Plans"},{"kind":"label","change_type":"update","id":2009,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"plans"},{"kind":"story","change_type":"update","id":559,"original_values":{"label_ids":[],"labels":[]},"new_values":{"label_ids":[2009],"labels":["plans"]},"name":"All exhaust ports should be shielded","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":559,"name":"All exhaust ports should be shielded","story_type":"feature","url":"http://localhost/story/show/559","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":100,"name":"Emperor Palpatine","initials":"EP"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_41","project_version":41,"message":"Emperor Palpatine estimated this feature as 2 points","highlight":"estimated","changes":[{"kind":"label","change_type":"update","id":2014,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"r&d"},{"kind":"story","change_type":"update","id":557,"original_values":{"estimate":null},"new_values":{"estimate":2},"name":"Prepare carbonite freezing chamber","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":557,"name":"Prepare carbonite freezing chamber","story_type":"feature","url":"http://localhost/story/show/557","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":100,"name":"Emperor Palpatine","initials":"EP"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_40","project_version":40,"message":"Emperor Palpatine estimated this feature as 1 point","highlight":"estimated","changes":[{"kind":"label","change_type":"update","id":2012,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"personnel"},{"kind":"label","change_type":"update","id":2015,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":3,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":2,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"name":"diplomatic relations"},{"kind":"story","change_type":"update","id":551,"original_values":{"estimate":null},"new_values":{"estimate":1},"name":"Hire bounty hunters to bring in Solo","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":551,"name":"Hire bounty hunters to bring in Solo","story_type":"feature","url":"http://localhost/story/show/551","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":100,"name":"Emperor Palpatine","initials":"EP"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_39","project_version":39,"message":"Emperor Palpatine estimated this feature as 2 points","highlight":"estimated","changes":[{"kind":"story","change_type":"update","id":555,"original_values":{"estimate":null},"new_values":{"estimate":2},"name":"Bring me the passengers","story_type":"feature","story_priority":"p3"}],"primary_resources":[{"kind":"story","id":555,"name":"Bring me the passengers","story_type":"feature","url":"http://localhost/story/show/555","story_priority":"p3"}],"secondary_resources":[],"project":{"kind":"project","id":99,"name":"Death Star"},"performed_by":{"kind":"person","id":100,"name":"Emperor Palpatine","initials":"EP"},"occurred_at":"2024-08-20T12:00:25Z"},{"kind":"story_update_activity","guid":"99_38","project_version":38,"message":"Emperor Palpatine estimated this feature as 1 point","highlight":"estimated","changes":[{"kind":"label","change_type":"update","id":2008,"original_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"sum_of_story_estimates_by_state":{"accepted":3,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":0,"rejected":0,"kind":"counts_by_story_state"},"number_of_stories_by_state":{"accepted":1,"started":0,"finished":0,"unstarted":0,"planned":0,"delivered":0,"unscheduled":1,"rejected":0,"kind":"counts_by_story_state"},"kind":"story_counts"}},"new_values":{"counts":{"number_of_zero_point_stories_by_state":{"accepted":0,"started":0,"finished":0,&quo