# Public Methods

## Get active batch jobs.

<mark style="color:blue;">`GET`</mark> `https://clevver.org/api/batches`

The process of storing files on the blockchain can take some time and is an asynchronous process. This request will return a list of actively running batch storage jobs.

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "status": "success",
  "data": [
    {
      "id": "5c893d75-2a8b-4712-b56f-89377ac97681",
      "status": "processing",
      "progress": 10.3,
      "created_at": "2023-11-01 13:53:12"
    },
    {
      "id": "0adc8bf2-ec4a-415e-8074-cba50dd9e0b4",
      "status": "processing",
      "progress": 97,
      "created_at": "2023-11-01 13:48:12"
    },
  ]
}
```

{% endtab %}
{% endtabs %}

## Create a new batch

<mark style="color:green;">`POST`</mark> `https://clevver.org/api/batches`

In order to store files on Clevver, you must first create a batch. Files can then be attached to the batch and later started by calling the start method.

{% tabs %}
{% tab title="201: Created " %}

```json
{
  "status": "success",
  "data": {
      "id": "5c893d75-2a8b-4712-b56f-89377ac97681",
      "status": "created",
      "progress": 0,
      "created_at": "2023-11-01 13:53:12",
      "message": "Batch created successfully"
  }
}
```

{% endtab %}
{% endtabs %}

## Start a storage job

<mark style="color:green;">`POST`</mark> `https://clevver.org/api/batches/{batch_id}/start`

Once a storage job has been created and files have been attached to it, you can then start the job. Starting the job will begin the process of storing the files onto the blockchain.

#### Path Parameters

| Name                               | Type   | Description         |
| ---------------------------------- | ------ | ------------------- |
| <mark style="color:red;">\*</mark> | String | The id of the batch |

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "status": "success",
  "data": {
      "id": "5c893d75-2a8b-4712-b56f-89377ac97681",
      "status": "processing",
      "progress": 0,
      "created_at": "2023-11-01 13:53:12",
      "message": "Batch job started"
  }
}
```

{% endtab %}
{% endtabs %}

## Get a storage job's status

<mark style="color:blue;">`GET`</mark> `https://clevver.org/api/batches/{batch_id}`

You can query individual batches to check their status and/or progress.

#### Path Parameters

| Name                               | Type   | Description         |
| ---------------------------------- | ------ | ------------------- |
| <mark style="color:red;">\*</mark> | String | The id of the batch |

{% tabs %}
{% tab title="200: OK The requested batch object's status" %}

```json
{
  "status": "success",
  "data": {
      "id": "5c893d75-2a8b-4712-b56f-89377ac97681",
      "status": "delivered",
      "progress": 100,
      "created_at": "2023-11-01 13:53:12",
  }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.getlynx.io/clevver-api/public-methods.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
