LP#1673857: stamp schema update
[working/Evergreen.git] / docs / development / data_unapi.adoc
1 Using UnAPI
2 ===========
3
4 Evergreen's unAPI support includes access to many
5 record types. For example, the following URL would fetch
6 bib 267 in MODS32 along with holdings, volume, copy,
7 and record attribute information:
8
9 https://example.org/opac/extras/unapi?id=tag::U2@bre/267{holdings_xml,acn,acp,mra}&format=mods32
10
11 To access the new unAPI features, the unAPI ID should have the
12 following form:
13
14   * +tag::U2@+
15   * followed by class name, which may be
16     * +bre+ (bibs)
17     * +biblio_record_entry_feed+ (multiple bibs)
18     * +acl+ (copy locations)
19     * +acn+ (volumes)
20     * +acnp+ (call number prefixes)
21     * +acns+ (call number suffixes)
22     * +acp+ (copies)
23     * +acpn+ (copy notes)
24     * +aou+ (org units)
25     * +ascecm+ (copy stat cat entries)
26     * +auri+ (located URIs)
27     * +bmp+ (monographic parts)
28     * +cbs+ (bib sources)
29     * +ccs+ (copy statuses)
30     * +circ+ (loan checkout and due dates)
31     * +holdings_xml+ (holdings)
32     * +mmr+ (metarecords)
33     * +mmr_holdings_xml+ (metarecords with holdings)
34     * +mmr_mra+ (metarecords with record attributes)
35     * +mra+ (record attributes)
36     * +sbsum+ (serial basic summaries)
37     * +sdist+ (serial distributions)
38     * +siss+ (serial issues)
39     * +sisum+ (serial index summaries)
40     * +sitem+ (serial items)
41     * +sssum+ (serial supplement summaries)
42     * +sstr+ (serial streams)
43     * +ssub+ (serial subscriptions)
44     * +sunit+ (serial units)
45   * followed by +/+
46   * followed by a record identifier (or in the case of
47     the +biblio_record_entry_feed+ class, multiple IDs separated
48     by commas)
49   * followed, optionally, by limit and offset in square brackets
50   * followed, optionally, by a comma-separated list of "includes"
51     enclosed in curly brackets.  The list of includes is
52     the same as the list of classes with the following addition:
53     * +bre.extern+ (information from the non-MARC parts of a bib
54       record)
55    * followed, optionally, by +/+ and org unit; "-" signifies
56      the top of the org unit tree
57    * followed, optionally, by +/+ and org unit depth
58    * followed, optionally, by +/+ and a path. If the path
59      is +barcode+ and the class is +acp+, the record ID is taken
60      to be a copy barcode rather than a copy ID; for example, in
61      +tag::U2@acp/ACQ140{acn,bre,mra}/-/0/barcode+, +ACQ140+ is
62      meant to be a copy barcode.
63    * followed, optionally, by +&format=+ and the format in which the record
64      should be retrieved. If this part is omitted, the list of available
65      formats will be retrieved.
66
67