easyBacklog API documentation
The easyBacklog API is organized around REST. Our API is designed to have predictable, resource-oriented URLs, to use HTTP response codes to indicate API errors, and to use built-in HTTP features, like HTTP authentication and HTTP verbs, which can be understood by off-the-shelf HTTP clients. JSON or XML will be returned in all responses from the API, including errors.
Please note that all dates and times are returned using ISO 8601 format, and we recommend that you send all date and or time arguments in this format as well.
All EXAMPLE REQUESTS listed on the right can be run directly from your console. Copy and paste the curl commands into your terminal to test the API using our demo API account. Please note however that the demo API account only has read rights so no updates will succeed.
We monitor our API constantly to ensure we hit our target of at least 99.99% uptime. In addition, we openly publicise our API uptime using a 3rd party service, click here to view the current API service status and uptime reports.
API Endpoint
https://easybacklog.com/api/
Summary of Resource URL Patterns
- CRUD (read and write)
- /accounts
- /companies
- /accounts/{ACCOUNT_ID}/backlogs
- /accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}/snapshots
- /backlogs/{BACKLOG_ID}/themes
- /backlogs/{BACKLOG_ID}/sprints
- /themes/{THEME_ID}/stories
- /stories/{STORY_ID}/acceptance-criteria
- /sprints/{SPRINT_ID}/sprint-stories
- Read only (lists)
- /locales
- /scoring-rules
- /sprint-story-statuses
Authentication
You authenticate to the easyBacklog API by providing one of your API keys in the request. You can manage your API keys from your account. You can have multiple API keys active at one time. Your API keys carry many privileges, so be sure to keep them secret! All API requests must be made over HTTPS. Calls made over plain HTTP will fail. You must authenticate for all requests.
Authentication to the API occurs via one of the following:
HTTP Basic Auth
Provide your user ID as the basic auth username, and your API key as the basic auth password. You can find your user ID at the bottom of your API access page.curl https://easybacklog.com/api/accounts \
-u 981:iulmbugli2czx7jitqiq
Token authentication
Simply provide your your API key in a token authorization header in the formatAuthorization: token [api-key]
curl https://easybacklog.com/api/accounts \
-H "Authorization: token iulmbugli2czx7jitqiq"
Query string authentication
Simply provide your your API key as a parameter in each request in the format?api_key=[api-key]
curl https://easybacklog.com/api/accounts?api_key=iulmbugli2czx7jitqiq
Errors
easyBacklog uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information (e.g. a required parameter was missing, you do not have permission to make those changes, etc.), and codes in the 5xx range indicate an error with easyBacklog's servers.
Not all errors map cleanly onto HTTP response codes, however.
All errors return JSON or XML with a type (one of card_error, invalid_request_error, or api_error) and message describing the particular problem.
Attributes
- status
-
For all errors the status will be set to
error
- message
- A user-friendly message describing the error
- errors (optional)
- An array of error messages, if applicable. Typically this property is set to an array when more than one validation error has occurred on an update or create request.
HTTP Status Code Summary
-
200
OK - Everything worked as expected.
-
201
Created - a new record has been created successfully, the response will include the new record.
-
204
Success but no data - after an update or delete request, no data is returned in the response.
-
400
Bad Request - Often missing a required parameter or invalid parameter.
-
401
Unauthorized - Invalid API key provided.
-
403
Forbidden - You do not have the necessary privileges to perform this function or the underlying data prohibits this request.
-
404
Not Found - The requested item doesn't exist.
-
406
Not Acceptable - The data type you requested is not supported, we only support JSON and XML.
-
500
Internal server error - Something has gone wrong on our servers.
curl https://easybacklog.com/api/accounts \
-H "Authorization: token INVALID-TOKEN"
{
"status": "error",
"message": "Invalid authentication details"
}
Content types and API versioning
The API is currently at version 1.0. You can specify a version number as a parameter in your
Accept:
header that will ensure API compatibility for all your requests. However, if you do not specify a version number, then your requests will be routed to the latest version of the API and thus could have unexpected results whenever we upgrade our API. If you want to ensure API compatibility, we recommend you pass in the version number using the
Accept:
header. Please see below for complete examples.
The easyBacklog API will accept and respond to requests using both JSON and XML. JSON is used by default, however based on the
Accept
header used, XML can be returned. Also, if an extension suffix is added to a URL such as
/accounts.xml
then this format will be used.
Examples are as follows:
JSON
We recommend you use the following header as it locks you into version 1.0 of the API and explicitly requests JSON data from the API:
Accept: application/vnd.easybacklog+json; version=1.0
The data type for each attribute in the JSON data returned is not defined explicitly, unlike in the XML (example below) data.
All dates are expressed in ISO 8601 format.
curl https://easybacklog.com/api/accounts \
-H "Accept: application/vnd.easybacklog+json; version=1.0" \
-H "Authorization: token iulmbugli2czx7jitqiq"
curl https://easybacklog.com/api/accounts.json \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"created_at":"2012-05-21T21:33:51Z",
"default_rate":null,
"default_use_50_90":null,
"default_velocity":null,
"id":33,
"locale_id":1,
"name":"API Access Demo Account",
"scoring_rule_id":null,
"updated_at":"2012-05-21T21:33:51Z"
}
]
XML
We recommend you use the following header as it locks you into version 1.0 of the API and explicitly requests XML data from the API:
Accept: application/vnd.easybacklog+xml; version=1.0
The data type for each attribute in the XML data returned is defined in the type attribute, and all names with underscores are converted to dashes.
All dates are expressed in ISO 8601 format.
curl https://easybacklog.com/api/accounts \
-H "Accept: application/vnd.easybacklog+xml; version=1.0" \
-H "Authorization: token iulmbugli2czx7jitqiq"
curl https://easybacklog.com/api/accounts.xml \
-H "Authorization: token iulmbugli2czx7jitqiq"
2012-05-21T21:33:51Z
33
1
API Access Demo Account
2012-05-21T21:33:51Z
The Account object
Attributes
- id
-
integerUnique identifier for this account
- name
-
stringThe account name
- locale_id
-
integerLocale applied to this account.
- default_velocity
-
decimalDefault velocity to use for new backlogs.
- default_rate
-
integerDefault rate (without currency symbol) to use for new backlogs.
- default_use_50_90
-
booleanUse the 50%/90% scoring rule as a default for new backlogs. Setting this to false uses the simpler single scoring rule for stories.
- scoring_rule_id
-
integerDefault scoring rule to use for new backlogs.
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
{
"created_at":"2012-05-21T21:33:51Z",
"default_rate":null,
"default_use_50_90":null,
"default_velocity":null,
"id":33,
"locale_id":1,
"name":"API Access Demo Account",
"scoring_rule_id":null,
"updated_at":"2012-05-21T21:33:51Z"
}
2012-05-21T21:33:51Z
33
1
API Access Demo Account
2012-05-21T21:33:51Z
List the Accounts
Arguments
This request requires no arguments.Returns
An array of account objects.https://easybacklog.com/api/accounts
curl https://easybacklog.com/api/accounts \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"created_at":"2012-05-21T21:33:51Z",
"default_rate":null,
"default_use_50_90":null,
"default_velocity":null,
"id":33,
"locale_id":1,
"name":"API Access Demo Account",
"scoring_rule_id":null,
"updated_at":"2012-05-21T21:33:51Z"
}
]
https://easybacklog.com/api/accounts/{ACCOUNT_ID}
curl https://easybacklog.com/api/accounts/604 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"created_at":"2012-05-21T21:33:51Z",
"default_rate":null,
"default_use_50_90":null,
"default_velocity":null,
"id":33,
"locale_id":1,
"name":"API Access Demo Account",
"scoring_rule_id":null,
"updated_at":"2012-05-21T21:33:51Z"
}
Update an Account
Arguments
- name
-
stringThe account name
- locale_id
-
integerLocale applied to this account.
- default_velocity
-
decimalDefault velocity to use for new backlogs.
- default_rate
-
integerDefault rate (without currency symbol) to use for new backlogs. Cannot be specified unless default velocity is set.
- default_use_50_90
-
booleanUse the 50%/90% certainty scoring rule as a default for new backlogs.
- scoring_rule_id
-
integerDefault scoring rule to use for new backlogs.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}
curl https://easybacklog.com/api/accounts/604 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New account name" \
-d "default_velocity=4" \
-X PUT
HTTP/1.1 204 No Content
The Company object
Attributes
- id
-
integerUnique identifier for this company
- name
-
stringThe company name
- default_velocity
-
decimalDefault velocity to use for new backlogs.
- default_rate
-
integerDefault rate (without currency symbol) to use for new backlogs.
- default_use_50_90
-
booleanUse the 50%/90% scoring rule as a default for new backlogs. Setting this to false uses the simpler single scoring rule for stories.
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
{
"account_id":33,
"created_at":"2012-05-25T17:11:20Z",
"default_rate":800,
"default_use_50_90":false,
"default_velocity":"3.0",
"id":13,
"name":"Acme company",
"updated_at":"2012-05-25T17:11:42Z"
}
33
2012-05-25T17:11:20Z
800
false
3.0
13
Acme company
2012-05-25T17:11:42Z
List the Companies
Arguments
This request requires no arguments.Returns
An array of company objects.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/companies
curl https://easybacklog.com/api/accounts/604/companies \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"account_id":33,
"created_at":"2012-05-25T17:11:20Z",
"default_rate":800,
"default_use_50_90":false,
"default_velocity":"3.0",
"id":13,
"name":"Acme company",
"updated_at":"2012-05-25T17:11:42Z"
}
]
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/companies/{COMPANY_ID}
curl https://easybacklog.com/api/accounts/604/companies/121 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"account_id":33,
"created_at":"2012-05-25T17:11:20Z",
"default_rate":800,
"default_use_50_90":false,
"default_velocity":"3.0",
"id":13,
"name":"Acme company",
"updated_at":"2012-05-25T17:47:24Z"
}
Create a Company
Arguments
- name
-
stringThe company name
- default_velocity
-
decimalDefault velocity to use for new backlogs.
- default_rate
-
integerDefault rate (without currency symbol) to use for new backlogs. Cannot be specified unless default velocity is set.
- default_use_50_90
-
booleanUse the 50%/90% certainty scoring rule as a default for new backlogs.
Returns
The newly created company object.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/companies/{COMPANY_ID}
curl https://easybacklog.com/api/accounts/604/companies \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New company name" \
-d "default_velocity=5" \
-X POST
{
"account_id":null,
"created_at":"2012-05-25T18:02:18Z",
"default_rate":null,
"default_use_50_90":null,
"default_velocity":"5.0",
"id":14,
"name":"New company name",
"updated_at":"2012-05-25T18:02:18Z"
}
Update a Company
Arguments
- name
-
stringThe company name
- default_velocity
-
decimalDefault velocity to use for new backlogs.
- default_rate
-
integerDefault rate (without currency symbol) to use for new backlogs. Cannot be specified unless default velocity is set.
- default_use_50_90
-
booleanUse the 50%/90% certainty scoring rule as a default for new backlogs.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/companies/{COMPANY_ID}
curl https://easybacklog.com/api/accounts/604/companies/121 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New company name" \
-d "default_velocity=5.0" \
-X PUT
HTTP/1.1 204 No Content
Delete a Company
Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/companies/{COMPANY_ID}
curl https://easybacklog.com/api/accounts/604/companies/121 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
The Backlog object
Attributes
- id
-
integerUnique identifier for this backlog
- name
-
stringThe backlog name
- account_id
-
integerAccount this backlog belongs to
- company_id
-
integerCompany this backlog belongs to. A backlog is optionally associated with a company.
- velocity
-
decimalAverage velocity per day per team member. This is empty (null) when time estimates are not automatically created for this backlog.
- rate
-
integerRate per day per team member. This is empty (null) when cost estimates are not automatically created for this backlog.
- use_50_90
-
booleanUse the 50%/90% scoring rule for this backlog. When false (or null) the backlog uses the simpler single scoring rule for stories.
- scoring_rule_id
-
integerScoring rule used for this backlog.
- archived
-
booleanIndicates whether the backlog has been archived (and locked).
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
- *others*
- Any other attributes that are returned are not part of the official API spec and you should not rely on their existence.
{
"account_id":33,
"archived":false,
"author_id":1,
"company_id":null,
"created_at":"2011-01-03T15:03:00Z",
"id":357,
"last_modified_user_id":1,
"name":"Example corporate website backlog",
"rate":800,
"scoring_rule_id":null,
"updated_at":"2011-02-17T15:03:00Z",
"use_50_90":false,
"velocity":"3.0"
}
33
false
1
2011-01-03T15:03:00Z
357
1
Example corporate website backlog
800
2011-02-17T15:03:00Z
false
3.0
List the Backlogs
Arguments
- include_archived
-
booleanIf set to true, all backlogs including archived backlogs will be returned. By default, archived backlogs are filtered in the response.
Returns
An array of backlog objects.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs
curl https://easybacklog.com/api/accounts/604/backlogs \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"account_id":33,
"archived":false,
"author_id":1,
"company_id":null,
"created_at":"2011-01-03T15:03:00Z",
"id":357,
"last_modified_user_id":1,
"name":"Example corporate website backlog",
"rate":800,
"scoring_rule_id":null,
"updated_at":"2011-02-17T15:03:00Z",
"use_50_90":false,
"velocity":"3.0"
}
]
Retrieve a Backlog
Content types
This route is special in that it supports the following mime types:- JSON
-
Use the
Accept:
headerapplication/json
orapplication/vnd.easybacklog+json; version=1.0
or optional add the extension.json
to the URL.
The backlog object will be returned in JSON format.Arguments
include associated data: Passing in the optionalinclude_associated_data=true
parameter modifies the JSON to include all themes, sprints, stories and acceptance criteria related to this object. - XML
-
Use the
Accept:
headerapplication/xml
orapplication/vnd.easybacklog+xml; version=1.0
or optional add the extension.xml
to the URL.
The backlog object will be returned in JSON format.Arguments
include associated data: Passing in the optionalinclude_associated_data=true
parameter modifies the JSON to include all sprints, themes, sprints, stories and acceptance criteria related to this object. - Excel (XLS)
-
Use the
Accept:
headerapplication/vnd.ms-excel
orapplication/vnd.easybacklog+xls; version=1.0
or optional add the extension.xls
to the URL.
The backlog object will be returned in Microsoft Excel (XML) format, including two worksheets. The first worksheet contains the entire backlog laid out with summary data, the second worksheet simply contains a list of stories that can be autofiltered.Arguments
None -
Use the
Accept:
headerapplication/pdf
orapplication/vnd.easybacklog+pdf; version=1.0
or optional add the extension.pdf
to the URL.
The story cards in printable format will be returned for the entire backlog.Arguments
scope: Passing in the optionalprint_scope
parameter with eithersprint-{SPRINT_ID}
ortheme-{THEME_ID}
, will filter the cards returned by that theme or sprint.
page size: Adding the option parameterpage_size=[A4|letter]
allows you to select your page size
fold side: As the story cards are meant to be print on double sided paper, by passing in the optional parameterfold_side=[short|long]
you can select which side the fold is assumed on.
Arguments
Please see arguments specified in the content types above.Returns
A backlog object.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}
curl https://easybacklog.com/api/accounts/604/backlogs/7069 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"account_id":33,
"archived":false,
"author_id":1,
"company_id":null,
"created_at":"2011-01-03T15:03:00Z",
"id":357,
"last_modified_user_id":1,
"name":"Example corporate website backlog",
"rate":800,
"scoring_rule_id":null,
"updated_at":"2011-02-17T15:03:00Z",
"use_50_90":false,
"velocity":"3.0"
}
curl https://easybacklog.com/api/accounts/604/backlogs/7069.xls \
-H "Authorization: token iulmbugli2czx7jitqiq"
curl https://easybacklog.com/api/accounts/604/backlogs/7069 \
-d include_associated_data=true \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-H "Accept: application/vnd.easybacklog+xml; version=1.0" \
-X GET
Retrieve backlog statistics
The data that is used to generate the burn down, burn up, velocity of completed sprints and velocity charts in the Stats tab of your backlog, is available via this API.Arguments
NoneReturns
A set of objects representing the statistics relating to the current backlog. The statistics are grouped into four objects,burn_down,
burn_up,
velocity_completed,
and
velocity_stats.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}/stats
curl https://easybacklog.com/api/accounts/604/backlogs/7069/stats \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"burn_down":{
"trend":[
{
"starts_on":"2011-01-17",
"completed_on":"2011-01-17",
"points":90.0,
"iteration":0,
"duration":5,
"completed":0,
"team":"1.0",
"actual":0.0
}
],
"actual":[
{
"starts_on":"2011-01-17",
"completed_on":"2011-01-17",
"points":90.0,
"iteration":0,
"duration":5,
"completed":0,
"team":"1.0",
"actual":0.0
}
],
"projected":[
{
"starts_on":"2011-02-07",
"completed_on":"2011-02-11",
"points":27.0,
"iteration":4,
"duration":5,
"completed":21.0,
"team":"1.0",
"actual":4.2
}
]
},
"velocity_stats":{
"expected_sprint":"15.0",
"actual_sprint":15.75,
"actual_day":3.1500000000000004,
"expected_day":"3.0"
},
"velocity_completed":[
{
"starts_on":"2011-01-17",
"completed_on":"2011-01-21",
"iteration":1,
"duration":5,
"completed":11.0,
"team":"1.0",
"actual":2.2
}
],
"burn_up":{
"total":[
{
"starts_on":"2011-01-17",
"completed_on":"2011-01-21",
"iteration":1,
"duration":5,
"completed":11.0,
"total_points":71.0,
"team":"1.0",
"actual":2.2
}
],
"actual":[
{
"starts_on":"2011-01-17",
"completed_on":"2011-01-21",
"iteration":1,
"duration":5,
"completed":11.0,
"total_points":0,
"team":"1.0",
"actual":2.2
}
]
}
}
Create a Backlog
Arguments
- name
-
stringThe backlog name
- company_id
-
integerCompany this backlog belongs to. A backlog can also have no association with a company, so this can be empty (null).
- velocity
-
decimalAverage velocity per day per team member. Set this to empty (null) when time estimates are not required for this backlog.
- rate
-
integerRate per day per team member. Set this to empty (null) when cost estimates are not required for this backlog. Rate cannot be specified unless velocity is set.
- use_50_90
-
booleanUse the 50%/90% scoring rule for this backlog. Use false (or null) if you wish to use the simpler single scoring rule for stories.
- scoring_rule_id
-
integerScoring rule used for this backlog.
Returns
The newly created backlog object.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs
curl https://easybacklog.com/api/accounts/604/backlogs \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New backlog name" \
-d "velocity=3.5" \
-d "rate=800" \
-X POST
{
"account_id":33,
"archived":false,
"author_id":1,
"company_id":null,
"created_at":"2012-05-23T12:16:25Z",
"id":364,
"last_modified_user_id":1,
"name":"New backlog name",
"rate":800,
"scoring_rule_id":null,
"updated_at":"2012-05-23T12:16:25Z",
"use_50_90":null,
"velocity":"3.5"
}
Update a Backlog
Arguments
- name
-
stringThe backlog name
- company_id
-
integerCompany this backlog belongs to. A backlog can also have no association with a company, so this can be empty (null).
- velocity
-
decimalAverage velocity per day per team member. Set this to empty (null) when time estimates are not required for this backlog.
- rate
-
integerRate per day per team member. Set this to empty (null) when cost estimates are not required for this backlog. Rate cannot be specified unless velocity is set.
- use_50_90
-
booleanUse the 50%/90% scoring rule for this backlog. Use false (or null) if you wish to use the simpler single scoring rule for stories.
- scoring_rule_id
-
integerScoring rule used for this backlog.
- archived
-
booleanSet this to true to archive a backlog, and false to recover from the archives. All archived backlogs are locked and therefore cannot be edited.
If recovering an archive from the backlog, then all other arguments are ignored.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}
curl https://easybacklog.com/api/accounts/604/backlogs/7069 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New backlog name" \
-d "rate=800" \
-X PUT
HTTP/1.1 204 No Content
Duplicate a Backlog
Duplicating a backlog copies all children themes, stories and acceptance criteria to a new backlog. Sprints however are not copied.
Arguments
- name
-
stringThe new backlog name
- company_id
-
integerCompany this backlog belongs to. A backlog can also have no association with a company, so this can be empty (null).
- velocity
-
decimalAverage velocity per day per team member. Set this to empty (null) when time estimates are not required for this backlog.
- rate
-
integerRate per day per team member. Set this to empty (null) when cost estimates are not required for this backlog. Rate cannot be specified unless velocity is set.
- use_50_90
-
booleanUse the 50%/90% scoring rule for this backlog. Use false (or null) if you wish to use the simpler single scoring rule for stories.
- scoring_rule_id
-
integerScoring rule used for this backlog.
Returns
The newly created backlog object.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}/duplicate
curl https://easybacklog.com/api/accounts/604/backlogs/7069/duplicate \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New duplicated backlog name" \
-X POST
{
"account_id":33,
"archived":false,
"author_id":1,
"company_id":null,
"created_at":"2012-05-24T13:13:18Z",
"id":366,
"last_modified_user_id":1,
"name":"New duplicated backlog name",
"rate":800,
"scoring_rule_id":7,
"updated_at":"2012-05-24T13:13:18Z",
"use_50_90":false,
"velocity":"3.0"
}
Delete a Backlog
Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}
curl https://easybacklog.com/api/accounts/604/backlogs/7069 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
Snapshots
A snapshot object represents an exact copy of a backlog in a point in time. It belongs to a single backlog. A snapshot contains one or more children themes, which in turn contain stories and acceptance criteria. Snapshots only contain backlog data and do not contain sprints.
Snapshots are either manually created, or created automatically when a sprint starts.
The Snapshot object
The Snapshot object is very similar to the Backlog object, except that it is never editable, and contains a reference to it's parent backlog or sprint.Attributes
- id
-
integerUnique identifier for this snapshot.
- name
-
stringThe snapshot name
- parent_backlog_id or parent_sprint_id
-
integerBacklog or Sprint this snapshot belongs to. Manually created snapshots have a
parent_backlog_id
, whereas sprint snapshots created automatically when a sprint commences have aparent_sprint_id
. - velocity
-
decimalAverage velocity per day per team member. This is empty (null) when time estimates are not automatically created for this snapshot.
- rate
-
integerRate per day per team member. This is empty (null) when cost estimates are not automatically created for this snapshot.
- use_50_90
-
boolean50%/90% scoring rule used for this snapshot. When false (or null) the snapshot uses the simpler single scoring rule for stories.
- scoring_rule_id
-
integerScoring rule used for this snapshot.
- created_at
-
datetimeDate that this object was created.
{
"created_at":"2011-01-18T19:03:49Z",
"id":358,
"name":"New finance section added and agreed with client",
"rate":800,
"scoring_rule_id":null,
"use_50_90":false,
"velocity":"3.0",
"parent_backlog_id":357
}
2011-01-18T19:03:49Z
358
New finance section added and agreed with client
800
false
3.0
357
List the Snapshots
Arguments
NoneReturns
An array of snapshot objects grouped intomanual_snapshots
and
sprint_snapshots
.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}/snapshots
curl https://easybacklog.com/api/accounts/604/backlogs/7069/snapshots \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"manual_snapshots":[
{
"created_at":"2011-01-18T19:03:49Z",
"id":358,
"name":"New finance section added and agreed with client",
"rate":800,
"scoring_rule_id":null,
"use_50_90":false,
"velocity":"3.0",
"parent_backlog_id":357
}
],
"sprint_snapshots":[
{
"created_at":"2011-02-07T02:00:00Z",
"id":363,
"name":"Sprint 4",
"rate":800,
"scoring_rule_id":null,
"use_50_90":false,
"velocity":"3.0",
"parent_sprint_id":227
}
]
}
Retrieve a Snapshot
Content types
This route is special in that it supports all the additional mime types supported by the Retrieve a Backlog. Please refer to the Retrieve a Backlog section to understand the supported mime types and arguments.Arguments
Please see arguments specified in the section Retrieve a Backlog above.Returns
A snapshot object.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}/snapshots/{SNAPSHOT_ID}
curl https://easybacklog.com/api/accounts/604/backlogs/7069/snapshots/7070 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"created_at":"2011-01-18T19:03:49Z",
"id":358,
"name":"New finance section added and agreed with client",
"rate":800,
"scoring_rule_id":null,
"use_50_90":false,
"velocity":"3.0",
"parent_backlog_id":357
}
curl https://easybacklog.com/api/accounts/604/backlogs/7069/snapshots/7070.xls \
-H "Authorization: token iulmbugli2czx7jitqiq"
curl https://easybacklog.com/api/accounts/604/backlogs/7069/snapshots/7070 \
-d include_associated_data=true \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-H "Accept: application/vnd.easybacklog+xml; version=1.0" \
-X GET
Create a Snapshot
Arguments
- name
-
stringThe new snapshot name
Returns
The newly created snapshot object.https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}/snapshots
curl https://easybacklog.com/api/accounts/604/backlogs/7069/snapshots \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New snapshot name" \
-X POST
{
"created_at":"2012-05-24T12:44:39Z",
"id":365,
"name":"New snapshot name",
"rate":800,
"scoring_rule_id":7,
"use_50_90":false,
"velocity":"3.0",
"parent_backlog_id":357
}
Delete a Snapshot
Please note that you can only delete a manually created snapshot. Sprint snapshots cannot be deleted.Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}/snapshots/{SNAPSHOT_ID}
curl https://easybacklog.com/api/accounts/604/backlogs/7069/snapshots/7070 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
The Theme object
Attributes
- id
-
integerUnique identifier for this theme
- backlog_id
-
integerBacklog this theme belongs to
- name
-
stringThe theme name
- code
-
stringA three letter unique identifier for this theme. This code is automatically generated if not specified, but can be manually specified as well.
- position
-
integerPosition of this theme relative to the other themes in this backlog. Position 1 represents the first theme in the list.
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
{
"backlog_id":366,
"code":"HOP",
"created_at":"2012-05-24T13:13:18Z",
"id":1164,
"name":"Home page",
"position":1,
"updated_at":"2012-05-25T17:11:20Z"
}
366
HOP
2012-05-24T13:13:18Z
1164
Home page
1
2012-05-25T17:11:20Z
List the Themes
Arguments
- include_associated_data
- Passing in this optional parameter will include all children stories and acceptance criteria for this list of themes.
Returns
An array of theme objects.https://easybacklog.com/api/backlogs/{BACKLOG_ID}/themes
curl https://easybacklog.com/api/backlogs/7069/themes \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"backlog_id":366,
"code":"HOP",
"created_at":"2012-05-24T13:13:18Z",
"id":1164,
"name":"Home page",
"position":1,
"updated_at":"2012-05-25T17:11:20Z"
}
]
curl https://easybacklog.com/api/backlogs/7069/themes \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "include_associated_data=true" \
-X GET
Retrieve a Theme
Arguments
- include_associated_data
- Passing in this optional parameter will include all children stories and acceptance criteria for this object.
Returns
A theme object.https://easybacklog.com/api/backlogs/{BACKLOG_ID}/themes/{THEME_ID}
curl https://easybacklog.com/api/backlogs/7069/themes/32100 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"backlog_id":357,
"code":"HOP",
"created_at":"2011-01-03T15:03:00Z",
"id":1131,
"name":"Home page",
"position":1,
"updated_at":"2012-05-23T17:42:10Z"
}
Create a Theme
Arguments
- name
-
stringThe theme name
- code
-
stringA three letter unique identifier for this theme. This code is automatically generated if not specified, but can be manually specified as well.
- position
-
integerPosition of this theme relative to the other themes in this backlog. Position 1 represents the first theme in the list.
Returns
The newly created theme object.https://easybacklog.com/api/backlogs/{BACKLOG_ID}/themes
curl https://easybacklog.com/api/backlogs/7069/themes \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New theme" \
-X POST
{
"backlog_id":357,
"code":"NET",
"created_at":"2012-05-28T15:20:41Z",
"id":1170,
"name":"New theme",
"position":6,
"updated_at":"2012-05-28T15:20:41Z"
}
Update a Theme
Arguments
- name
-
stringThe theme name
- code
-
stringA three letter unique identifier for this theme.
- position
-
integerPosition of this theme relative to the other themes in this backlog. Position 1 represents the first theme in the list.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}
curl https://easybacklog.com/api/backlogs/7069/themes/32100 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "name=New theme name" \
-d "code=NTM" \
-X PUT
HTTP/1.1 204 No Content
Move story from another theme
You can attach a story to this theme by specifying the ID of the story that you wish to move. The story you are moving to this theme must be assigned to another theme in the same backlog.
Arguments
- story_id
-
integerStory that you wish to move to this theme.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/backlogs/{BACKLOG_ID}/themes/{THEME_ID}/grab-story
curl https://easybacklog.com/api/backlogs/7069/themes/32101/grab-story \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "story_id=100145" \
-X POST
HTTP/1.1 204 No Content
Move theme to another backlog
A theme and all the stories and acceptance criteria within this theme can be moved to another backlog. However, if the theme contains any stories that are assigned to sprints, then this request will be prohibited.
Arguments
- target_backlog_id
-
integerBacklog that you wish to move this theme to.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/backlogs/{BACKLOG_ID}/themes/{THEME_ID}/move-to-backlog
curl https://easybacklog.com/api/backlogs/7069/themes/32101/move-to-backlog \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "target_backlog_id=7076" \
-X POST
HTTP/1.1 204 No Content
Delete a Theme
Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/backlogs/{BACKLOG_ID}/themes/{THEME_ID}
curl https://easybacklog.com/api/backlogs/7069/themes/32100 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
Sprints
A sprint object represents the sprint configured for a backlog where one or more stories are assigned to the sprint. A sprint has two states, incomplete (active and editable) or completed. A join model is used to relate stories to sprints, this model is called a sprint story and is described below.
The Sprint object
Attributes
- id
-
integerUnique identifier for this sprint
- backlog_id
-
integerBacklog this sprint belongs to
- iteration
-
integerRepresents the number of this sprint, starting at one for the first sprint. This field is automatically assigned when the sprint is created.
- start_on
-
dateThe date that this sprint starts on. This date is important in that it dictates when a snapshot of the backlog is taken so that the current backlog can be compared against the state of the backlog when the sprint commenced.
- duration_days
-
integerThe duration in working days that this sprint lasts for.
- number_team_members
-
decimalRepresents the number of team members assigned to this sprint, and is used to calculate the expected sprint velocity based on the duration and backlog average velocity. The number of team members can only be specified if the backlog daily velocity is specified, and must be specified unless explicit velocity for the this sprint is specified.
- explicit_velocity
-
decimalRepresents the expected velocity for this sprint. If explicit velocity is specified, then the expected velocity for this sprint will not be calculated based on the backlog average velocity and the number of team members working on this sprint.
- created_at
-
datetimeThe date that this sprint was marked as complete, or null if not complete. A sprint can only be marked as complete if all the stories it
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
- *others*
- Any other attributes that are returned are not part of the official API spec and you should not rely on their existence. They do serve as helpers though to provide additional information about this sprint.
{
"backlog_id":357,
"completed_at":"2011-01-24T19:05:19Z",
"created_at":"2011-01-03T15:03:00Z",
"duration_days":5,
"explicit_velocity":null,
"id":224,
"iteration":1,
"number_team_members":"1.0",
"start_on":"2011-01-17",
"updated_at":"2012-05-23T17:42:10Z",
"completed?":true,
"deletable?":false,
"total_allocated_points":11.0,
"total_expected_points":"15.0",
"total_completed_points":11.0
}
357
2011-01-24T19:05:19Z
2011-01-03T15:03:00Z
5
224
1
1.0
2011-01-17
2012-05-23T17:42:10Z
11.0
15.0
11.0
List the Sprints
Arguments
- include_associated_data
- Passing in this optional parameter will include all children sprint stories for this list of sprints.
Returns
An array of sprint objects.https://easybacklog.com/api/backlogs/{BACKLOG_ID}/sprints
curl https://easybacklog.com/api/backlogs/7069/sprints \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"backlog_id":357,
"completed_at":"2011-01-24T19:05:19Z",
"created_at":"2011-01-03T15:03:00Z",
"duration_days":5,
"explicit_velocity":null,
"id":224,
"iteration":1,
"number_team_members":"1.0",
"start_on":"2011-01-17",
"updated_at":"2012-05-23T17:42:10Z",
"completed?":true,
"deletable?":false,
"total_allocated_points":11.0,
"total_expected_points":"15.0",
"total_completed_points":11.0
}
]
curl https://easybacklog.com/api/backlogs/7069/sprints \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "include_associated_data=true" \
-X GET
Retrieve a Sprint
Arguments
- include_associated_data
- Passing in this optional parameter will include all children sprint stories for this sprint.
Returns
A sprint object.https://easybacklog.com/api/backlogs/{BACKLOG_ID}/sprints/{SPRINT_ID}
curl https://easybacklog.com/api/backlogs/7069/sprints/3533 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"backlog_id":357,
"completed_at":"2011-01-24T19:05:19Z",
"created_at":"2011-01-03T15:03:00Z",
"duration_days":5,
"explicit_velocity":null,
"id":224,
"iteration":1,
"number_team_members":"1.0",
"start_on":"2011-01-17",
"updated_at":"2012-05-23T17:42:10Z",
"completed?":true,
"deletable?":false,
"total_allocated_points":11.0,
"total_expected_points":"15.0",
"total_completed_points":11.0
}
Create a Sprint
Arguments
- start_on
-
dateThe date that this sprint starts on. This date is important in that it dictates when a snapshot of the backlog is taken so that the current backlog can be compared against the state of the backlog when the sprint commenced.
- duration_days
-
integerThe duration in working days that this sprint lasts for.
- number_team_members
-
decimalRepresents the number of team members assigned to this sprint, and is used to calculate the expected sprint velocity based on the duration and backlog average velocity. The number of team members can only be specified if the backlog daily velocity is specified, and must be specified unless explicit velocity for the this sprint is specified.
- explicit_velocity
-
decimalRepresents the expected velocity for this sprint. If explicit velocity is specified, then the expected velocity for this sprint will not be calculated based on the backlog average velocity and the number of team members working on this sprint.
Returns
The newly created sprint object.https://easybacklog.com/api/backlogs/{BACKLOG_ID}/sprints
curl https://easybacklog.com/api/backlogs/7069/sprints \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "start_on=2012-01-02" \
-d "explicit_velocity=30" \
-d "duration_days=5" \
-X POST
{
"backlog_id":357,
"completed_at":null,
"created_at":"2012-05-29T16:08:42Z",
"duration_days":5,
"explicit_velocity":"30.0",
"id":230,
"iteration":6,
"number_team_members":null,
"start_on":"2012-01-02",
"updated_at":"2012-05-29T16:08:42Z",
"completed?":false,
"deletable?":true,
"total_allocated_points":0.0,
"total_expected_points":"30.0",
"total_completed_points":0.0
}
Update a Sprint
Arguments
- completed
-
booleanIf this argument is passed in, all other arguments are ignored for this request. Passing in true sets the sprint to completed, and passing in false sets a complete sprint back to its incomplete state.
- start_on
-
dateThe date that this sprint starts on. This date is important in that it dictates when a snapshot of the backlog is taken so that the current backlog can be compared against the state of the backlog when the sprint commenced.
- duration_days
-
integerThe duration in working days that this sprint lasts for.
- number_team_members
-
decimalRepresents the number of team members assigned to this sprint, and is used to calculate the expected sprint velocity based on the duration and backlog average velocity. The number of team members can only be specified if the backlog daily velocity is specified, and must be specified unless explicit velocity for the this sprint is specified.
- explicit_velocity
-
decimalRepresents the expected velocity for this sprint. If explicit velocity is specified, then the expected velocity for this sprint will not be calculated based on the backlog average velocity and the number of team members working on this sprint.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/accounts/{ACCOUNT_ID}/backlogs/{BACKLOG_ID}
curl https://easybacklog.com/api/backlogs/7069/sprints/3533 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "complete=true" \
-X PUT
HTTP/1.1 204 No Content
Delete a Sprint
Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/backlogs/{BACKLOG_ID}/sprints/{SPRINT_ID}
curl https://easybacklog.com/api/backlogs/7069/sprints/3533 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
Stories
A story object represents a story within a theme. It contains zero or more child acceptance criteria.
The Story object
Attributes
- id
-
integerUnique identifier for this sprint
- theme_id
-
integerTheme this story belongs to
- unique_id
-
integerRepresents a unique ID for this story within this theme. Numbers are autogenerated starting at one.
- as_a
-
stringThe "As a" field.
- i_want_to
-
stringThe "I want to" field.
- so_i_can
-
stringThe "So I can" field.
- comments
-
stringThe "Comments" field.
- score
-
decimalNumber of points assigned to this story if using the simple scoring rule for this backlog.
- score_50
-
decimalNumber of points assigned to this story's 50% score if using the 50%/90% scoring rule for this backlog.
- score_90
-
decimalNumber of points assigned to this story's 90% score if using the 50%/90% scoring rule for this backlog.
- color
-
stringAn optional color can be assigned to this story using a hexadecimal value such as ff0000 for red, or 00ff00 for green.
- position
-
integerPosition of this story relative to the other stories in this theme. Position 1 represents the first story in the list.
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
{
"as_a":"user",
"color":"",
"comments":"Assumed use of JQuery Lightbox",
"created_at":"2011-01-03T15:03:00Z",
"i_want_to":"view a set of simple screen shots",
"id":3158,
"position":1,
"so_i_can":"understand how the products work",
"theme_id":1131,
"unique_id":5,
"updated_at":"2012-05-23T17:42:10Z",
"score":"3.0"
}
user
Assumed use of JQuery Lightbox
2011-01-03T15:03:00Z
view a set of simple screen shots
3158
1
understand how the products work
1131
5
2012-05-23T17:42:10Z
3.0
List the Stories
Arguments
- include_associated_data
- Passing in this optional parameter will include all children acceptance criteria for this list of stories.
Returns
An array of story objects.https://easybacklog.com/api/themes/{THEME_ID}/stories
curl https://easybacklog.com/api/themes/32100/stories \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"as_a":"user",
"color":"",
"comments":"Assumed use of JQuery Lightbox",
"created_at":"2011-01-03T15:03:00Z",
"i_want_to":"view a set of simple screen shots",
"id":3158,
"position":1,
"so_i_can":"understand how the products work",
"theme_id":1131,
"unique_id":5,
"updated_at":"2012-05-23T17:42:10Z",
"score":"3.0"
}
]
curl https://easybacklog.com/api/themes/32100/stories \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "include_associated_data=true" \
-X GET
Retrieve a Story
Arguments
- include_associated_data
- Passing in this optional parameter will include all children acceptance criteria for this story.
Returns
A story object.https://easybacklog.com/api/themes/{THEME_ID}/stories/{STORY_ID}
curl https://easybacklog.com/api/themes/32100/stories/100145 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"as_a":"user",
"color":"",
"comments":"Assumed use of JQuery Lightbox",
"created_at":"2011-01-03T15:03:00Z",
"i_want_to":"view a set of simple screen shots",
"id":3158,
"position":1,
"so_i_can":"understand how the products work",
"theme_id":1131,
"unique_id":5,
"updated_at":"2012-05-23T17:42:10Z",
"score":"3.0"
}
Retrieve a Story Shortcut
This method shortcut only supports GET requests and enables quite retrieval of stories based on Story_ID without having to know the Theme_ID of the parent theme.
Arguments
- include_associated_data
- Passing in this optional parameter will include all children acceptance criteria for this story.
Returns
A story object.https://easybacklog.com/api/stories/{STORY_ID}
curl https://easybacklog.com/api/stories/100145 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"as_a":"user",
"color":"",
"comments":"Assumed use of JQuery Lightbox",
"created_at":"2011-01-03T15:03:00Z",
"i_want_to":"view a set of simple screen shots",
"id":3158,
"position":1,
"so_i_can":"understand how the products work",
"theme_id":1131,
"unique_id":5,
"updated_at":"2012-05-23T17:42:10Z",
"score":"3.0"
}
Create a Story
Arguments
- unique_id
-
integerRepresents a unique ID for this story within this theme. Numbers are autogenerated starting at one.
- as_a
-
stringThe "As a" field.
- i_want_to
-
stringThe "I want to" field.
- so_i_can
-
stringThe "So I can" field.
- comments
-
stringThe "Comments" field.
- score
-
decimalNumber of points assigned to this story if using the simple scoring rule for this backlog.
- score_50
-
decimalNumber of points assigned to this story's 50% score if using the 50%/90% scoring rule for this backlog.
- score_90
-
decimalNumber of points assigned to this story's 90% score if using the 50%/90% scoring rule for this backlog.
- color
-
stringAn optional color can be assigned to this story using a hexadecimal value such as ff0000 for red, or 00ff00 for green.
- position
-
integerPosition of this story relative to the other stories in this theme. Position 1 represents the first story in the list.
Returns
The newly created story object.https://easybacklog.com/api/themes/{THEME_ID}/stories
curl https://easybacklog.com/api/themes/32100/stories \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "as_a=user" \
-d "comments=tbc" \
-d "color=ff0000" \
-X POST
{
"as_a":"user",
"color":"ff0000",
"comments":"tbc",
"created_at":"2012-05-29T16:52:09Z",
"i_want_to":null,
"id":3267,
"position":5,
"so_i_can":null,
"theme_id":1131,
"unique_id":6,
"updated_at":"2012-05-29T16:52:09Z",
"score":null
}
Update a Story
Arguments
- unique_id
-
integerRepresents a unique ID for this story within this theme. Numbers are autogenerated starting at one.
- as_a
-
stringThe "As a" field.
- i_want_to
-
stringThe "I want to" field.
- so_i_can
-
stringThe "So I can" field.
- comments
-
stringThe "Comments" field.
- score
-
decimalNumber of points assigned to this story if using the simple scoring rule for this backlog.
- score_50
-
decimalNumber of points assigned to this story's 50% score if using the 50%/90% scoring rule for this backlog.
- score_90
-
decimalNumber of points assigned to this story's 90% score if using the 50%/90% scoring rule for this backlog.
- color
-
stringAn optional color can be assigned to this story using a hexadecimal value such as ff0000 for red, or 00ff00 for green.
- position
-
integerPosition of this story relative to the other stories in this theme. Position 1 represents the first story in the list.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/themes/{THEME_ID}/stories/{STORY_ID}
curl https://easybacklog.com/api/themes/32100/stories/100145 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "as_a=student" \
-X PUT
HTTP/1.1 204 No Content
Delete a Story
Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/themes/{THEME_ID}/stories/{STORY_ID}
curl https://easybacklog.com/api/themes/32100/stories/100145 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
Acceptance Criteria
An acceptance criterion object represents the acceptance criteria assigned to a story.
The Acceptance Criterion object
Attributes
{
"criterion":"Support for tracking code in the format ?campaign=[code]",
"id":7658,
"position":1,
"story_id":3159
}
Support for tracking code in the format ?campaign=[code]
7658
1
3159
https://easybacklog.com/api/stories/{STORY_ID}/acceptance-criteria
curl https://easybacklog.com/api/stories/100145/acceptance-criteria \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"criterion":"Support for tracking code in the format ?campaign=[code]",
"id":7658,
"position":1,
"story_id":3159
}
]
curl https://easybacklog.com/api/stories/100145/acceptance-criteria \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "include_associated_data=true" \
-X GET
https://easybacklog.com/api/stories/{STORY_ID}/acceptance-criteria/{ACCEPTANCE_CRITERIA_ID}
curl https://easybacklog.com/api/stories/100145/acceptance-criteria/240621 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"criterion":"Support for tracking code in the format ?campaign=[code]",
"id":7658,
"position":1,
"story_id":3159
}
Create an Acceptance Criterion
Arguments
- criterion
-
stringThis criterion's value.
- position
-
integerPosition of this story relative to the other stories in this theme. Position 1 represents the first story in the list.
Returns
The newly created acceptance criterion object.https://easybacklog.com/api/stories/{STORY_ID}/acceptance-criteria
curl https://easybacklog.com/api/stories/100145/acceptance-criteria \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "criterion=Must validate user details" \
-X POST
{
"criterion":"Must validation user details",
"id":7941,
"position":1,
"story_id":3267
}
Update an Acceptance Criterion
Arguments
- criterion
-
stringThis criterion's value.
- position
-
integerPosition of this story relative to the other stories in this theme. Position 1 represents the first story in the list.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/stories/{STORY_ID}/acceptance-criteria/{ACCEPTANCE_CRITERIA_ID}
curl https://easybacklog.com/api/stories/100145/acceptance-criteria/240621 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "criterion=Must validate user details using Javascript" \
-X PUT
HTTP/1.1 204 No Content
Delete an Acceptance Criterion
Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/stories/{STORY_ID}/acceptance-criteria/{ACCEPTANCE_CRITERIA_ID}
curl https://easybacklog.com/api/stories/100145/acceptance-criteria/240621 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
Sprint Stories
A sprint story object represents a join between a sprint object and a story object. When a story is assigned to a sprint, a sprint story object is created linking the two objects.
The Sprint Story object
Attributes
- id
-
integerUnique identifier for this sprint story.
- sprint_id
-
integerSprint this sprint story belongs to.
- story_id
-
integerStory that is being assigned to the sprint.
- sprint_story_status_id
-
integerThe sprint story status represents the state of the story in the assigned sprint, such as
To Do or
Accepted.
- position
-
integerPosition of the story relative to the other stories for this sprint. Position 1 represents the first story in the list.
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
{
"created_at":"2011-01-03T15:03:00Z",
"id":525,
"position":1,
"sprint_id":224,
"sprint_story_status_id":4,
"story_id":3159,
"updated_at":"2012-05-23T17:42:10Z"
}
2011-01-03T15:03:00Z
525
1
224
4
3159
2012-05-23T17:42:10Z
https://easybacklog.com/api/sprints/{SPRINT_ID}/sprint-stories
curl https://easybacklog.com/api/sprints/3533/sprint-stories \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"created_at":"2011-01-03T15:03:00Z",
"id":525,
"position":1,
"sprint_id":224,
"sprint_story_status_id":4,
"story_id":3159,
"updated_at":"2012-05-23T17:42:10Z"
}
]
https://easybacklog.com/api/sprints/{SPRINT_ID}/sprint-stories/{SPRINT_STORY_ID}
curl https://easybacklog.com/api/sprints/3533/sprint-stories/11253 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"created_at":"2011-01-03T15:03:00Z",
"id":525,
"position":1,
"sprint_id":224,
"sprint_story_status_id":4,
"story_id":3159,
"updated_at":"2012-05-23T17:42:10Z"
}
Create a Sprint Story (assign a story to a sprint)
Arguments
- story_id
-
integerStory that is being assigned to the sprint.
- sprint_story_status_id
-
integerThe sprint story status represents the state of the story in the assigned sprint, such as
To Do or
Accepted.
- position
-
integerPosition of the story relative to the other stories for this sprint. Position 1 represents the first story in the list.
Returns
The newly created sprint story object.https://easybacklog.com/api/sprints/{SPRINT_ID}/sprint-stories
curl https://easybacklog.com/api/sprints/3533/sprint-stories \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "story_id=100145" \
-d "sprint_story_status_id=1" \
-X POST
{
"created_at":"2012-05-29T17:43:23Z",
"id":538,
"position":3,
"sprint_id":228,
"sprint_story_status_id":1,
"story_id":3267,
"updated_at":"2012-05-29T17:43:23Z"
}
Update a Sprint Story
Arguments
- move_to_sprint_id
-
integerSpecify this value if you want to move this sprint story to another Sprint, meaning that the story and this object are reassigned.
- sprint_story_status_id
-
integerThe sprint story status represents the state of the story in the assigned sprint, such as
To Do or
Accepted.
- position
-
integerPosition of the story relative to the other stories for this sprint. Position 1 represents the first story in the list.
Returns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/sprints/{SPRINT_ID}/sprint-stories/{SPRINT_STORY_ID}
curl https://easybacklog.com/api/sprints/3533/sprint-stories/11253 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-d "sprint_story_status_id=1" \
-X PUT
HTTP/1.1 204 No Content
Delete a Sprint Story
Arguments
NoneReturns
Nothing, will respond with a204
HTTP response header if successful.
https://easybacklog.com/api/sprints/{SPRINT_ID}/sprint-stories/{SPRINT_STORY_ID}
curl https://easybacklog.com/api/sprints/3533/sprint-stories/11253 \
-H "Authorization: token iulmbugli2czx7jitqiq" \
-X DELETE
HTTP/1.1 204 No Content
Locales
A locale represents a an environment based on language and cultural conventions. An example locale is American English ($). The locale used in the account effects how dates, currencies and sometimes messages are displayed.
The Locale object
Attributes
- id
-
integerUnique identifier for this locale.
- name
-
stringThe locale name.
- code
-
stringThe locale code.
- position
-
integerThe position of this locale with one indicating the first in the list.
- created_at
-
datetimeDate that this object was created.
- updated_at
-
datetimeDate that this object was last updated.
{
"code":"en-US",
"created_at":"2011-02-18T02:53:12Z",
"id":1,
"name":"American English ($)",
"position":10,
"updated_at":"2012-01-11T22:57:26Z"
}
en-US
2011-02-18T02:53:12Z
1
American English ($)
10
2012-01-11T22:57:26Z
https://easybacklog.com/api/locales
curl https://easybacklog.com/api/locales \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"code":"en-US",
"created_at":"2011-02-18T02:53:12Z",
"id":1,
"name":"American English ($)",
"position":10,
"updated_at":"2012-01-11T22:57:26Z"
}
]
https://easybacklog.com/api/locale/{LOCALE_ID}
curl https://easybacklog.com/api/locales/2 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"code":"en-US",
"created_at":"2011-02-18T02:53:12Z",
"id":1,
"name":"American English ($)",
"position":10,
"updated_at":"2012-01-11T22:57:26Z"
}
The Scoring Rule object
Attributes
- id
-
integerUnique identifier for this scoring rule.
- title
-
stringThe scoring rule title.
- code
-
stringThe scoring rule short code.
- description
-
stringThe description of this scoring rule.
- position
-
integerThe position of this scoring rule with one indicating the first in the list.
{
"code":"M",
"description":"0, 0.5, 1, 2, 3, 5, 8, 13, 20, 21, 40, 60, 100",
"id":7,
"position":1,
"title":"Modified Fibonacci"
}
M
0, 0.5, 1, 2, 3, 5, 8, 13, 20, 21, 40, 60, 100
7
1
Modified Fibonacci
List the Scoring Rules
Arguments
This request requires no arguments.Returns
An array of scoring rule objects.https://easybacklog.com/api/scoring-rules
curl https://easybacklog.com/api/scoring-rules \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"code":"M",
"description":"0, 0.5, 1, 2, 3, 5, 8, 13, 20, 21, 40, 60, 100",
"id":7,
"position":1,
"title":"Modified Fibonacci"
}
]
Retrieve a Scoring Rule
Arguments
This request requires no arguments.Returns
A scoring rule object.https://easybacklog.com/api/scoring-rules/{SCORING_RULE_ID}
curl https://easybacklog.com/api/scoring-rules/1 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"code":"M",
"description":"0, 0.5, 1, 2, 3, 5, 8, 13, 20, 21, 40, 60, 100",
"id":7,
"position":1,
"title":"Modified Fibonacci"
}
The Sprint Story Status object
Attributes
- id
-
integerUnique identifier for this sprint story status rule.
- status
-
stringThe status description.
- code
-
stringThe sprint story status short code.
- position
-
integerThe position of this sprint story status with one indicating the first in the list.
{
"code":"T",
"id":1,
"position":1,
"status":"To do"
}
T
1
1
To do
List the Sprint Story Statuses
Arguments
This request requires no arguments.Returns
An array of sprint story status objects.https://easybacklog.com/api/sprint-story-statuses
curl https://easybacklog.com/api/sprint-story-statuses \
-H "Authorization: token iulmbugli2czx7jitqiq"
[
{
"code":"T",
"id":1,
"position":1,
"status":"To do"
}
]
Retrieve a Sprint Story Status
Arguments
This request requires no arguments.Returns
A sprint story status object.https://easybacklog.com/api/sprint-story-statuses/{SPRINT_STORY_STATUS_ID}
curl https://easybacklog.com/api/sprint-story-statuses/1 \
-H "Authorization: token iulmbugli2czx7jitqiq"
{
"code":"T",
"id":1,
"position":1,
"status":"To do"
}