> For the complete documentation index, see [llms.txt](https://bernatf.gitbook.io/human-lambdas-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bernatf.gitbook.io/human-lambdas-documentation/api/introduction.md).

# Introduction

This documentation describes the Human Lambdas API

The following pages cover everything you should be able to do through the API's various endpoints.

The API is served from the same endpoint as the front end. This is <http://localhost:8000> if running locally.

## Authentication

The Human Lambdas API expects an HTTP Authorization header with a valid API key in order to accept the request. You can generate an API key in the Settings section of your organization's Human Lambdas account.

Here is how the Authorization header should look like:

```bash
Authorization: Token $YOUR_API_KEY
```

{% hint style="info" %}
You must replace `$YOUR_API_KEY` with your personal API key, which you can find in Settings if you have admin level permissions.
{% endhint %}

Here's how you can include the appropriate authenticator header with `curl` in your terminal:

```bash
curl $API-ENDPOINT-URL
  -H "Authorization: Token $YOUR_API_KEY"
```

## Pagination

Endpoints that list information have support for pagination. By default, pagination is set to 100 items. Pagination is done through the `limit` and `offset` parameters in the request URL's query string.

For example:

* `https://api.humanlambdas.com/$API_RESOURCE_PATH?limit=2` will return items `0` and `1` on the list.
* `https://api.humanlambdas.com/$API_RESOURCE_PATH?limit=2&offset=2` will return items `2` and `3` on the list.

Here's an example of a paginated response:

```javascript
{
  "count": 4,
  "next": "https://api.humanlambdas.com/$API_RESOURCE_PATH?limit=2&offset=2",
  "previous": null,
  "status_code": 200,
  "tasks": [
    ...
  ]
}
```
