Unfuddle
Unfuddle STACK API

Introduction

Each Project can have any number of Milestones.

Each Milestone can be associated with any number of Tickets. These Tickets can be retrieved with the convenience resources: all, active, and closed.

Milestones

The collection represents all Milestones for either an Account or a Project.

URL:
/api/v1/milestones[GET]
/api/v1/projects/{id}/milestones[GET, POST]
/api/v1/projects/{id}/milestones/{id}[GET, PUT, DELETE]
Response Formats:
XML, JSON, ICS
Parameters (via query string or request body):
<request>
  <!-- specifies whether or not to shift subsequent milestones by the same number of days on (PUT only) -->
  <shift-subsequent> [true, false] </shift-subsequent>
</request>
Request/Response Body:
See Milestone Data Model
Example:
curl -i -u username:password -X PUT \\
  -H 'Accept: application/xml' \\
  -H 'Content-Type: application/xml' \\
  -d '<milestone><due-on>2007/1/18</due-on></milestone>' \\
  'https://mysubdomain.unfuddle.com/api/v1/projects/87776/milestones/8797.xml?shift_subsequent=true'

Upcoming/Late/Completed/Archived Collections

Convenience resources for retrieving subsets of milestones.

URL:
/api/v1/projects/{id}/milestones/upcoming[GET]
/api/v1/projects/{id}/milestones/late[GET]
/api/v1/projects/{id}/milestones/completed[GET]
/api/v1/projects/{id}/milestones/archived[GET]
/api/v1/milestones/upcoming[GET]
/api/v1/milestones/late[GET]
/api/v1/milestones/completed[GET]
/api/v1/milestones/archived[GET]
Response Formats:
XML, JSON, ICS
Response Body:
See Milestone Data Model
Example:
curl -i -u username:password -X GET \\
  -H 'Accept: application/xml' \\
  'https://mysubdomain.unfuddle.com/api/v1/projects/87776/milestones/upcoming.xml'

Tickets All/Active/Closed Collections

All Tickets associated with a Milestone. Three different resources give you either all Tickets, active Tickets, or closed Tickets.

URL:
/api/v1/projects/{id}/milestones/{id}/tickets[GET]
/api/v1/projects/{id}/milestones/{id}/active_tickets[GET]
/api/v1/projects/{id}/milestones/{id}/closed_tickets[GET]
Response Formats:
XML, JSON, ICS
Parameters (via query string or request body):
<request>
  <!-- The default limit for the number of tickets returned in a single request is 100.
  The maximum user-definable limit is 500.
  Increment the page parameter in order to retrieve the next N tickets.-->
  <limit>100</limit>
  <page>1</page>
</request>
Response Body:
See Ticket Data Model
Example:
curl -i -u username:password -X GET \\
  -H 'Accept: application/xml' \\
  'https://mysubdomain.unfuddle.com/api/v1/projects/87776/milestones/358/active_tickets.xml'