# API Overview

## Introduction

Docupilot API allows you to perform most of the operations that you do with our web application. Our APIs are designed based on HTTP REST Architectural pattern and follow OpenAPI Specification.

Interactive documentation of Docupilot's V2 APIs is available at `https://<YOUR_SUBDOMAIN>.docupilot.app/~/dashboard/api-docs/swagger-ui/`

### V2 API Authentication

APIs can be accessed using a combination of API Key and Secret created from your **API Settings** section.

1. Go to **Settings > API Settings** to create a new API key.
2. Copy the Key & Secret - download the copy if needed. The secret cannot be retrieved again.
3. base64 encoded value of **key:secret** will be your API key

Use the following command to base64 encode your **key:secret**

```bash
// create the base64 encoded string
echo -n YOUR_API_KEY:YOUR_API_SECRET | base64
```

Use the following curl command to make an API request using the base64 encoded string generated from previous step.

```bash
// making an API request
curl -X GET \
  https://api.docupilot.app/accounts/v2/users/me/ \
  -H 'Authorization: Bearer <Base64 encoded API credentials>'
```

#### X-Workspace Header

The `X-Workspace` header is required to be sent for all the APIs that interact with your Workspace (ex: Templates, etc). This header holds the ID of your workspace for which the request is being made.

You can locate your **Workspace ID** on the Workspace details page. Navigate to the Dashboard and click on the **Settings** icon in the left side menu to access the Workspace details page.

<figure><img src="/files/jBDc1y6DXWJtCJmPVWqU" alt=""><figcaption><p>Workspace ID</p></figcaption></figure>


---

# 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://help.docupilot.app/developers/api-overview.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.
