From 943f6f9ca866172220edf061f36f7309d729be9b Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Sat, 21 Jun 2025 17:15:47 -0400 Subject: [PATCH] Add /protocols endpoint to specific exchanges. --- exchanges.yml | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 10 ++++++++++ 2 files changed, 61 insertions(+) diff --git a/exchanges.yml b/exchanges.yml index 27bb277..7bad586 100644 --- a/exchanges.yml +++ b/exchanges.yml @@ -180,6 +180,36 @@ paths: description: Not Authorized "500": description: Internal Error + /workflows/{localWorkflowId}/exchanges/{localExchangeId}/protocols: + get: + summary: Gets the supported protocols for interacting with a specific exchange. + tags: + - Exchanges + security: + - networkAuth: [] + - oAuth2: [] + - zCap: [] + operationId: getSupportedProtocolsConfiguration + description: Gets the supported protocols for interacting with a specific exchange. + x-expectedCaller: + - Verification Coordinator + - Holder Coordinator + parameters: + - $ref: "./components/parameters/path/LocalWorkflowId.yml" + - $ref: "./components/parameters/path/LocalExchangeId.yml" + responses: + "200": + description: Protocols understood by the exchange. + content: + application/json: + schema: + $ref: "#/components/schemas/GetExchangeProtocolsResponse" + "400": + description: Invalid input + "401": + description: Not Authorized + "500": + description: Internal Error components: securitySchemes: $ref: "./components/SecuritySchemes.yml#/components/securitySchemes" @@ -305,6 +335,27 @@ components: redirectUrl: type: string description: The URL the exchange wishes to redirect the client to. + GetExchangeProtocolsResponse: + type: object + additionalProperties: false + description: Object containing information about the protocols that can be used to perform a specific exchange. + properties: + protocols: + type: object + description: An object containing one or more protocols that can be used to perform the specific exchange. + properties: + interact: + type: string + description: A URL that can be used during human-in-the-loop exchange flows. + vcapi: + type: string + description: The URL to use when initiating a VC API exchange. + OID4VP: + type: string + description: The URL to use when initiating an OID4VP presentation. + OID4VCI: + type: string + description: The URL to use when initiating an OID4VCI issuance. GetExchangeResponse: type: object additionalProperties: false diff --git a/index.html b/index.html index f1f6887..975f007 100644 --- a/index.html +++ b/index.html @@ -1289,6 +1289,7 @@

Get Workflow Configuration

endpoint. This impacts the lifetime of challenges associated with such an exchange: if a challenge is bound to an exchange, that challenge ceases to be valid at the date referenced by the `expires` property of the exchange.

+

Create Exchange

@@ -1298,6 +1299,15 @@

Create Exchange

data-api-endpoint="post /workflows/{localWorkflowId}/exchanges">
+
+

Get Exchange Protocols

+

+

+ +
+
+

Participate in an Exchange