{ "openapi": "3.0.0", "paths": { "/api/v1/invitations": { "post": { "operationId": "ConnectionController_createInvitation", "summary": "Create invitation for connection", "description": "Method will create invitation url. The id of the response will be matched when you receive event from the websocket", "tags": [ "Connections" ], "parameters": [], "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to connection manager. This error shows that connection manager could not convert request to event or connection manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/invitations/accept": { "post": { "operationId": "ConnectionController_acceptInvitation", "summary": "Accept invitation long and short urls for connection", "description": "Method will accept long and short invitation urls and will return connection thought the websocket. The id of the response will be matched when you receive event from the websocket", "tags": [ "Connections" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInvitationResponseDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "invitationUrl must be a string", "invitationUrl should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to connection manager. This error shows that connection manager could not convert request to event or connection manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/connections": { "get": { "operationId": "ConnectionController_fetchConnections", "summary": "List all connections", "description": "The id of the response will be matched when you receive event from the websocket", "tags": [ "Connections" ], "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to connection manager. This error shows that connection manager could not convert request to event or connection manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/connections/{id}": { "get": { "operationId": "ConnectionController_getConnectionById", "summary": "Get connection by id", "description": "The method will search for connection id, if not found null will be returned. The id of the response will be matched when you receive event from the websocket", "tags": [ "Connections" ], "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to connection manager. This error shows that connection manager could not convert request to event or connection manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } }, "delete": { "operationId": "ConnectionController_deleteConnectionById", "summary": "Delete connection by id", "description": "The method will attempt to delete a connection by its ID. The id of the response will be matched when you receive an event from the websocket.", "tags": [ "Connections" ], "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to connection manager. This error shows that connection manager could not convert request to event or connection manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/schemas": { "post": { "operationId": "AttestationController_createSchema", "summary": "Create schema", "description": "Method will create schema. The id of the response will be matched when you receive event from the websocket", "tags": [ "Schema" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSchemaRequestDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "name must be a string", "name should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } }, "get": { "operationId": "AttestationController_fetchSchemas", "summary": "List all schemas", "description": "Method will fetch all schemas. The id of the response will be matched when you receive event from the websocket", "tags": [ "Schema" ], "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/schemas/get-by-id": { "post": { "operationId": "AttestationController_getSchemaById", "summary": "Get schema by id", "description": "Method will fetch specific schema or throw exception. The id of the response will be matched when you receive event from the websocket", "tags": [ "Schema" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdReqDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "id must be a string", "id should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/definitions": { "get": { "operationId": "AttestationController_credentialDefinitions", "summary": "List all created credential definitions", "description": "Method list credential definition no filters applied. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials" ], "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } }, "post": { "operationId": "AttestationController_createCredentialDefinition", "summary": "Create credential definition", "description": "Method create credential definition. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCredentialDefinitionRequestDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "schemaId must be a string", "schemaId should not be empty", "tag must be a string", "tag should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/definitions/get-by-id": { "post": { "operationId": "AttestationController_getCredentialDefinitionById", "summary": "Get credential definition by id", "description": "Method will fetch specific credential definition or return null. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IdReqDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "id must be a string", "id should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/credentials/offers": { "post": { "operationId": "AttestationController_offerCredential", "summary": "Offer credential", "description": "Method offer credential, it will create an offer and send it to specified receiver (connectionId). In case connectionId not provided, it will create connectionless credential offer. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OfferCredentialRequestDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "connectionId must be a string", "connectionId should not be empty", "credentialDefinitionId must be a string", "credentialDefinitionId should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/credentials": { "get": { "operationId": "AttestationController_fetchCredentials", "summary": "List all credential", "description": "Method list credential definition based on provided filters. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials" ], "parameters": [ { "name": "states", "required": false, "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "proposal-sent", "proposal-received", "offer-sent", "offer-received", "declined", "request-sent", "request-received", "credential-issued", "credential-received", "done", "abandoned" ] } } }, { "name": "connectionId", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/credentials/{id}": { "get": { "operationId": "AttestationController_getCredentialById", "summary": "Get credential by ID", "description": "Method retrieves a specific credential based on the provided ID or returns null if not found. The ID of the response will be matched when you receive an event from the websocket", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "id must be a string", "id should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } }, "delete": { "operationId": "AttestationController_deleteCredentialById", "summary": "Delete a credential by ID", "description": "Method deletes a specific credential based on provided ID. The id of the response will be matched when you receive an event from the websocket", "tags": [ "Credentials" ], "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "credentialId must be a string", "credentialId should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/credentials/offers/accept": { "post": { "operationId": "AttestationController_acceptCredential", "summary": "Accept credential offers", "description": "Method list accept credential offer. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials Offers" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcceptCredentialDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/credentials/offers/{credential_record_id}/decline": { "post": { "operationId": "AttestationController_declineCredential", "summary": "Decline credential offers", "description": "Method to decline a credential offer. The id of the response will be matched when you receive an event from the websocket.", "tags": [ "Credentials Offers" ], "parameters": [ { "name": "credential_record_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/messages": { "post": { "operationId": "AttestationController_sendMessage", "summary": "Send basic message", "description": "Method will send basic message to a connection. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials Offers" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MakeBasicMessageRequestDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "connectionId must be a string", "connectionId should not be empty", "message must be a string", "message should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } }, "get": { "operationId": "AttestationController_fetchBasicMessages", "summary": "Fetch messages based on filters", "description": "Method will list and return messages based on the provided filters. The id of the response will be matched when you receive event from the websocket", "tags": [ "Messages" ], "parameters": [ { "name": "role", "required": false, "in": "query", "schema": { "enum": [ "sender", "receiver" ], "type": "string" } }, { "name": "connectionId", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "message must be a string", "message should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/messages/{id}": { "delete": { "operationId": "AttestationController_deleteBasicMessage", "summary": "Delete message by ID", "description": "Method will delete a specific message by ID. The id of the response will be matched when you receive an event from the websocket", "tags": [ "Messages" ], "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "messageId must be a string", "messageId should not be empty" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to attestation manager. This error shows that attestation manager could not convert request to event or attestation manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/proofs": { "get": { "operationId": "ProofController_fetchProofs", "summary": "List received unaccepted proofs", "description": "This method list proofs based on provided filters. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials Proof" ], "parameters": [ { "name": "states", "required": false, "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "proposal-sent", "proposal-received", "request-sent", "request-received", "presentation-sent", "presentation-received", "declined", "abandoned", "done" ] } } }, { "name": "connectionId", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to proof manager. This error shows that proof manager could not convert request to event or proof manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/proofs/{proof_record_id}": { "get": { "operationId": "ProofController_getProofById", "summary": "Get a single proof record by providing proof record id.", "description": "Method get proof by id. Status - request-receive. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials Proof" ], "parameters": [ { "name": "proof_record_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to proof manager. This error shows that proof manager could not convert request to event or proof manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } }, "delete": { "operationId": "ProofController_deleteProofById", "summary": "Delete a proof record by its ID", "description": "This method deletes a specific proof based on the provided ID. The ID of the response will be matched when you receive an event from the websocket", "tags": [ "Credentials Proof" ], "parameters": [ { "name": "proof_record_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to proof manager. This error shows that proof manager could not convert request to event or proof manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/proofs/request": { "post": { "operationId": "ProofController_requestProof", "summary": "Request proof for credential", "description": "Method will request proof. If connection id is not passed, the proof will be OOB. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials Proof" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RequestProofDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "400": { "description": "Validation error", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 400 }, "message": { "type": "array", "example": [ "attributes must contain at least 1 elements", "attributes must be an array" ] }, "error": { "type": "string", "example": "Bad Request" } } } } } }, "500": { "description": "Error in sending data to proof manager. This error shows that proof manager could not convert request to event or proof manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/proofs/accept": { "post": { "operationId": "ProofController_acceptProof", "summary": "Accept credential proof", "description": "Method accept credential proof. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials Proof" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcceptProofDto" } } } }, "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to proof manager. This error shows that proof manager could not convert request to event or proof manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } }, "/api/v1/proofs/{proof_record_id}/decline": { "post": { "operationId": "ProofController_declineProofRequest", "summary": "Decline a proof request.", "description": "Method to decline a proof request by id. Status - request-receive. The id of the response will be matched when you receive event from the websocket", "tags": [ "Credentials Proof" ], "parameters": [ { "name": "proof_record_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { "description": "Request is accepted for execution, the response id will match the event id received from the web socket", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GatewayAcceptedResponseDto" } } } }, "500": { "description": "Error in sending data to proof manager. This error shows that proof manager could not convert request to event or proof manager could not send the event to the broker.", "content": { "application/json": { "schema": { "type": "object", "properties": { "statusCode": { "type": "number", "example": 500 }, "message": { "type": "string", "example": "connect ECONNREFUSED 0.0.0.0:1234" } } } } } } } } } }, "info": { "title": "OCM Gateway", "description": "OCM ENGINE GATEWAY API", "version": "1.0", "contact": {} }, "tags": [], "servers": [ { "url": "http://0.0.0.0:8081" } ], "components": { "schemas": { "CloudEventDto": { "type": "object", "properties": {} }, "DtosModule": { "type": "object", "properties": {} }, "ConnectionRecordDto": { "type": "object", "properties": { "state": { "enum": [ "start", "invitation-sent", "invitation-received", "request-sent", "request-received", "response-sent", "response-received", "abandoned", "completed" ], "type": "string" }, "connectionName": { "type": "string" }, "alias": { "type": "string" }, "did": { "type": "string" }, "invitationDid": { "type": "string" }, "outOfBandId": { "type": "string" }, "id": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "state", "id", "createdAt" ] }, "CreddefRecordDto": { "type": "object", "properties": { "schemaId": { "type": "string" }, "issuerId": { "type": "string" }, "tag": { "type": "string" }, "id": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "schemaId", "issuerId", "tag", "id", "createdAt" ] }, "OfferCredentialAttributes": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ] }, "CredentialRecordDto": { "type": "object", "properties": { "state": { "enum": [ "proposal-sent", "proposal-received", "offer-sent", "offer-received", "declined", "request-sent", "request-received", "credential-issued", "credential-received", "done", "abandoned" ], "type": "string" }, "credentialRecordType": { "type": "string" }, "connectionId": { "type": "string" }, "attributes": { "type": "array", "items": { "$ref": "#/components/schemas/OfferCredentialAttributes" } }, "tags": { "type": "object" }, "id": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "state", "credentialRecordType", "tags", "id", "createdAt" ] }, "CredentialFormatDataDto": { "type": "object", "properties": { "proposalAttributes": { "type": "array", "items": { "type": "object" } }, "offerAttributes": { "type": "array", "items": { "type": "object" } }, "anoncredsProposal": { "type": "object" }, "anoncredsOffer": { "type": "object" }, "anoncredsRequest": { "type": "object" }, "anoncredsCredential": { "type": "object" } } }, "CredentialFilterDto": { "type": "object", "properties": { "states": { "type": "array", "items": { "type": "string", "enum": [ "proposal-sent", "proposal-received", "offer-sent", "offer-received", "declined", "request-sent", "request-received", "credential-issued", "credential-received", "done", "abandoned" ] } }, "connectionId": { "type": "string" } } }, "ProofRecordDto": { "type": "object", "properties": { "connectionId": { "type": "string" }, "state": { "enum": [ "proposal-sent", "proposal-received", "request-sent", "request-received", "presentation-sent", "presentation-received", "declined", "abandoned", "done" ], "type": "string" }, "tags": { "type": "object" }, "id": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "state", "tags", "id", "createdAt" ] }, "ProofFormatDataDto": { "type": "object", "properties": { "anoncredsProposal": { "type": "object" }, "anoncredsRequest": { "type": "object" }, "anoncredsPresentation": { "type": "object" } } }, "ProofFilterDto": { "type": "object", "properties": { "states": { "type": "array", "items": { "type": "string", "enum": [ "proposal-sent", "proposal-received", "request-sent", "request-received", "presentation-sent", "presentation-received", "declined", "abandoned", "done" ] } }, "connectionId": { "type": "string" } } }, "SchemaRecordDto": { "type": "object", "properties": { "name": { "type": "string" }, "attributes": { "type": "array", "items": { "type": "string" } }, "version": { "type": "string" }, "issuerId": { "type": "string" }, "methodName": { "type": "string" }, "id": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "name", "attributes", "version", "id", "createdAt" ] }, "MessageRecordDto": { "type": "object", "properties": { "connectionId": { "type": "string", "example": "6464b521-005a-4379-91e0-a3692b31cafd" }, "role": { "enum": [ "sender", "receiver" ], "type": "string" }, "sentTime": { "type": "string" }, "from": { "type": "string", "example": "example-ocm-name" }, "to": { "type": "string", "example": "example-ocm-name" }, "content": { "type": "string", "example": "hello world" }, "id": { "type": "string" }, "createdAt": { "format": "date-time", "type": "string" }, "updatedAt": { "format": "date-time", "type": "string" } }, "required": [ "connectionId", "role", "sentTime", "content", "id", "createdAt" ] }, "MessageFilterDto": { "type": "object", "properties": { "role": { "enum": [ "sender", "receiver" ], "type": "string" }, "connectionId": { "type": "string" } } }, "AcceptProofDto": { "type": "object", "properties": { "proofId": { "type": "string" }, "proofUrl": { "type": "string" } }, "required": [ "proofId", "proofUrl" ] }, "AcceptCredentialDto": { "type": "object", "properties": { "credentialId": { "type": "string" }, "credentialUrl": { "type": "string" } }, "required": [ "credentialId", "credentialUrl" ] }, "IdReqDto": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ] }, "CreateSchemaRequestDto": { "type": "object", "properties": { "name": { "type": "string", "example": "my test schema" }, "attributes": { "example": [ "first_name, last_name" ], "type": "array", "items": { "type": "string" } }, "version": { "type": "string", "example": "1.0.2", "pattern": "/^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$/" } }, "required": [ "name", "attributes", "version" ] }, "CreateCredentialDefinitionRequestDto": { "type": "object", "properties": { "schemaId": { "type": "string" }, "tag": { "type": "string" } }, "required": [ "schemaId", "tag" ] }, "OfferCredentialRequestDto": { "type": "object", "properties": { "connectionId": { "type": "string", "example": "6464b521-005a-4379-91e0-a3692b31cafd" }, "credentialDefinitionId": { "type": "string" }, "attributes": { "type": "array", "items": { "$ref": "#/components/schemas/OfferCredentialAttributes" } } }, "required": [ "credentialDefinitionId", "attributes" ] }, "RequestProofAttribute": { "type": "object", "properties": { "attributeName": { "type": "string" }, "credentialDefinitionId": { "type": "string" }, "schemaId": { "type": "string" } }, "required": [ "attributeName", "credentialDefinitionId", "schemaId" ] }, "RequestProofDto": { "type": "object", "properties": { "connectionId": { "type": "string", "example": "6464b521-005a-4379-91e0-a3692b31cafd" }, "attributes": { "type": "array", "items": { "$ref": "#/components/schemas/RequestProofAttribute" } } }, "required": [ "attributes" ] }, "MakeBasicMessageRequestDto": { "type": "object", "properties": { "connectionId": { "type": "string", "example": "6464b521-005a-4379-91e0-a3692b31cafd" }, "content": { "type": "string", "example": "hello world" } }, "required": [ "connectionId", "content" ] }, "RequestProofResponseDto": { "type": "object", "properties": { "proofUrl": { "type": "string", "nullable": true }, "shortProofUrl": { "type": "string", "nullable": true }, "proofRecord": { "$ref": "#/components/schemas/ProofRecordDto" } }, "required": [ "proofUrl", "shortProofUrl", "proofRecord" ] }, "CredentialOfferResponseDto": { "type": "object", "properties": { "credentialUrl": { "type": "string", "nullable": true }, "shortCredentialUrl": { "type": "string", "nullable": true }, "credentialRecord": { "$ref": "#/components/schemas/CredentialRecordDto" } }, "required": [ "credentialUrl", "shortCredentialUrl", "credentialRecord" ] }, "CreateInvitationResponseDto": { "type": "object", "properties": { "invitationUrl": { "type": "string", "description": "Example of long invitation url", "example": "http://0.0.0.0:8001?oob=eyJAdHlwZSI6Imh0dHBzOi8vZGlkY29tbS5vcmcvb3V0LW9mLWJhbmQvMS4xL2ludml0YXRpb24iLCJAaWQiOiIzYWExNGIzNC04YTk5LTQxY2UtYTY3NC1jODUxYmVhMTIxMWEiLCJsYWJlbCI6IkRFeGNWYXNkX0FHRU5UXzQ1IiwiYWNjZXB0IjpbImRpZGNvbW0vYWlwMSIsImRpZGNvbW0vYWlwMjtlbnY9cmZjMTkiXSwiaGFuZHNoYWtlX3Byb3RvY29scyI6WyJodHRwczovL2RpZGNvbW0ub3JnL2RpZGV4Y2hhbmdlLzEuMCIsImh0dHBzOi8vZGlkY29tbS5vcmcvY29ubmVjdGlvbnMvMS4wIl0sInNlcnZpY2VzIjpbeyJpZCI6IiNpbmxpbmUtMCIsInNlcnZpY2VFbmRwb2ludCI6Imh0dHA6Ly8wLjAuMC4wOjgwMDEiLCJ0eXBlIjoiZGlkLWNvbW11bmljYXRpb24iLCJyZWNpcGllbnRLZXlzIjpbImRpZDprZXk6ejZNa3VFcHllc1pNa3k0a1BpQzhEOEplZERlcm55YTFuaTREMUF3ZmdnWWt6YmR4Il0sInJvdXRpbmdLZXlzIjpbXX1dfQ" }, "shortInvitationUrl": { "type": "string", "example": "http://0.0.0.0:8001/invitations/85a7c179-122b-4d2d-9a86-d92ad31cef2b" } }, "required": [ "invitationUrl", "shortInvitationUrl" ] }, "GatewayAcceptedResponseDto": { "type": "object", "properties": { "id": { "type": "string", "example": "80633e6d-c606-4539-a3df-287fedd09253" } }, "required": [ "id" ] }, "OcmError": { "type": "object", "properties": {} }, "EntityNotFoundError": { "type": "object", "properties": {} }, "SchemaNotCreatedError": { "type": "object", "properties": {} }, "CredentialNotCreatedError": { "type": "object", "properties": {} }, "LedgerProviderFailRegistrationError": { "type": "object", "properties": {} }, "ConnectionUnsupportedTypeError": { "type": "object", "properties": {} } } } }