---
title: OAuth API
description: Authorization Code with PKCE, consent decisions, token exchange, and revocation operations.
---

## Authorize

<ApiEndpoint method="GET" path="/oauth/authorize" auth="none" />

This operation does not require an existing Zorveus credential.

### Parameters

<ParamField name="response_type" type="string" required>
  Filters or selects the request by response type.
</ParamField>

<ParamField name="client_id" type="string" required>
  Filters or selects the request by client id.
</ParamField>

<ParamField name="redirect_uri" type="string" required>
  Filters or selects the request by redirect uri.
</ParamField>

<ParamField name="scope" type="string" required>
  Filters or selects the request by scope.
</ParamField>

<ParamField name="code_challenge" type="string" required>
  Filters or selects the request by code challenge.
</ParamField>

<ParamField name="code_challenge_method" type="string" required>
  Filters or selects the request by code challenge method.
</ParamField>

<ParamField name="state" type="string">
  Filters or selects the request by state.
</ParamField>


---

## Revoke

<ApiEndpoint method="POST" path="/oauth/revoke" auth="oauth_client" />

Revoke the API key issued.

---

## Token

<ApiEndpoint method="POST" path="/oauth/token" auth="oauth_client" />

After the code has been gotten from the `/oauth/authorize` endpoint, you can exchange it for an access token (Which is the API key that can be used to make llm inference request to the Zorveus API). No refresh token is issued, so the access token will need to be re-issued after it expires.

### Responses

#### 200 Successful Response

<ResponseField name="access_token" type="string" required>
  Returns the access token value. This is the API key that can be used to make llm inference request to the Zorveus API.
</ResponseField>

<ResponseField name="api_base" type="string" required>
  Returns the api base value.
</ResponseField>

<ResponseField name="app_connection_id" type="string" required>
  Returns the app connection id value.
</ResponseField>

<ResponseField name="expires_in" type="integer" required>
  Returns the expires in value.
</ResponseField>

<ResponseField name="scope" type="string" required>
  Returns the scope value.
</ResponseField>

<ResponseField name="token_type" type="string" required>
  Returns the token type value.
</ResponseField>

---
