> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strangelooplabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Invoke Automation Statelessly

> How to invoke an Automation without inputs and outputs being persisted by Strange Loop

#### Invoke Automation Statelessly

It is possible to invoke an automation statelessly, such that no data is persisted server-side.
This ensures that neither the input, nor the output, are kept by Strange Loop.
This endpoint imposes some extra restrictions in order to remain stateless:

* Only supports a single file as input. No text input can be provided.
* File is limited to a maximum size of 4.5Mb.
* The call must be performed synchronously, meaning that the API will not return until all processing has completed.
* A maximum of 100 concurrent requests may be in-flight at any given time. Attempting to start more may result in a `429 Too Many Requests` error response.
* If lost, the output cannot be re-fetched again later.

```
POST https://api.strangelooplabs.ai/automations/<automation_id>/invocations
```

### Request

<ParamField body="file" type="bytes">
  The FormData must contain a single property called `file`, which is the byte-content of the file.
</ParamField>

### Response

<ResponseField name="outputs" type="array">
  The output of each document in the request.
  This will contain more than 1 object only if Strange Loop detected sub-documents within
  the request document.
</ResponseField>

<ResponseField name="id" type="string">
  The unique identifier for this invocation.
</ResponseField>

<ResponseField name="output" type="string">
  The output of the invocation, encoded as a string.
  If the output of the automation is configured to be JSON, then this String will be parseable as JSON.
</ResponseField>

<ResponseField name="reason" type="string">
  The reason for failure, if the invocation failed.
</ResponseField>

<ResponseField name="status" type="string">
  The status of the invocation. Either "Success" or "Failed".
</ResponseField>

<RequestExample>
  ```bash Example Request theme={null}
  curl -X POST -H "Authorization: <access_token>" -H "Content-Type: multipart/form-data" -F "file=@test.pdf" https://api.strangelooplabs.ai/automations/<automation_id>/invocations
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
      "outputs": [
          {
              "id": "invocation-123",
              "output": "{\"field\":\"value\"}",
              "status": "Success"
          }
      ]
  }
  ```
</ResponseExample>
