Body Font Header Font  
Print

Loom XML API documentation

Overview

The Loom API is XML over HTTP. Simply set the following headers to inform Loom you want to use XML:

Accept: application/xml
Content-Type: application/xml

Authentication

Basic HTTP authentication is required to access the API. Ensure that you use the URL for your account (Loom accounts have their own subdomain.)

You could create an API user on your account so you can share the credentials between your developers. The Loom account owner can always generate random passwords for the API user, as long as you remember to use a real email address you’ll be able to receive it.

API Methods

Methods return one of:

  • An object’s fields in XML
  • An object’s errors in XML
  • A HTTP status to indicate success or an error

Get a list of projects


<pre style="overflow: scroll; background-color: #ffc">
curl -X GET -H 'Accept: application/xml' -H 'Content-Type: application/xml' http://example.loomapp.com/projects -u alex@example.com:password
</pre>

Get all issues for a project

Where 1 is an ID returned by /projects:


<pre style="overflow: scroll; background-color: #ffc">
curl -X GET -H 'Accept: application/xml' -H 'Content-Type: application/xml' http://example.loomapp.com/project/1/issues -u alex@example.com:password
</pre>

Get one issue

Where 1 is an issue ID:


<pre style="overflow: scroll; background-color: #ffc">
curl -X GET -H 'Accept: application/xml' -H 'Content-Type: application/xml' http://example.loomapp.com/issues/1 -u alex@example.com:password
</pre>

Create an issue

POST to /issue to create an issue. The following fields are expected:

  • project_id – integer
  • title – Issue title
  • email – Email of the reporter (if it’s a user who can login to Loom)
  • reported_by_public – A “public” identifier for the reporter. i.e. the email address of someone who uses your app but can’t login to Loom
  • description – A text description of the problem
  • severity – A number between 0 and 100
  • state – acknowledged, resolved, feedback, new


<pre style="overflow: scroll; background-color: #ffc">
curl -X POST -H 'Accept: application/xml' -H 'Content-Type: application/xml' -d '<issue><title>Example issue</title><reported_by_public>example@example.com</reported_by_public><severity>100</severity><project_id>1</project_id><description>Problem description</description></issue>' -H 'Content-Type: application/xml' http://example.loomapp.com/issues -u alex@example.com:password
</pre>

Update an issue

POST to /issues/update/ID to update an issue. You can omit fields that are unchanged.


<pre style="overflow: scroll; background-color: #ffc">
curl -X POST -H 'Accept: application/xml' -H 'Content-Type: application/xml' -d '<issue><title>Example issue</title></issue>' -H 'Content-Type: application/xml' http://example.loomapp.com/issues/update/1 -u alex@example.com:password
</pre>

Delete an issue

Perform a GET request to /issues/destroy/ID to delete an issue.


<pre style="overflow: scroll; background-color: #ffc">
curl -X GET -H 'Accept: application/xml' -H 'Content-Type: application/xml' -H 'Content-Type: application/xml' http://example.loomapp.com/issues/destroy/1 -u alex@example.com:password
</pre>