---
title: "Exchange authorization code from issuer oauth provider"
method: POST
path: "/issuer/interactions/exchange-authorization-code"
tags: ["issuer"]
---

# Exchange authorization code from issuer oauth provider

`POST /issuer/interactions/exchange-authorization-code`

Exchange authorization code from issuer oauth provider.

## Request body

- ExchangeAuthorizationCodeRequest — Model for exchanging auth code from issuer oauth
  - `op_state` string, required
  - `client_id` string — Client ID for VCS OIDC interaction.
  - `client_assertion_type` string — Specifies the method used to authenticate the client application to the authorization server (VCS). The only supported value is "urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation". It indicates that the client must authenticate using OAuth 2.0 Attestation-Based Client Authentication method.
  - `client_assertion` string — The value MUST contain two JWTs, separated by a "~" character. The first JWT is the client attestation JWT, the second is the client attestation PoP JWT.

## Response `200`

OK

- ExchangeAuthorizationCodeResponse — Response model for exchanging auth code from issuer oauth
  - `tx_id` string, required
  - `authorization_details` AuthorizationDetails[] — unresolved $ref

## Other responses

- `400` — Bad request

---

[API](https://skmtc.net/trustbloc/apis/verifiable-credential-service-vcs.md) · [All operations](https://skmtc.net/trustbloc/apis/verifiable-credential-service-vcs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trustbloc/verifiable-credential-service-vcs/revisions/9e21ad997121/schema)
