---
title: "Exchange GitHub OAuth code"
method: POST
path: "/api/projects/{projectId}/credentials/github-git/exchange"
tags: ["Credentials"]
---

# Exchange GitHub OAuth code

`POST /api/projects/{projectId}/credentials/github-git/exchange`

Exchange GitHub OAuth code. Accepts a JSON request body when defined and returns the resulting resource or action status.

## Path parameters

- `projectId` string, required

## Request body

- GitHubExchangeRequest — git Hub Exchange Request payload accepted by the API.
  - `code` string, required — OAuth authorization code.
  - `redirectUri` string — OAuth redirect URI.
  - `verifier` string, required — PKCE verifier used by OAuth code exchange.
  - `enterpriseUrl` string — enterprise Url value for the git Hub Exchange Request object.
  - `credentialId` string — Credential identifier.
  - `name` string — Human-readable name.
  - `description` string — Optional human-readable description.
  - `visibility` CredentialVisibility — credential Visibility API object.
    - `tools` boolean, required — Collection of tool values.
    - `console` boolean, required — console value for the credential Visibility object.
    - `services` boolean, required — Collection of service values.
    - `hooks` boolean, required — Collection of hook values.
  - `inactive` boolean, nullable — inactive value for the git Hub Exchange Request object.

## Response `200`

Exchange result

- GitHubExchangeResponse — git Hub Exchange Response payload returned by the API.
  - `success` boolean, required — Whether the requested action succeeded.
  - `error` string — Error message when the operation failed.

## Changes

- **2026-06-01** `90fa68eb439c` — 2 breaking, 4 warning
  - added `#/components/schemas/CredentialVisibility` to the `visibility` request property `allOf` list
  - the `visibility` request property type/format changed from `object`/`` to ``/``
  - removed the request property `visibility/console`
  - removed the request property `visibility/hooks`
  - …2 more
- **2026-05-29** `2d34481e85d7` — 5 breaking, 1 warning
  - added the new required request property `visibility/console`
  - added the new required request property `visibility/hooks`
  - added the new required request property `visibility/services`
  - added the new required request property `visibility/tools`
  - …2 more

[Change history](https://skmtc.dev/ibuildthecloud/apis/discobot-server-api/changes/api/projects/:projectId/credentials/github-git/exchange/post.md)

---

[API](https://skmtc.dev/ibuildthecloud/apis/discobot-server-api.md) · [All operations](https://skmtc.dev/ibuildthecloud/apis/discobot-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ibuildthecloud/discobot-server-api/revisions/4de3fcd6be56/schema)
