Launchpad web services API
Note: This page discusses the Launchpad web service API from the perspective of developer wanting to use the API. If you want to help develop the API, see the Launchpad dev wiki instead. If you would like to find or share hints on being an end-user of a launchpadlib-based application, see /EndUserHints. If you're looking for the _internal_ API documentation, see http://people.canonical.com/~mwh/canonicalapi/
The Launchpad website lets you learn about and manage bugs, projects, questions, and other artefacts of software development. These same objects are gradually being exposed through a web service, so that you can access them from scripts, applications, or other websites, in addition to accessing them through the Launchpad website. The service is designed around the principles of REST, with the goals of simplicity and transparency.
If you're the end-user of an application like Ground Control, you don't need to know about the API at all: you just need to know how to integrate your Launchpad account with a third-party application.
launchpadlib is the official Python client library for Launchpad's web service.
>>> me = launchpad.me >>> me.display_name = 'My new display name' >>> me.lp_save()
Developers who aren't Python programmers, or who are interested in the inner workings of the web service, should read the hacking document.
PATCH /beta/+me HTTP/1.1 Host: api.launchpad.net Content-type: application/json { "display_name" : "My new display name" }
See our directory of clients and code that uses the Launchpad APIs for examples. Also, we have a page of example code.
If you're writing your own interface to Launchpad, instead of using launchpadlib, you'll need to know how OAuth works. Signing Requests explains how to walk your end-users through the process of getting a set of OAuth credentials that you can use to make Launchpad web service requests on their behalf.
The reference documentation describes every published object and operation in a language-neutral form.