Merge lp:~benji/launchpad/check-in-wadl into lp:launchpad

Proposed by Benji York on 2010-08-25
Status: Merged
Approved by: Jelmer Vernooij on 2010-08-26
Approved revision: no longer in the source branch.
Merged at revision: 11505
Proposed branch: lp:~benji/launchpad/check-in-wadl
Merge into: lp:launchpad
Diff against target: 202256 lines (+202043/-61)
13 files modified
.bzrignore (+1/-4)
Makefile (+1/-5)
lib/canonical/launchpad/apidoc/1.0.html (+33070/-0)
lib/canonical/launchpad/apidoc/beta.html (+33723/-0)
lib/canonical/launchpad/apidoc/devel.html (+33053/-0)
lib/canonical/launchpad/apidoc/wadl-development-1.0.xml (+33785/-0)
lib/canonical/launchpad/apidoc/wadl-development-beta.xml (+34121/-0)
lib/canonical/launchpad/apidoc/wadl-development-devel.xml (+34082/-0)
lib/canonical/launchpad/ftests/test_checked_in_wadl.py (+63/-0)
lib/canonical/launchpad/ftests/test_wadl_generation.py (+39/-0)
lib/canonical/launchpad/rest/wadl.py (+54/-0)
utilities/create-lp-wadl-and-apidoc.py (+50/-51)
versions.cfg (+1/-1)
To merge this branch: bzr merge lp:~benji/launchpad/check-in-wadl
Reviewer Review Type Date Requested Status
Jelmer Vernooij (community) code 2010-08-25 Approve on 2010-08-26
Review via email: mp+33661@code.launchpad.net

Description of the Change

The first time make is run in a new Launchpad branch the webservice's
WADL and HTML documentation is built which takes a while. This branch
checks in the generated WADL and HTML.

Storing the generated files introduces the risk that the content of the
files can drift from what would have been generated. To mitigate that
risk tests were added to compare the generated data to that on disk and
fail if they differ.

The utility that generates the files was also modified to not regenerate
the files if they already exist as well as support a --force switch to
make regenerating the files easy.

The tests can be run with

    bin/test -ct checked_in_wadl

There were a few small lint items fixed in this branch but not so many
as to interfere with efficient review.

Suggested music for reviewing this branch:
http://www.youtube.com/watch/?v=U-lt3vVA-4I

To post a comment you must log in.
Jelmer Vernooij (jelmer) wrote :

Looks good, looking forward to being able to not having to wait for wadl generation anymore. :-)

Can you make create-lp-wadl-and-api use the generate_wadl() function, perhaps moving to somewhere outside of ftests? Apart from code duplication being bad in general, as far as I can tell create-lp-wadl-and-api doesn't have any tests itself.

Please use optparse in create-lp-wadl-and-api for consistency with the other utilities and in case of possible future additional options.

review: Needs Fixing (code)
Benji York (benji) wrote :

On Wed, Aug 25, 2010 at 1:07 PM, Jelmer Vernooij <email address hidden> wrote:
> Review: Needs Fixing code
> Looks good, looking forward to being able to not having to wait for wadl generation anymore. :-)
>
> Can you make create-lp-wadl-and-api use the generate_wadl() function, perhaps moving to somewhere outside of ftests? Apart from code duplication being bad in general, as far as I can tell create-lp-wadl-and-api doesn't have any tests itself.

Done.

> Please use optparse in create-lp-wadl-and-api for consistency with the other utilities and in case of possible future additional options.

Done.
--
Benji York

Jelmer Vernooij (jelmer) wrote :

Thanks. r=me, but can you please fix the following two issues:

The copyright header in the new file you've added has a copyright for 2009.
The imports are still formatted according to the old style, they should now each have their own line.

review: Approve (code)
Benji York (benji) wrote :

On Wed, Aug 25, 2010 at 8:02 PM, Jelmer Vernooij <email address hidden> wrote:
> Review: Approve code
> Thanks. r=me, but can you please fix the following two issues:
>
> The copyright header in the new file you've added has a copyright for 2009.
> The imports are still formatted according to the old style, they should now each have their own line.

Both of the above have been fixed.
--
Benji York

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2010-08-26 02:00:51 +0000
3+++ .bzrignore 2010-09-03 17:37:48 +0000
4@@ -30,9 +30,8 @@
5 database/sampledata/newsampledata-dev.sql
6 database/sampledata/lintdata.sql
7 database/sampledata/lintdata-dev.sql
8-lib/canonical/launchpad/apidoc/*.html
9+lib/canonical/launchpad/apidoc/index.html
10 xxx-report.*
11-lib/canonical/launchpad/apidoc/wadl-development-*.xml
12 lib/canonical/launchpad/apidoc/wadl-test-playground.xml
13 lib/canonical/launchpad/icing/build/*
14 lib/canonical/launchpad/icing/combo.css
15@@ -59,7 +58,6 @@
16 .testrepository
17 .memcache.pid
18 ./pipes
19-lib/canonical/launchpad/apidoc/wadl-development-*.xml
20 tags.new
21 lp-clustered.dot
22 lp-clustered.sfood
23@@ -67,7 +65,6 @@
24 lp.sfood
25 apidocs
26 twistd.pid
27-lib/canonical/launchpad/apidoc
28 *.prof
29 lib/canonical/launchpad-buildd_*.dsc
30 lib/canonical/launchpad-buildd_*.tar.gz
31
32=== modified file 'Makefile'
33--- Makefile 2010-08-31 21:22:27 +0000
34+++ Makefile 2010-09-03 17:37:48 +0000
35@@ -28,7 +28,7 @@
36 BZR_VERSION_INFO = bzr-version-info.py
37
38 APIDOC_DIR = lib/canonical/launchpad/apidoc
39-WADL_TEMPLATE = $(APIDOC_DIR).tmp/wadl-$(LPCONFIG)-%(version)s.xml
40+WADL_TEMPLATE = $(APIDOC_DIR)/wadl-$(LPCONFIG)-%(version)s.xml
41 API_INDEX = $(APIDOC_DIR)/index.html
42
43 # Do not add bin/buildout to this list.
44@@ -59,9 +59,7 @@
45 $(PY) ./utilities/make-dummy-hosted-branches
46
47 $(API_INDEX): $(BZR_VERSION_INFO)
48- mkdir -p $(APIDOC_DIR).tmp
49 LPCONFIG=$(LPCONFIG) $(PY) ./utilities/create-lp-wadl-and-apidoc.py "$(WADL_TEMPLATE)"
50- mv $(APIDOC_DIR).tmp $(APIDOC_DIR)
51
52 apidoc: compile $(API_INDEX)
53
54@@ -343,8 +341,6 @@
55 $(RM) -r lib/mailman
56 $(RM) -rf lib/canonical/launchpad/icing/build/*
57 $(RM) -r $(CODEHOSTING_ROOT)
58- $(RM) -rf $(APIDOC_DIR)
59- $(RM) -rf $(APIDOC_DIR).tmp
60 $(RM) $(BZR_VERSION_INFO)
61 $(RM) +config-overrides.zcml
62 $(RM) -rf \
63
64=== added directory 'lib/canonical/launchpad/apidoc'
65=== added file 'lib/canonical/launchpad/apidoc/1.0.html'
66--- lib/canonical/launchpad/apidoc/1.0.html 1970-01-01 00:00:00 +0000
67+++ lib/canonical/launchpad/apidoc/1.0.html 2010-09-03 17:37:48 +0000
68@@ -0,0 +1,33070 @@
69+<?xml version="1.0" encoding="UTF-8"?>
70+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
71+<html xmlns="http://www.w3.org/1999/xhtml">
72+ <head>
73+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
74+ <title>About this service</title>
75+ <style type="text/css">
76+ body {
77+ font-family: sans-serif;
78+ font-size: 0.85em;
79+ margin: 2em 8em;
80+ }
81+ .methods {
82+ background-color: #eef;
83+ padding: 1em;
84+ margin-bottom: 0.5em;
85+ }
86+ .method {
87+ padding-left: 4em;
88+ }
89+ h1 {
90+ font-size: 2.5em;
91+ }
92+ h2 {
93+ border-bottom: 1px solid black;
94+ margin-top: 1em;
95+ margin-bottom: 0.5em;
96+ font-size: 2em;
97+ }
98+ h3 {
99+ color: orange;
100+ font-size: 1.75em;
101+ margin-top: 1.25em;
102+ margin-bottom: 0em;
103+ }
104+ h4 {
105+ font-size: 1.50em;
106+ margin: 0em;
107+ padding: 0em;
108+ border-bottom: 2px solid white;
109+ }
110+ h5 {
111+ font-size: 1.25em;
112+ margin-left: -3em;
113+ }
114+ h6 {
115+ font-size: 1.1em;
116+ color: #99a;
117+ margin: 0.5em 0em 0.25em 0em;
118+ }
119+ dd {
120+ margin-left: 1em;
121+ }
122+ tt, code {
123+ font-size: 1.2em;
124+ }
125+ table {
126+ margin-bottom: 0.5em;
127+ }
128+ th {
129+ text-align: left;
130+ font-weight: normal;
131+ color: black;
132+ border-bottom: 1px solid black;
133+ padding: 3px 6px;
134+ }
135+ td {
136+ padding: 3px 6px;
137+ vertical-align: top;
138+ background-color: #f6f6ff;
139+ font-size: 0.85em;
140+ }
141+ td p {
142+ margin: 0px;
143+ }
144+ ul {
145+ padding-left: 1.75em;
146+ }
147+ p + ul, p + ol, p + dl {
148+ margin-top: 0em;
149+ }
150+ label {
151+ font-weight: bold;
152+ }
153+ .optional {
154+ font-weight: normal;
155+ opacity: 0.75;
156+ }
157+ .toc-link {
158+ font-size: 0.85em;
159+ }
160+ </style>
161+ </head>
162+ <body>
163+ <h1>About this service</h1>
164+ <p>The Launchpad web service allows automated
165+ clients to access most of the functionality available on the
166+ Launchpad web site. For help getting started, see
167+ <a href="https://help.launchpad.net/API/">the help wiki.</a></p>
168+ <p>This version of the web service removes unnecessary
169+ named operations. It was introduced in March 2010, and its
170+ end-of-life date is April 2015, the same as the server version
171+ of the Ubuntu release "Lucid Lynx".</p>
172+ <div id="toc" title="toc">
173+ <h2>Table of Contents</h2>
174+ <h3>Top-level objects</h3>
175+ <ul>
176+ <li>
177+ <a href="#branches">branches</a>
178+ </li>
179+ <li>
180+ <a href="#bug_trackers">bug_trackers</a>
181+ </li>
182+ <li>
183+ <a href="#bugs">bugs</a>
184+ </li>
185+ <li>
186+ <a href="#countries">countries</a>
187+ </li>
188+ <li>
189+ <a href="#cves">cves</a>
190+ </li>
191+ <li>
192+ <a href="#distributions">distributions</a>
193+ </li>
194+ <li>
195+ <a href="#languages">languages</a>
196+ </li>
197+ <li>
198+ <a href="#person">me</a>
199+ </li>
200+ <li>
201+ <a href="#packagesets">packagesets</a>
202+ </li>
203+ <li>
204+ <a href="#people">people</a>
205+ </li>
206+ <li>
207+ <a href="#pillars">pillars</a>
208+ </li>
209+ <li>
210+ <a href="#project_groups">project_groups</a>
211+ </li>
212+ <li>
213+ <a href="#projects">projects</a>
214+ </li>
215+ <li>
216+ <a href="#temporary_blobs">temporary_blobs</a>
217+ </li>
218+ <li>
219+ <a href="#translation_import_queue_entries">translation_import_queue_entries</a>
220+ </li>
221+ </ul>
222+ <h3>Entry types</h3>
223+ <ul>
224+ <li>
225+ <a href="#ScalarValue">ScalarValue</a>
226+ </li>
227+ <li>
228+ <a href="#archive">archive</a>
229+ </li>
230+ <li>
231+ <a href="#archive_dependency">archive_dependency</a>
232+ </li>
233+ <li>
234+ <a href="#archive_permission">archive_permission</a>
235+ </li>
236+ <li>
237+ <a href="#archive_subscriber">archive_subscriber</a>
238+ </li>
239+ <li>
240+ <a href="#binary_package_publishing_history">binary_package_publishing_history</a>
241+ </li>
242+ <li>
243+ <a href="#binary_package_release_download_count">binary_package_release_download_count</a>
244+ </li>
245+ <li>
246+ <a href="#branch">branch</a>
247+ </li>
248+ <li>
249+ <a href="#branch_merge_proposal">branch_merge_proposal</a>
250+ </li>
251+ <li>
252+ <a href="#branch_subscription">branch_subscription</a>
253+ </li>
254+ <li>
255+ <a href="#bug">bug</a>
256+ </li>
257+ <li>
258+ <a href="#bug_attachment">bug_attachment</a>
259+ </li>
260+ <li>
261+ <a href="#bug_branch">bug_branch</a>
262+ </li>
263+ <li>
264+ <a href="#bug_nomination">bug_nomination</a>
265+ </li>
266+ <li>
267+ <a href="#bug_subscription">bug_subscription</a>
268+ </li>
269+ <li>
270+ <a href="#bug_target">bug_target</a>
271+ </li>
272+ <li>
273+ <a href="#bug_task">bug_task</a>
274+ </li>
275+ <li>
276+ <a href="#bug_tracker">bug_tracker</a>
277+ </li>
278+ <li>
279+ <a href="#bug_watch">bug_watch</a>
280+ </li>
281+ <li>
282+ <a href="#build">build</a>
283+ </li>
284+ <li>
285+ <a href="#code_import">code_import</a>
286+ </li>
287+ <li>
288+ <a href="#code_review_comment">code_review_comment</a>
289+ </li>
290+ <li>
291+ <a href="#code_review_vote_reference">code_review_vote_reference</a>
292+ </li>
293+ <li>
294+ <a href="#commercial_subscription">commercial_subscription</a>
295+ </li>
296+ <li>
297+ <a href="#country">country</a>
298+ </li>
299+ <li>
300+ <a href="#cve">cve</a>
301+ </li>
302+ <li>
303+ <a href="#distribution">distribution</a>
304+ </li>
305+ <li>
306+ <a href="#distribution_mirror">distribution_mirror</a>
307+ </li>
308+ <li>
309+ <a href="#distribution_source_package">distribution_source_package</a>
310+ </li>
311+ <li>
312+ <a href="#distro_arch_series">distro_arch_series</a>
313+ </li>
314+ <li>
315+ <a href="#distro_series">distro_series</a>
316+ </li>
317+ <li>
318+ <a href="#email_address">email_address</a>
319+ </li>
320+ <li>
321+ <a href="#gpg_key">gpg_key</a>
322+ </li>
323+ <li>
324+ <a href="#h_w_device">h_w_device</a>
325+ </li>
326+ <li>
327+ <a href="#h_w_device_class">h_w_device_class</a>
328+ </li>
329+ <li>
330+ <a href="#h_w_driver">h_w_driver</a>
331+ </li>
332+ <li>
333+ <a href="#h_w_driver_name">h_w_driver_name</a>
334+ </li>
335+ <li>
336+ <a href="#h_w_driver_package_name">h_w_driver_package_name</a>
337+ </li>
338+ <li>
339+ <a href="#h_w_submission">h_w_submission</a>
340+ </li>
341+ <li>
342+ <a href="#h_w_submission_device">h_w_submission_device</a>
343+ </li>
344+ <li>
345+ <a href="#h_w_vendor_i_d">h_w_vendor_i_d</a>
346+ </li>
347+ <li>
348+ <a href="#has_bugs">has_bugs</a>
349+ </li>
350+ <li>
351+ <a href="#has_milestones">has_milestones</a>
352+ </li>
353+ <li>
354+ <a href="#hwdb">hwdb</a>
355+ </li>
356+ <li>
357+ <a href="#irc_id">irc_id</a>
358+ </li>
359+ <li>
360+ <a href="#jabber_id">jabber_id</a>
361+ </li>
362+ <li>
363+ <a href="#language">language</a>
364+ </li>
365+ <li>
366+ <a href="#message">message</a>
367+ </li>
368+ <li>
369+ <a href="#milestone">milestone</a>
370+ </li>
371+ <li>
372+ <a href="#object_with_translation_imports">object_with_translation_imports</a>
373+ </li>
374+ <li>
375+ <a href="#package_upload">package_upload</a>
376+ </li>
377+ <li>
378+ <a href="#packageset">packageset</a>
379+ </li>
380+ <li>
381+ <a href="#pillar">pillar</a>
382+ </li>
383+ <li>
384+ <a href="#preview_diff">preview_diff</a>
385+ </li>
386+ <li>
387+ <a href="#project">project</a>
388+ </li>
389+ <li>
390+ <a href="#project_group">project_group</a>
391+ </li>
392+ <li>
393+ <a href="#project_release">project_release</a>
394+ </li>
395+ <li>
396+ <a href="#project_release_file">project_release_file</a>
397+ </li>
398+ <li>
399+ <a href="#project_series">project_series</a>
400+ </li>
401+ <li>
402+ <a href="#source_package">source_package</a>
403+ </li>
404+ <li>
405+ <a href="#source_package_publishing_history">source_package_publishing_history</a>
406+ </li>
407+ <li>
408+ <a href="#source_package_recipe">source_package_recipe</a>
409+ </li>
410+ <li>
411+ <a href="#source_package_recipe_build">source_package_recipe_build</a>
412+ </li>
413+ <li>
414+ <a href="#specification">specification</a>
415+ </li>
416+ <li>
417+ <a href="#specification_branch">specification_branch</a>
418+ </li>
419+ <li>
420+ <a href="#ssh_key">ssh_key</a>
421+ </li>
422+ <li>
423+ <a href="#structural_subscription">structural_subscription</a>
424+ </li>
425+ <li>
426+ <a href="#structural_subscription_target">structural_subscription_target</a>
427+ </li>
428+ <li>
429+ <a href="#team">team</a>
430+ </li>
431+ <li>
432+ <a href="#team_membership">team_membership</a>
433+ </li>
434+ <li>
435+ <a href="#temporary_blob">temporary_blob</a>
436+ </li>
437+ <li>
438+ <a href="#translation_file">translation_file</a>
439+ </li>
440+ <li>
441+ <a href="#translation_import_queue_entry">translation_import_queue_entry</a>
442+ </li>
443+ <li>
444+ <a href="#translation_template">translation_template</a>
445+ </li>
446+ <li>
447+ <a href="#wiki_name">wiki_name</a>
448+ </li>
449+ </ul>
450+ </div>
451+ <div id="top-level-objects" title="top-level-objects">
452+ <h2>Top-level objects</h2>
453+ <div id="branches" title="branches" class="top-level-object">
454+ <h3>branches</h3>
455+ <p>
456+Interface representing the set of branches.
457+</p>
458+ <p>
459+ <label>URL:</label>
460+ <code>https://api.launchpad.dev/1.0/branches</code>
461+ </p>
462+ <div class="methods standard">
463+ <h4>Standard method</h4>
464+ <dl>
465+ <dt>GET</dt>
466+ <dd>Response contains a <a href="#branch">branch</a>
467+ collection.</dd>
468+ </dl>
469+ </div>
470+ <div id="branches-custom-GETs" title="branches-custom-GETs" class="methods GETs">
471+ <h4>Custom GET methods</h4>
472+ <div class="method"><h5 id="branches-getByUniqueName" title="branches-getByUniqueName">getByUniqueName</h5><p>
473+<p>Find a branch by its ~owner/product/name unique name.</p>
474+<p>Return None if no match was found.</p>
475+
476+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
477+ Fixed:
478+ <var>getByUniqueName</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>unique_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
479+Branch unique name
480+</p></td></tr></table>
481+
482+ <p class="response">Response contains an
483+ <code>application/json</code>
484+ representation of a
485+ <a href="#branch">branch</a>.
486+ </p>
487+ </div>
488+ <div class="method"><h5 id="branches-getByUrl" title="branches-getByUrl">getByUrl</h5><p>
489+<p>Find a branch by URL.</p>
490+<p>Either from the external specified in Branch.url, from the URL on
491+<a class="rst-reference external" href="http://bazaar.launchpad.net/" target="_top">http://bazaar.launchpad.net/</a> or the lp: URL.</p>
492+<p>This is a frontend shim to IBranchLookup.getByUrl to allow it to be
493+exported over the API. If you want to call this from within the
494+Launchpad app, use the IBranchLookup version instead.</p>
495+<p>Return None if no match was found.</p>
496+
497+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
498+ Fixed:
499+ <var>getByUrl</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>url</strong></p></td><td><p><small>(required)</small></p></td><td><p>
500+Branch URL
501+</p></td></tr></table>
502+
503+ <p class="response">Response contains an
504+ <code>application/json</code>
505+ representation of a
506+ <a href="#branch">branch</a>.
507+ </p>
508+ </div>
509+ <div class="method">
510+ <h5 id="branches-getByUrls" title="branches-getByUrls">getByUrls</h5>
511+ <p>
512+<p>Finds branches by URL.</p>
513+<p>Either from the external specified in Branch.url, from the URL on
514+<a class="rst-reference external" href="http://bazaar.launchpad.net/" target="_top">http://bazaar.launchpad.net/</a>, or from the lp: URL.</p>
515+<p>This is a frontend shim to IBranchLookup.getByUrls to allow it to be
516+exported over the API. If you want to call this from within the
517+Launchpad app, use the IBranchLookup version instead.</p>
518+
519+
520+</p>
521+ <h6>Parameters</h6>
522+ <table>
523+ <tr>
524+ <th>Parameter</th>
525+ <th>Value</th>
526+ <th>Description</th>
527+ </tr>
528+ <tr>
529+ <td>
530+ <p>
531+ <strong>ws.op</strong>
532+ </p>
533+ </td>
534+ <td>
535+ <p>
536+ <small>(required)</small>
537+ </p>
538+ <p>
539+ Fixed:
540+ <var>getByUrls</var></p>
541+ </td>
542+ <td>
543+ <p>The name of the operation being invoked.</p>
544+ </td>
545+ </tr>
546+ <tr>
547+ <td>
548+ <p>
549+ <strong>urls</strong>
550+ </p>
551+ </td>
552+ <td>
553+ <p>
554+ <small>(required)</small>
555+ </p>
556+ </td>
557+ <td>
558+ <p>
559+<p>A list of URLs of branches</p>
560+<p>These can be URLs external to Launchpad, lp: URLs, or <a class="rst-reference external" href="http://bazaar.launchpad.net/" target="_top">http://bazaar.launchpad.net/</a> URLs, or any mix of all these different kinds.</p>
561+
562+</p>
563+ </td>
564+ </tr>
565+ </table>
566+ </div>
567+ </div>
568+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
569+ </div>
570+ <div id="bug_trackers" title="bug_trackers" class="top-level-object">
571+ <h3>bug_trackers</h3>
572+ <p>
573+<p>A set of IBugTracker's.</p>
574+<p>Each BugTracker is a distinct instance of a bug tracking tool. For
575+example, bugzilla.mozilla.org is distinct from bugzilla.gnome.org.</p>
576+
577+</p>
578+ <p>
579+ <label>URL:</label>
580+ <code>https://api.launchpad.dev/1.0/bug_trackers</code>
581+ </p>
582+ <div class="methods standard">
583+ <h4>Standard method</h4>
584+ <dl>
585+ <dt>GET</dt>
586+ <dd>Response contains a <a href="#bug_tracker">bug_tracker</a>
587+ collection.</dd>
588+ </dl>
589+ </div>
590+ <div id="bug_trackers-custom-GETs" title="bug_trackers-custom-GETs" class="methods GETs">
591+ <h4>Custom GET methods</h4>
592+ <div class="method"><h5 id="bug_trackers-getByName" title="bug_trackers-getByName">getByName</h5><p>
593+<p>Get a BugTracker by its name.</p>
594+<p>If no tracker with the given name exists, return default.</p>
595+
596+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
597+ Fixed:
598+ <var>getByName</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
599+The bug tracker name
600+</p></td></tr></table>
601+
602+ <p class="response">Response contains an
603+ <code>application/json</code>
604+ representation of a
605+ <a href="#bug_tracker">bug_tracker</a>.
606+ </p>
607+ </div>
608+ <div class="method"><h5 id="bug_trackers-queryByBaseURL" title="bug_trackers-queryByBaseURL">queryByBaseURL</h5><p>
609+Return one or None BugTracker's by baseurl
610+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
611+ Fixed:
612+ <var>queryByBaseURL</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>base_url</strong></p></td><td><p><small>(required)</small></p></td><td><p>
613+The base URL of the bug tracker
614+</p></td></tr></table>
615+
616+ <p class="response">Response contains an
617+ <code>application/json</code>
618+ representation of a
619+ <a href="#bug_tracker">bug_tracker</a>.
620+ </p>
621+ </div>
622+ </div>
623+ <div id="bug_trackers-custom-POSTs" title="bug_trackers-custom-POSTs" class="methods POSTs">
624+ <h4>Custom POST methods</h4>
625+ <div class="method"><h5 id="bug_trackers-ensureBugTracker" title="bug_trackers-ensureBugTracker">ensureBugTracker</h5><p>
626+<p>Make sure that there is a bugtracker for the given base url.</p>
627+<p>If not, create one using the given attributes.</p>
628+
629+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
630+ Fixed:
631+ <var>ensureBugTracker</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>base_url</strong></p></td><td><p><small>(required)</small></p></td><td><p>
632+<p>Location</p>
633+<p>The top-level URL for the bug tracker, or an upstream email address. This must be accurate so that Launchpad can link to external bug reports.</p>
634+
635+</p></td></tr><tr><td><p><strong>bug_tracker_type</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Bugzilla</tt></li><li><tt>Debbugs</tt></li><li><tt>Roundup</tt></li><li><tt>Trac</tt></li><li><tt>SourceForge or SourceForge derivative</tt></li><li><tt>Mantis</tt></li><li><tt>Request Tracker (RT)</tt></li><li><tt>Email Address</tt></li><li><tt>Savane</tt></li><li><tt>PHP Project Bugtracker</tt></li><li><tt>Google Code</tt></li></ul></td><td><p>
636+Bug Tracker Type
637+</p></td></tr><tr><td><p><strong>contact_details</strong></p></td><td><p></p></td><td><p>
638+<p>Contact details</p>
639+<p>The contact details for the external bug tracker (so that, for example, its administrators can be contacted about a security breach).</p>
640+
641+</p></td></tr><tr><td><p><strong>name</strong></p></td><td><p></p></td><td><p>
642+<p>Name</p>
643+<p>A URL-friendly name for the bug tracker, such as "mozilla-bugs".</p>
644+
645+</p></td></tr><tr><td><p><strong>summary</strong></p></td><td><p></p></td><td><p>
646+<p>Summary</p>
647+<p>A brief introduction or overview of this bug tracker instance.</p>
648+
649+</p></td></tr><tr><td><p><strong>title</strong></p></td><td><p></p></td><td><p>
650+<p>Title</p>
651+<p>A descriptive label for this tracker to show in listings.</p>
652+
653+</p></td></tr></table>
654+ <p>On success, the response status will be 201 and the
655+ <var>Location</var> header will contain the link to the newly
656+ created <a href="#bug_tracker">bug_tracker</a>.
657+ </p>
658+
659+ </div>
660+ </div>
661+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
662+ </div>
663+ <div id="bugs" title="bugs" class="top-level-object">
664+ <h3>bugs</h3>
665+ <p>
666+Application root for malone.
667+</p>
668+ <p>
669+ <label>URL:</label>
670+ <code>https://api.launchpad.dev/1.0/bugs</code>
671+ </p>
672+ <div class="methods standard">
673+ <h4>Standard method</h4>
674+ <dl>
675+ <dt>GET</dt>
676+ <dd>Response contains a <a href="#bug">bug</a>
677+ collection.</dd>
678+ </dl>
679+ </div>
680+ <div id="bugs-custom-POSTs" title="bugs-custom-POSTs" class="methods POSTs">
681+ <h4>Custom POST methods</h4>
682+ <div class="method"><h5 id="bugs-createBug" title="bugs-createBug">createBug</h5><p>
683+<p>Create a bug (with an appropriate bugtask) and return it.</p>
684+
685+<p>Things to note when using this factory:</p>
686+<blockquote>
687+<ul class="rst-simple">
688+<li>the owner will be subscribed to the bug</li>
689+<li>distribution, product and package contacts (whichever ones are
690+applicable based on the bug report target) will be subscribed to
691+all <em>public bugs only</em></li>
692+<li>for public upstreams bugs where there is no upstream bug contact,
693+the product owner will be subscribed instead</li>
694+</ul>
695+</blockquote>
696+
697+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
698+ Fixed:
699+ <var>createBug</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>description</strong></p></td><td><p><small>(required)</small></p></td><td><p>
700+<p>Description</p>
701+<dl class="rst-docutils">
702+<dt>A detailed description of the problem,</dt>
703+<dd>including the steps required to reproduce it.</dd>
704+</dl>
705+
706+</p></td></tr><tr><td><p><strong>private</strong></p></td><td><p></p></td><td><p>
707+<p>This bug report should be private</p>
708+<p>Private bug reports are visible only to their subscribers.</p>
709+
710+</p></td></tr><tr><td><p><strong>security_related</strong></p></td><td><p></p></td><td><p>
711+This bug is a security vulnerability.
712+</p></td></tr><tr><td><p><strong>tags</strong></p></td><td><p></p></td><td><p>
713+<p>Tags</p>
714+<p>Separated by whitespace.</p>
715+
716+</p></td></tr><tr><td><p><strong>target</strong></p></td><td><p><small>(required)</small></p>
717+ Link to a <a href="#bug_target">bug_target</a>.
718+ </td><td><p>
719+The project, distribution or source package that has this bug.
720+</p></td></tr><tr><td><p><strong>title</strong></p></td><td><p><small>(required)</small></p></td><td><p>
721+<p>Summary</p>
722+<p>A one-line summary of the problem.</p>
723+
724+</p></td></tr></table>
725+ <p>On success, the response status will be 201 and the
726+ <var>Location</var> header will contain the link to the newly
727+ created <a href="#bug">bug</a>.
728+ </p>
729+
730+ </div>
731+ </div>
732+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
733+ </div>
734+ <div id="countries" title="countries" class="top-level-object">
735+ <h3>countries</h3>
736+ <p>
737+A container for countries.
738+</p>
739+ <p>
740+ <label>URL:</label>
741+ <code>https://api.launchpad.dev/1.0/countries</code>
742+ </p>
743+ <div class="methods standard">
744+ <h4>Standard method</h4>
745+ <dl>
746+ <dt>GET</dt>
747+ <dd>Response contains a <a href="#country">country</a>
748+ collection.</dd>
749+ </dl>
750+ </div>
751+ <div id="countries-custom-GETs" title="countries-custom-GETs" class="methods GETs">
752+ <h4>Custom GET methods</h4>
753+ <div class="method"><h5 id="countries-getByCode" title="countries-getByCode">getByCode</h5><p>
754+Return a country by its code.
755+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
756+ Fixed:
757+ <var>getByCode</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>code</strong></p></td><td><p><small>(required)</small></p></td><td><p>
758+Code
759+</p></td></tr></table>
760+
761+ <p class="response">Response contains an
762+ <code>application/json</code>
763+ representation of a
764+ <a href="#country">country</a>.
765+ </p>
766+ </div>
767+ <div class="method"><h5 id="countries-getByName" title="countries-getByName">getByName</h5><p>
768+Return a country by its name.
769+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
770+ Fixed:
771+ <var>getByName</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
772+Name
773+</p></td></tr></table>
774+
775+ <p class="response">Response contains an
776+ <code>application/json</code>
777+ representation of a
778+ <a href="#country">country</a>.
779+ </p>
780+ </div>
781+ </div>
782+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
783+ </div>
784+ <div id="cves" title="cves" class="top-level-object">
785+ <h3>cves</h3>
786+ <p>
787+The set of ICve objects.
788+</p>
789+ <p>
790+ <label>URL:</label>
791+ <code>https://api.launchpad.dev/1.0/cves</code>
792+ </p>
793+ <div class="methods standard">
794+ <h4>Standard method</h4>
795+ <dl>
796+ <dt>GET</dt>
797+ <dd>Response contains a <a href="#cve">cve</a>
798+ collection.</dd>
799+ </dl>
800+ </div>
801+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
802+ </div>
803+ <div id="distributions" title="distributions" class="top-level-object">
804+ <h3>distributions</h3>
805+ <p>
806+Interface for DistrosSet
807+</p>
808+ <p>
809+ <label>URL:</label>
810+ <code>https://api.launchpad.dev/1.0/distributions</code>
811+ </p>
812+ <div class="methods standard">
813+ <h4>Standard method</h4>
814+ <dl>
815+ <dt>GET</dt>
816+ <dd>Response contains a <a href="#distribution">distribution</a>
817+ collection.</dd>
818+ </dl>
819+ </div>
820+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
821+ </div>
822+ <div id="languages" title="languages" class="top-level-object">
823+ <h3>languages</h3>
824+ <p>
825+<p>The collection of languages.</p>
826+<p>The standard get method will return only the visible languages.
827+If you want to access all languages known to Launchpad, use
828+the getAllLanguages method.</p>
829+
830+</p>
831+ <p>
832+ <label>URL:</label>
833+ <code>https://api.launchpad.dev/1.0/languages</code>
834+ </p>
835+ <div class="methods standard">
836+ <h4>Standard method</h4>
837+ <dl>
838+ <dt>GET</dt>
839+ <dd>Response contains a <a href="#language">language</a>
840+ collection.</dd>
841+ </dl>
842+ </div>
843+ <div id="languages-custom-GETs" title="languages-custom-GETs" class="methods GETs">
844+ <h4>Custom GET methods</h4>
845+ <div class="method"><h5 id="languages-getAllLanguages" title="languages-getAllLanguages">getAllLanguages</h5><p>
846+Return a result set of all ILanguages from Launchpad.
847+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
848+ Fixed:
849+ <var>getAllLanguages</var></p></td><td><p>The name of the operation being invoked.</p></td></tr></table>
850+
851+ <p class="response">Response contains an
852+ <code>application/json</code>
853+ representation of a
854+ <a href="#language">language</a>
855+ collection
856+ .
857+ </p>
858+ </div>
859+ </div>
860+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
861+ </div>
862+ <div id="person" title="person" class="top-level-object">
863+ <h3>person</h3>
864+ <p>
865+A Person.
866+</p>
867+ <p>
868+ <label>URL:</label>
869+ <code>https://api.launchpad.dev/1.0/person</code>
870+ </p>
871+ <div class="methods standard">
872+ <h4>Standard method</h4>
873+ <dl>
874+ <dt>GET</dt>
875+ <dd>Response contains a <a href="#"></a>
876+ collection.</dd>
877+ </dl>
878+ </div>
879+ <div id="person-custom-GETs" title="person-custom-GETs" class="methods GETs">
880+ <h4>Custom GET methods</h4>
881+ <div class="method">
882+ <h5 id="person-getArchiveSubscriptionURLs" title="person-getArchiveSubscriptionURLs">getArchiveSubscriptionURLs</h5>
883+ <p>
884+<p>Return private archive URLs that this person can see.</p>
885+<p>For each of the private archives (PPAs) that this person can see,
886+return a URL that includes the HTTP basic auth data. The URL
887+returned is suitable for including in a sources.list file.</p>
888+
889+</p>
890+ <h6>Parameters</h6>
891+ <table>
892+ <tr>
893+ <th>Parameter</th>
894+ <th>Value</th>
895+ <th>Description</th>
896+ </tr>
897+ <tr>
898+ <td>
899+ <p>
900+ <strong>ws.op</strong>
901+ </p>
902+ </td>
903+ <td>
904+ <p>
905+ <small>(required)</small>
906+ </p>
907+ <p>
908+ Fixed:
909+ <var>getArchiveSubscriptionURLs</var></p>
910+ </td>
911+ <td></td>
912+ </tr>
913+ </table>
914+ </div>
915+ <div class="method"><h5 id="person-getBranches" title="person-getBranches">getBranches</h5><p>
916+<p>Returns all branches with the given lifecycle status.</p>
917+
918+
919+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
920+ Fixed:
921+ <var>getBranches</var></p></td><td></td></tr><tr><td><p><strong>modified_since</strong></p></td><td><p></p></td><td><p>
922+Limit the branches to those modified since this date.
923+</p></td></tr><tr><td><p><strong>status</strong></p></td><td><p></p></td><td><p>
924+A list of branch lifecycle statuses to filter by.
925+</p></td></tr></table>
926+
927+ <p class="response">Response contains an
928+ <code>application/json</code>
929+ representation of a
930+ <a href="#branch">branch</a>
931+ collection
932+ .
933+ </p>
934+ </div>
935+ <div class="method"><h5 id="person-getBugSubscriberPackages" title="person-getBugSubscriberPackages">getBugSubscriberPackages</h5><p>
936+<p>Return the packages for which this person is a bug subscriber.</p>
937+<p>Returns a list of IDistributionSourcePackage's, ordered alphabetically
938+(A to Z) by name.</p>
939+
940+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
941+ Fixed:
942+ <var>getBugSubscriberPackages</var></p></td><td></td></tr></table>
943+
944+ <p class="response">Response contains an
945+ <code>application/json</code>
946+ representation of a
947+ <a href="#distribution_source_package">distribution_source_package</a>
948+ collection
949+ .
950+ </p>
951+ </div>
952+ <div class="method"><h5 id="person-getMembersByStatus" title="person-getMembersByStatus">getMembersByStatus</h5><p>
953+<p>Return the people whose membership on this team match :status:.</p>
954+<p>If no orderby is provided, Person.sortingColumns is used.</p>
955+
956+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
957+ Fixed:
958+ <var>getMembersByStatus</var></p></td><td></td></tr><tr><td><p><strong>status</strong></p></td><td><p><small>(required)</small></p><p><em>One of:</em></p><ul><li><tt>Proposed</tt></li><li><tt>Approved</tt></li><li><tt>Administrator</tt></li><li><tt>Deactivated</tt></li><li><tt>Expired</tt></li><li><tt>Declined</tt></li><li><tt>Invited</tt></li><li><tt>Invitation declined</tt></li></ul></td><td><p>
959+The state of this membership
960+</p></td></tr></table>
961+
962+ <p class="response">Response contains an
963+ <code>application/json</code>
964+ representation of a
965+ <a href="#person">person</a>
966+ collection
967+ .
968+ </p>
969+ </div>
970+ <div class="method"><h5 id="person-getMergeProposals" title="person-getMergeProposals">getMergeProposals</h5><p>
971+<p>Returns all merge proposals of a given status.</p>
972+
973+
974+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
975+ Fixed:
976+ <var>getMergeProposals</var></p></td><td></td></tr><tr><td><p><strong>status</strong></p></td><td><p></p></td><td><p>
977+A list of merge proposal statuses to filter by.
978+</p></td></tr></table>
979+
980+ <p class="response">Response contains an
981+ <code>application/json</code>
982+ representation of a
983+ <a href="#branch_merge_proposal">branch_merge_proposal</a>
984+ collection
985+ .
986+ </p>
987+ </div>
988+ <div class="method"><h5 id="person-getPPAByName" title="person-getPPAByName">getPPAByName</h5><p>
989+<p>Return a PPA with the given name if it exists.</p>
990+
991+
992+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
993+ Fixed:
994+ <var>getPPAByName</var></p></td><td></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td></td></tr></table>
995+
996+ <p class="response">Response contains an
997+ <code>application/json</code>
998+ representation of a
999+ <a href="#archive">archive</a>.
1000+ </p>
1001+ </div>
1002+ <div class="method"><h5 id="person-getRecipe" title="person-getRecipe">getRecipe</h5><p>
1003+Return the person's recipe with the given name.
1004+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1005+ Fixed:
1006+ <var>getRecipe</var></p></td><td></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td></td></tr></table>
1007+
1008+ <p class="response">Response contains an
1009+ <code>application/json</code>
1010+ representation of a
1011+ <a href="#source_package_recipe">source_package_recipe</a>.
1012+ </p>
1013+ </div>
1014+ <div class="method"><h5 id="person-getRequestedReviews" title="person-getRequestedReviews">getRequestedReviews</h5><p>
1015+<p>Returns merge proposals where a person was asked to review.</p>
1016+<p>This does not include merge proposals that were requested from
1017+teams that the person is part of. If status is not passed then
1018+it will return proposals that are in the "Needs Review" state.</p>
1019+
1020+
1021+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1022+ Fixed:
1023+ <var>getRequestedReviews</var></p></td><td></td></tr><tr><td><p><strong>status</strong></p></td><td><p></p></td><td><p>
1024+A list of merge proposal statuses to filter by.
1025+</p></td></tr></table>
1026+
1027+ <p class="response">Response contains an
1028+ <code>application/json</code>
1029+ representation of a
1030+ <a href="#branch_merge_proposal">branch_merge_proposal</a>
1031+ collection
1032+ .
1033+ </p>
1034+ </div>
1035+ <div class="method"><h5 id="person-searchTasks" title="person-searchTasks">searchTasks</h5><p>
1036+<p>Search the IBugTasks reported on this entity.</p>
1037+
1038+<p>Return an iterable of matching results.</p>
1039+<p>Note: milestone is currently ignored for all IBugTargets
1040+except IProduct.</p>
1041+<p>In order to search bugs that are related to a given hardware
1042+device, you must specify the bus, the vendor ID, the product
1043+ID of the device and set at least one of
1044+hardware_owner_is_bug_reporter,
1045+hardware_owner_is_affected_by_bug,
1046+hardware_owner_is_subscribed_to_bug,
1047+hardware_is_linked_to_bug to True.</p>
1048+
1049+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1050+ Fixed:
1051+ <var>searchTasks</var></p></td><td></td></tr><tr><td><p><strong>affected_user</strong></p></td><td><p></p>
1052+ Link to a <a href="#person">person</a>.
1053+ </td><td></td></tr><tr><td><p><strong>assignee</strong></p></td><td><p></p>
1054+ Link to a <a href="#person">person</a>.
1055+ </td><td></td></tr><tr><td><p><strong>bug_commenter</strong></p></td><td><p></p>
1056+ Link to a <a href="#person">person</a>.
1057+ </td><td></td></tr><tr><td><p><strong>bug_reporter</strong></p></td><td><p></p>
1058+ Link to a <a href="#person">person</a>.
1059+ </td><td></td></tr><tr><td><p><strong>bug_subscriber</strong></p></td><td><p></p>
1060+ Link to a <a href="#person">person</a>.
1061+ </td><td></td></tr><tr><td><p><strong>bug_supervisor</strong></p></td><td><p></p>
1062+ Link to a <a href="#person">person</a>.
1063+ </td><td></td></tr><tr><td><p><strong>component</strong></p></td><td><p></p></td><td><p>
1064+<p>Component</p>
1065+<p>Distribution package archive grouping. E.g. main, universe, multiverse</p>
1066+
1067+</p></td></tr><tr><td><p><strong>hardware_bus</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>System</tt></li><li><tt>PCI</tt></li><li><tt>USB</tt></li><li><tt>IEEE1394</tt></li><li><tt>SCSI</tt></li><li><tt>Parallel Port</tt></li><li><tt>Serial port</tt></li><li><tt>IDE</tt></li><li><tt>ATA</tt></li><li><tt>Floppy</tt></li><li><tt>IPI</tt></li><li><tt>SATA</tt></li><li><tt>SAS</tt></li><li><tt>PC Card (32 bit)</tt></li><li><tt>PCMCIA (16 bit)</tt></li></ul></td><td><p>
1068+The bus of a hardware device related to a bug
1069+</p></td></tr><tr><td><p><strong>hardware_driver_name</strong></p></td><td><p></p></td><td><p>
1070+The driver controlling a hardware device related to a bug.
1071+</p></td></tr><tr><td><p><strong>hardware_driver_package_name</strong></p></td><td><p></p></td><td><p>
1072+The package of the driver which controls a hardware device related to a bug.
1073+</p></td></tr><tr><td><p><strong>hardware_is_linked_to_bug</strong></p></td><td><p></p></td><td><p>
1074+Search for bugs which are linked to hardware reports which contain the given device or whcih contain a devicecontrolled by the given driver.
1075+</p></td></tr><tr><td><p><strong>hardware_owner_is_affected_by_bug</strong></p></td><td><p></p></td><td><p>
1076+Search for bugs where people affected by a bug own the given device or use the given hardware driver.
1077+</p></td></tr><tr><td><p><strong>hardware_owner_is_bug_reporter</strong></p></td><td><p></p></td><td><p>
1078+Search for bugs reported by people who own the given device or who use the given hardware driver.
1079+</p></td></tr><tr><td><p><strong>hardware_owner_is_subscribed_to_bug</strong></p></td><td><p></p></td><td><p>
1080+Search for bugs where a bug subscriber owns the given device or uses the given hardware driver.
1081+</p></td></tr><tr><td><p><strong>hardware_product_id</strong></p></td><td><p></p></td><td><p>
1082+<p>The product ID of a hardware device related to a bug.</p>
1083+<p>Allowed values of the product ID depend on the bus of the device.</p>
1084+<p>Product IDs of PCI, PCCard and USB devices are hexadecimal string representations of 16 bit integers in the format '0x01ab': The prefix '0x', followed by exactly 4 digits; where a digit is one of the characters 0..9, a..f. The characters A..F are not allowed.</p>
1085+<p>SCSI product IDs are strings with exactly 16 characters. Shorter names are right-padded with space (0x20) characters.</p>
1086+<p>IDs for other buses may be arbitrary strings.</p>
1087+
1088+</p></td></tr><tr><td><p><strong>hardware_vendor_id</strong></p></td><td><p></p></td><td><p>
1089+<p>The vendor ID of a hardware device related to a bug.</p>
1090+<p>Allowed values of the vendor ID depend on the bus of the device.</p>
1091+<p>Vendor IDs of PCI, PCCard and USB devices are hexadecimal string representations of 16 bit integers in the format '0x01ab': The prefix '0x', followed by exactly 4 digits; where a digit is one of the characters 0..9, a..f. The characters A..F are not allowed.</p>
1092+<p>SCSI vendor IDs are strings with exactly 8 characters. Shorter names are right-padded with space (0x20) characters.</p>
1093+<p>IDs for other buses may be arbitrary strings.</p>
1094+
1095+</p></td></tr><tr><td><p><strong>has_cve</strong></p></td><td><p></p></td><td><p>
1096+Show only bugs associated with a CVE
1097+</p></td></tr><tr><td><p><strong>has_no_package</strong></p></td><td><p></p></td><td><p>
1098+Exclude bugs with packages specified
1099+</p></td></tr><tr><td><p><strong>has_patch</strong></p></td><td><p></p></td><td><p>
1100+Show only bugs with patches available.
1101+</p></td></tr><tr><td><p><strong>importance</strong></p></td><td><p></p></td><td><p>
1102+<p>Importance</p>
1103+<p>Show only bugs with the given importance or list of importances.</p>
1104+
1105+</p></td></tr><tr><td><p><strong>linked_branches</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Show all bugs</tt></li><li><tt>Show only Bugs with linked Branches</tt></li><li><tt>Show only Bugs without linked Branches</tt></li></ul></td><td><p>
1106+Search for bugs that are linked to branches or for bugs that are not linked to branches.
1107+</p></td></tr><tr><td><p><strong>milestone</strong></p></td><td><p></p></td><td><p>
1108+<p>Milestone</p>
1109+<p>Show only bug tasks targeted to this milestone.</p>
1110+
1111+</p></td></tr><tr><td><p><strong>milestone_assignment</strong></p></td><td><p></p></td><td><p>
1112+Target
1113+</p></td></tr><tr><td><p><strong>modified_since</strong></p></td><td><p></p></td><td><p>
1114+Search for bugs that have been modified since the given date.
1115+</p></td></tr><tr><td><p><strong>nominated_for</strong></p></td><td><p></p>
1116+ Link to a <a href="#distro_series">distro_series</a>.
1117+ </td><td></td></tr><tr><td><p><strong>omit_duplicates</strong></p></td><td><p></p></td><td><p>
1118+Omit bugs marked as duplicate,
1119+</p></td></tr><tr><td><p><strong>omit_targeted</strong></p></td><td><p></p></td><td><p>
1120+Omit bugs targeted to a series
1121+</p></td></tr><tr><td><p><strong>order_by</strong></p></td><td><p></p></td><td><p>
1122+List of fields by which the results are ordered.
1123+</p></td></tr><tr><td><p><strong>owner</strong></p></td><td><p></p>
1124+ Link to a <a href="#person">person</a>.
1125+ </td><td></td></tr><tr><td><p><strong>search_text</strong></p></td><td><p></p></td><td><p>
1126+Bug ID or search text.
1127+</p></td></tr><tr><td><p><strong>status</strong></p></td><td><p></p></td><td><p>
1128+<p>Status</p>
1129+<p>Show only bugs with the given status value or list of values.</p>
1130+
1131+</p></td></tr><tr><td><p><strong>status_upstream</strong></p></td><td><p></p></td><td><p>
1132+<p>Status upstream</p>
1133+<p>Indicates the status of any remote watches associated with the bug. Possible values include: pending_bugwatch, hide_upstream, resolved_upstream, and open_upstream.</p>
1134+
1135+</p></td></tr><tr><td><p><strong>structural_subscriber</strong></p></td><td><p></p>
1136+ Link to a <a href="#person">person</a>.
1137+ </td><td></td></tr><tr><td><p><strong>tags</strong></p></td><td><p></p></td><td><p>
1138+<p>Tags</p>
1139+<p>String or list of strings for tags to search. To exclude, prepend a '-', e.g. '-unwantedtag'</p>
1140+
1141+</p></td></tr><tr><td><p><strong>tags_combinator</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Any</tt></li><li><tt>All</tt></li></ul></td><td><p>
1142+<p>Tags combination</p>
1143+<p>Search for any or all of the tags specified.</p>
1144+
1145+</p></td></tr></table>
1146+
1147+ <p class="response">Response contains an
1148+ <code>application/json</code>
1149+ representation of a
1150+ <a href="#bug_task">bug_task</a>
1151+ collection
1152+ .
1153+ </p>
1154+ </div>
1155+ </div>
1156+ <div id="person-custom-POSTs" title="person-custom-POSTs" class="methods POSTs">
1157+ <h4>Custom POST methods</h4>
1158+ <div class="method">
1159+ <h5 id="person-acceptInvitationToBeMemberOf" title="person-acceptInvitationToBeMemberOf">acceptInvitationToBeMemberOf</h5>
1160+ <p>
1161+<p>Accept an invitation to become a member of the given team.</p>
1162+<p>There must be a TeamMembership for this person and the given team with
1163+the INVITED status. The status of this TeamMembership will be changed
1164+to APPROVED.</p>
1165+
1166+</p>
1167+ <h6>Parameters</h6>
1168+ <table>
1169+ <tr>
1170+ <th>Parameter</th>
1171+ <th>Value</th>
1172+ <th>Description</th>
1173+ </tr>
1174+ <tr>
1175+ <td>
1176+ <p>
1177+ <strong>ws.op</strong>
1178+ </p>
1179+ </td>
1180+ <td>
1181+ <p>
1182+ <small>(required)</small>
1183+ </p>
1184+ <p>
1185+ Fixed:
1186+ <var>acceptInvitationToBeMemberOf</var></p>
1187+ </td>
1188+ <td></td>
1189+ </tr>
1190+ <tr>
1191+ <td>
1192+ <p>
1193+ <strong>comment</strong>
1194+ </p>
1195+ </td>
1196+ <td>
1197+ <p>
1198+ <small>(required)</small>
1199+ </p>
1200+ </td>
1201+ <td></td>
1202+ </tr>
1203+ <tr>
1204+ <td>
1205+ <p>
1206+ <strong>team</strong>
1207+ </p>
1208+ </td>
1209+ <td><p><small>(required)</small></p>
1210+ Link to a <a href="#person">person</a>.
1211+ </td>
1212+ <td>
1213+ <p>
1214+Team
1215+</p>
1216+ </td>
1217+ </tr>
1218+ </table>
1219+ </div>
1220+ <div class="method">
1221+ <h5 id="person-addMember" title="person-addMember">addMember</h5>
1222+ <p>
1223+<p>Add the given person as a member of this team.</p>
1224+
1225+
1226+</p>
1227+ <h6>Parameters</h6>
1228+ <table>
1229+ <tr>
1230+ <th>Parameter</th>
1231+ <th>Value</th>
1232+ <th>Description</th>
1233+ </tr>
1234+ <tr>
1235+ <td>
1236+ <p>
1237+ <strong>ws.op</strong>
1238+ </p>
1239+ </td>
1240+ <td>
1241+ <p>
1242+ <small>(required)</small>
1243+ </p>
1244+ <p>
1245+ Fixed:
1246+ <var>addMember</var></p>
1247+ </td>
1248+ <td></td>
1249+ </tr>
1250+ <tr>
1251+ <td>
1252+ <p>
1253+ <strong>comment</strong>
1254+ </p>
1255+ </td>
1256+ <td>
1257+ <p></p>
1258+ </td>
1259+ <td></td>
1260+ </tr>
1261+ <tr>
1262+ <td>
1263+ <p>
1264+ <strong>person</strong>
1265+ </p>
1266+ </td>
1267+ <td><p><small>(required)</small></p>
1268+ Link to a <a href="#person">person</a>.
1269+ </td>
1270+ <td>
1271+ <p>
1272+Member
1273+</p>
1274+ </td>
1275+ </tr>
1276+ <tr>
1277+ <td>
1278+ <p>
1279+ <strong>status</strong>
1280+ </p>
1281+ </td>
1282+ <td>
1283+ <p></p>
1284+ <p>
1285+ <em>One of:</em>
1286+ </p>
1287+ <ul>
1288+ <li>
1289+ <tt>Proposed</tt>
1290+ </li>
1291+ <li>
1292+ <tt>Approved</tt>
1293+ </li>
1294+ <li>
1295+ <tt>Administrator</tt>
1296+ </li>
1297+ <li>
1298+ <tt>Deactivated</tt>
1299+ </li>
1300+ <li>
1301+ <tt>Expired</tt>
1302+ </li>
1303+ <li>
1304+ <tt>Declined</tt>
1305+ </li>
1306+ <li>
1307+ <tt>Invited</tt>
1308+ </li>
1309+ <li>
1310+ <tt>Invitation declined</tt>
1311+ </li>
1312+ </ul>
1313+ </td>
1314+ <td>
1315+ <p>
1316+The state of this membership
1317+</p>
1318+ </td>
1319+ </tr>
1320+ </table>
1321+ </div>
1322+ <div class="method"><h5 id="person-createRecipe" title="person-createRecipe">createRecipe</h5><p>
1323+<p>Create a SourcePackageRecipe owned by this person.</p>
1324+
1325+
1326+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1327+ Fixed:
1328+ <var>createRecipe</var></p></td><td></td></tr><tr><td><p><strong>build_daily</strong></p></td><td><p></p></td><td></td></tr><tr><td><p><strong>daily_build_archive</strong></p></td><td><p></p>
1329+ Link to a <a href="#archive">archive</a>.
1330+ </td><td></td></tr><tr><td><p><strong>description</strong></p></td><td><p><small>(required)</small></p></td><td></td></tr><tr><td><p><strong>distroseries</strong></p></td><td><p><small>(required)</small></p></td><td></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td></td></tr><tr><td><p><strong>recipe_text</strong></p></td><td><p><small>(required)</small></p></td><td></td></tr></table>
1331+ <p>On success, the response status will be 201 and the
1332+ <var>Location</var> header will contain the link to the newly
1333+ created <a href="#source_package_recipe">source_package_recipe</a>.
1334+ </p>
1335+
1336+ </div>
1337+ <div class="method">
1338+ <h5 id="person-declineInvitationToBeMemberOf" title="person-declineInvitationToBeMemberOf">declineInvitationToBeMemberOf</h5>
1339+ <p>
1340+<p>Decline an invitation to become a member of the given team.</p>
1341+<p>There must be a TeamMembership for this person and the given team with
1342+the INVITED status. The status of this TeamMembership will be changed
1343+to INVITATION_DECLINED.</p>
1344+
1345+</p>
1346+ <h6>Parameters</h6>
1347+ <table>
1348+ <tr>
1349+ <th>Parameter</th>
1350+ <th>Value</th>
1351+ <th>Description</th>
1352+ </tr>
1353+ <tr>
1354+ <td>
1355+ <p>
1356+ <strong>ws.op</strong>
1357+ </p>
1358+ </td>
1359+ <td>
1360+ <p>
1361+ <small>(required)</small>
1362+ </p>
1363+ <p>
1364+ Fixed:
1365+ <var>declineInvitationToBeMemberOf</var></p>
1366+ </td>
1367+ <td></td>
1368+ </tr>
1369+ <tr>
1370+ <td>
1371+ <p>
1372+ <strong>comment</strong>
1373+ </p>
1374+ </td>
1375+ <td>
1376+ <p>
1377+ <small>(required)</small>
1378+ </p>
1379+ </td>
1380+ <td></td>
1381+ </tr>
1382+ <tr>
1383+ <td>
1384+ <p>
1385+ <strong>team</strong>
1386+ </p>
1387+ </td>
1388+ <td><p><small>(required)</small></p>
1389+ Link to a <a href="#person">person</a>.
1390+ </td>
1391+ <td>
1392+ <p>
1393+Team
1394+</p>
1395+ </td>
1396+ </tr>
1397+ </table>
1398+ </div>
1399+ <div class="method">
1400+ <h5 id="person-getArchiveSubscriptionURL" title="person-getArchiveSubscriptionURL">getArchiveSubscriptionURL</h5>
1401+ <p>
1402+<p>Get a text line that is suitable to be used for a sources.list
1403+entry.</p>
1404+<p>It will create a new IArchiveAuthToken if one doesn't already exist.</p>
1405+
1406+</p>
1407+ <h6>Parameters</h6>
1408+ <table>
1409+ <tr>
1410+ <th>Parameter</th>
1411+ <th>Value</th>
1412+ <th>Description</th>
1413+ </tr>
1414+ <tr>
1415+ <td>
1416+ <p>
1417+ <strong>ws.op</strong>
1418+ </p>
1419+ </td>
1420+ <td>
1421+ <p>
1422+ <small>(required)</small>
1423+ </p>
1424+ <p>
1425+ Fixed:
1426+ <var>getArchiveSubscriptionURL</var></p>
1427+ </td>
1428+ <td></td>
1429+ </tr>
1430+ <tr>
1431+ <td>
1432+ <p>
1433+ <strong>archive</strong>
1434+ </p>
1435+ </td>
1436+ <td><p><small>(required)</small></p>
1437+ Link to a <a href="#archive">archive</a>.
1438+ </td>
1439+ <td></td>
1440+ </tr>
1441+ </table>
1442+ </div>
1443+ <div class="method">
1444+ <h5 id="person-join" title="person-join">join</h5>
1445+ <p>
1446+<p>Join the given team if its subscriptionpolicy is not RESTRICTED.</p>
1447+<p>Join the given team according to the policies and defaults of that
1448+team:</p>
1449+<ul class="rst-simple">
1450+<li>If the team subscriptionpolicy is OPEN, the user is added as
1451+an APPROVED member with a NULL TeamMembership.reviewer.</li>
1452+<li>If the team subscriptionpolicy is MODERATED, the user is added as
1453+a PROPOSED member and one of the team's administrators have to
1454+approve the membership.</li>
1455+</ul>
1456+<p>If may_subscribe_to_list is True, then also attempt to
1457+subscribe to the team's mailing list, depending on the list
1458+status and the person's auto-subscribe settings.</p>
1459+
1460+
1461+</p>
1462+ <h6>Parameters</h6>
1463+ <table>
1464+ <tr>
1465+ <th>Parameter</th>
1466+ <th>Value</th>
1467+ <th>Description</th>
1468+ </tr>
1469+ <tr>
1470+ <td>
1471+ <p>
1472+ <strong>ws.op</strong>
1473+ </p>
1474+ </td>
1475+ <td>
1476+ <p>
1477+ <small>(required)</small>
1478+ </p>
1479+ <p>
1480+ Fixed:
1481+ <var>join</var></p>
1482+ </td>
1483+ <td></td>
1484+ </tr>
1485+ <tr>
1486+ <td>
1487+ <p>
1488+ <strong>team</strong>
1489+ </p>
1490+ </td>
1491+ <td><p><small>(required)</small></p>
1492+ Link to a <a href="#person">person</a>.
1493+ </td>
1494+ <td>
1495+ <p>
1496+Team
1497+</p>
1498+ </td>
1499+ </tr>
1500+ </table>
1501+ </div>
1502+ <div class="method">
1503+ <h5 id="person-leave" title="person-leave">leave</h5>
1504+ <p>
1505+<p>Leave the given team.</p>
1506+<p>If there's a membership entry for this person on the given team and
1507+its status is either APPROVED or ADMIN, we change the status to
1508+DEACTIVATED and remove the relevant entries in teamparticipation.</p>
1509+<p>Teams cannot call this method because they're not allowed to
1510+login and thus can't 'leave' another team. Instead, they have their
1511+subscription deactivated (using the setMembershipData() method) by
1512+a team administrator.</p>
1513+
1514+</p>
1515+ <h6>Parameters</h6>
1516+ <table>
1517+ <tr>
1518+ <th>Parameter</th>
1519+ <th>Value</th>
1520+ <th>Description</th>
1521+ </tr>
1522+ <tr>
1523+ <td>
1524+ <p>
1525+ <strong>ws.op</strong>
1526+ </p>
1527+ </td>
1528+ <td>
1529+ <p>
1530+ <small>(required)</small>
1531+ </p>
1532+ <p>
1533+ Fixed:
1534+ <var>leave</var></p>
1535+ </td>
1536+ <td></td>
1537+ </tr>
1538+ <tr>
1539+ <td>
1540+ <p>
1541+ <strong>team</strong>
1542+ </p>
1543+ </td>
1544+ <td><p><small>(required)</small></p>
1545+ Link to a <a href="#person">person</a>.
1546+ </td>
1547+ <td>
1548+ <p>
1549+Team
1550+</p>
1551+ </td>
1552+ </tr>
1553+ </table>
1554+ </div>
1555+ <div class="method">
1556+ <h5 id="person-setLocation" title="person-setLocation">setLocation</h5>
1557+ <p>
1558+Specify the location and time zone of a person.
1559+</p>
1560+ <h6>Parameters</h6>
1561+ <table>
1562+ <tr>
1563+ <th>Parameter</th>
1564+ <th>Value</th>
1565+ <th>Description</th>
1566+ </tr>
1567+ <tr>
1568+ <td>
1569+ <p>
1570+ <strong>ws.op</strong>
1571+ </p>
1572+ </td>
1573+ <td>
1574+ <p>
1575+ <small>(required)</small>
1576+ </p>
1577+ <p>
1578+ Fixed:
1579+ <var>setLocation</var></p>
1580+ </td>
1581+ <td></td>
1582+ </tr>
1583+ <tr>
1584+ <td>
1585+ <p>
1586+ <strong>latitude</strong>
1587+ </p>
1588+ </td>
1589+ <td>
1590+ <p>
1591+ <small>(required)</small>
1592+ </p>
1593+ </td>
1594+ <td>
1595+ <p>
1596+The latitude of this object.
1597+</p>
1598+ </td>
1599+ </tr>
1600+ <tr>
1601+ <td>
1602+ <p>
1603+ <strong>longitude</strong>
1604+ </p>
1605+ </td>
1606+ <td>
1607+ <p>
1608+ <small>(required)</small>
1609+ </p>
1610+ </td>
1611+ <td>
1612+ <p>
1613+The longitude of this object.
1614+</p>
1615+ </td>
1616+ </tr>
1617+ <tr>
1618+ <td>
1619+ <p>
1620+ <strong>time_zone</strong>
1621+ </p>
1622+ </td>
1623+ <td>
1624+ <p>
1625+ <small>(required)</small>
1626+ </p>
1627+ </td>
1628+ <td>
1629+ <p>
1630+The time zone of this object.
1631+</p>
1632+ </td>
1633+ </tr>
1634+ </table>
1635+ </div>
1636+ <div class="method">
1637+ <h5 id="person-setLocationVisibility" title="person-setLocationVisibility">setLocationVisibility</h5>
1638+ <p>
1639+Specify the visibility of a person's location and time zone.
1640+</p>
1641+ <h6>Parameters</h6>
1642+ <table>
1643+ <tr>
1644+ <th>Parameter</th>
1645+ <th>Value</th>
1646+ <th>Description</th>
1647+ </tr>
1648+ <tr>
1649+ <td>
1650+ <p>
1651+ <strong>ws.op</strong>
1652+ </p>
1653+ </td>
1654+ <td>
1655+ <p>
1656+ <small>(required)</small>
1657+ </p>
1658+ <p>
1659+ Fixed:
1660+ <var>setLocationVisibility</var></p>
1661+ </td>
1662+ <td></td>
1663+ </tr>
1664+ <tr>
1665+ <td>
1666+ <p>
1667+ <strong>visible</strong>
1668+ </p>
1669+ </td>
1670+ <td>
1671+ <p></p>
1672+ </td>
1673+ <td>
1674+ <p>
1675+Is this location record visible?
1676+</p>
1677+ </td>
1678+ </tr>
1679+ </table>
1680+ </div>
1681+ </div>
1682+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
1683+ </div>
1684+ <div id="packagesets" title="packagesets" class="top-level-object">
1685+ <h3>packagesets</h3>
1686+ <p>
1687+An interface for multiple package sets.
1688+</p>
1689+ <p>
1690+ <label>URL:</label>
1691+ <code>https://api.launchpad.dev/1.0/packagesets</code>
1692+ </p>
1693+ <div class="methods standard">
1694+ <h4>Standard method</h4>
1695+ <dl>
1696+ <dt>GET</dt>
1697+ <dd>Response contains a <a href="#packageset">packageset</a>
1698+ collection.</dd>
1699+ </dl>
1700+ </div>
1701+ <div id="packagesets-custom-GETs" title="packagesets-custom-GETs" class="methods GETs">
1702+ <h4>Custom GET methods</h4>
1703+ <div class="method"><h5 id="packagesets-getByName" title="packagesets-getByName">getByName</h5><p>
1704+<p>Return the single package set with the given name (if any).</p>
1705+
1706+
1707+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1708+ Fixed:
1709+ <var>getByName</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>distroseries</strong></p></td><td><p></p>
1710+ Link to a <a href="#distro_series">distro_series</a>.
1711+ </td><td><p>
1712+<p>Distroseries</p>
1713+<p>The distribution series to which the packageset is related.</p>
1714+
1715+</p></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1716+Package set name
1717+</p></td></tr></table>
1718+
1719+ <p class="response">Response contains an
1720+ <code>application/json</code>
1721+ representation of a
1722+ <a href="#packageset">packageset</a>.
1723+ </p>
1724+ </div>
1725+ <div class="method"><h5 id="packagesets-setsIncludingSource" title="packagesets-setsIncludingSource">setsIncludingSource</h5><p>
1726+<p>Get the package sets that include this source package.</p>
1727+<p>Return all package sets that directly or indirectly include the
1728+given source package name.</p>
1729+
1730+
1731+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1732+ Fixed:
1733+ <var>setsIncludingSource</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>direct_inclusion</strong></p></td><td><p></p></td><td></td></tr><tr><td><p><strong>distroseries</strong></p></td><td><p></p>
1734+ Link to a <a href="#distro_series">distro_series</a>.
1735+ </td><td><p>
1736+<p>Distribution series</p>
1737+<p>The distroseries to which this package set is related.</p>
1738+
1739+</p></td></tr><tr><td><p><strong>sourcepackagename</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1740+Source package name
1741+</p></td></tr></table>
1742+
1743+ <p class="response">Response contains an
1744+ <code>application/json</code>
1745+ representation of a
1746+ <a href="#packageset">packageset</a>
1747+ collection
1748+ .
1749+ </p>
1750+ </div>
1751+ </div>
1752+ <div id="packagesets-custom-POSTs" title="packagesets-custom-POSTs" class="methods POSTs">
1753+ <h4>Custom POST methods</h4>
1754+ <div class="method"><h5 id="packagesets-new" title="packagesets-new">new</h5><p>
1755+<p>Create a new package set.</p>
1756+
1757+
1758+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1759+ Fixed:
1760+ <var>new</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>description</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1761+Package set description
1762+</p></td></tr><tr><td><p><strong>distroseries</strong></p></td><td><p></p>
1763+ Link to a <a href="#distro_series">distro_series</a>.
1764+ </td><td><p>
1765+<p>Distroseries</p>
1766+<p>The distribution series to which the packageset is related.</p>
1767+
1768+</p></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1769+Valid package set name
1770+</p></td></tr><tr><td><p><strong>owner</strong></p></td><td><p><small>(required)</small></p>
1771+ Link to a <a href="#person">person</a>.
1772+ </td><td><p>
1773+<p>Person</p>
1774+<p>The person who owns this package set.</p>
1775+
1776+</p></td></tr><tr><td><p><strong>related_set</strong></p></td><td><p></p>
1777+ Link to a <a href="#packageset">packageset</a>.
1778+ </td><td><p>
1779+<p>Related package set</p>
1780+<p>The new package set will share the package set group with this one.</p>
1781+
1782+</p></td></tr></table>
1783+ <p>On success, the response status will be 201 and the
1784+ <var>Location</var> header will contain the link to the newly
1785+ created <a href="#packageset">packageset</a>.
1786+ </p>
1787+
1788+ </div>
1789+ </div>
1790+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
1791+ </div>
1792+ <div id="people" title="people" class="top-level-object">
1793+ <h3>people</h3>
1794+ <p>
1795+The set of Persons.
1796+</p>
1797+ <p>
1798+ <label>URL:</label>
1799+ <code>https://api.launchpad.dev/1.0/people</code>
1800+ </p>
1801+ <div class="methods standard">
1802+ <h4>Standard method</h4>
1803+ <dl>
1804+ <dt>GET</dt>
1805+ <dd>Response contains a <a href="#person">person</a>
1806+ collection.</dd>
1807+ </dl>
1808+ </div>
1809+ <div id="people-custom-GETs" title="people-custom-GETs" class="methods GETs">
1810+ <h4>Custom GET methods</h4>
1811+ <div class="method"><h5 id="people-find" title="people-find">find</h5><p>
1812+<p>Return all non-merged Persons and Teams whose name, displayname or
1813+email address match &lt;text&gt;.</p>
1814+<p>The results will be ordered using the default ordering specified in
1815+Person._defaultOrder.</p>
1816+<p>While we don't have Full Text Indexes in the emailaddress table, we'll
1817+be trying to match the text only against the beginning of an email
1818+address.</p>
1819+
1820+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1821+ Fixed:
1822+ <var>find</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>text</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1823+Search text
1824+</p></td></tr></table>
1825+
1826+ <p class="response">Response contains an
1827+ <code>application/json</code>
1828+ representation of a
1829+ <a href="#person">person</a>
1830+ collection
1831+ .
1832+ </p>
1833+ </div>
1834+ <div class="method"><h5 id="people-findPerson" title="people-findPerson">findPerson</h5><p>
1835+<p>Return all non-merged Persons with at least one email address whose
1836+name, displayname or email address match &lt;text&gt;.</p>
1837+<p>If text is an empty string, all persons with at least one email
1838+address will be returned.</p>
1839+<p>The results will be ordered using the default ordering specified in
1840+Person._defaultOrder.</p>
1841+<p>If exclude_inactive_accounts is True, any accounts whose
1842+account_status is any of INACTIVE_ACCOUNT_STATUSES will not be in the
1843+returned set.</p>
1844+<p>If must_have_email is True, only people with one or more email
1845+addresses are returned.</p>
1846+<p>While we don't have Full Text Indexes in the emailaddress table, we'll
1847+be trying to match the text only against the beginning of an email
1848+address.</p>
1849+<p>If created_before or created_after are not None, they are used to
1850+restrict the search to the dates provided.</p>
1851+
1852+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1853+ Fixed:
1854+ <var>findPerson</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>created_after</strong></p></td><td><p></p></td><td><p>
1855+Created after
1856+</p></td></tr><tr><td><p><strong>created_before</strong></p></td><td><p></p></td><td><p>
1857+Created before
1858+</p></td></tr><tr><td><p><strong>text</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1859+Search text
1860+</p></td></tr></table>
1861+
1862+ <p class="response">Response contains an
1863+ <code>application/json</code>
1864+ representation of a
1865+ <a href="#person">person</a>
1866+ collection
1867+ .
1868+ </p>
1869+ </div>
1870+ <div class="method"><h5 id="people-findTeam" title="people-findTeam">findTeam</h5><p>
1871+<p>Return all Teams whose name, displayname or email address
1872+match &lt;text&gt;.</p>
1873+<p>The results will be ordered using the default ordering specified in
1874+Person._defaultOrder.</p>
1875+<p>While we don't have Full Text Indexes in the emailaddress table, we'll
1876+be trying to match the text only against the beginning of an email
1877+address.</p>
1878+
1879+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1880+ Fixed:
1881+ <var>findTeam</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>text</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1882+Search text
1883+</p></td></tr></table>
1884+
1885+ <p class="response">Response contains an
1886+ <code>application/json</code>
1887+ representation of a
1888+ <a href="#person">person</a>
1889+ collection
1890+ .
1891+ </p>
1892+ </div>
1893+ <div class="method"><h5 id="people-getByEmail" title="people-getByEmail">getByEmail</h5><p>
1894+<p>Return the person with the given email address.</p>
1895+<p>Return None if there is no person with the given email address.</p>
1896+
1897+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1898+ Fixed:
1899+ <var>getByEmail</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>email</strong></p></td><td><p><small>(required)</small></p></td><td></td></tr></table>
1900+
1901+ <p class="response">Response contains an
1902+ <code>application/json</code>
1903+ representation of a
1904+ <a href="#person">person</a>.
1905+ </p>
1906+ </div>
1907+ </div>
1908+ <div id="people-custom-POSTs" title="people-custom-POSTs" class="methods POSTs">
1909+ <h4>Custom POST methods</h4>
1910+ <div class="method"><h5 id="people-newTeam" title="people-newTeam">newTeam</h5><p>
1911+Create and return a new Team with given arguments.
1912+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1913+ Fixed:
1914+ <var>newTeam</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>default_membership_period</strong></p></td><td><p></p></td><td><p>
1915+<p>Subscription period</p>
1916+<p>Number of days a new subscription lasts before expiring. You can customize the length of an individual subscription when approving it. Leave this empty or set to 0 for subscriptions to never expire.</p>
1917+
1918+</p></td></tr><tr><td><p><strong>default_renewal_period</strong></p></td><td><p></p></td><td><p>
1919+<p>Renewal period</p>
1920+<p>Number of days a subscription lasts after being renewed. You can customize the lengths of individual renewals, but this is what's used for auto-renewed and user-renewed memberships.</p>
1921+
1922+</p></td></tr><tr><td><p><strong>display_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1923+<p>Display Name</p>
1924+<p>Your name as you would like it displayed throughout Launchpad. Most people use their full name here.</p>
1925+
1926+</p></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1927+<p>Name</p>
1928+<p>A short unique name, beginning with a lower-case letter or number, and containing only letters, numbers, dots, hyphens, or plus signs.</p>
1929+
1930+</p></td></tr><tr><td><p><strong>subscription_policy</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Moderated Team</tt></li><li><tt>Open Team</tt></li><li><tt>Restricted Team</tt></li></ul></td><td><p>
1931+Subscription policy
1932+</p></td></tr><tr><td><p><strong>team_description</strong></p></td><td><p></p></td><td><p>
1933+<p>Team Description</p>
1934+<p>Details about the team's work, highlights, goals, and how to contribute. Use plain text, paragraphs are preserved and URLs are linked in pages.</p>
1935+
1936+</p></td></tr></table>
1937+ <p>On success, the response status will be 201 and the
1938+ <var>Location</var> header will contain the link to the newly
1939+ created <a href="#team">team</a>.
1940+ </p>
1941+
1942+ </div>
1943+ </div>
1944+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
1945+ </div>
1946+ <div id="pillars" title="pillars" class="top-level-object">
1947+ <h3>pillars</h3>
1948+ <p>
1949+<p>An object for searching across projects, project groups, and distros.</p>
1950+<p>Projects, project groups, and distributions are collectively known as
1951+"pillars". This object lets you do a combined search across all
1952+types of pillars. It also gives you access to pillars that have
1953+been flagged by administrators as "featured" pillars.</p>
1954+
1955+</p>
1956+ <p>
1957+ <label>URL:</label>
1958+ <code>https://api.launchpad.dev/1.0/pillars</code>
1959+ </p>
1960+ <div class="methods standard">
1961+ <h4>Standard method</h4>
1962+ <dl>
1963+ <dt>GET</dt>
1964+ <dd>Response contains a <a href="#"></a>
1965+ collection.</dd>
1966+ </dl>
1967+ </div>
1968+ <div id="pillars-custom-GETs" title="pillars-custom-GETs" class="methods GETs">
1969+ <h4>Custom GET methods</h4>
1970+ <div class="method"><h5 id="pillars-search" title="pillars-search">search</h5><p>
1971+<p>Return Projects/Project groups/Distros matching :text:.</p>
1972+<p>If :limit: is None, the default batch size will be used.</p>
1973+<p>The results are ordered descending by rank.</p>
1974+
1975+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
1976+ Fixed:
1977+ <var>search</var></p></td><td></td></tr><tr><td><p><strong>limit</strong></p></td><td><p></p></td><td><p>
1978+Maximum number of items to return. This is a hard limit: any pagination you request will happen within this limit.
1979+</p></td></tr><tr><td><p><strong>text</strong></p></td><td><p><small>(required)</small></p></td><td><p>
1980+Search text
1981+</p></td></tr></table>
1982+
1983+ <p class="response">Response contains an
1984+ <code>application/json</code>
1985+ representation of a
1986+ <a href="#pillar">pillar</a>
1987+ collection
1988+ .
1989+ </p>
1990+ </div>
1991+ </div>
1992+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
1993+ </div>
1994+ <div id="project_groups" title="project_groups" class="top-level-object">
1995+ <h3>project_groups</h3>
1996+ <p>
1997+The collection of projects.
1998+</p>
1999+ <p>
2000+ <label>URL:</label>
2001+ <code>https://api.launchpad.dev/1.0/project_groups</code>
2002+ </p>
2003+ <div class="methods standard">
2004+ <h4>Standard method</h4>
2005+ <dl>
2006+ <dt>GET</dt>
2007+ <dd>Response contains a <a href="#project_group">project_group</a>
2008+ collection.</dd>
2009+ </dl>
2010+ </div>
2011+ <div id="project_groups-custom-GETs" title="project_groups-custom-GETs" class="methods GETs">
2012+ <h4>Custom GET methods</h4>
2013+ <div class="method"><h5 id="project_groups-search" title="project_groups-search">search</h5><p>
2014+Search through the Registry database for projects that match the
2015+query terms. text is a piece of text in the title / summary /
2016+description fields of project (and possibly product). soyuz,
2017+bazaar, malone etc are hints as to whether the search should
2018+be limited to projects that are active in those Launchpad
2019+applications.
2020+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2021+ Fixed:
2022+ <var>search</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>text</strong></p></td><td><p></p></td><td><p>
2023+Search text
2024+</p></td></tr></table>
2025+
2026+ <p class="response">Response contains an
2027+ <code>application/json</code>
2028+ representation of a
2029+ <a href="#project_group">project_group</a>
2030+ collection
2031+ .
2032+ </p>
2033+ </div>
2034+ </div>
2035+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
2036+ </div>
2037+ <div id="projects" title="projects" class="top-level-object">
2038+ <h3>projects</h3>
2039+ <p>
2040+ <label>URL:</label>
2041+ <code>https://api.launchpad.dev/1.0/projects</code>
2042+ </p>
2043+ <div class="methods standard">
2044+ <h4>Standard method</h4>
2045+ <dl>
2046+ <dt>GET</dt>
2047+ <dd>Response contains a <a href="#project">project</a>
2048+ collection.</dd>
2049+ </dl>
2050+ </div>
2051+ <div id="projects-custom-GETs" title="projects-custom-GETs" class="methods GETs">
2052+ <h4>Custom GET methods</h4>
2053+ <div class="method"><h5 id="projects-latest" title="projects-latest">latest</h5><p>
2054+<p>Return the latest projects registered in Launchpad.</p>
2055+<p>If the quantity is not specified or is a value that is not 'None'
2056+then the set of projects returned is limited to that value (the
2057+default quantity is 5). If quantity is 'None' then all projects are
2058+returned. For the web service it is not possible to specify the
2059+quantity, so all projects are returned, latest first.</p>
2060+
2061+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2062+ Fixed:
2063+ <var>latest</var></p></td><td><p>The name of the operation being invoked.</p></td></tr></table>
2064+
2065+ <p class="response">Response contains an
2066+ <code>application/json</code>
2067+ representation of a
2068+ <a href="#project">project</a>
2069+ collection
2070+ .
2071+ </p>
2072+ </div>
2073+ <div class="method"><h5 id="projects-licensing_search" title="projects-licensing_search">licensing_search</h5><p>
2074+Return an iterator over products that need to be reviewed.
2075+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2076+ Fixed:
2077+ <var>licensing_search</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>active</strong></p></td><td><p></p></td><td><p>
2078+Is the project active
2079+</p></td></tr><tr><td><p><strong>created_after</strong></p></td><td><p></p></td><td><p>
2080+Created after date
2081+</p></td></tr><tr><td><p><strong>created_before</strong></p></td><td><p></p></td><td><p>
2082+Created before date
2083+</p></td></tr><tr><td><p><strong>has_zero_licenses</strong></p></td><td><p></p></td><td><p>
2084+Has zero licenses
2085+</p></td></tr><tr><td><p><strong>license_info_is_empty</strong></p></td><td><p></p></td><td><p>
2086+License info is empty
2087+</p></td></tr><tr><td><p><strong>license_reviewed</strong></p></td><td><p></p></td><td><p>
2088+Is the project license reviewed
2089+</p></td></tr><tr><td><p><strong>licenses</strong></p></td><td><p></p></td><td><p>
2090+Licenses
2091+</p></td></tr><tr><td><p><strong>search_text</strong></p></td><td><p></p></td><td><p>
2092+Search text
2093+</p></td></tr><tr><td><p><strong>subscription_expires_after</strong></p></td><td><p></p></td><td><p>
2094+Subscription expires after
2095+</p></td></tr><tr><td><p><strong>subscription_expires_before</strong></p></td><td><p></p></td><td><p>
2096+Subscription expired before
2097+</p></td></tr><tr><td><p><strong>subscription_modified_after</strong></p></td><td><p></p></td><td><p>
2098+Subscription modified after
2099+</p></td></tr><tr><td><p><strong>subscription_modified_before</strong></p></td><td><p></p></td><td><p>
2100+Subscription modified before
2101+</p></td></tr></table>
2102+
2103+ <p class="response">Response contains an
2104+ <code>application/json</code>
2105+ representation of a
2106+ <a href="#project">project</a>
2107+ collection
2108+ .
2109+ </p>
2110+ </div>
2111+ <div class="method"><h5 id="projects-search" title="projects-search">search</h5><p>
2112+Search through the Registry database for products that match the
2113+query terms. text is a piece of text in the title / summary /
2114+description fields of product. soyuz, bazaar, malone etc are
2115+hints as to whether the search should be limited to products
2116+that are active in those Launchpad applications.
2117+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2118+ Fixed:
2119+ <var>search</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>text</strong></p></td><td><p></p></td><td><p>
2120+Search text
2121+</p></td></tr></table>
2122+
2123+ <p class="response">Response contains an
2124+ <code>application/json</code>
2125+ representation of a
2126+ <a href="#project">project</a>
2127+ collection
2128+ .
2129+ </p>
2130+ </div>
2131+ </div>
2132+ <div id="projects-custom-POSTs" title="projects-custom-POSTs" class="methods POSTs">
2133+ <h4>Custom POST methods</h4>
2134+ <div class="method"><h5 id="projects-new_project" title="projects-new_project">new_project</h5><p>
2135+<p>Create and return a brand new Product.</p>
2136+<p>See IProduct for a description of the parameters.</p>
2137+
2138+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2139+ Fixed:
2140+ <var>new_project</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>description</strong></p></td><td><p></p></td><td><p>
2141+<p>Description</p>
2142+<p>Details about the project's work, highlights, goals, and how to contribute. Use plain text, paragraphs are preserved and URLs are linked in pages. Don't repeat the Summary.</p>
2143+
2144+</p></td></tr><tr><td><p><strong>display_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
2145+<p>Display Name</p>
2146+<dl class="rst-docutils">
2147+<dt>The name of the project as it would appear in a</dt>
2148+<dd>paragraph.</dd>
2149+</dl>
2150+
2151+</p></td></tr><tr><td><p><strong>download_url</strong></p></td><td><p></p></td><td><p>
2152+<p>Download URL</p>
2153+<dl class="rst-docutils">
2154+<dt>The full URL where downloads for this project</dt>
2155+<dd>are located, if available. Please include the <a class="rst-reference external" href="http://" target="_top">http://</a></dd>
2156+</dl>
2157+
2158+</p></td></tr><tr><td><p><strong>freshmeat_project</strong></p></td><td><p></p></td><td><p>
2159+<p>Freshmeat Project</p>
2160+<dl class="rst-docutils">
2161+<dt>The Freshmeat project name for</dt>
2162+<dd>this project, if it is in freshmeat.</dd>
2163+</dl>
2164+
2165+</p></td></tr><tr><td><p><strong>home_page_url</strong></p></td><td><p></p></td><td><p>
2166+<p>Homepage URL</p>
2167+<dl class="rst-docutils">
2168+<dt>The project home page. Please include</dt>
2169+<dd>the <a class="rst-reference external" href="http://" target="_top">http://</a></dd>
2170+</dl>
2171+
2172+</p></td></tr><tr><td><p><strong>license_info</strong></p></td><td><p></p></td><td><p>
2173+<p>Description of additional licenses</p>
2174+<p>Description of licenses that do not appear in the list above.</p>
2175+
2176+</p></td></tr><tr><td><p><strong>license_reviewed</strong></p></td><td><p></p></td><td><p>
2177+<p>Project reviewed</p>
2178+<p>Whether or not this project has been reviewed. If you looked at the project and how it uses Launchpad, you reviewed it.</p>
2179+
2180+</p></td></tr><tr><td><p><strong>licenses</strong></p></td><td><p></p></td><td><p>
2181+Licenses
2182+</p></td></tr><tr><td><p><strong>name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
2183+<p>Name</p>
2184+<p>At least one lowercase letter or number, followed by letters, numbers, dots, hyphens or pluses. Keep this name short; it is used in URLs as shown above.</p>
2185+
2186+</p></td></tr><tr><td><p><strong>programming_lang</strong></p></td><td><p></p></td><td><p>
2187+<p>Programming Languages</p>
2188+<dl class="rst-docutils">
2189+<dt>A comma delimited list of programming</dt>
2190+<dd>languages used for this project.</dd>
2191+</dl>
2192+
2193+</p></td></tr><tr><td><p><strong>project_group</strong></p></td><td><p></p>
2194+ Link to a <a href="#project_group">project_group</a>.
2195+ </td><td><p>
2196+<p>Part of</p>
2197+<p>Project group. This is an overarching initiative that includes several related projects. For example, the Mozilla Project produces Firefox, Thunderbird and Gecko. This information is used to group those projects in a coherent way. If you make this project part of a group, the group preferences and decisions around bug tracking, translation and security policy will apply to this project.</p>
2198+
2199+</p></td></tr><tr><td><p><strong>registrant</strong></p></td><td><p></p>
2200+ Link to a <a href="#person">person</a>.
2201+ </td><td><p>
2202+<p>Registrant</p>
2203+<p>This person registered the project in Launchpad.</p>
2204+
2205+</p></td></tr><tr><td><p><strong>screenshots_url</strong></p></td><td><p></p></td><td><p>
2206+<p>Screenshots URL</p>
2207+<dl class="rst-docutils">
2208+<dt>The full URL for screenshots of this project,</dt>
2209+<dd>if available. Please include the <a class="rst-reference external" href="http://" target="_top">http://</a></dd>
2210+</dl>
2211+
2212+</p></td></tr><tr><td><p><strong>sourceforge_project</strong></p></td><td><p></p></td><td><p>
2213+<p>Sourceforge Project</p>
2214+<dl class="rst-docutils">
2215+<dt>The SourceForge project name for</dt>
2216+<dd>this project, if it is in sourceforge.</dd>
2217+</dl>
2218+
2219+</p></td></tr><tr><td><p><strong>summary</strong></p></td><td><p><small>(required)</small></p></td><td><p>
2220+<p>Summary</p>
2221+<p>A short paragraph to introduce the project's work.</p>
2222+
2223+</p></td></tr><tr><td><p><strong>title</strong></p></td><td><p><small>(required)</small></p></td><td><p>
2224+<p>Title</p>
2225+<p>The project title. Should be just a few words.</p>
2226+
2227+</p></td></tr><tr><td><p><strong>wiki_url</strong></p></td><td><p></p></td><td><p>
2228+<p>Wiki URL</p>
2229+<dl class="rst-docutils">
2230+<dt>The full URL of this project's wiki, if it has</dt>
2231+<dd>one. Please include the <a class="rst-reference external" href="http://" target="_top">http://</a></dd>
2232+</dl>
2233+
2234+</p></td></tr></table>
2235+ <p>On success, the response status will be 201 and the
2236+ <var>Location</var> header will contain the link to the newly
2237+ created <a href="#project">project</a>.
2238+ </p>
2239+
2240+ </div>
2241+ </div>
2242+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
2243+ </div>
2244+ <div id="temporary_blobs" title="temporary_blobs" class="top-level-object">
2245+ <h3>temporary_blobs</h3>
2246+ <p>
2247+A tool to create temporary blobs.
2248+</p>
2249+ <p>
2250+ <label>URL:</label>
2251+ <code>https://api.launchpad.dev/1.0/temporary_blobs</code>
2252+ </p>
2253+ <div class="methods standard">
2254+ <h4>Standard method</h4>
2255+ <dl>
2256+ <dt>GET</dt>
2257+ <dd>Response contains a <a href="#temporary_blob">temporary_blob</a>
2258+ collection.</dd>
2259+ </dl>
2260+ </div>
2261+ <div id="temporary_blobs-custom-GETs" title="temporary_blobs-custom-GETs" class="methods GETs">
2262+ <h4>Custom GET methods</h4>
2263+ <div class="method">
2264+ <h5 id="temporary_blobs-fetch" title="temporary_blobs-fetch">fetch</h5>
2265+ <p>
2266+Retrieve a TemporaryBlobStorage by uuid.
2267+</p>
2268+ <h6>Parameters</h6>
2269+ <table>
2270+ <tr>
2271+ <th>Parameter</th>
2272+ <th>Value</th>
2273+ <th>Description</th>
2274+ </tr>
2275+ <tr>
2276+ <td>
2277+ <p>
2278+ <strong>ws.op</strong>
2279+ </p>
2280+ </td>
2281+ <td>
2282+ <p>
2283+ <small>(required)</small>
2284+ </p>
2285+ <p>
2286+ Fixed:
2287+ <var>fetch</var></p>
2288+ </td>
2289+ <td>
2290+ <p>The name of the operation being invoked.</p>
2291+ </td>
2292+ </tr>
2293+ <tr>
2294+ <td>
2295+ <p>
2296+ <strong>token</strong>
2297+ </p>
2298+ </td>
2299+ <td>
2300+ <p>
2301+ <small>(required)</small>
2302+ </p>
2303+ </td>
2304+ <td>
2305+ <p>
2306+UUID
2307+</p>
2308+ </td>
2309+ </tr>
2310+ </table>
2311+ </div>
2312+ </div>
2313+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
2314+ </div>
2315+ <div id="translation_import_queue_entries" title="translation_import_queue_entries" class="top-level-object">
2316+ <h3>translation_import_queue_entries</h3>
2317+ <p>
2318+A set of files to be imported into Rosetta.
2319+</p>
2320+ <p>
2321+ <label>URL:</label>
2322+ <code>https://api.launchpad.dev/1.0/translation_import_queue_entries</code>
2323+ </p>
2324+ <div class="methods standard">
2325+ <h4>Standard method</h4>
2326+ <dl>
2327+ <dt>GET</dt>
2328+ <dd>Response contains a <a href="#translation_import_queue_entry">translation_import_queue_entry</a>
2329+ collection.</dd>
2330+ </dl>
2331+ </div>
2332+ <div id="translation_import_queue_entries-custom-GETs" title="translation_import_queue_entries-custom-GETs" class="methods GETs">
2333+ <h4>Custom GET methods</h4>
2334+ <div class="method"><h5 id="translation_import_queue_entries-getAllEntries" title="translation_import_queue_entries-getAllEntries">getAllEntries</h5><p>
2335+<p>Return all entries this import queue has.</p>
2336+
2337+<p>If any of target, status or file_extension are given, the returned
2338+entries are filtered based on those values.</p>
2339+
2340+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2341+ Fixed:
2342+ <var>getAllEntries</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>import_status</strong></p></td><td><p></p></td><td><p>
2343+The status of the import.
2344+</p></td></tr></table>
2345+
2346+ <p class="response">Response contains an
2347+ <code>application/json</code>
2348+ representation of a
2349+ <a href="#translation_import_queue_entry">translation_import_queue_entry</a>
2350+ collection
2351+ .
2352+ </p>
2353+ </div>
2354+ <div class="method"><h5 id="translation_import_queue_entries-getFirstEntryToImport" title="translation_import_queue_entries-getFirstEntryToImport">getFirstEntryToImport</h5><p>
2355+<p>Return the first entry of the queue ready to be imported.</p>
2356+
2357+
2358+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2359+ Fixed:
2360+ <var>getFirstEntryToImport</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>target</strong></p></td><td><p></p>
2361+ Link to a <a href="#object_with_translation_imports">object_with_translation_imports</a>.
2362+ </td><td></td></tr></table>
2363+
2364+ <p class="response">Response contains an
2365+ <code>application/json</code>
2366+ representation of a
2367+ <a href="#translation_import_queue_entry">translation_import_queue_entry</a>.
2368+ </p>
2369+ </div>
2370+ <div class="method"><h5 id="translation_import_queue_entries-getRequestTargets" title="translation_import_queue_entries-getRequestTargets">getRequestTargets</h5><p>
2371+<p>List Product`s and `DistroSeries with pending imports.</p>
2372+
2373+<p>All returned items will implement IHasTranslationImports.</p>
2374+
2375+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2376+ Fixed:
2377+ <var>getRequestTargets</var></p></td><td><p>The name of the operation being invoked.</p></td></tr><tr><td><p><strong>status</strong></p></td><td><p></p></td><td><p>
2378+The status of the import.
2379+</p></td></tr></table>
2380+
2381+ <p class="response">Response contains an
2382+ <code>application/json</code>
2383+ representation of a
2384+ <a href="#object_with_translation_imports">object_with_translation_imports</a>
2385+ collection
2386+ .
2387+ </p>
2388+ </div>
2389+ </div>
2390+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
2391+ </div>
2392+ </div>
2393+ <h2 id="entry-types" title="entry-types">Entry types</h2>
2394+ <h3 id="ScalarValue" title="ScalarValue">ScalarValue</h3>
2395+ <p>
2396+ <label>URL:</label>
2397+ <code>https://api.launchpad.dev/1.0</code>
2398+ </p>
2399+ <div class="representation">
2400+ <h4>Default representation
2401+ ()</h4>
2402+ <table>
2403+ <tr>
2404+ <th>Key</th>
2405+ <th>Value</th>
2406+ <th>Description</th>
2407+ </tr>
2408+ </table>
2409+ </div>
2410+ <div id="ScalarValue-standard-methods" title="ScalarValue-standard-methods" class="methods standard">
2411+ <h4>Standard methods</h4>
2412+ <dl>
2413+ <dt>GET</dt>
2414+ <dd>Response contains the default
2415+ representation
2416+ for this entry.
2417+ </dd>
2418+ </dl>
2419+ </div>
2420+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
2421+ <h3 id="archive" title="archive">archive</h3>
2422+ <p>
2423+Main Archive interface.
2424+</p>
2425+ <p>
2426+ <label>URL:</label>
2427+ <code>https://api.launchpad.dev/1.0/<var>&lt;distribution&gt;</var>/+archive/<var>&lt;archive.name&gt;</var></code>
2428+ </p>
2429+ <div class="representation">
2430+ <h4>Default representation
2431+ (application/json)</h4>
2432+ <table>
2433+ <tr>
2434+ <th>Key</th>
2435+ <th>Value</th>
2436+ <th>Description</th>
2437+ </tr>
2438+ <tr>
2439+ <td>
2440+ <p>
2441+ <strong>commercial</strong>
2442+ </p>
2443+ </td>
2444+ <td>
2445+ <p>
2446+ <small>(writeable)</small>
2447+ </p>
2448+ </td>
2449+ <td>
2450+ <p>
2451+<p>Commercial Archive</p>
2452+<p>Set if this archive is used for commercial purposes and should appear in the Software Center listings. The archive must also be private if this is set.</p>
2453+
2454+</p>
2455+ </td>
2456+ </tr>
2457+ <tr>
2458+ <td>
2459+ <p>
2460+ <strong>dependencies_collection_link</strong>
2461+ </p>
2462+ </td>
2463+ <td><p><small>(read-only)</small></p>
2464+ Link to a <a href="#archive_dependency">archive_dependency</a> collection.
2465+ </td>
2466+ <td>
2467+ <p>
2468+Archive dependencies recorded for this archive.
2469+</p>
2470+ </td>
2471+ </tr>
2472+ <tr>
2473+ <td>
2474+ <p>
2475+ <strong>description</strong>
2476+ </p>
2477+ </td>
2478+ <td>
2479+ <p>
2480+ <small>(writeable)</small>
2481+ </p>
2482+ </td>
2483+ <td>
2484+ <p>
2485+<p>Archive contents description</p>
2486+<p>A short description of this archive's contents.</p>
2487+
2488+</p>
2489+ </td>
2490+ </tr>
2491+ <tr>
2492+ <td>
2493+ <p>
2494+ <strong>displayname</strong>
2495+ </p>
2496+ </td>
2497+ <td>
2498+ <p>
2499+ <small>(writeable)</small>
2500+ </p>
2501+ </td>
2502+ <td>
2503+ <p>
2504+<p>Displayname</p>
2505+<p>Displayname for this archive.</p>
2506+
2507+</p>
2508+ </td>
2509+ </tr>
2510+ <tr>
2511+ <td>
2512+ <p>
2513+ <strong>distribution_link</strong>
2514+ </p>
2515+ </td>
2516+ <td><p><small>(writeable)</small></p>
2517+ Link to a <a href="#distribution">distribution</a>.
2518+ </td>
2519+ <td>
2520+ <p>
2521+The distribution that uses or is used by this archive.
2522+</p>
2523+ </td>
2524+ </tr>
2525+ <tr>
2526+ <td>
2527+ <p>
2528+ <strong>http_etag</strong>
2529+ </p>
2530+ </td>
2531+ <td>
2532+ <p>
2533+ <small>(read-only)</small>
2534+ </p>
2535+ </td>
2536+ <td>
2537+ <p>
2538+ The value of the HTTP ETag for this resource.
2539+ </p>
2540+ </td>
2541+ </tr>
2542+ <tr>
2543+ <td>
2544+ <p>
2545+ <strong>name</strong>
2546+ </p>
2547+ </td>
2548+ <td>
2549+ <p>
2550+ <small>(writeable)</small>
2551+ </p>
2552+ </td>
2553+ <td>
2554+ <p>
2555+<p>Name</p>
2556+<p>The name of this archive.</p>
2557+
2558+</p>
2559+ </td>
2560+ </tr>
2561+ <tr>
2562+ <td>
2563+ <p>
2564+ <strong>owner_link</strong>
2565+ </p>
2566+ </td>
2567+ <td><p><small>(writeable)</small></p>
2568+ Link to a <a href="#person">person</a>.
2569+ </td>
2570+ <td>
2571+ <p>
2572+<p>Owner</p>
2573+<p>The archive owner.</p>
2574+
2575+</p>
2576+ </td>
2577+ </tr>
2578+ <tr>
2579+ <td>
2580+ <p>
2581+ <strong>private</strong>
2582+ </p>
2583+ </td>
2584+ <td>
2585+ <p>
2586+ <small>(writeable)</small>
2587+ </p>
2588+ </td>
2589+ <td>
2590+ <p>
2591+<p>Private</p>
2592+<p>Whether the archive is private to the owner or not. This can only be changed by launchpad admins or launchpad commercial admins and only if the archive has not had any sources published.</p>
2593+
2594+</p>
2595+ </td>
2596+ </tr>
2597+ <tr>
2598+ <td>
2599+ <p>
2600+ <strong>require_virtualized</strong>
2601+ </p>
2602+ </td>
2603+ <td>
2604+ <p>
2605+ <small>(writeable)</small>
2606+ </p>
2607+ </td>
2608+ <td>
2609+ <p>
2610+<p>Require Virtualized Builder</p>
2611+<p>Whether this archive requires its packages to be built on a virtual builder.</p>
2612+
2613+</p>
2614+ </td>
2615+ </tr>
2616+ <tr>
2617+ <td>
2618+ <p>
2619+ <strong>resource_type_link</strong>
2620+ </p>
2621+ </td>
2622+ <td>
2623+ <p>
2624+ <small>(read-only)</small>
2625+ </p>
2626+ </td>
2627+ <td>
2628+ <p>
2629+ The link to the WADL description of this resource.
2630+ </p>
2631+ </td>
2632+ </tr>
2633+ <tr>
2634+ <td>
2635+ <p>
2636+ <strong>self_link</strong>
2637+ </p>
2638+ </td>
2639+ <td>
2640+ <p>
2641+ <small>(read-only)</small>
2642+ </p>
2643+ </td>
2644+ <td>
2645+ <p>The canonical link to this resource.</p>
2646+ </td>
2647+ </tr>
2648+ <tr>
2649+ <td>
2650+ <p>
2651+ <strong>signing_key_fingerprint</strong>
2652+ </p>
2653+ </td>
2654+ <td>
2655+ <p>
2656+ <small>(writeable)</small>
2657+ </p>
2658+ </td>
2659+ <td>
2660+ <p>
2661+<p>Archive signing key fingerprint</p>
2662+<p>A OpenPGP signing key fingerprint (40 chars) for this PPA or None if there is no signing key available.</p>
2663+
2664+</p>
2665+ </td>
2666+ </tr>
2667+ </table>
2668+ </div>
2669+ <div id="archive-standard-methods" title="archive-standard-methods" class="methods standard">
2670+ <h4>Standard methods</h4>
2671+ <dl>
2672+ <dt>GET</dt>
2673+ <dd>Response contains the default
2674+ <code>application/json</code> representation
2675+ for this entry.
2676+ </dd>
2677+ <dt>PATCH</dt>
2678+ <dd>Entity body should contain a represention encoded using
2679+ <code>application/json</code> of the entry
2680+ fields to update. Any fields of the default representation marked
2681+ as writeable can be included.
2682+ </dd>
2683+ <dt>PUT</dt>
2684+ <dd>Entity body should contain a representation encoded using
2685+ <code>application/json</code> of the entry.
2686+ All fields of the default representation should be included. Only
2687+ fields marked as writeable in the default representation should be
2688+ modified.
2689+ </dd>
2690+ </dl>
2691+ </div>
2692+ <div id="archive-custom-GETs" title="archive-custom-GETs" class="methods GETs">
2693+ <h4>Custom GET methods</h4>
2694+ <div class="method">
2695+ <h5 id="archive-checkUpload" title="archive-checkUpload">checkUpload</h5>
2696+ <p>
2697+Wrapper around checkUpload for the web service API.
2698+</p>
2699+ <h6>Parameters</h6>
2700+ <table>
2701+ <tr>
2702+ <th>Parameter</th>
2703+ <th>Value</th>
2704+ <th>Description</th>
2705+ </tr>
2706+ <tr>
2707+ <td>
2708+ <p>
2709+ <strong>ws.op</strong>
2710+ </p>
2711+ </td>
2712+ <td>
2713+ <p>
2714+ <small>(required)</small>
2715+ </p>
2716+ <p>
2717+ Fixed:
2718+ <var>checkUpload</var></p>
2719+ </td>
2720+ <td></td>
2721+ </tr>
2722+ <tr>
2723+ <td>
2724+ <p>
2725+ <strong>component</strong>
2726+ </p>
2727+ </td>
2728+ <td>
2729+ <p>
2730+ <small>(required)</small>
2731+ </p>
2732+ </td>
2733+ <td>
2734+ <p>
2735+Component
2736+</p>
2737+ </td>
2738+ </tr>
2739+ <tr>
2740+ <td>
2741+ <p>
2742+ <strong>distroseries</strong>
2743+ </p>
2744+ </td>
2745+ <td><p><small>(required)</small></p>
2746+ Link to a <a href="#distro_series">distro_series</a>.
2747+ </td>
2748+ <td>
2749+ <p>
2750+The distro series
2751+</p>
2752+ </td>
2753+ </tr>
2754+ <tr>
2755+ <td>
2756+ <p>
2757+ <strong>person</strong>
2758+ </p>
2759+ </td>
2760+ <td><p><small>(required)</small></p>
2761+ Link to a <a href="#person">person</a>.
2762+ </td>
2763+ <td></td>
2764+ </tr>
2765+ <tr>
2766+ <td>
2767+ <p>
2768+ <strong>pocket</strong>
2769+ </p>
2770+ </td>
2771+ <td>
2772+ <p>
2773+ <small>(required)</small>
2774+ </p>
2775+ <p>
2776+ <em>One of:</em>
2777+ </p>
2778+ <ul>
2779+ <li>
2780+ <tt>Release</tt>
2781+ </li>
2782+ <li>
2783+ <tt>Security</tt>
2784+ </li>
2785+ <li>
2786+ <tt>Updates</tt>
2787+ </li>
2788+ <li>
2789+ <tt>Proposed</tt>
2790+ </li>
2791+ <li>
2792+ <tt>Backports</tt>
2793+ </li>
2794+ </ul>
2795+ </td>
2796+ <td>
2797+ <p>
2798+<p>Pocket</p>
2799+<p>The pocket into which this entry is published</p>
2800+
2801+</p>
2802+ </td>
2803+ </tr>
2804+ <tr>
2805+ <td>
2806+ <p>
2807+ <strong>sourcepackagename</strong>
2808+ </p>
2809+ </td>
2810+ <td>
2811+ <p>
2812+ <small>(required)</small>
2813+ </p>
2814+ </td>
2815+ <td>
2816+ <p>
2817+Source package name
2818+</p>
2819+ </td>
2820+ </tr>
2821+ <tr>
2822+ <td>
2823+ <p>
2824+ <strong>strict_component</strong>
2825+ </p>
2826+ </td>
2827+ <td>
2828+ <p></p>
2829+ </td>
2830+ <td>
2831+ <p>
2832+Strict component
2833+</p>
2834+ </td>
2835+ </tr>
2836+ </table>
2837+ </div>
2838+ <div class="method"><h5 id="archive-getArchiveDependency" title="archive-getArchiveDependency">getArchiveDependency</h5><p>
2839+<p>Return the IArchiveDependency object for the given dependency.</p>
2840+
2841+
2842+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2843+ Fixed:
2844+ <var>getArchiveDependency</var></p></td><td></td></tr><tr><td><p><strong>dependency</strong></p></td><td><p><small>(required)</small></p>
2845+ Link to a <a href="#archive">archive</a>.
2846+ </td><td></td></tr></table>
2847+
2848+ <p class="response">Response contains an
2849+ <code>application/json</code>
2850+ representation of a
2851+ <a href="#archive_dependency">archive_dependency</a>.
2852+ </p>
2853+ </div>
2854+ <div class="method">
2855+ <h5 id="archive-getBuildCounters" title="archive-getBuildCounters">getBuildCounters</h5>
2856+ <p>
2857+<p>Return a dictionary containing the build counters for an archive.</p>
2858+<p>This is necessary currently because the IArchive.failed_builds etc.
2859+counters are not in use.</p>
2860+<p>The returned dictionary contains the follwoing keys and values:</p>
2861+<blockquote>
2862+<ul class="rst-simple">
2863+<li>'total': total number of builds (includes SUPERSEDED);</li>
2864+<li>'pending': number of builds in BUILDING or NEEDSBUILD state;</li>
2865+<li>'failed': number of builds in FAILEDTOBUILD, MANUALDEPWAIT,
2866+CHROOTWAIT and FAILEDTOUPLOAD state;</li>
2867+<li>'succeeded': number of SUCCESSFULLYBUILT builds.</li>
2868+<li>'superseded': number of SUPERSEDED builds.</li>
2869+</ul>
2870+</blockquote>
2871+
2872+
2873+</p>
2874+ <h6>Parameters</h6>
2875+ <table>
2876+ <tr>
2877+ <th>Parameter</th>
2878+ <th>Value</th>
2879+ <th>Description</th>
2880+ </tr>
2881+ <tr>
2882+ <td>
2883+ <p>
2884+ <strong>ws.op</strong>
2885+ </p>
2886+ </td>
2887+ <td>
2888+ <p>
2889+ <small>(required)</small>
2890+ </p>
2891+ <p>
2892+ Fixed:
2893+ <var>getBuildCounters</var></p>
2894+ </td>
2895+ <td></td>
2896+ </tr>
2897+ <tr>
2898+ <td>
2899+ <p>
2900+ <strong>include_needsbuild</strong>
2901+ </p>
2902+ </td>
2903+ <td>
2904+ <p></p>
2905+ </td>
2906+ <td>
2907+ <p>
2908+Include builds with state NEEDSBUILD
2909+</p>
2910+ </td>
2911+ </tr>
2912+ </table>
2913+ </div>
2914+ <div class="method"><h5 id="archive-getBuildRecords" title="archive-getBuildRecords">getBuildRecords</h5><p>
2915+<p>Return build records in the context it is implemented.</p>
2916+<p>It excludes build records generated by Gina (imported from a external
2917+repository), where IBuild.datebuilt is null and IBuild.buildstate
2918+is BuildStatus.FULLYBUILT.</p>
2919+<p>The result is simply not filtered if the optional filters are omitted
2920+by call sites.</p>
2921+
2922+
2923+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
2924+ Fixed:
2925+ <var>getBuildRecords</var></p></td><td></td></tr><tr><td><p><strong>build_state</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Needs building</tt></li><li><tt>Successfully built</tt></li><li><tt>Failed to build</tt></li><li><tt>Dependency wait</tt></li><li><tt>Chroot problem</tt></li><li><tt>Build for superseded Source</tt></li><li><tt>Currently building</tt></li><li><tt>Failed to upload</tt></li></ul></td><td><p>
2926+<p>Build status</p>
2927+<p>The status of this build record</p>
2928+
2929+</p></td></tr><tr><td><p><strong>pocket</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Release</tt></li><li><tt>Security</tt></li><li><tt>Updates</tt></li><li><tt>Proposed</tt></li><li><tt>Backports</tt></li></ul></td><td><p>
2930+<p>Pocket</p>
2931+<p>The pocket into which this entry is published</p>
2932+
2933+</p></td></tr><tr><td><p><strong>source_name</strong></p></td><td><p></p></td><td><p>
2934+Source package name
2935+</p></td></tr></table>
2936+
2937+ <p class="response">Response contains an
2938+ <code>application/json</code>
2939+ representation of a
2940+ <a href="#build">build</a>
2941+ collection
2942+ .
2943+ </p>
2944+ </div>
2945+ <div class="method">
2946+ <h5 id="archive-getBuildSummariesForSourceIds" title="archive-getBuildSummariesForSourceIds">getBuildSummariesForSourceIds</h5>
2947+ <p>
2948+<p>Return a dictionary containing a summary of the build statuses.</p>
2949+<p>Only information for sources belonging to the current archive will
2950+be returned. See
2951+IPublishingSet.getBuildStatusSummariesForSourceIdsAndArchive() for
2952+details.</p>
2953+
2954+
2955+</p>
2956+ <h6>Parameters</h6>
2957+ <table>
2958+ <tr>
2959+ <th>Parameter</th>
2960+ <th>Value</th>
2961+ <th>Description</th>
2962+ </tr>
2963+ <tr>
2964+ <td>
2965+ <p>
2966+ <strong>ws.op</strong>
2967+ </p>
2968+ </td>
2969+ <td>
2970+ <p>
2971+ <small>(required)</small>
2972+ </p>
2973+ <p>
2974+ Fixed:
2975+ <var>getBuildSummariesForSourceIds</var></p>
2976+ </td>
2977+ <td></td>
2978+ </tr>
2979+ <tr>
2980+ <td>
2981+ <p>
2982+ <strong>source_ids</strong>
2983+ </p>
2984+ </td>
2985+ <td>
2986+ <p>
2987+ <small>(required)</small>
2988+ </p>
2989+ </td>
2990+ <td>
2991+ <p>
2992+A list of source publishing history record ids.
2993+</p>
2994+ </td>
2995+ </tr>
2996+ </table>
2997+ </div>
2998+ <div class="method"><h5 id="archive-getComponentsForQueueAdmin" title="archive-getComponentsForQueueAdmin">getComponentsForQueueAdmin</h5><p>
2999+<p>Return IArchivePermission for the person's queue admin components</p>
3000+
3001+
3002+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3003+ Fixed:
3004+ <var>getComponentsForQueueAdmin</var></p></td><td></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3005+ Link to a <a href="#person">person</a>.
3006+ </td><td></td></tr></table>
3007+
3008+ <p class="response">Response contains an
3009+ <code>application/json</code>
3010+ representation of a
3011+ <a href="#archive_permission">archive_permission</a>
3012+ collection
3013+ .
3014+ </p>
3015+ </div>
3016+ <div class="method"><h5 id="archive-getPackagesetsForSource" title="archive-getPackagesetsForSource">getPackagesetsForSource</h5><p>
3017+<p>All package set based permissions for the given source.</p>
3018+<p>This method is meant to aid the process of "debugging" package set
3019+based archive permission since It allows the listing of permissions
3020+for the given source package in this archive (irrespective of the
3021+principal).</p>
3022+
3023+
3024+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3025+ Fixed:
3026+ <var>getPackagesetsForSource</var></p></td><td></td></tr><tr><td><p><strong>direct_permissions</strong></p></td><td><p></p></td><td><p>
3027+Ignore package set hierarchy
3028+</p></td></tr><tr><td><p><strong>sourcepackagename</strong></p></td><td><p><small>(required)</small></p></td><td><p>
3029+Source package name
3030+</p></td></tr></table>
3031+
3032+ <p class="response">Response contains an
3033+ <code>application/json</code>
3034+ representation of a
3035+ <a href="#archive_permission">archive_permission</a>
3036+ collection
3037+ .
3038+ </p>
3039+ </div>
3040+ <div class="method"><h5 id="archive-getPackagesetsForSourceUploader" title="archive-getPackagesetsForSourceUploader">getPackagesetsForSourceUploader</h5><p>
3041+<p>The package set based permissions for a given source and uploader.</p>
3042+<dl class="rst-docutils">
3043+<dt>Return the IArchivePermission records that</dt>
3044+<dd><ul class="rst-first rst-last">
3045+<li><p class="rst-first">apply to this archive</p>
3046+</li>
3047+<li><dl class="rst-first rst-docutils">
3048+<dt>relate to</dt>
3049+<dd><ul class="rst-first rst-last rst-simple">
3050+<li>package sets that include the given source package name</li>
3051+<li>the given person</li>
3052+</ul>
3053+</dd>
3054+</dl>
3055+</li>
3056+</ul>
3057+</dd>
3058+</dl>
3059+
3060+
3061+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3062+ Fixed:
3063+ <var>getPackagesetsForSourceUploader</var></p></td><td></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3064+ Link to a <a href="#person">person</a>.
3065+ </td><td></td></tr><tr><td><p><strong>sourcepackagename</strong></p></td><td><p><small>(required)</small></p></td><td><p>
3066+Source package name
3067+</p></td></tr></table>
3068+
3069+ <p class="response">Response contains an
3070+ <code>application/json</code>
3071+ representation of a
3072+ <a href="#archive_permission">archive_permission</a>
3073+ collection
3074+ .
3075+ </p>
3076+ </div>
3077+ <div class="method"><h5 id="archive-getPackagesetsForUploader" title="archive-getPackagesetsForUploader">getPackagesetsForUploader</h5><p>
3078+<p>The ArchivePermission records for the person's package sets.</p>
3079+
3080+
3081+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3082+ Fixed:
3083+ <var>getPackagesetsForUploader</var></p></td><td></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3084+ Link to a <a href="#person">person</a>.
3085+ </td><td></td></tr></table>
3086+
3087+ <p class="response">Response contains an
3088+ <code>application/json</code>
3089+ representation of a
3090+ <a href="#archive_permission">archive_permission</a>
3091+ collection
3092+ .
3093+ </p>
3094+ </div>
3095+ <div class="method"><h5 id="archive-getPermissionsForPerson" title="archive-getPermissionsForPerson">getPermissionsForPerson</h5><p>
3096+<p>Return the IArchivePermission records applicable to the person.</p>
3097+
3098+
3099+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3100+ Fixed:
3101+ <var>getPermissionsForPerson</var></p></td><td></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3102+ Link to a <a href="#person">person</a>.
3103+ </td><td></td></tr></table>
3104+
3105+ <p class="response">Response contains an
3106+ <code>application/json</code>
3107+ representation of a
3108+ <a href="#archive_permission">archive_permission</a>
3109+ collection
3110+ .
3111+ </p>
3112+ </div>
3113+ <div class="method"><h5 id="archive-getPublishedBinaries" title="archive-getPublishedBinaries">getPublishedBinaries</h5><p>
3114+<p>All IBinaryPackagePublishingHistory target to this archive.</p>
3115+
3116+
3117+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3118+ Fixed:
3119+ <var>getPublishedBinaries</var></p></td><td></td></tr><tr><td><p><strong>binary_name</strong></p></td><td><p></p></td><td><p>
3120+Binary Package Name
3121+</p></td></tr><tr><td><p><strong>distro_arch_series</strong></p></td><td><p></p>
3122+ Link to a <a href="#distro_arch_series">distro_arch_series</a>.
3123+ </td><td><p>
3124+Distro Arch Series
3125+</p></td></tr><tr><td><p><strong>exact_match</strong></p></td><td><p></p></td><td><p>
3126+Whether or not to filter binary names by exact matching.
3127+</p></td></tr><tr><td><p><strong>pocket</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Release</tt></li><li><tt>Security</tt></li><li><tt>Updates</tt></li><li><tt>Proposed</tt></li><li><tt>Backports</tt></li></ul></td><td><p>
3128+<p>Pocket</p>
3129+<p>The pocket into which this entry is published</p>
3130+
3131+</p></td></tr><tr><td><p><strong>status</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Pending</tt></li><li><tt>Published</tt></li><li><tt>Superseded</tt></li><li><tt>Deleted</tt></li><li><tt>Obsolete</tt></li></ul></td><td><p>
3132+<p>Package Publishing Status</p>
3133+<p>The status of this publishing record</p>
3134+
3135+</p></td></tr><tr><td><p><strong>version</strong></p></td><td><p></p></td><td><p>
3136+Version
3137+</p></td></tr></table>
3138+
3139+ <p class="response">Response contains an
3140+ <code>application/json</code>
3141+ representation of a
3142+ <a href="#binary_package_publishing_history">binary_package_publishing_history</a>
3143+ collection
3144+ .
3145+ </p>
3146+ </div>
3147+ <div class="method"><h5 id="archive-getPublishedSources" title="archive-getPublishedSources">getPublishedSources</h5><p>
3148+<p>All ISourcePackagePublishingHistory target to this archive.</p>
3149+
3150+
3151+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3152+ Fixed:
3153+ <var>getPublishedSources</var></p></td><td></td></tr><tr><td><p><strong>created_since_date</strong></p></td><td><p></p></td><td><p>
3154+<p>Created Since Date</p>
3155+<p>Return entries whose date_created is greater than or equal to this date.</p>
3156+
3157+</p></td></tr><tr><td><p><strong>distro_series</strong></p></td><td><p></p>
3158+ Link to a <a href="#distro_series">distro_series</a>.
3159+ </td><td><p>
3160+Distroseries name
3161+</p></td></tr><tr><td><p><strong>exact_match</strong></p></td><td><p></p></td><td><p>
3162+<p>Exact Match</p>
3163+<p>Whether or not to filter source names by exact matching.</p>
3164+
3165+</p></td></tr><tr><td><p><strong>pocket</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Release</tt></li><li><tt>Security</tt></li><li><tt>Updates</tt></li><li><tt>Proposed</tt></li><li><tt>Backports</tt></li></ul></td><td><p>
3166+<p>Pocket</p>
3167+<p>The pocket into which this entry is published</p>
3168+
3169+</p></td></tr><tr><td><p><strong>source_name</strong></p></td><td><p></p></td><td><p>
3170+Source package name
3171+</p></td></tr><tr><td><p><strong>status</strong></p></td><td><p></p><p><em>One of:</em></p><ul><li><tt>Pending</tt></li><li><tt>Published</tt></li><li><tt>Superseded</tt></li><li><tt>Deleted</tt></li><li><tt>Obsolete</tt></li></ul></td><td><p>
3172+<p>Package Publishing Status</p>
3173+<p>The status of this publishing record</p>
3174+
3175+</p></td></tr><tr><td><p><strong>version</strong></p></td><td><p></p></td><td><p>
3176+Version
3177+</p></td></tr></table>
3178+
3179+ <p class="response">Response contains an
3180+ <code>application/json</code>
3181+ representation of a
3182+ <a href="#source_package_publishing_history">source_package_publishing_history</a>
3183+ collection
3184+ .
3185+ </p>
3186+ </div>
3187+ <div class="method"><h5 id="archive-getQueueAdminsForComponent" title="archive-getQueueAdminsForComponent">getQueueAdminsForComponent</h5><p>
3188+<p>Return IArchivePermission records for authorised queue admins.</p>
3189+
3190+
3191+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3192+ Fixed:
3193+ <var>getQueueAdminsForComponent</var></p></td><td></td></tr><tr><td><p><strong>component_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
3194+Component Name
3195+</p></td></tr></table>
3196+
3197+ <p class="response">Response contains an
3198+ <code>application/json</code>
3199+ representation of a
3200+ <a href="#archive_permission">archive_permission</a>
3201+ collection
3202+ .
3203+ </p>
3204+ </div>
3205+ <div class="method"><h5 id="archive-getUploadersForComponent" title="archive-getUploadersForComponent">getUploadersForComponent</h5><p>
3206+<p>Return IArchivePermission records for the component's uploaders.</p>
3207+
3208+
3209+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3210+ Fixed:
3211+ <var>getUploadersForComponent</var></p></td><td></td></tr><tr><td><p><strong>component_name</strong></p></td><td><p></p></td><td><p>
3212+Component Name
3213+</p></td></tr></table>
3214+
3215+ <p class="response">Response contains an
3216+ <code>application/json</code>
3217+ representation of a
3218+ <a href="#archive_permission">archive_permission</a>
3219+ collection
3220+ .
3221+ </p>
3222+ </div>
3223+ <div class="method"><h5 id="archive-getUploadersForPackage" title="archive-getUploadersForPackage">getUploadersForPackage</h5><p>
3224+<p>Return IArchivePermission records for the package's uploaders.</p>
3225+
3226+
3227+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3228+ Fixed:
3229+ <var>getUploadersForPackage</var></p></td><td></td></tr><tr><td><p><strong>source_package_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
3230+Source Package Name
3231+</p></td></tr></table>
3232+
3233+ <p class="response">Response contains an
3234+ <code>application/json</code>
3235+ representation of a
3236+ <a href="#archive_permission">archive_permission</a>
3237+ collection
3238+ .
3239+ </p>
3240+ </div>
3241+ <div class="method"><h5 id="archive-getUploadersForPackageset" title="archive-getUploadersForPackageset">getUploadersForPackageset</h5><p>
3242+<p>The ArchivePermission records for uploaders to the package set.</p>
3243+
3244+
3245+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3246+ Fixed:
3247+ <var>getUploadersForPackageset</var></p></td><td></td></tr><tr><td><p><strong>direct_permissions</strong></p></td><td><p></p></td><td><p>
3248+Ignore package set hierarchy
3249+</p></td></tr><tr><td><p><strong>packageset</strong></p></td><td><p><small>(required)</small></p>
3250+ Link to a <a href="#packageset">packageset</a>.
3251+ </td><td><p>
3252+Package set
3253+</p></td></tr></table>
3254+
3255+ <p class="response">Response contains an
3256+ <code>application/json</code>
3257+ representation of a
3258+ <a href="#archive_permission">archive_permission</a>
3259+ collection
3260+ .
3261+ </p>
3262+ </div>
3263+ <div class="method">
3264+ <h5 id="archive-isSourceUploadAllowed" title="archive-isSourceUploadAllowed">isSourceUploadAllowed</h5>
3265+ <p>
3266+<p>True if the person is allowed to upload the given source package.</p>
3267+<dl class="rst-docutils">
3268+<dt>Return True if there exists a permission that combines</dt>
3269+<dd><ul class="rst-first rst-last rst-simple">
3270+<li>this archive</li>
3271+<li>a package set that includes the given source package name</li>
3272+<li>the given person or a team he is a member of</li>
3273+</ul>
3274+</dd>
3275+</dl>
3276+<p>If the source package name is included by <em>any</em> package set with
3277+an explicit permission then only such explicit permissions will
3278+be considered.</p>
3279+
3280+
3281+</p>
3282+ <h6>Parameters</h6>
3283+ <table>
3284+ <tr>
3285+ <th>Parameter</th>
3286+ <th>Value</th>
3287+ <th>Description</th>
3288+ </tr>
3289+ <tr>
3290+ <td>
3291+ <p>
3292+ <strong>ws.op</strong>
3293+ </p>
3294+ </td>
3295+ <td>
3296+ <p>
3297+ <small>(required)</small>
3298+ </p>
3299+ <p>
3300+ Fixed:
3301+ <var>isSourceUploadAllowed</var></p>
3302+ </td>
3303+ <td></td>
3304+ </tr>
3305+ <tr>
3306+ <td>
3307+ <p>
3308+ <strong>distroseries</strong>
3309+ </p>
3310+ </td>
3311+ <td><p></p>
3312+ Link to a <a href="#distro_series">distro_series</a>.
3313+ </td>
3314+ <td>
3315+ <p>
3316+The distro series
3317+</p>
3318+ </td>
3319+ </tr>
3320+ <tr>
3321+ <td>
3322+ <p>
3323+ <strong>person</strong>
3324+ </p>
3325+ </td>
3326+ <td><p><small>(required)</small></p>
3327+ Link to a <a href="#person">person</a>.
3328+ </td>
3329+ <td></td>
3330+ </tr>
3331+ <tr>
3332+ <td>
3333+ <p>
3334+ <strong>sourcepackagename</strong>
3335+ </p>
3336+ </td>
3337+ <td>
3338+ <p>
3339+ <small>(required)</small>
3340+ </p>
3341+ </td>
3342+ <td>
3343+ <p>
3344+Source package name
3345+</p>
3346+ </td>
3347+ </tr>
3348+ </table>
3349+ </div>
3350+ </div>
3351+ <div id="archive-custom-POSTs" title="archive-custom-POSTs" class="methods POSTs">
3352+ <h4>Custom POST methods</h4>
3353+ <div class="method">
3354+ <h5 id="archive-deleteComponentUploader" title="archive-deleteComponentUploader">deleteComponentUploader</h5>
3355+ <p>
3356+<p>Revoke permission for the person to upload to the component.</p>
3357+
3358+
3359+</p>
3360+ <h6>Parameters</h6>
3361+ <table>
3362+ <tr>
3363+ <th>Parameter</th>
3364+ <th>Value</th>
3365+ <th>Description</th>
3366+ </tr>
3367+ <tr>
3368+ <td>
3369+ <p>
3370+ <strong>ws.op</strong>
3371+ </p>
3372+ </td>
3373+ <td>
3374+ <p>
3375+ <small>(required)</small>
3376+ </p>
3377+ <p>
3378+ Fixed:
3379+ <var>deleteComponentUploader</var></p>
3380+ </td>
3381+ <td></td>
3382+ </tr>
3383+ <tr>
3384+ <td>
3385+ <p>
3386+ <strong>component_name</strong>
3387+ </p>
3388+ </td>
3389+ <td>
3390+ <p>
3391+ <small>(required)</small>
3392+ </p>
3393+ </td>
3394+ <td>
3395+ <p>
3396+Component Name
3397+</p>
3398+ </td>
3399+ </tr>
3400+ <tr>
3401+ <td>
3402+ <p>
3403+ <strong>person</strong>
3404+ </p>
3405+ </td>
3406+ <td><p><small>(required)</small></p>
3407+ Link to a <a href="#person">person</a>.
3408+ </td>
3409+ <td></td>
3410+ </tr>
3411+ </table>
3412+ </div>
3413+ <div class="method">
3414+ <h5 id="archive-deletePackageUploader" title="archive-deletePackageUploader">deletePackageUploader</h5>
3415+ <p>
3416+<p>Revoke permission for the person to upload the package.</p>
3417+
3418+
3419+</p>
3420+ <h6>Parameters</h6>
3421+ <table>
3422+ <tr>
3423+ <th>Parameter</th>
3424+ <th>Value</th>
3425+ <th>Description</th>
3426+ </tr>
3427+ <tr>
3428+ <td>
3429+ <p>
3430+ <strong>ws.op</strong>
3431+ </p>
3432+ </td>
3433+ <td>
3434+ <p>
3435+ <small>(required)</small>
3436+ </p>
3437+ <p>
3438+ Fixed:
3439+ <var>deletePackageUploader</var></p>
3440+ </td>
3441+ <td></td>
3442+ </tr>
3443+ <tr>
3444+ <td>
3445+ <p>
3446+ <strong>person</strong>
3447+ </p>
3448+ </td>
3449+ <td><p><small>(required)</small></p>
3450+ Link to a <a href="#person">person</a>.
3451+ </td>
3452+ <td></td>
3453+ </tr>
3454+ <tr>
3455+ <td>
3456+ <p>
3457+ <strong>source_package_name</strong>
3458+ </p>
3459+ </td>
3460+ <td>
3461+ <p>
3462+ <small>(required)</small>
3463+ </p>
3464+ </td>
3465+ <td>
3466+ <p>
3467+Source Package Name
3468+</p>
3469+ </td>
3470+ </tr>
3471+ </table>
3472+ </div>
3473+ <div class="method">
3474+ <h5 id="archive-deletePackagesetUploader" title="archive-deletePackagesetUploader">deletePackagesetUploader</h5>
3475+ <p>
3476+<p>Revoke upload permissions for a person.</p>
3477+
3478+
3479+</p>
3480+ <h6>Parameters</h6>
3481+ <table>
3482+ <tr>
3483+ <th>Parameter</th>
3484+ <th>Value</th>
3485+ <th>Description</th>
3486+ </tr>
3487+ <tr>
3488+ <td>
3489+ <p>
3490+ <strong>ws.op</strong>
3491+ </p>
3492+ </td>
3493+ <td>
3494+ <p>
3495+ <small>(required)</small>
3496+ </p>
3497+ <p>
3498+ Fixed:
3499+ <var>deletePackagesetUploader</var></p>
3500+ </td>
3501+ <td></td>
3502+ </tr>
3503+ <tr>
3504+ <td>
3505+ <p>
3506+ <strong>explicit</strong>
3507+ </p>
3508+ </td>
3509+ <td>
3510+ <p></p>
3511+ </td>
3512+ <td>
3513+ <p>
3514+Explicit
3515+</p>
3516+ </td>
3517+ </tr>
3518+ <tr>
3519+ <td>
3520+ <p>
3521+ <strong>packageset</strong>
3522+ </p>
3523+ </td>
3524+ <td><p><small>(required)</small></p>
3525+ Link to a <a href="#packageset">packageset</a>.
3526+ </td>
3527+ <td>
3528+ <p>
3529+Package set
3530+</p>
3531+ </td>
3532+ </tr>
3533+ <tr>
3534+ <td>
3535+ <p>
3536+ <strong>person</strong>
3537+ </p>
3538+ </td>
3539+ <td><p><small>(required)</small></p>
3540+ Link to a <a href="#person">person</a>.
3541+ </td>
3542+ <td></td>
3543+ </tr>
3544+ </table>
3545+ </div>
3546+ <div class="method">
3547+ <h5 id="archive-deleteQueueAdmin" title="archive-deleteQueueAdmin">deleteQueueAdmin</h5>
3548+ <p>
3549+<p>Revoke permission for the person to administer distroseries queues.</p>
3550+<p>The supplied person will lose permission to administer the
3551+distroseries queue for packages in the supplied component.</p>
3552+
3553+
3554+</p>
3555+ <h6>Parameters</h6>
3556+ <table>
3557+ <tr>
3558+ <th>Parameter</th>
3559+ <th>Value</th>
3560+ <th>Description</th>
3561+ </tr>
3562+ <tr>
3563+ <td>
3564+ <p>
3565+ <strong>ws.op</strong>
3566+ </p>
3567+ </td>
3568+ <td>
3569+ <p>
3570+ <small>(required)</small>
3571+ </p>
3572+ <p>
3573+ Fixed:
3574+ <var>deleteQueueAdmin</var></p>
3575+ </td>
3576+ <td></td>
3577+ </tr>
3578+ <tr>
3579+ <td>
3580+ <p>
3581+ <strong>component_name</strong>
3582+ </p>
3583+ </td>
3584+ <td>
3585+ <p>
3586+ <small>(required)</small>
3587+ </p>
3588+ </td>
3589+ <td>
3590+ <p>
3591+Component Name
3592+</p>
3593+ </td>
3594+ </tr>
3595+ <tr>
3596+ <td>
3597+ <p>
3598+ <strong>person</strong>
3599+ </p>
3600+ </td>
3601+ <td><p><small>(required)</small></p>
3602+ Link to a <a href="#person">person</a>.
3603+ </td>
3604+ <td></td>
3605+ </tr>
3606+ </table>
3607+ </div>
3608+ <div class="method"><h5 id="archive-newComponentUploader" title="archive-newComponentUploader">newComponentUploader</h5><p>
3609+<p>Add permission for a person to upload to a component.</p>
3610+
3611+
3612+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3613+ Fixed:
3614+ <var>newComponentUploader</var></p></td><td></td></tr><tr><td><p><strong>component_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
3615+Component Name
3616+</p></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3617+ Link to a <a href="#person">person</a>.
3618+ </td><td></td></tr></table>
3619+ <p>On success, the response status will be 201 and the
3620+ <var>Location</var> header will contain the link to the newly
3621+ created <a href="#archive_permission">archive_permission</a>.
3622+ </p>
3623+
3624+ </div>
3625+ <div class="method"><h5 id="archive-newPackageUploader" title="archive-newPackageUploader">newPackageUploader</h5><p>
3626+<p>Add permisson for a person to upload a package to this archive.</p>
3627+
3628+
3629+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3630+ Fixed:
3631+ <var>newPackageUploader</var></p></td><td></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3632+ Link to a <a href="#person">person</a>.
3633+ </td><td></td></tr><tr><td><p><strong>source_package_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
3634+Source Package Name
3635+</p></td></tr></table>
3636+ <p>On success, the response status will be 201 and the
3637+ <var>Location</var> header will contain the link to the newly
3638+ created <a href="#archive_permission">archive_permission</a>.
3639+ </p>
3640+
3641+ </div>
3642+ <div class="method"><h5 id="archive-newPackagesetUploader" title="archive-newPackagesetUploader">newPackagesetUploader</h5><p>
3643+<p>Add a package set based permission for a person.</p>
3644+
3645+
3646+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3647+ Fixed:
3648+ <var>newPackagesetUploader</var></p></td><td></td></tr><tr><td><p><strong>explicit</strong></p></td><td><p></p></td><td><p>
3649+Explicit
3650+</p></td></tr><tr><td><p><strong>packageset</strong></p></td><td><p><small>(required)</small></p>
3651+ Link to a <a href="#packageset">packageset</a>.
3652+ </td><td><p>
3653+Package set
3654+</p></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3655+ Link to a <a href="#person">person</a>.
3656+ </td><td></td></tr></table>
3657+ <p>On success, the response status will be 201 and the
3658+ <var>Location</var> header will contain the link to the newly
3659+ created <a href="#archive_permission">archive_permission</a>.
3660+ </p>
3661+
3662+ </div>
3663+ <div class="method"><h5 id="archive-newQueueAdmin" title="archive-newQueueAdmin">newQueueAdmin</h5><p>
3664+<p>Add permission for a person to administer a distroseries queue.</p>
3665+<p>The supplied person will gain permission to administer the
3666+distroseries queue for packages in the supplied component.</p>
3667+
3668+
3669+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3670+ Fixed:
3671+ <var>newQueueAdmin</var></p></td><td></td></tr><tr><td><p><strong>component_name</strong></p></td><td><p><small>(required)</small></p></td><td><p>
3672+Component Name
3673+</p></td></tr><tr><td><p><strong>person</strong></p></td><td><p><small>(required)</small></p>
3674+ Link to a <a href="#person">person</a>.
3675+ </td><td></td></tr></table>
3676+ <p>On success, the response status will be 201 and the
3677+ <var>Location</var> header will contain the link to the newly
3678+ created <a href="#archive_permission">archive_permission</a>.
3679+ </p>
3680+
3681+ </div>
3682+ <div class="method"><h5 id="archive-newSubscription" title="archive-newSubscription">newSubscription</h5><p>
3683+<p>Create a new subscribtion to this archive.</p>
3684+<p>Create an ArchiveSubscriber record which allows an IPerson to
3685+access a private repository.</p>
3686+
3687+
3688+</p><h6>Parameters</h6><table><tr><th>Parameter</th><th>Value</th><th>Description</th></tr><tr><td><p><strong>ws.op</strong></p></td><td><p><small>(required)</small></p><p>
3689+ Fixed:
3690+ <var>newSubscription</var></p></td><td></td></tr><tr><td><p><strong>date_expires</strong></p></td><td><p></p></td><td><p>
3691+<p>Date of Expiration</p>
3692+<p>The timestamp when the subscription will expire.</p>
3693+
3694+</p></td></tr><tr><td><p><strong>description</strong></p></td><td><p></p></td><td><p>
3695+<p>Description</p>
3696+<p>Free text describing this subscription.</p>
3697+
3698+</p></td></tr><tr><td><p><strong>subscriber</strong></p></td><td><p><small>(required)</small></p>
3699+ Link to a <a href="#person">person</a>.
3700+ </td><td><p>
3701+<p>Subscriber</p>
3702+<p>The person who is subscribed.</p>
3703+
3704+</p></td></tr></table>
3705+ <p>On success, the response status will be 201 and the
3706+ <var>Location</var> header will contain the link to the newly
3707+ created <a href="#archive_subscriber">archive_subscriber</a>.
3708+ </p>
3709+
3710+ </div>
3711+ <div class="method">
3712+ <h5 id="archive-syncSource" title="archive-syncSource">syncSource</h5>
3713+ <p>
3714+<p>Synchronise (copy) a single named source into this archive.</p>
3715+<p>Copy a specific version of a named source to the destination
3716+archive if necessary.</p>
3717+
3718+
3719+</p>
3720+ <h6>Parameters</h6>
3721+ <table>
3722+ <tr>
3723+ <th>Parameter</th>
3724+ <th>Value</th>
3725+ <th>Description</th>
3726+ </tr>
3727+ <tr>
3728+ <td>
3729+ <p>
3730+ <strong>ws.op</strong>
3731+ </p>
3732+ </td>
3733+ <td>
3734+ <p>
3735+ <small>(required)</small>
3736+ </p>
3737+ <p>
3738+ Fixed:
3739+ <var>syncSource</var></p>
3740+ </td>
3741+ <td></td>
3742+ </tr>
3743+ <tr>
3744+ <td>
3745+ <p>
3746+ <strong>from_archive</strong>
3747+ </p>
3748+ </td>
3749+ <td><p><small>(required)</small></p>
3750+ Link to a <a href="#archive">archive</a>.
3751+ </td>
3752+ <td></td>
3753+ </tr>
3754+ <tr>
3755+ <td>
3756+ <p>
3757+ <strong>include_binaries</strong>
3758+ </p>
3759+ </td>
3760+ <td>
3761+ <p></p>
3762+ </td>
3763+ <td>
3764+ <p>
3765+<p>Include Binaries</p>
3766+<p>Whether or not to copy binaries already built for this source</p>
3767+
3768+</p>
3769+ </td>
3770+ </tr>
3771+ <tr>
3772+ <td>
3773+ <p>
3774+ <strong>source_name</strong>
3775+ </p>
3776+ </td>
3777+ <td>
3778+ <p>
3779+ <small>(required)</small>
3780+ </p>
3781+ </td>
3782+ <td>
3783+ <p>
3784+Source package name
3785+</p>
3786+ </td>
3787+ </tr>
3788+ <tr>
3789+ <td>
3790+ <p>
3791+ <strong>to_pocket</strong>
3792+ </p>
3793+ </td>
3794+ <td>
3795+ <p>
3796+ <small>(required)</small>
3797+ </p>
3798+ </td>
3799+ <td>
3800+ <p>
3801+Pocket name
3802+</p>
3803+ </td>
3804+ </tr>
3805+ <tr>
3806+ <td>
3807+ <p>
3808+ <strong>to_series</strong>
3809+ </p>
3810+ </td>
3811+ <td>
3812+ <p></p>
3813+ </td>
3814+ <td>
3815+ <p>
3816+Distroseries name
3817+</p>
3818+ </td>
3819+ </tr>
3820+ <tr>
3821+ <td>
3822+ <p>
3823+ <strong>version</strong>
3824+ </p>
3825+ </td>
3826+ <td>
3827+ <p>
3828+ <small>(required)</small>
3829+ </p>
3830+ </td>
3831+ <td>
3832+ <p>
3833+Version
3834+</p>
3835+ </td>
3836+ </tr>
3837+ </table>
3838+ </div>
3839+ <div class="method">
3840+ <h5 id="archive-syncSources" title="archive-syncSources">syncSources</h5>
3841+ <p>
3842+<p>Synchronise (copy) named sources into this archive from another.</p>
3843+<p>It will copy the most recent PUBLISHED versions of the named
3844+sources to the destination archive if necessary.</p>
3845+<p>This operation will only succeeds when all requested packages
3846+are synchronised between the archives. If any of the requested
3847+copies cannot be performed, the whole operation will fail. There
3848+will be no partial changes of the destination archive.</p>
3849+
3850+
3851+</p>
3852+ <h6>Parameters</h6>
3853+ <table>
3854+ <tr>
3855+ <th>Parameter</th>
3856+ <th>Value</th>
3857+ <th>Description</th>
3858+ </tr>
3859+ <tr>
3860+ <td>
3861+ <p>
3862+ <strong>ws.op</strong>
3863+ </p>
3864+ </td>
3865+ <td>
3866+ <p>
3867+ <small>(required)</small>
3868+ </p>
3869+ <p>
3870+ Fixed:
3871+ <var>syncSources</var></p>
3872+ </td>
3873+ <td></td>
3874+ </tr>
3875+ <tr>
3876+ <td>
3877+ <p>
3878+ <strong>from_archive</strong>
3879+ </p>
3880+ </td>
3881+ <td><p><small>(required)</small></p>
3882+ Link to a <a href="#archive">archive</a>.
3883+ </td>
3884+ <td></td>
3885+ </tr>
3886+ <tr>
3887+ <td>
3888+ <p>
3889+ <strong>include_binaries</strong>
3890+ </p>
3891+ </td>
3892+ <td>
3893+ <p></p>
3894+ </td>
3895+ <td>
3896+ <p>
3897+<p>Include Binaries</p>
3898+<p>Whether or not to copy binaries already built for this source</p>
3899+
3900+</p>
3901+ </td>
3902+ </tr>
3903+ <tr>
3904+ <td>
3905+ <p>
3906+ <strong>source_names</strong>
3907+ </p>
3908+ </td>
3909+ <td>
3910+ <p>
3911+ <small>(required)</small>
3912+ </p>
3913+ </td>
3914+ <td>
3915+ <p>
3916+Source package names
3917+</p>
3918+ </td>
3919+ </tr>
3920+ <tr>
3921+ <td>
3922+ <p>
3923+ <strong>to_pocket</strong>
3924+ </p>
3925+ </td>
3926+ <td>
3927+ <p>
3928+ <small>(required)</small>
3929+ </p>
3930+ </td>
3931+ <td>
3932+ <p>
3933+Pocket name
3934+</p>
3935+ </td>
3936+ </tr>
3937+ <tr>
3938+ <td>
3939+ <p>
3940+ <strong>to_series</strong>
3941+ </p>
3942+ </td>
3943+ <td>
3944+ <p></p>
3945+ </td>
3946+ <td>
3947+ <p>
3948+Distroseries name
3949+</p>
3950+ </td>
3951+ </tr>
3952+ </table>
3953+ </div>
3954+ </div>
3955+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
3956+ <h3 id="archive_dependency" title="archive_dependency">archive_dependency</h3>
3957+ <p>
3958+ArchiveDependency interface.
3959+</p>
3960+ <p>
3961+ <label>URL:</label>
3962+ <code>https://api.launchpad.dev/1.0</code>
3963+ </p>
3964+ <div class="representation">
3965+ <h4>Default representation
3966+ (application/json)</h4>
3967+ <table>
3968+ <tr>
3969+ <th>Key</th>
3970+ <th>Value</th>
3971+ <th>Description</th>
3972+ </tr>
3973+ <tr>
3974+ <td>
3975+ <p>
3976+ <strong>archive_link</strong>
3977+ </p>
3978+ </td>
3979+ <td><p><small>(read-only)</small></p>
3980+ Link to a <a href="#archive">archive</a>.
3981+ </td>
3982+ <td>
3983+ <p>
3984+<p>Target archive</p>
3985+<p>The archive affected by this dependecy.</p>
3986+
3987+</p>
3988+ </td>
3989+ </tr>
3990+ <tr>
3991+ <td>
3992+ <p>
3993+ <strong>component_name</strong>
3994+ </p>
3995+ </td>
3996+ <td>
3997+ <p>
3998+ <small>(read-only)</small>
3999+ </p>
4000+ </td>
4001+ <td>
4002+ <p>
4003+Component name
4004+</p>
4005+ </td>
4006+ </tr>
4007+ <tr>
4008+ <td>
4009+ <p>
4010+ <strong>date_created</strong>
4011+ </p>
4012+ </td>
4013+ <td>
4014+ <p>
4015+ <small>(read-only)</small>
4016+ </p>
4017+ </td>
4018+ <td>
4019+ <p>
4020+Instant when the dependency was created.
4021+</p>
4022+ </td>
4023+ </tr>
4024+ <tr>
4025+ <td>
4026+ <p>
4027+ <strong>dependency_link</strong>
4028+ </p>
4029+ </td>
4030+ <td><p><small>(read-only)</small></p>
4031+ Link to a <a href="#archive">archive</a>.
4032+ </td>
4033+ <td>
4034+ <p>
4035+The archive set as a dependency.
4036+</p>
4037+ </td>
4038+ </tr>
4039+ <tr>
4040+ <td>
4041+ <p>
4042+ <strong>http_etag</strong>
4043+ </p>
4044+ </td>
4045+ <td>
4046+ <p>
4047+ <small>(read-only)</small>
4048+ </p>
4049+ </td>
4050+ <td>
4051+ <p>
4052+ The value of the HTTP ETag for this resource.
4053+ </p>
4054+ </td>
4055+ </tr>
4056+ <tr>
4057+ <td>
4058+ <p>
4059+ <strong>pocket</strong>
4060+ </p>
4061+ </td>
4062+ <td>
4063+ <p>
4064+ <small>(read-only)</small>
4065+ </p>
4066+ <p>
4067+ <em>One of:</em>
4068+ </p>
4069+ <ul>
4070+ <li>
4071+ <tt>Release</tt>
4072+ </li>
4073+ <li>
4074+ <tt>Security</tt>
4075+ </li>
4076+ <li>
4077+ <tt>Updates</tt>
4078+ </li>
4079+ <li>
4080+ <tt>Proposed</tt>
4081+ </li>
4082+ <li>
4083+ <tt>Backports</tt>
4084+ </li>
4085+ </ul>
4086+ </td>
4087+ <td>
4088+ <p>
4089+Pocket
4090+</p>
4091+ </td>
4092+ </tr>
4093+ <tr>
4094+ <td>
4095+ <p>
4096+ <strong>resource_type_link</strong>
4097+ </p>
4098+ </td>
4099+ <td>
4100+ <p>
4101+ <small>(read-only)</small>
4102+ </p>
4103+ </td>
4104+ <td>
4105+ <p>
4106+ The link to the WADL description of this resource.
4107+ </p>
4108+ </td>
4109+ </tr>
4110+ <tr>
4111+ <td>
4112+ <p>
4113+ <strong>self_link</strong>
4114+ </p>
4115+ </td>
4116+ <td>
4117+ <p>
4118+ <small>(read-only)</small>
4119+ </p>
4120+ </td>
4121+ <td>
4122+ <p>The canonical link to this resource.</p>
4123+ </td>
4124+ </tr>
4125+ <tr>
4126+ <td>
4127+ <p>
4128+ <strong>title</strong>
4129+ </p>
4130+ </td>
4131+ <td>
4132+ <p>
4133+ <small>(read-only)</small>
4134+ </p>
4135+ </td>
4136+ <td>
4137+ <p>
4138+Archive dependency title.
4139+</p>
4140+ </td>
4141+ </tr>
4142+ </table>
4143+ </div>
4144+ <div id="archive_dependency-standard-methods" title="archive_dependency-standard-methods" class="methods standard">
4145+ <h4>Standard methods</h4>
4146+ <dl>
4147+ <dt>GET</dt>
4148+ <dd>Response contains the default
4149+ <code>application/json</code> representation
4150+ for this entry.
4151+ </dd>
4152+ <dt>PATCH</dt>
4153+ <dd>Entity body should contain a represention encoded using
4154+ <code>application/json</code> of the entry
4155+ fields to update. Any fields of the default representation marked
4156+ as writeable can be included.
4157+ </dd>
4158+ <dt>PUT</dt>
4159+ <dd>Entity body should contain a representation encoded using
4160+ <code>application/json</code> of the entry.
4161+ All fields of the default representation should be included. Only
4162+ fields marked as writeable in the default representation should be
4163+ modified.
4164+ </dd>
4165+ </dl>
4166+ </div>
4167+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
4168+ <h3 id="archive_permission" title="archive_permission">archive_permission</h3>
4169+ <p>
4170+The interface for ArchivePermission.
4171+</p>
4172+ <p>
4173+ <label>URL:</label>
4174+ <code>https://api.launchpad.dev/1.0/<var>&lt;archive.distribution&gt;</var>/+archive/<var>&lt;archive.name&gt;</var>/+name/person.name.[component or source package].name</code>
4175+ </p>
4176+ <div class="representation">
4177+ <h4>Default representation
4178+ (application/json)</h4>
4179+ <table>
4180+ <tr>
4181+ <th>Key</th>
4182+ <th>Value</th>
4183+ <th>Description</th>
4184+ </tr>
4185+ <tr>
4186+ <td>
4187+ <p>
4188+ <strong>archive_link</strong>
4189+ </p>
4190+ </td>
4191+ <td><p><small>(writeable)</small></p>
4192+ Link to a <a href="#archive">archive</a>.
4193+ </td>
4194+ <td>
4195+ <p>
4196+<p>Archive</p>
4197+<p>The archive that this permission is for.</p>
4198+
4199+</p>
4200+ </td>
4201+ </tr>
4202+ <tr>
4203+ <td>
4204+ <p>
4205+ <strong>component_name</strong>
4206+ </p>
4207+ </td>
4208+ <td>
4209+ <p>
4210+ <small>(writeable)</small>
4211+ </p>
4212+ </td>
4213+ <td>
4214+ <p>
4215+Component Name
4216+</p>
4217+ </td>
4218+ </tr>
4219+ <tr>
4220+ <td>
4221+ <p>
4222+ <strong>date_created</strong>
4223+ </p>
4224+ </td>
4225+ <td>
4226+ <p>
4227+ <small>(writeable)</small>
4228+ </p>
4229+ </td>
4230+ <td>
4231+ <p>
4232+<p>Date Created</p>
4233+<p>The timestamp when the permission was created.</p>
4234+
4235+</p>
4236+ </td>
4237+ </tr>
4238+ <tr>
4239+ <td>
4240+ <p>
4241+ <strong>distro_series_name</strong>
4242+ </p>
4243+ </td>
4244+ <td>
4245+ <p>
4246+ <small>(writeable)</small>
4247+ </p>
4248+ </td>
4249+ <td>
4250+ <p>
4251+The name of the distro series associated with the package set.
4252+</p>
4253+ </td>
4254+ </tr>
4255+ <tr>
4256+ <td>
4257+ <p>
4258+ <strong>explicit</strong>
4259+ </p>
4260+ </td>
4261+ <td>
4262+ <p>
4263+ <small>(writeable)</small>
4264+ </p>
4265+ </td>
4266+ <td>
4267+ <p>
4268+<p>Explicit</p>
4269+<p>Set this flag for package sets with high-profile packages requiring specialist skills for proper handling.</p>
4270+
4271+</p>
4272+ </td>
4273+ </tr>
4274+ <tr>
4275+ <td>
4276+ <p>
4277+ <strong>http_etag</strong>
4278+ </p>
4279+ </td>
4280+ <td>
4281+ <p>
4282+ <small>(read-only)</small>
4283+ </p>
4284+ </td>
4285+ <td>
4286+ <p>
4287+ The value of the HTTP ETag for this resource.
4288+ </p>
4289+ </td>
4290+ </tr>
4291+ <tr>
4292+ <td>
4293+ <p>
4294+ <strong>package_set_name</strong>
4295+ </p>
4296+ </td>
4297+ <td>
4298+ <p>
4299+ <small>(writeable)</small>
4300+ </p>
4301+ </td>
4302+ <td>
4303+ <p>
4304+Package set name
4305+</p>
4306+ </td>
4307+ </tr>
4308+ <tr>
4309+ <td>
4310+ <p>
4311+ <strong>permission</strong>
4312+ </p>
4313+ </td>
4314+ <td>
4315+ <p>
4316+ <small>(writeable)</small>
4317+ </p>
4318+ </td>
4319+ <td>
4320+ <p>
4321+The permission type being granted.
4322+</p>
4323+ </td>
4324+ </tr>
4325+ <tr>
4326+ <td>
4327+ <p>
4328+ <strong>person_link</strong>
4329+ </p>
4330+ </td>
4331+ <td><p><small>(writeable)</small></p>
4332+ Link to a <a href="#person">person</a>.
4333+ </td>
4334+ <td>
4335+ <p>
4336+<p>Person</p>
4337+<p>The person or team being granted the permission.</p>
4338+
4339+</p>
4340+ </td>
4341+ </tr>
4342+ <tr>
4343+ <td>
4344+ <p>
4345+ <strong>resource_type_link</strong>
4346+ </p>
4347+ </td>
4348+ <td>
4349+ <p>
4350+ <small>(read-only)</small>
4351+ </p>
4352+ </td>
4353+ <td>
4354+ <p>
4355+ The link to the WADL description of this resource.
4356+ </p>
4357+ </td>
4358+ </tr>
4359+ <tr>
4360+ <td>
4361+ <p>
4362+ <strong>self_link</strong>
4363+ </p>
4364+ </td>
4365+ <td>
4366+ <p>
4367+ <small>(read-only)</small>
4368+ </p>
4369+ </td>
4370+ <td>
4371+ <p>The canonical link to this resource.</p>
4372+ </td>
4373+ </tr>
4374+ <tr>
4375+ <td>
4376+ <p>
4377+ <strong>source_package_name</strong>
4378+ </p>
4379+ </td>
4380+ <td>
4381+ <p>
4382+ <small>(writeable)</small>
4383+ </p>
4384+ </td>
4385+ <td>
4386+ <p>
4387+Source Package Name
4388+</p>
4389+ </td>
4390+ </tr>
4391+ </table>
4392+ </div>
4393+ <div id="archive_permission-standard-methods" title="archive_permission-standard-methods" class="methods standard">
4394+ <h4>Standard methods</h4>
4395+ <dl>
4396+ <dt>GET</dt>
4397+ <dd>Response contains the default
4398+ <code>application/json</code> representation
4399+ for this entry.
4400+ </dd>
4401+ <dt>PATCH</dt>
4402+ <dd>Entity body should contain a represention encoded using
4403+ <code>application/json</code> of the entry
4404+ fields to update. Any fields of the default representation marked
4405+ as writeable can be included.
4406+ </dd>
4407+ <dt>PUT</dt>
4408+ <dd>Entity body should contain a representation encoded using
4409+ <code>application/json</code> of the entry.
4410+ All fields of the default representation should be included. Only
4411+ fields marked as writeable in the default representation should be
4412+ modified.
4413+ </dd>
4414+ </dl>
4415+ </div>
4416+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
4417+ <h3 id="archive_subscriber" title="archive_subscriber">archive_subscriber</h3>
4418+ <p>
4419+An interface for archive subscribers.
4420+</p>
4421+ <p>
4422+ <label>URL:</label>
4423+ <code>https://api.launchpad.dev/1.0</code>
4424+ </p>
4425+ <div class="representation">
4426+ <h4>Default representation
4427+ (application/json)</h4>
4428+ <table>
4429+ <tr>
4430+ <th>Key</th>
4431+ <th>Value</th>
4432+ <th>Description</th>
4433+ </tr>
4434+ <tr>
4435+ <td>
4436+ <p>
4437+ <strong>archive_link</strong>
4438+ </p>
4439+ </td>
4440+ <td><p><small>(read-only)</small></p>
4441+ Link to a <a href="#archive">archive</a>.
4442+ </td>
4443+ <td>
4444+ <p>
4445+<p>Archive</p>
4446+<p>The archive for this subscription.</p>
4447+
4448+</p>
4449+ </td>
4450+ </tr>
4451+ <tr>
4452+ <td>
4453+ <p>
4454+ <strong>date_created</strong>
4455+ </p>
4456+ </td>
4457+ <td>
4458+ <p>
4459+ <small>(read-only)</small>
4460+ </p>
4461+ </td>
4462+ <td>
4463+ <p>
4464+<p>Date Created</p>
4465+<p>The timestamp when the subscription was created.</p>
4466+
4467+</p>
4468+ </td>
4469+ </tr>
4470+ <tr>
4471+ <td>
4472+ <p>
4473+ <strong>date_expires</strong>
4474+ </p>
4475+ </td>
4476+ <td>
4477+ <p>
4478+ <small>(writeable)</small>
4479+ </p>
4480+ </td>
4481+ <td>
4482+ <p>
4483+<p>Date of Expiration</p>
4484+<p>The timestamp when the subscription will expire.</p>
4485+
4486+</p>
4487+ </td>
4488+ </tr>
4489+ <tr>
4490+ <td>
4491+ <p>
4492+ <strong>description</strong>
4493+ </p>
4494+ </td>
4495+ <td>
4496+ <p>
4497+ <small>(writeable)</small>
4498+ </p>
4499+ </td>
4500+ <td>
4501+ <p>
4502+<p>Description</p>
4503+<p>Free text describing this subscription.</p>
4504+
4505+</p>
4506+ </td>
4507+ </tr>
4508+ <tr>
4509+ <td>
4510+ <p>
4511+ <strong>http_etag</strong>
4512+ </p>
4513+ </td>
4514+ <td>
4515+ <p>
4516+ <small>(read-only)</small>
4517+ </p>
4518+ </td>
4519+ <td>
4520+ <p>
4521+ The value of the HTTP ETag for this resource.
4522+ </p>
4523+ </td>
4524+ </tr>
4525+ <tr>
4526+ <td>
4527+ <p>
4528+ <strong>registrant_link</strong>
4529+ </p>
4530+ </td>
4531+ <td><p><small>(read-only)</small></p>
4532+ Link to a <a href="#person">person</a>.
4533+ </td>
4534+ <td>
4535+ <p>
4536+<p>Registrant</p>
4537+<p>The person who registered this subscription.</p>
4538+
4539+</p>
4540+ </td>
4541+ </tr>
4542+ <tr>
4543+ <td>
4544+ <p>
4545+ <strong>resource_type_link</strong>
4546+ </p>
4547+ </td>
4548+ <td>
4549+ <p>
4550+ <small>(read-only)</small>
4551+ </p>
4552+ </td>
4553+ <td>
4554+ <p>
4555+ The link to the WADL description of this resource.
4556+ </p>
4557+ </td>
4558+ </tr>
4559+ <tr>
4560+ <td>
4561+ <p>
4562+ <strong>self_link</strong>
4563+ </p>
4564+ </td>
4565+ <td>
4566+ <p>
4567+ <small>(read-only)</small>
4568+ </p>
4569+ </td>
4570+ <td>
4571+ <p>The canonical link to this resource.</p>
4572+ </td>
4573+ </tr>
4574+ <tr>
4575+ <td>
4576+ <p>
4577+ <strong>status</strong>
4578+ </p>
4579+ </td>
4580+ <td>
4581+ <p>
4582+ <small>(writeable)</small>
4583+ </p>
4584+ <p>
4585+ <em>One of:</em>
4586+ </p>
4587+ <ul>
4588+ <li>
4589+ <tt>Active</tt>
4590+ </li>
4591+ <li>
4592+ <tt>Expired</tt>
4593+ </li>
4594+ <li>
4595+ <tt>Cancelled</tt>
4596+ </li>
4597+ </ul>
4598+ </td>
4599+ <td>
4600+ <p>
4601+<p>Status</p>
4602+<p>The status of this subscription.</p>
4603+
4604+</p>
4605+ </td>
4606+ </tr>
4607+ <tr>
4608+ <td>
4609+ <p>
4610+ <strong>subscriber_link</strong>
4611+ </p>
4612+ </td>
4613+ <td><p><small>(read-only)</small></p>
4614+ Link to a <a href="#person">person</a>.
4615+ </td>
4616+ <td>
4617+ <p>
4618+<p>Subscriber</p>
4619+<p>The person who is subscribed.</p>
4620+
4621+</p>
4622+ </td>
4623+ </tr>
4624+ </table>
4625+ </div>
4626+ <div id="archive_subscriber-standard-methods" title="archive_subscriber-standard-methods" class="methods standard">
4627+ <h4>Standard methods</h4>
4628+ <dl>
4629+ <dt>GET</dt>
4630+ <dd>Response contains the default
4631+ <code>application/json</code> representation
4632+ for this entry.
4633+ </dd>
4634+ <dt>PATCH</dt>
4635+ <dd>Entity body should contain a represention encoded using
4636+ <code>application/json</code> of the entry
4637+ fields to update. Any fields of the default representation marked
4638+ as writeable can be included.
4639+ </dd>
4640+ <dt>PUT</dt>
4641+ <dd>Entity body should contain a representation encoded using
4642+ <code>application/json</code> of the entry.
4643+ All fields of the default representation should be included. Only
4644+ fields marked as writeable in the default representation should be
4645+ modified.
4646+ </dd>
4647+ </dl>
4648+ </div>
4649+ <a href="#toc" class="toc-link">(back to Table of Contents)</a>
4650+ <h3 id="binary_package_publishing_history" title="binary_package_publishing_history">binary_package_publishing_history</h3>
4651+ <p>
4652+A binary package publishing record.
4653+</p>
4654+ <p>
4655+ <label>URL:</label>
4656+ <code>https://api.launchpad.dev/1.0/<var>&lt;distribution.name&gt;</var>/+archive/<var>&lt;binary_package.name&gt;</var>/+binarypub/<var>&lt;id&gt;</var></code>
4657+ </p>
4658+ <div class="representation">
4659+ <h4>Default representation
4660+ (application/json)</h4>
4661+ <table>
4662+ <tr>
4663+ <th>Key</th>
4664+ <th>Value</th>
4665+ <th>Description</th>
4666+ </tr>
4667+ <tr>
4668+ <td>
4669+ <p>
4670+ <strong>archive_link</strong>
4671+ </p>
4672+ </td>
4673+ <td><p><small>(read-only)</small></p>
4674+ Link to a <a href="#archive">archive</a>.
4675+ </td>
4676+ <td>
4677+ <p>
4678+<p>Archive</p>
4679+<p>The context archive for this publication.</p>
4680+
4681+</p>
4682+ </td>
4683+ </tr>
4684+ <tr>
4685+ <td>
4686+ <p>
4687+ <strong>binary_package_name</strong>
4688+ </p>
4689+ </td>
4690+ <td>
4691+ <p>
4692+ <small>(read-only)</small>
4693+ </p>
4694+ </td>
4695+ <td>
4696+ <p>
4697+Binary Package Name
4698+</p>
4699+ </td>
4700+ </tr>
4701+ <tr>
4702+ <td>
4703+ <p>
4704+ <strong>binary_package_version</strong>
4705+ </p>
4706+ </td>
4707+ <td>
4708+ <p>
4709+ <small>(read-only)</small>
4710+ </p>
4711+ </td>
4712+ <td>
4713+ <p>
4714+Binary Package Version
4715+</p>
4716+ </td>
4717+ </tr>
4718+ <tr>
4719+ <td>
4720+ <p>
4721+ <strong>component_name</strong>
4722+ </p>
4723+ </td>
4724+ <td>
4725+ <p>
4726+ <small>(read-only)</small>
4727+ </p>
4728+ </td>
4729+ <td>
4730+ <p>
4731+Component Name
4732+</p>
4733+ </td>
4734+ </tr>
4735+ <tr>
4736+ <td>
4737+ <p>
4738+ <strong>date_created</strong>
4739+ </p>
4740+ </td>
4741+ <td>
4742+ <p>
4743+ <small>(writeable)</small>
4744+ </p>
4745+ </td>
4746+ <td>
4747+ <p>
4748+<p>Date Created</p>
4749+<p>The date on which this record was created</p>
4750+
4751+</p>
4752+ </td>
4753+ </tr>
4754+ <tr>
4755+ <td>
4756+ <p>
4757+ <strong>date_made_pending</strong>
4758+ </p>
4759+ </td>
4760+ <td>
4761+ <p>
4762+ <small>(writeable)</small>
4763+ </p>
4764+ </td>
4765+ <td>
4766+ <p>
4767+<p>Date Made Pending</p>
4768+<p>The date on which this record was set as pending removal</p>
4769+
4770+</p>
4771+ </td>
4772+ </tr>
4773+ <tr>
4774+ <td>
4775+ <p>
4776+ <strong>date_published</strong>
4777+ </p>
4778+ </td>
4779+ <td>
4780+ <p>
4781+ <small>(writeable)</small>
4782+ </p>
4783+ </td>
4784+ <td>
4785+ <p>
4786+<p>Date Published</p>
4787+<p>The date on which this record was published</p>
4788+
4789+</p>
4790+ </td>
4791+ </tr>
4792+ <tr>
4793+ <td>
4794+ <p>
4795+ <strong>date_removed</strong>
4796+ </p>
4797+ </td>
4798+ <td>
4799+ <p>
4800+ <small>(writeable)</small>
4801+ </p>
4802+ </td>
4803+ <td>
4804+ <p>
4805+<p>Date Removed</p>
4806+<p>The date on which this record was removed from the published set</p>
4807+
4808+</p>
4809+ </td>
4810+ </tr>
4811+ <tr>
4812+ <td>
4813+ <p>
4814+ <strong>date_superseded</strong>
4815+ </p>
4816+ </td>
4817+ <td>
4818+ <p>
4819+ <small>(writeable)</small>
4820+ </p>
4821+ </td>
4822+ <td>
4823+ <p>
4824+<p>Date Superseded</p>
4825+<p>The date on which this record was marked superseded</p>
4826+
4827+</p>
4828+ </td>
4829+ </tr>
4830+ <tr>
4831+ <td>
4832+ <p>
4833+ <strong>display_name</strong>
4834+ </p>
4835+ </td>
4836+ <td>
4837+ <p>
4838+ <small>(writeable)</small>
4839+ </p>
4840+ </td>
4841+ <td>
4842+ <p>
4843+<p>Display Name</p>
4844+<p>Text representation of the current record.</p>
4845+
4846+</p>
4847+ </td>
4848+ </tr>
4849+ <tr>
4850+ <td>
4851+ <p>
4852+ <strong>distro_arch_series_link</strong>
4853+ </p>
4854+ </td>
4855+ <td><p><small>(writeable)</small></p>
4856+ Link to a <a href="#distro_arch_series">distro_arch_series</a>.
4857+ </td>
4858+ <td>
4859+ <p>
4860+<p>Distro Arch Series</p>
4861+<p>The distroarchseries being published into</p>
4862+
4863+</p>
4864+ </td>
4865+ </tr>
4866+ <tr>
4867+ <td>
4868+ <p>
4869+ <strong>http_etag</strong>
4870+ </p>
4871+ </td>
4872+ <td>
4873+ <p>
4874+ <small>(read-only)</small>
4875+ </p>
4876+ </td>
4877+ <td>
4878+ <p>
4879+ The value of the HTTP ETag for this resource.
4880+ </p>
4881+ </td>
4882+ </tr>
4883+ <tr>
4884+ <td>
4885+ <p>
4886+ <strong>pocket</strong>
4887+ </p>
4888+ </td>
4889+ <td>
4890+ <p>
4891+ <small>(read-only)</small>
4892+ </p>
4893+ <p>
4894+ <em>One of:</em>
4895+ </p>
4896+ <ul>
4897+ <li>
4898+ <tt>Release</tt>
4899+ </li>
4900+ <li>
4901+ <tt>Security</tt>
4902+ </li>
4903+ <li>
4904+ <tt>Updates</tt>
4905+ </li>
4906+ <li>
4907+ <tt>Proposed</tt>
4908+ </li>
4909+ <li>
4910+ <tt>Backports</tt>
4911+ </li>
4912+ </ul>
4913+ </td>
4914+ <td>
4915+ <p>
4916+<p>Pocket</p>
4917+<p>The pocket into which this entry is published</p>
4918+
4919+</p>
4920+ </td>
4921+ </tr>
4922+ <tr>
4923+ <td>
4924+ <p>
4925+ <strong>priority_name</strong>
4926+ </p>
4927+ </td>
4928+ <td>
4929+ <p>
4930+ <small>(read-only)</small>
4931+ </p>
4932+ </td>
4933+ <td>
4934+ <p>
4935+Priority Name
4936+</p>
4937+ </td>
4938+ </tr>
4939+ <tr>
4940+ <td>
4941+ <p>
4942+ <strong>removal_comment</strong>
4943+ </p>
4944+ </td>
4945+ <td>
4946+ <p>
4947+ <small>(writeable)</small>
4948+ </p>
4949+ </td>
4950+ <td>
4951+ <p>
4952+<p>Removal Comment</p>
4953+<p>Reason why this publication is going to be removed.</p>
4954+
4955+</p>
4956+ </td>
4957+ </tr>
4958+ <tr>
4959+ <td>
4960+ <p>
4961+ <strong>removed_by_link</strong>
4962+ </p>
4963+ </td>
4964+ <td><p><small>(writeable)</small></p>
4965+ Link to a <a href="#person">person</a>.
4966+ </td>
4967+ <td>
4968+ <p>
4969+<p>Removed By</p>
4970+<p>The Person responsible for the removal</p>
4971+
4972+</p>
4973+ </td>
4974+ </tr>
4975+ <tr>
4976+ <td>
4977+ <p>
4978+ <strong>resource_type_link</strong>
4979+ </p>
4980+ </td>
4981+ <td>
4982+ <p>
4983+ <small>(read-only)</small>
4984+ </p>
4985+ </td>
4986+ <td>
4987+ <p>
4988+ The link to the WADL description of this resource.
4989+ </p>
4990+ </td>
4991+ </tr>
4992+ <tr>
4993+ <td>
4994+ <p>
4995+ <strong>scheduled_deletion_date</strong>
4996+ </p>
4997+ </td>
4998+ <td>
4999+ <p>
5000+ <small>(writeable)</small>
The diff has been truncated for viewing.