---
title: "Developers"
description: "The technical documentation of API Hub: a quick start from the installation to the first request, a cookbook, the API and your own actions."
canonical: developers.html
navigation-title: "Developers"
---

<a id="developers"></a>

<a id="developers-1"></a>

# Developers

Call the HTTP API of TYPO3, and add your own actions in an extension.
You must know HTTP. For extensions, you must also know PHP and TYPO3.

- **Quick start:** from the installation to the first request
- **Cookbook:** recipes in PHP, JavaScript and TypeScript
- **Tutorial:** build your first action with its own scope
- **API reference:** all endpoints in Swagger UI

[Open the cookbook](guides/cookbook.md)

[API reference](api/index.md)

![Illustration of a segment being added to a ring around a hub.](_images/audience-developer.webp)

<a id="developers-quick-start"></a>

<a id="quick-start"></a>

## Quick start

1. **Install the extension**
   API Hub needs a Composer-based installation of TYPO3 14.3.10 or
   later and PHP 8.2 or later. The delivery channel is the
   [TYPO3 Suite](https://suite.typo3.com/). Your TYPO3 partner sets up
   the access to its repository `packages.typo3.com`.

   ```bash
   composer config repositories.typo3-suite composer \
       https://packages.typo3.com
   composer require typo3-suite/hub
   vendor/bin/typo3 extension:setup --extension=hub
   ```
2. **Create an app**
   Open Administration \> Integrations \> API Hub, create an
   app of the type Static token, select the scope
   `content:read` and copy the token, see
   [Creating a static token app](administration/creating-apps.md#administration-static-token).
3. **Send the first request**
   ```bash
   curl -H 'Authorization: Bearer <token>' \
       'https://example.org/typo3/api/v1/records/pages?limit=2'
   ```

   Response

   ```json
   {
       "items": [
           {
               "uid": 3,
               "pid": 0,
               "label": "Congratulations",
               "type": "1",
               "hidden": false,
               "language": 0
           },
           {
               "uid": 85,
               "pid": 3,
               "label": "Home",
               "type": "4",
               "hidden": false,
               "language": 0
           }
       ],
       "next": "WzMsMCw4NV0"
   }
   ```

<a id="developers-paths"></a>

<a id="where-to-go-next"></a>

## Where to go next

Call the API · **[Cookbook](guides/cookbook.md)**
Paginate, create, update, upload, handle errors and run the OAuth
flow, with real requests and responses.

Extend the API · **[Tutorial: your first action](guides/tutorial.md)**
Build an action with its own scope and errors, and see what TYPO3
generates from it.

Look it up · **[API reference](api/index.md)**
All endpoints with their parameters and results, in Swagger UI.

Understand it · **[Getting started](getting-started/index.md)**
Concepts, installation and features.

Learn the API · **[Using the API](usage/index.md)**
Endpoints, authentication, scopes, records, files, errors and backend
JavaScript.

Go further · **[Extending the API](developer/index.md)**
Actions, targets, parameters, errors, scopes and JSON Schema.
