---
title: "Get OAuth app details"
method: GET
path: "/oauth-clients/{appId}"
tags: ["OAuth Apps"]
---

# Get OAuth app details

`GET /oauth-clients/{appId}`

Returns the full configuration of an OAuth app you registered. The `clientSecret` is never echoed back here; if you need a new one, call `POST /oauth-clients/{appId}/regenerate-secret`.

Access is creator-scoped: even org admins receive `404` for apps owned by other users. This avoids leaking app metadata across org members and keeps the read surface symmetric with `listOAuthApps`.

## Path parameters

- `appId` string, required

## Response `200`

OAuth app details

- OAuthAppResponse — OAuth app details (without secret). Fields under `required:` always appear in `toAppResponse` (`oauth.app.service.ts`); optional URL/description fields are only present when set by the caller.
  - `id` string, required — App ID
  - `slug` string, required — URL-friendly app slug
  - `clientId` string, required — OAuth client ID
  - `name` string, required — App name
  - `description` string — App description
  - `redirectUris` string[], required — Allowed redirect URIs (always returned; may be empty)
  - `allowedGrantTypes` string[], required — Allowed grant types
  - `allowedScopes` string[], required — Allowed scopes
  - `status` 'active' | 'suspended' | 'revoked', required — App status
  - `homepageUrl` string, uri — App homepage
  - `privacyPolicyUrl` string, uri — Privacy policy URL
  - `termsOfServiceUrl` string, uri — Terms of service URL
  - `isConfidential` boolean, required — Whether app is a confidential client
  - `accessTokenLifetime` integer, required — Access token lifetime in seconds
  - `refreshTokenLifetime` integer, required — Refresh token lifetime in seconds
  - `createdAt` string, date-time, required — Creation timestamp
  - `updatedAt` string, date-time, required — Last update timestamp

## Other responses

- `401` — Unauthorized
- `403` — Forbidden — caller cannot access this OAuth app (creator-only; see OAuth Apps tag).
- `404` — OAuth app not found or not visible to this caller (each user only sees apps they created)
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/pipeshub-ai/apis/pipeshub-api.md) · [All operations](https://skmtc.net/pipeshub-ai/apis/pipeshub-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pipeshub-ai/pipeshub-api/versions/abd27cfefc73/schema)
