---
title: "Authorize Tool"
method: POST
path: "/v1/tools/authorize"
tags: ["Tools"]
---

# Authorize Tool

`POST /v1/tools/authorize`

Authorizes a user for a specific tool by name

## Request body

- SchemasAuthorizeToolRequest
  - `next_uri` string — Optional: if provided, the user will be redirected to this URI after authorization
  - `tool_name` string, required
  - `tool_version` string — Optional: if not provided, any version is used
  - `user_id` string — Required only when calling with an API key

## Response `200`

OK

- AuthAuthorizationResponse
  - `context` AuthAuthorizationContext
    - `token` string
    - `user_info` object
  - `id` string
  - `provider_id` string
  - `scopes` string[]
  - `status` 'not_started' | 'pending' | 'completed' | 'failed'
  - `url` string
  - `user_id` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `415` — Unsupported Media Type
- `500` — Internal Server Error

## Changes

- **2025-10-30** `f59a2fe653b8` — 1 warning
  - deleted the `header` request parameter `Authorization`

[Change history](https://skmtc.dev/arcadeai/apis/arcade-api/changes/v1/tools/authorize/post.md)

---

[API](https://skmtc.dev/arcadeai/apis/arcade-api.md) · [All operations](https://skmtc.dev/arcadeai/apis/arcade-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/arcadeai/arcade-api/revisions/a509111298b2/schema)
