Back to easyBacklog

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.

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 format Authorization: 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
  

Accounts

An account is the highest level container of data. All backlogs belongs to accounts, and all users are assigned to one or more accounts.

The Account object

Attributes

id
integer
Unique identifier for this account
name
string
The account name
locale_id
integer
Locale applied to this account.
default_velocity
decimal
Default velocity to use for new backlogs.
default_rate
integer
Default rate (without currency symbol) to use for new backlogs.
default_use_50_90
boolean
Use 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
integer
Default scoring rule to use for new backlogs.
created_at
datetime
Date that this object was created.
updated_at
datetime
Date 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"
  }
]

Retrieve an Account

Arguments

This request requires no arguments.

Returns

An account object.
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
string
The account name
locale_id
integer
Locale applied to this account.
default_velocity
decimal
Default velocity to use for new backlogs.
default_rate
integer
Default rate (without currency symbol) to use for new backlogs. Cannot be specified unless default velocity is set.
default_use_50_90
boolean
Use the 50%/90% certainty scoring rule as a default for new backlogs.
scoring_rule_id
integer
Default scoring rule to use for new backlogs.

Returns

Nothing, will respond with a 204 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

Companies

A company represents a business or business unit that one can group backlogs into. A backlog can optionally be associated with a company. If no association from backlog to a company is made, then the backlog is grouped at the account level.

The Company object

Attributes

id
integer
Unique identifier for this company
name
string
The company name
default_velocity
decimal
Default velocity to use for new backlogs.
default_rate
integer
Default rate (without currency symbol) to use for new backlogs.
default_use_50_90
boolean
Use 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
datetime
Date that this object was created.
updated_at
datetime
Date 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"
  }
]

Retrieve a Company

Arguments

This request requires no arguments.

Returns

A company object.
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
string
The company name
default_velocity
decimal
Default velocity to use for new backlogs.
default_rate
integer
Default rate (without currency symbol) to use for new backlogs. Cannot be specified unless default velocity is set.
default_use_50_90
boolean
Use 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
string
The company name
default_velocity
decimal
Default velocity to use for new backlogs.
default_rate
integer
Default rate (without currency symbol) to use for new backlogs. Cannot be specified unless default velocity is set.
default_use_50_90
boolean
Use the 50%/90% certainty scoring rule as a default for new backlogs.

Returns

Nothing, will respond with a 204 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

None

Returns

Nothing, will respond with a 204 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

Backlogs

An backlog object represents a user created backlog and belongs to a single account. A backlog contains one or more children themes, sprints or snapshots.

The Backlog object

Attributes

id
integer
Unique identifier for this backlog
name
string
The backlog name
account_id
integer
Account this backlog belongs to
company_id
integer
Company this backlog belongs to. A backlog is optionally associated with a company.
velocity
decimal
Average velocity per day per team member. This is empty (null) when time estimates are not automatically created for this backlog.
rate
integer
Rate per day per team member. This is empty (null) when cost estimates are not automatically created for this backlog.
use_50_90
boolean
Use 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
integer
Scoring rule used for this backlog.
archived
boolean
Indicates whether the backlog has been archived (and locked).
created_at
datetime
Date that this object was created.
updated_at
datetime
Date 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
boolean
If 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: header application/json or application/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 optional include_associated_data=true parameter modifies the JSON to include all themes, sprints, stories and acceptance criteria related to this object.
XML
Use the Accept: header application/xml or application/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 optional include_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: header application/vnd.ms-excel or application/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
PDF
Use the Accept: header application/pdf or application/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 optional print_scope parameter with either sprint-{SPRINT_ID} or theme-{THEME_ID} , will filter the cards returned by that theme or sprint.
page size: Adding the option parameter page_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 parameter fold_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

None

Returns

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
string
The backlog name
company_id
integer
Company this backlog belongs to. A backlog can also have no association with a company, so this can be empty (null).
velocity
decimal
Average velocity per day per team member. Set this to empty (null) when time estimates are not required for this backlog.
rate
integer
Rate 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
boolean
Use 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
integer
Scoring 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
string
The backlog name
company_id
integer
Company this backlog belongs to. A backlog can also have no association with a company, so this can be empty (null).
velocity
decimal
Average velocity per day per team member. Set this to empty (null) when time estimates are not required for this backlog.
rate
integer
Rate 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
boolean
Use 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
integer
Scoring rule used for this backlog.
archived
boolean
Set 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 a 204 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
string
The new backlog name
company_id
integer
Company this backlog belongs to. A backlog can also have no association with a company, so this can be empty (null).
velocity
decimal
Average velocity per day per team member. Set this to empty (null) when time estimates are not required for this backlog.
rate
integer
Rate 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
boolean
Use 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
integer
Scoring 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

None

Returns

Nothing, will respond with a 204 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
integer
Unique identifier for this snapshot.
name
string
The snapshot name
parent_backlog_id or parent_sprint_id
integer
Backlog or Sprint this snapshot belongs to. Manually created snapshots have a parent_backlog_id, whereas sprint snapshots created automatically when a sprint commences have a parent_sprint_id.
velocity
decimal
Average velocity per day per team member. This is empty (null) when time estimates are not automatically created for this snapshot.
rate
integer
Rate per day per team member. This is empty (null) when cost estimates are not automatically created for this snapshot.
use_50_90
boolean
50%/90% scoring rule used for this snapshot. When false (or null) the snapshot uses the simpler single scoring rule for stories.
scoring_rule_id
integer
Scoring rule used for this snapshot.
created_at
datetime
Date 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

None

Returns

An array of snapshot objects grouped into manual_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
string
The 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

None

Returns

Nothing, will respond with a 204 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

Themes

A theme object contains one or more stories in a backlog, and belongs to a single backlog.

The Theme object

Attributes

id
integer
Unique identifier for this theme
backlog_id
integer
Backlog this theme belongs to
name
string
The theme name
code
string
A three letter unique identifier for this theme. This code is automatically generated if not specified, but can be manually specified as well.
position
integer
Position of this theme relative to the other themes in this backlog. Position 1 represents the first theme in the list.
created_at
datetime
Date that this object was created.
updated_at
datetime
Date 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
string
The theme name
code
string
A three letter unique identifier for this theme. This code is automatically generated if not specified, but can be manually specified as well.
position
integer
Position 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
string
The theme name
code
string
A three letter unique identifier for this theme.
position
integer
Position 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 a 204 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
integer
Story that you wish to move to this theme.

Returns

Nothing, will respond with a 204 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
integer
Backlog that you wish to move this theme to.

Returns

Nothing, will respond with a 204 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

None

Returns

Nothing, will respond with a 204 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
integer
Unique identifier for this sprint
backlog_id
integer
Backlog this sprint belongs to
iteration
integer
Represents the number of this sprint, starting at one for the first sprint. This field is automatically assigned when the sprint is created.
start_on
date
The 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
integer
The duration in working days that this sprint lasts for.
number_team_members
decimal
Represents 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
decimal
Represents 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
datetime
The 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
datetime
Date that this object was created.
updated_at
datetime
Date 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
date
The 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
integer
The duration in working days that this sprint lasts for.
number_team_members
decimal
Represents 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
decimal
Represents 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
boolean
If 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
date
The 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
integer
The duration in working days that this sprint lasts for.
number_team_members
decimal
Represents 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
decimal
Represents 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 a 204 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

None

Returns

Nothing, will respond with a 204 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
integer
Unique identifier for this sprint
theme_id
integer
Theme this story belongs to
unique_id
integer
Represents a unique ID for this story within this theme. Numbers are autogenerated starting at one.
as_a
string
The "As a" field.
i_want_to
string
The "I want to" field.
so_i_can
string
The "So I can" field.
comments
string
The "Comments" field.
score
decimal
Number of points assigned to this story if using the simple scoring rule for this backlog.
score_50
decimal
Number of points assigned to this story's 50% score if using the 50%/90% scoring rule for this backlog.
score_90
decimal
Number of points assigned to this story's 90% score if using the 50%/90% scoring rule for this backlog.
color
string
An optional color can be assigned to this story using a hexadecimal value such as ff0000 for red, or 00ff00 for green.
position
integer
Position of this story relative to the other stories in this theme. Position 1 represents the first story in the list.
created_at
datetime
Date that this object was created.
updated_at
datetime
Date 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
integer
Represents a unique ID for this story within this theme. Numbers are autogenerated starting at one.
as_a
string
The "As a" field.
i_want_to
string
The "I want to" field.
so_i_can
string
The "So I can" field.
comments
string
The "Comments" field.
score
decimal
Number of points assigned to this story if using the simple scoring rule for this backlog.
score_50
decimal
Number of points assigned to this story's 50% score if using the 50%/90% scoring rule for this backlog.
score_90
decimal
Number of points assigned to this story's 90% score if using the 50%/90% scoring rule for this backlog.
color
string
An optional color can be assigned to this story using a hexadecimal value such as ff0000 for red, or 00ff00 for green.
position
integer
Position 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
integer
Represents a unique ID for this story within this theme. Numbers are autogenerated starting at one.
as_a
string
The "As a" field.
i_want_to
string
The "I want to" field.
so_i_can
string
The "So I can" field.
comments
string
The "Comments" field.
score
decimal
Number of points assigned to this story if using the simple scoring rule for this backlog.
score_50
decimal
Number of points assigned to this story's 50% score if using the 50%/90% scoring rule for this backlog.
score_90
decimal
Number of points assigned to this story's 90% score if using the 50%/90% scoring rule for this backlog.
color
string
An optional color can be assigned to this story using a hexadecimal value such as ff0000 for red, or 00ff00 for green.
position
integer
Position 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 a 204 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

None

Returns

Nothing, will respond with a 204 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

id
integer
Unique identifier for this acceptance criterion
story_id
integer
Story this acceptance criterion belongs to.
criterion
string
This criterion's value.
position
integer
Position of this story relative to the other stories in this theme. Position 1 represents the first story in the list.
{
  "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

List the Acceptance Criteria

Arguments

None

Returns

An array of acceptance criterion objects.
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

Retrieve an Acceptance Criterion

Arguments

None

Returns

An acceptance criterion object.
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
string
This criterion's value.
position
integer
Position 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
string
This criterion's value.
position
integer
Position 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 a 204 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

None

Returns

Nothing, will respond with a 204 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
integer
Unique identifier for this sprint story.
sprint_id
integer
Sprint this sprint story belongs to.
story_id
integer
Story that is being assigned to the sprint.
sprint_story_status_id
integer
The sprint story status represents the state of the story in the assigned sprint, such as To Do or Accepted.
position
integer
Position of the story relative to the other stories for this sprint. Position 1 represents the first story in the list.
created_at
datetime
Date that this object was created.
updated_at
datetime
Date 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

List the Sprint Stories

Arguments

None

Returns

An array of sprint story objects.
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"
  }
]

Retrieve a Sprint Story

Arguments

None

Returns

A sprint story object.
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
integer
Story that is being assigned to the sprint.
sprint_story_status_id
integer
The sprint story status represents the state of the story in the assigned sprint, such as To Do or Accepted.
position
integer
Position 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
integer
Specify 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
integer
The sprint story status represents the state of the story in the assigned sprint, such as To Do or Accepted.
position
integer
Position 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 a 204 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

None

Returns

Nothing, will respond with a 204 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
integer
Unique identifier for this locale.
name
string
The locale name.
code
string
The locale code.
position
integer
The position of this locale with one indicating the first in the list.
created_at
datetime
Date that this object was created.
updated_at
datetime
Date 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

List the Locales

Arguments

This request requires no arguments.

Returns

An array of locale objects.
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"
  }
]

Retrieve a Locale

Arguments

This request requires no arguments.

Returns

A locale object.
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"
}

Scoring Rules

A scoring rule represents the types of scores that can be assigned to a story. For example, the Strict Fibanacci rule dictates that only 0, 1, 2, 3, 5, 8, 13, 21, and 34 can be used.

The Scoring Rule object

Attributes

id
integer
Unique identifier for this scoring rule.
title
string
The scoring rule title.
code
string
The scoring rule short code.
description
string
The description of this scoring rule.
position
integer
The 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"
}

Sprint Story Statuses

A sprint story status represents the state of a story in regards to its completeness in a sprint. For example, a sprint story status may be To Do or Accepted.

The Sprint Story Status object

Attributes

id
integer
Unique identifier for this sprint story status rule.
status
string
The status description.
code
string
The sprint story status short code.
position
integer
The 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"
}