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

# Overview

The Intuned REST API enables you to programmatically trigger automations, manage scheduled Jobs, handle AuthSessions, and run [Web Tasks](/main/07-web-tasks/overview).

You can call the APIs directly as REST endpoints or use our client libraries for [JavaScript](#javascript) and [Python](#python).

## Endpoints

<AccordionGroup>
  <Accordion title="Runs" icon="play">
    Execute your automation APIs on demand.

    * [Start a Run](/client-apis/api-reference/projectsruns/run-api--start) — Trigger an automation and get a Run ID
    * [Get Run result](/client-apis/api-reference/projectsruns/run-api--result) — Retrieve the result of a completed Run
  </Accordion>

  <Accordion title="Jobs" icon="clock">
    Schedule and manage batch executions of your automations.

    * [List Jobs](/client-apis/api-reference/projectsjobs/get-jobs) — Get all Jobs in a Project
    * [Create Job](/client-apis/api-reference/projectsjobs/create-job) — Create a new scheduled Job
    * [Get Job](/client-apis/api-reference/projectsjobs/get-job) — Get Job details
    * [Update Job](/client-apis/api-reference/projectsjobs/update-job) — Modify Job configuration
    * [Delete Job](/client-apis/api-reference/projectsjobs/delete-job) — Remove a Job
    * [Pause Job](/client-apis/api-reference/projectsjobs/pause-job) — Pause a running Job
    * [Resume Job](/client-apis/api-reference/projectsjobs/resume-job) — Resume a paused Job
    * [Trigger Job](/client-apis/api-reference/projectsjobs/trigger-job) — Manually trigger a Job execution
    * [List JobRuns](/client-apis/api-reference/projectsjobsruns/get-job-runs) — Get all JobRuns for a Job
    * [Get JobRun](/client-apis/api-reference/projectsjobsruns/get-job-run) — Get details of a specific JobRun
    * [Terminate JobRun](/client-apis/api-reference/projectsjobsruns/terminate-job-run) — Stop a running Job execution
  </Accordion>

  <Accordion title="AuthSessions" icon="key">
    Create and manage authentication sessions for automations that require login.

    * [List AuthSessions](/client-apis/api-reference/projectsauthsessions/get-authsessions) — Get all AuthSessions in a Project
    * [Get AuthSession](/client-apis/api-reference/projectsauthsessions/get-authsession) — Get AuthSession details
    * [Delete AuthSession](/client-apis/api-reference/projectsauthsessions/delete-authsession) — Remove an AuthSession
    * [Validate AuthSession (start)](/client-apis/api-reference/projectsauthsessionsvalidate/validate-authsession--start) — Start validation of an AuthSession
    * [Validate AuthSession (result)](/client-apis/api-reference/projectsauthsessionsvalidate/validate-authsession--result) — Get validation result
    * [Create AuthSession (start)](/client-apis/api-reference/projectsauthsessionscreate/create-authsession--start) — Start creating an AuthSession
    * [Create AuthSession (result)](/client-apis/api-reference/projectsauthsessionscreate/create-authsession--result) — Get creation result
    * [Update AuthSession (start)](/client-apis/api-reference/projectsauthsessionsupdate/update-authsession--start) — Start updating an AuthSession
    * [Update AuthSession (result)](/client-apis/api-reference/projectsauthsessionsupdate/update-authsession--result) — Get update result
  </Accordion>

  <Accordion title="Web Tasks" icon="wand-magic-sparkles">
    Run repeatable web tasks from a natural-language prompt. No project required. See the [Web Tasks overview](/main/07-web-tasks/overview) for concepts.

    * [Start a Web Task](/client-apis/api-reference/webtasks/web-task--start) — Submit a task and get a `webTaskId`
    * [Get Web Task result](/client-apis/api-reference/webtasks/web-task--result) — Poll for status and retrieve the result
  </Accordion>

  <Accordion title="Sinks" icon="database">
    Configure where Job results are delivered.

    * [Overview](/client-apis/api-reference/sinks/overview) — Learn how sinks work
    * [Webhook](/client-apis/api-reference/sinks/webhook) — Send results to a webhook URL
    * [S3](/client-apis/api-reference/sinks/s3) — Store results in Amazon S3
    * [Body](/client-apis/api-reference/sinks/body) — Include results in the API response
  </Accordion>
</AccordionGroup>

<CardGroup cols={2}>
  <Card title="OpenAPI Specification" icon="https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/openapi/openapi-plain.svg" href="https://intuned-docs-public-images.s3.us-west-2.amazonaws.com/openapi.yaml" />

  <Card title="Import into Postman" icon="https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/postman/postman-original.svg" href="https://elements.getpostman.com/view/import?apiSchemaUrl=https://intuned-docs-public-images.s3.us-west-2.amazonaws.com/openapi.yaml" />
</CardGroup>

## Prerequisites

All API requests require your workspace ID and an API key.

<CardGroup cols={2}>
  <Card title="Get your workspace ID" icon="building" href="/docs/03-how-to/manage/manage-workspace#how-to-get-your-workspace-id">
    Find your workspace ID in settings
  </Card>

  <Card title="Manage API keys" icon="key" href="/docs/03-how-to/manage/manage-api-keys">
    Create and manage API keys
  </Card>
</CardGroup>

## Client libraries

### JavaScript

Install the `@intuned/client` package:

<Tabs>
  <Tab title="npm">
    ```bash theme={null}
    npm install @intuned/client
    ```
  </Tab>

  <Tab title="yarn">
    ```bash theme={null}
    yarn add @intuned/client
    ```
  </Tab>

  <Tab title="pnpm">
    ```bash theme={null}
    pnpm add @intuned/client
    ```
  </Tab>
</Tabs>

```typescript theme={null}
import { IntunedClient } from "@intuned/client";

const client = new IntunedClient({
  apiKey: "<YOUR_API_KEY>",
  workspaceId: "<YOUR_WORKSPACE_ID>",
});

// Start an async run
const result = await client.projects.runs.start("my-project", {
  api: "scrape-products",
  parameters: { page: 1 },
});

console.log(result.runId);
```

For [Web Tasks](/main/07-web-tasks/overview), `client.webTasks.run()` submits the task and polls for the result for you:

```typescript theme={null}
const result = await client.webTasks.run({
  task: "Scrape companies from the YC directory",
  parameters: { batch: "S24" },
  reuseKey: "yc_companies",
});

console.log(result.status, result.outcome);
```

### Python

Install the `intuned-client` package:

```bash theme={null}
pip install intuned-client
```

```python theme={null}
from intuned_client import IntunedClient
from intuned_client import models

with IntunedClient(
    workspace_id="<YOUR_WORKSPACE_ID>",
    api_key="<YOUR_API_KEY>",
) as client:
    # Start an async run
    result = client.projects.runs.start(
        project_name="my-project",
        body=models.RunStartRequestBody(
            api="scrape-products",
            parameters={"page": 1},
        ),
    )
    print(result.run_id)
```

## Rate limits

Intuned APIs are rate-limited to 60 requests per minute per URI path.

<Tip>
  If you need a higher rate limit, [contact us](/docs/06-resources/help-and-support).
</Tip>
