---
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.

---

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