> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentication and Permissions

To interact with Workflows via the Domo API, you must authenticate using an access token with the appropriate OAuth scopes or grants. This guide explains how to generate a token and what permissions are required to create, manage, and run workflows programmatically.

## Generating a Developer Token

1. Navigate to the **Admin** panel in your Domo instance.
2. Go to **Security > Access Tokens**.
3. Click **Create Token**, give it a name (e.g. `workflow-api-access`), and click **Create**.
4. Copy and store the token securely — you won’t be able to view it again.

> **Important:** Access tokens inherit the permissions of the user who created them. For production workflows, we recommend using a dedicated service account with scoped permissions.

## Required OAuth Scopes / Grants

To use the Workflow API, the token must be associated with a user who has the **Workflow API grant** enabled.

### Required grant:

* `Workflow API`

This grant allows:

* Listing workflows
* Creating and modifying workflows
* Executing workflows via API
* Retrieving logs and statuses

> You can verify that your user has this grant under `Admin > Roles > Grants` in your instance. If not, an admin must assign or create a custom role that includes it.

## API Authentication Example

Use your access token as a Bearer token in the `Authorization` header:

```bash theme={"dark"}
curl -X GET "https://api.domo.com/v1/workflows" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

## Troubleshooting Access Issues

| Error Code         | Meaning                                          | Fix                                                                  |
| ------------------ | ------------------------------------------------ | -------------------------------------------------------------------- |
| `401 Unauthorized` | Missing or invalid token                         | Ensure the token is correct and included in the Authorization header |
| `403 Forbidden`    | Token lacks required grants                      | Confirm that the token's user has the Workflow API grant             |
| `404 Not Found`    | Resource does not exist or user lacks visibility | Ensure you have access to the workflow or correct ID                 |
