# Introduction

{% hint style="success" %}
Looking for the old docs? Go to <https://docs-legacy.recrubo.app>
{% endhint %}

### Welcome to the Recrubo API

These guides will help you get started with the Recrubo API and provide you with the information you need to start generating flows and automating your recruitment processes.

The Recrubo API is a RESTful API that implements the JSON:API specification. It allows you to interact with the Recrubo platform programmatically, enabling you to create, read, update, and delete resources such as Flows and Messages

You can read more about the JSON:API specification [here](https://jsonapi.org/).

Please use Content-Type `application/vnd.api+json` and `Accept` header `application/vnd.api+json` when interacting with the API.

In these docs you will find:

* Guides on how to use the Recrubo API
* Detailed information on the resources available
* Examples of how to interact with the API
* Swagger documentation for the API

### API Base URL

`https://api.recrubo.app/public/v2`

## Key concepts

### **FlowRuns and MessageThreads**

[messagethread](https://docs.recrubo.app/resources/api-resource-reference/messagethread "mention") is a resource that houses all information to facilitate the communication between the candidate and a recruiter or bot. Information on the MessageThread includes but is not limited to the communication channel (e.g whatsapp or facebook-messenger), the identifier for said channel (e.g a phone number for whatsapp)

[flowrun](https://docs.recrubo.app/resources/api-resource-reference/flowrun "mention") is created to trigger a flow on a MessageThread The FlowRun resource encapsulates the execution state of a flow, including session variables and the current cost associated with the flow run. It also maintains a status attribute indicating the flow's execution state.

### **Flows and FlowGenerations**

[flow](https://docs.recrubo.app/resources/api-resource-reference/flow "mention") is a resource that represents a sequence of steps that a candidate must complete to complete a recruitment process such as an application or interview. Using FlowRun, a flow can be executed on a MessageThread, allowing the candidate to progress through the recruitment process. Flows can be created and managed via the Recrubo platform or generated with our AI engine via the API using the FlowGeneration resource.

[flowgeneration](https://docs.recrubo.app/resources/api-resource-reference/flowgeneration "mention") can be used with our AI engine to generate flows. The FlowGeneration resource encapsulates all the logic need for generating the flow for example the type of flow to generate, specific questions to ask, or any context that can be used to generate the flow.

### Async operations and Webhooks

FlowRuns and FlowGenerations are mostly processed async, This mean you will need subscribe to these Resources using [webhooks](https://docs.recrubo.app/getting-started/webhooks "mention") to get notified about async updates to these resources. See [setting-up-webhooks](https://docs.recrubo.app/guides/setting-up-webhooks "mention") and [async-requests](https://docs.recrubo.app/getting-started/async-requests "mention") for more information.

### Embeddables

We provide a set of embeddable components that can be used to embed Recrubo functionality into your frontend application. These components are loaded in an iframe and can be configured using the `postMessage` API. See [#embeddables](#embeddables "mention") for more information.

### OpenAPI Documentation

{% embed url="<https://swagger.recrubo.app>" %}

### OpenAPI specification download

{% embed url="<https://swagger.recrubo.app/swagger.yml>" %}
