Archivers API + API Reference +
+Api for Archivers records
+API Endpoint
+https://api.archivers.space/v0
Terms of Service: + https://archivers.space/terms/api +
+ +Schemes: + https +
+Version: + 0.0.1 +
+Paths
+ ++ + GET + /collections + +
+List Collections
+Enveloped array of collections
+Response Example + (200 OK) +
+{
+ "data": "array",
+ "meta": "object",
+ "pagination": "object"
+}
+
+ + GET + /collections/{id} + +
+Get a Collection
+Enveloped Collection Object
+Response Example + (200 OK) +
+{
+ "data": "object",
+ "meta": "object"
+}
+
+ + GET + /primers + +
+List Primers
+Enveloped array of Primers
+Response Example + (200 OK) +
+{
+ "data": "array",
+ "meta": "object",
+ "pagination": "object"
+}
+
+ + GET + /primers/{id} + +
+Get a Primer
+List
+Response Example + (200 OK) +
+{
+ "data": "object",
+ "meta": "object"
+}
+
+ + GET + /sources + +
+List Sources
+Enveloped Sources
+Response Example + (200 OK) +
+{
+ "data": "object",
+ "meta": "object",
+ "pagination": "object"
+}
+
+ + GET + /sources/{id} + +
+Get a Source
+Enveloped Source
+Response Example + (200 OK) +
+{
+ "data": "object",
+ "meta": "object"
+}
+
+ + GET + /urls + +
+List Urls
+Enveloped List of Urls
+Response Example + (200 OK) +
+{
+ "data": "array",
+ "meta": "object",
+ "pagination": "object"
+}
+
+ + GET + /urls/{id} + +
+Get a Url
+Enveloped Url
+Response Example + (200 OK) +
+{
+ "data": "object",
+ "meta": "object"
+}
+
Models
++ Collection: + + object + + +
+ +-
+
- + id: + string + + + +
-
+
version 4 uuid
+
+ - + created: + string + (date-time) + + +
-
+
Created timestamp rounded to seconds in UTC
+
+ - + updated: + string + (date-time) + + +
-
+
Updated timestamp rounded to seconds in UTC
+
+ - + creator: + string + + +
-
+
sha356 multihash of the public key that created this collection
+
+ - + title: + string + + +
-
+
human-readable title of the collection
+
+ - + schema: + array + + +
-
+
csv column headers, first value must always be "hash"
+
+ - + contents: + array + + +
-
+
actual collection contents
+
+
+ Link: + + object + + +
+ +-
+
- + created: + object + (string) + + + +
-
+
created timestamp rounded to seconds in UTC
+
+ - + updated: + object + (string) + + + +
-
+
updated timestamp rounded to seconds in UTC
+
+ - + src: + object + (string) + + + +
-
+
origin url of the linking document
+
+ - + dst: + object + (string) + + + +
-
+
absolute url of the + href property
+
+
+ Metadata: + + object + + +
+ +-
+
- + id: + string + (uuidv4) + + + +
- + hash: + string + + +
-
+
sha256 multihash of all other fields in metadata as expressed by Metadata.HashableBytes()
+
+ - + timestamp: + string + (date-time) + + +
-
+
Creation timestamp
+
+ - + keyId: + string + + +
-
+
Sha256 multihash of the public key that signed this metadata
+
+ - + subject: + string + + +
-
+
Sha256 multihash of the content this metadata is describing
+
+ - + prev: + string + + +
-
+
Hash value of the metadata that came before this, if any
+
+ - + meta: + object + + +
-
+
Acutal stored metadata about the subject, can be any valid json Object
+
+
+ Primer: + + object + + +
+ +-
+
- + id: + string + (uuidv4) + + + +
- + created: + string + (date-time) + + +
-
+
timestamp of first addition to the database rounded to seconds in UTC.
+
+ - + updated: + string + (date-time) + + +
-
+
timestamp of most recent change rounded to seconds in UTC
+
+ - + shortTitle: + string + + +
-
+
shortest possible expression of this primer's name, usually an acronym called shortTitle b/c acronyms collide often & users should feel free to expand on acronyms
+
+ - + title: + string + + +
-
+
human-readable title of this primer.
+
+ - + description: + string + + +
-
+
long-form description of this primer.
+
+ - + parent: + object + + +
-
+
parent primer (if any)
+
+ - + subPrimers: + array + + +
-
+
child-primers list
+
+ - + meta: + string + + +
-
+
metadata to associate with this primer
+
+ - + stats: + string + + +
-
+
statistics about this primer
+
+ - + sources: + string + + +
-
+
collection of child sources
+
+
+ Snapshot: + + object + + +
+ +-
+
- + url: + string + + +
-
+
The url that was requested
+
+ - + created: + string + (date-time) + + +
-
+
Time this request was issued
+
+ - + status: + integer + + +
-
+
Returned Status
+
+ - + duration: + integer + + +
-
+
Time to complete response in milliseconds
+
+ - + headers: + string + + +
-
+
Record of all returned headers in [key,value,key,value...]
+
+ - + hash: + string + + +
-
+
Multihash of response body (if any)
+
+
+ Source: + + object + + +
+ +Source is a concreate handle for archiving. Crawlers use source's url as a base of a link tree. Sources are connected to a parent Primer to provide context & organization.
+-
+
- + id: + string + (uuidv4) + + + +
- + created: + string + (date-time) + + +
-
+
timestamp of first addition to the database rounded to seconds in UTC.
+
+ - + updated: + string + (date-time) + + +
-
+
timestamp of most recent change rounded to seconds in UTC
+
+ - + title: + string + + +
-
+
human-readable title for this source
+
+ - + description: + string + + +
-
+
description of the source, ideally one paragraph
+
+ - + url: + string + + +
-
+
absolute url to serve as the root of the
+
+ - + primerId: + string + + +
-
+
primer this source is connected to
+
+ - + crawl: + string + + +
-
+
weather or not this url should be crawled be a web crawler
+
+ - + staleDuration: + string + + +
-
+
amount of time before a link within this tree is considered in need of re-checking for changes. currently not in use, but planned.
+
+ - + lastAlertSent: + string + + +
-
+
yeah this'll probably get depricated. Part of a half-baked alerts feature idea.
+
+ - + meta: + object + + +
-
+
Metadata associated with this source that should be added to all child urls, currently not in use, but planned
+
+ - + stats: + object + + +
-
+
Stats about this source
+
+
+ Url: + + object + + +
+ +-
+
- + id: + string + (uuidv4) + + + +
- + created: + string + (date-time) + + +
-
+
timestamp of first addition to the database rounded to seconds in UTC.
+
+ - + updated: + string + (date-time) + + +
-
+
timestamp of most recent change rounded to seconds in UTC
+
+ - + url: + string + + +
-
+
URI string without any normalization. Url strings must always be absolute. unique to each entry
+
+ - + lastGet: + string + (date-time) + + +
-
+
timestamp for most recent GET request
+
+ - + lastHead: + string + (date-time) + + +
-
+
timestamp for most recent HEAD request
+
+ - + status: + integer + + +
-
+
latest returned HTTP response status code
+
+ - + contentType: + string + + +
-
+
latest returnd 'Content-Type' HTTP header
+
+ - + contentSniff: + string + + +
-
+
Result of mime sniffing to GET response body, as detailed at + https://mimesniff.spec.whatwg.org +
+
+ - + contentLength: + integer + + +
- + title: + string + + +
-
+
HTML Title tag attribute
+
+ - + downloadTook: + integer + + +
-
+
Time remote server took to transfer content in miliseconds.
+
+ - + headersTook: + integer + + +
-
+
Time taken to in miliseconds. currently not implemented
+
+ - + headers: + string + + +
-
+
key-value array of returned headers from most recent HEAD or GET request stored in the form [key,value,key,value...]
+
+ - + meta: + array + + +
-
+
any associative metadata for this url
+
+ - + hash: + string + + +
-
+
Hash is a multihash sha-256 of the response body of a GET request
+
+ - + contentUrl: + string + + +
-
+
Url to saved content
+
+
+ User: + + object + + +
+ +-
+
- + id: + string + (uuidv4) + + + +
- + created: + string + (date-time) + + +
-
+
timestamp of first addition to the database rounded to seconds in UTC.
+
+ - + updated: + string + (date-time) + + +
-
+
timestamp of most recent change rounded to seconds in UTC
+
+ - + username: + string + + +
-
+
handle for the user. min 1 character, max 80. composed of [_,-,a-z,A-Z,1-9]
+
+ - + type: + string + + +
-
+
specifies weather this is a user or an organization
+
+ - + name: + string + + +
-
+
user name field. could be first[space]last, but not strictly enforced
+
+ - + description: + string + + +
-
+
user-filled description of self
+
+ - + homeUrl: + string + + +
-
+
url this user wants the world to click
+
+ - + currentKey: + string + + +
-
+
sh256 multihash of public key that this user is currently using for signatures
+
+