---
title: "Save OAuth app credentials"
method: POST
path: "/v1/agents/{agent_id}/oauth/app-credentials"
tags: ["OAuth Connect"]
---

# Save OAuth app credentials

`POST /v1/agents/{agent_id}/oauth/app-credentials`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/agents/{agent_id}/oauth/app-credentials`
- Auth: HTTP bearer

Store custom OAuth app credentials (client ID/secret) for a provider.
Allows the agent to use a BYOA (Bring Your Own App) OAuth application
instead of 1Claw's shared credentials. Human-only.

## Path parameters

- `agent_id` string, uuid, required

## Request body

- SaveOAuthAppCredentialsRequest
  - `provider_slug` string, required: Provider this credential is for
  - `client_id` string, required
  - `client_secret` string, required: Write-only; never returned in responses
  - `redirect_uri` string, uri: Custom redirect URI override

## Response `201`

Credentials saved

- OAuthAppCredentialResponse
  - `id` string, uuid
  - `provider_slug` string
  - `client_id` string
  - `redirect_uri` string, uri, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400`: Invalid request
- `403`: Insufficient permissions
- `404`: Resource not found

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
