Skip to content

The HTTP API

What this site serves to a program, and how to ask it for something.

This site answers to a program as well as to a reader. Every address below is a declared resource: it says what it accepts, what it returns, and how it refuses.

Where to start

The base URL is https://lateano.com, and nothing here needs a key — there are no accounts, so there is nothing to authenticate as.

curl -sS https://lateano.com/api/collections

That returns the divisions of the site a query can narrow to, with a count for each. It is the smallest request that proves you are talking to the right thing.

What is here

The reference — every operation, laid out in the rail beside this page — is generated from the API’s own OpenAPI document, so a documented parameter is one that works, and a program reads the source the pages are made from. Beside it sit five short pages, each answering a question a caller arrives with:

  • Authentication — there are no keys, and what that means for a client.
  • Errors — every refusal is a problem document whose type resolves to a page describing it.
  • Pagination — one resource continues, and limit does not mean the same thing at every address.
  • Versioning — there is no version in the path, and what to read instead.
  • Conditional requests — which resources carry an ETag, and what it is derived from.
---
title: "The HTTP API"
description: "What this site serves to a program, and how to ask it for something."
url: "https://lateano.com/developers/api"
author: "Colin Lateano"
---

# The HTTP API

What this site serves to a program, and how to ask it for something.

This site answers to a program as well as to a reader. Every address below is a
declared resource: it says what it accepts, what it returns, and how it refuses.

## Where to start

The base URL is `https://lateano.com`, and nothing here needs a key — there are
no accounts, so there is nothing to authenticate as.

```sh
curl -sS https://lateano.com/api/collections
```

That returns the divisions of the site a query can narrow to, with a count for
each. It is the smallest request that proves you are talking to the right thing.

## What is here

The **reference** — every operation, laid out in the rail beside this page — is
generated from the API's own [OpenAPI document](/api/openapi.json), so a
documented parameter is one that works, and a program reads the source the
pages are made from. Beside it sit five short pages, each
answering a question a caller arrives with:

- [Authentication](/developers/api/authentication) — there are no keys, and what
  that means for a client.
- [Errors](/developers/api/errors) — every refusal is a problem document whose
  `type` resolves to a page describing it.
- [Pagination](/developers/api/pagination) — one resource continues, and `limit`
  does not mean the same thing at every address.
- [Versioning](/developers/api/versioning) — there is no version in the path, and
  what to read instead.
- [Conditional requests](/developers/api/conditional-requests) — which resources
  carry an `ETag`, and what it is derived from.