---
title: "Create Oauth Link"
method: POST
path: "/v1/mcp-oauth-links/"
tags: ["v1", "protected", "mcp-oauth-links"]
---

# Create Oauth Link

`POST /v1/mcp-oauth-links/`

Store OAuth provider config for a container MCP instance.

## Request body

- OAuthLinkCreateRequest
  - `access_control` string — Access control level: workspace | public
  - `expires_in_days` integer, nullable — Optional link expiry in days
  - `mcp_instance_id` string, uuid, required
  - `provider_config` object — OAuth provider config: provider, auth_url, token_url, client_id, scopes, …

## Response `201`

Successful Response

- OAuthLinkResponse
  - `access_control` string, required
  - `access_count` integer, required
  - `created_at` string, required
  - `expires_at` string, nullable, required
  - `id` string, uuid, required
  - `is_active` boolean, required
  - `last_accessed_at` string, nullable, required
  - `mcp_instance_id` string, uuid, required
  - `token` string, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-07-08** `8940d7f77282` — 3 breaking
  - the `created_at` response's property type/format changed from `string`/`date-time` to `string`/`` for status `201`
  - the `expires_at/anyOf[subschema #1]/` response's property type/format changed from `string`/`date-time` to `string`/`` for status `201`
  - the `last_accessed_at/anyOf[subschema #1]/` response's property type/format changed from `string`/`date-time` to `string`/`` for status `201`

[Change history](https://skmtc.dev/agentarea/apis/agentarea-api/changes/v1/mcp-oauth-links/post.md)

---

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