OpenAPITools / OpenAPITools/openapi-generator

openapi-generator-maven-plugin reservedWordsMappings tag doesn't work

Open
#7,178 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue: Bug
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Bug Report Checklist
  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Bounty to sponsor the fix (example)
Description

When using openapi-generator maven plugin the option reservedWordsMappings is not working for Kotlin

openapi-generator version

4.3.1

OpenAPI declaration file content or url
openapi: 3.0.1
info:
  title: Agent Controller
  version: v0.0.1
servers:
  - url: /
security:
  - ApiKeyHeader: []
paths:
  /connections:
    get:
      tags:
        - connection
      summary: Query agent-to-agent connections
      parameters:
        - name: alias
          in: query
          description: Alias
          schema:
            type: string
        - name: initiator
          in: query
          description: Connection initiator
          schema:
            type: string
            enum:
              - self
              - external
        - name: invitation_key
          in: query
          description: invitation key
          schema:
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$
            type: string
        - name: my_did
          in: query
          description: My DID
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
        - name: state
          in: query
          description: Connection state
          schema:
            type: string
            enum:
              - init
              - invitation
              - request
              - response
              - active
              - error
              - inactive
        - name: their_did
          in: query
          description: Their DID
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
        - name: their_role
          in: query
          description: Their assigned connection role
          schema:
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectionList"
  /connections/{conn_id}:
    get:
      tags:
        - connection
      summary: Fetch a single connection record
      parameters:
        - name: conn_id
          in: path
          description: Connection identifier
          required: true
          schema:
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectionRecord"
  /connections/create-invitation:
    post:
      tags:
        - connection
      summary: Create a new connection invitation
      parameters:
        - name: alias
          in: query
          description: Alias
          schema:
            type: string
        - name: auto_accept
          in: query
          description: Auto-accept connection (default as per configuration)
          schema:
            type: boolean
        - name: multi_use
          in: query
          description: Create invitation for multiple use (default false)
          schema:
            type: boolean
        - name: public
          in: query
          description: Create invitation from public DID (default false)
          schema:
            type: boolean
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvitationResult"
  /connections/{conn_id}/accept-invitation:
    post:
      tags:
        - connection
      summary: Accept a stored connection invitation
      parameters:
        - name: conn_id
          in: path
          description: Connection identifier
          required: true
          schema:
            type: string
        - name: my_endpoint
          in: query
          description: My URL endpoint
          schema:
            pattern: ^[A-Za-z0-9\.\-\+]+://([A-Za-z0-9][.A-Za-z0-9-]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$
            type: string
        - name: my_label
          in: query
          description: Label for connection
          schema:
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectionRecord"
  /connections/{conn_id}/accept-request:
    post:
      tags:
        - connection
      summary: Accept a stored connection request
      parameters:
        - name: conn_id
          in: path
          description: Connection identifier
          required: true
          schema:
            type: string
        - name: my_endpoint
          in: query
          description: My URL endpoint
          schema:
            pattern: ^[A-Za-z0-9\.\-\+]+://([A-Za-z0-9][.A-Za-z0-9-]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectionRecord"
  /connections/{conn_id}/remove:
    post:
      tags:
        - connection
      summary: Remove an existing connection record
      parameters:
        - name: conn_id
          in: path
          description: Connection identifier
          required: true
          schema:
            type: string
      responses:
        200:
          description: ""
  /present-proof/records:
    get:
      tags:
        - present-proof
      summary: Fetch all present-proof exchange records
      parameters:
        - name: connection_id
          in: query
          description: Connection identifier
          schema:
            type: string
            format: uuid
        - name: role
          in: query
          description: Role assigned in presentation exchange
          schema:
            type: string
            enum:
              - prover
              - verifier
        - name: state
          in: query
          description: Presentation exchange state
          schema:
            type: string
            enum:
              - proposal_sent
              - proposal_received
              - request_sent
              - request_received
              - presentation_sent
              - presentation_received
              - verified
              - presentation_acked
        - name: thread_id
          in: query
          description: Thread identifier
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchangeList"
  /present-proof/records/{pres_ex_id}:
    get:
      tags:
        - present-proof
      summary: Fetch a single presentation exchange record
      parameters:
        - name: pres_ex_id
          in: path
          description: Presentation exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchange"
  /present-proof/records/{pres_ex_id}/credentials:
    get:
      tags:
        - present-proof
      summary: Fetch credentials for a presentation request from wallet
      responses:
        200:
          description: ""

      parameters:
        - name: pres_ex_id
          in: path
          description: Presentation exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
        - name: count
          in: query
          description: Maximum number to retrieve
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: extra_query
          in: query
          description: (JSON) object mapping referents to extra WQL queries
          schema:
            pattern: ^{\s*".*?"\s*:\s*{.*?}\s*(,\s*".*?"\s*:\s*{.*?}\s*)*\s*}$
            type: string
        - name: referent
          in: query
          description: Proof request referents of interest, comma-separated
          schema:
            type: string
        - name: start
          in: query
          description: Start index
          schema:
            minimum: 0
            type: integer
            format: int32
  /present-proof/send-proposal:
    post:
      tags:
        - present-proof
      summary: Sends a presentation proposal
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10PresentationProposalRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchange"
      x-codegen-request-body-name: body
  /present-proof/create-request:
    post:
      tags:
        - present-proof
      summary:
        "\n    Creates a presentation request not bound to any proposal or\
        \ existing connection\n    "
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10PresentationCreateRequestRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchange"
      x-codegen-request-body-name: body
  /present-proof/send-request:
    post:
      tags:
        - present-proof
      summary: Sends a free presentation request not bound to any proposal
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10PresentationSendRequestRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchange"
      x-codegen-request-body-name: body
  /present-proof/records/{pres_ex_id}/send-request:
    post:
      tags:
        - present-proof
      summary: Sends a presentation request in reference to a proposal
      parameters:
        - name: pres_ex_id
          in: path
          description: Presentation exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10PresentationSendRequestRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchange"
      x-codegen-request-body-name: body
  /present-proof/records/{pres_ex_id}/send-presentation:
    post:
      tags:
        - present-proof
      summary: Sends a proof presentation
      parameters:
        - name: pres_ex_id
          in: path
          description: Presentation exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10PresentationRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchange"
      x-codegen-request-body-name: body
  /present-proof/records/{pres_ex_id}/verify-presentation:
    post:
      tags:
        - present-proof
      summary: Verify a received presentation
      parameters:
        - name: pres_ex_id
          in: path
          description: Presentation exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10PresentationExchange"
  /present-proof/records/{pres_ex_id}/remove:
    post:
      tags:
        - present-proof
      summary: Remove an existing presentation exchange record
      responses:
        200:
          description: ""
      parameters:
        - name: pres_ex_id
          in: path
          description: Presentation exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
  /issue-credential/records:
    get:
      tags:
        - issue-credential
      summary: Fetch all credential exchange records
      parameters:
        - name: connection_id
          in: query
          description: Connection identifier
          schema:
            type: string
            format: uuid
        - name: role
          in: query
          description: Role assigned in credential exchange
          schema:
            type: string
            enum:
              - issuer
              - holder
        - name: state
          in: query
          description: Credential exchange state
          schema:
            type: string
            enum:
              - proposal_sent
              - proposal_received
              - offer_sent
              - offer_received
              - request_sent
              - request_received
              - credential_issued
              - credential_received
              - credential_acked
        - name: thread_id
          in: query
          description: Thread identifier
          schema:
            type: string
            format: uuid
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchangeListResult"
  /issue-credential/records/{cred_ex_id}:
    get:
      tags:
        - issue-credential
      summary: Fetch a single credential exchange record
      parameters:
        - name: cred_ex_id
          in: path
          description: Credential exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
  /issue-credential/create:
    post:
      tags:
        - issue-credential
      summary: Send holder a credential, automating entire flow
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10CredentialCreate"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
      x-codegen-request-body-name: body
  /issue-credential/send:
    post:
      tags:
        - issue-credential
      summary: Send holder a credential, automating entire flow
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10CredentialProposalRequestMand"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
      x-codegen-request-body-name: body
  /issue-credential/send-proposal:
    post:
      tags:
        - issue-credential
      summary: Send issuer a credential proposal
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10CredentialProposalRequestOpt"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
      x-codegen-request-body-name: body
  /issue-credential/send-offer:
    post:
      tags:
        - issue-credential
      summary: Send holder a credential offer, independent of any proposal
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10CredentialOfferRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
      x-codegen-request-body-name: body
  /issue-credential/records/{cred_ex_id}/send-offer:
    post:
      tags:
        - issue-credential
      summary: Send holder a credential offer in reference to a proposal with preview
      parameters:
        - name: cred_ex_id
          in: path
          description: Credential exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
  /issue-credential/records/{cred_ex_id}/send-request:
    post:
      tags:
        - issue-credential
      summary: Send issuer a credential request
      parameters:
        - name: cred_ex_id
          in: path
          description: Credential exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
  /issue-credential/records/{cred_ex_id}/issue:
    post:
      tags:
        - issue-credential
      summary: Send holder a credential
      parameters:
        - name: cred_ex_id
          in: path
          description: Credential exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10CredentialIssueRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/V10CredentialExchange"
      x-codegen-request-body-name: body
  /issue-credential/revoke:
    post:
      tags:
        - issue-credential
      summary: Revoke an issued credential
      responses:
        200:
          description: ""

      parameters:
        - name: cred_rev_id
          in: query
          description: Credential revocation identifier
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: rev_reg_id
          in: query
          description: Revocation registry identifier
          required: true
          schema:
            pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)
            type: string
        - name: publish
          in: query
          description:
            (True) publish revocation to ledger immediately, or (False) mark
            it pending (default value)
          schema:
            type: boolean
  /issue-credential/records/{cred_ex_id}/remove:
    post:
      tags:
        - issue-credential
      summary: Remove an existing credential exchange record
      responses:
        200:
          description: ""
      parameters:
        - name: cred_ex_id
          in: path
          description: Credential exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
  /issue-credential/records/{cred_ex_id}/problem-report:
    post:
      tags:
        - issue-credential
      summary: Send a problem report for credential exchange
      parameters:
        - name: cred_ex_id
          in: path
          description: Credential exchange identifier
          required: true
          schema:
            pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
            type: string
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/V10CredentialProblemReportRequest"
        required: false
      responses:
        200:
          description: ""
      x-codegen-request-body-name: body
  /credential/mime-types/{credential_id}:
    get:
      tags:
        - credentials
      summary: Get attribute MIME types from wallet
      parameters:
        - name: credential_id
          in: path
          description: Credential identifier
          required: true
          schema:
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AttributeMimeTypesResult"
  /credential/{credential_id}/remove:
    post:
      tags:
        - credentials
      summary: Remove a credential from the wallet by id
      responses:
        200:
          description: ""
      parameters:
        - name: credential_id
          in: path
          description: Credential identifier
          required: true
          schema:
            type: string
  /credentials:
    get:
      tags:
        - credentials
      summary: Fetch credentials from wallet
      parameters:
        - name: count
          in: query
          description: Maximum number to retrieve
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: start
          in: query
          description: Start index
          schema:
            minimum: 0
            type: integer
            format: int32
        - name: wql
          in: query
          description: (JSON) WQL query
          schema:
            pattern: ^{.*}$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CredentialsList"
  /credential-definitions:
    post:
      tags:
        - credential-definition
      summary: Sends a credential definition to the ledger
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/CredentialDefinitionSendRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CredentialDefinitionSendResults"
      x-codegen-request-body-name: body
  /credential-definitions/created:
    get:
      tags:
        - credential-definition
      summary: Search for matching credential definitions that agent originated
      parameters:
        - name: cred_def_id
          in: query
          description: Credential definition id
          schema:
            pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
            type: string
        - name: issuer_did
          in: query
          description: Issuer DID
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
        - name: schema_id
          in: query
          description: Schema identifier
          schema:
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
            type: string
        - name: schema_issuer_did
          in: query
          description: Schema issuer DID
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
        - name: schema_name
          in: query
          description: Schema name
          schema:
            type: string
        - name: schema_version
          in: query
          description: Schema version
          schema:
            pattern: ^[0-9.]+$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CredentialDefinitionsCreatedResults"
  /credential-definitions/{cred_def_id}:
    get:
      tags:
        - credential-definition
      summary: Gets a credential definition from the ledger
      parameters:
        - name: cred_def_id
          in: path
          description: Credential definition identifier
          required: true
          schema:
            pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CredentialDefinitionGetResults"
  /schemas:
    post:
      tags:
        - schema
      summary: Sends a schema to the ledger
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/SchemaSendRequest"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SchemaSendResults"
      x-codegen-request-body-name: body
  /schemas/created:
    get:
      tags:
        - schema
      summary: Search for matching schema that agent originated
      parameters:
        - name: schema_id
          in: query
          description: Schema identifier
          schema:
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
            type: string
        - name: schema_issuer_did
          in: query
          description: Schema issuer DID
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
        - name: schema_name
          in: query
          description: Schema name
          schema:
            type: string
        - name: schema_version
          in: query
          description: Schema version
          schema:
            pattern: ^[0-9.]+$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SchemasCreatedResults"
  /schemas/{schema_id}:
    get:
      tags:
        - schema
      summary: Gets a schema from the ledger
      parameters:
        - name: schema_id
          in: path
          description: Schema identifier
          required: true
          schema:
            pattern: ^[1-9][0-9]*|[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SchemaGetResults"
  /wallet/did:
    get:
      tags:
        - wallet
      summary: List wallet DIDs
      parameters:
        - name: did
          in: query
          description: DID of interest
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
        - name: public
          in: query
          description: Whether DID is on the ledger
          schema:
            type: boolean
        - name: verkey
          in: query
          description: Verification key of interest
          schema:
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DIDList"
  /wallet/did/create:
    post:
      tags:
        - wallet
      summary: Create a local DID
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DIDResult"
  /wallet/did/public:
    get:
      tags:
        - wallet
      summary: Fetch the current public DID
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DIDResult"
    post:
      tags:
        - wallet
      summary: Assign the current public DID
      parameters:
        - name: did
          in: query
          description: DID of interest
          required: true
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DIDResult"
  /wallet/set-did-endpoint:
    post:
      tags:
        - wallet
      summary: Update endpoint in wallet and, if public, on ledger
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/DIDEndpoint"
        required: false
      responses:
        200:
          description: ""
      x-codegen-request-body-name: body
  /wallet/get-did-endpoint:
    get:
      tags:
        - wallet
      summary: Query DID endpoint in wallet
      parameters:
        - name: did
          in: query
          description: DID of interest
          required: true
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DIDEndpoint"
  /wallet/did/local/rotate-keypair:
    patch:
      tags:
        - wallet
      summary: Rotate keypair for a local non-public DID
      responses:
        200:
          description: ""
      parameters:
        - name: did
          in: query
          description: DID of interest
          required: true
          schema:
            pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
            type: string
  /wallet:
    get:
      tags:
        - wallet
      responses:
        200:
          description: ""

      summary: Get identifiers of all handled wallets.
    post:
      tags:
        - wallet
      summary: Add new wallet to be handled by this agent.
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/AddWallet"
        required: false
      responses:
        200:
          description: ""
      x-codegen-request-body-name: body
    head:
      tags:
        - wallet
      responses:
        200:
          description: ""
      summary: Get identifiers of all handled wallets.
  /wallet/{id}/remove:
    post:
      tags:
        - wallet
      summary: Remove a wallet from handled wallets and delete it from storage.
      responses:
        200:
          description: ""
      parameters:
        - name: id
          in: path
          description: Identifier of wallet.
          required: true
          schema: {}
  /connections/invite-with-endpoint:
    post:
      tags:
        - connection
      summary: Create a new connection invitation for a specific wallet.
      parameters:
        - name: accept
          in: query
          schema: {}
        - name: alias
          in: query
          schema: {}
        - name: multi_use
          in: query
          schema: {}
        - name: public
          in: query
          schema: {}
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvitationResult"
  /connections/receive-invitation-with-endpoint:
    post:
      tags:
        - connection
      summary: Receive a new connection invitation
      parameters:
        - name: accept
          in: query
          schema: {}
        - name: alias
          in: query
          schema: {}
      requestBody:
        content:
          "*/*":
            schema:
              $ref: "#/components/schemas/ConnectionInvitation"
        required: false
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectionRecord"
      x-codegen-request-body-name: body
  /connections/{id}/accept-invitation-with-endpoint:
    post:
      tags:
        - connection
      summary: Accept a stored connection invitation
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: my_endpoint
          in: query
          schema: {}
        - name: my_label
          in: query
          schema: {}
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectionRecord"
  /connections/{id}/accept-request-with-endpoint:
    post:
      tags:
        - connection
      summary: Accept a stored connection request
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: my_endpoint
          in: query
          schema: {}
      responses:
        200:
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectionRecord"
components:
  schemas:
    ConnectionRecord:
      type: object
      properties:
        their_role:
          type: string
          description: Their assigned role for connection
          example: Point of contact
        state:
          type: string
          description: Current record state
          example: active
        accept:
          type: string
          description: "Connection acceptance: manual or auto"
          example: auto
          enum:
            - manual
            - auto
        updated_at:
          pattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$
          type: string
          description: Time of last record update
          example: 2020-08-03 16:03:47Z
        inbound_connection_id:
          type: string
          description: Inbound routing connection id to use
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        created_at:
          pattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$
          type: string
          description: Time of record creation
          example: 2020-08-03 16:03:47Z
        their_did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: Their DID for connection
          example: WgWxqztrNooG92RXvxSTWv
        initiator:
          type: string
          description: "Connection initiator: self, external, or multiuse"
          example: self
          enum:
            - self
            - external
            - multiuse
        request_id:
          type: string
          description: Connection request identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        their_label:
          type: string
          description: Their label for connection
          example: Bob
        routing_state:
          type: string
          description: Routing state of connection
          example: active
        error_msg:
          type: string
          description: Error message
          example: No DIDDoc provided; cannot connect to public DID
        connection_id:
          type: string
          description: Connection identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        my_did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: Our DID for connection
          example: WgWxqztrNooG92RXvxSTWv
        invitation_mode:
          type: string
          description: "Invitation mode: once, multi, or static"
          example: once
          enum:
            - once
            - multi
            - static
        invitation_key:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$
          type: string
          description: Public key for connection
          example: H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV
        alias:
          type: string
          description: Optional alias to apply to connection for later use
          example: Bob, providing quotes
    ConnectionList:
      type: object
      properties:
        results:
          type: array
          description: List of connection records
          items:
            $ref: "#/components/schemas/ConnectionRecord"
    ConnectionInvitation:
      type: object
      properties:
        serviceEndpoint:
          type: string
          description: Service endpoint at which to reach this agent
          example: http://192.168.56.101:8020
        did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: DID for connection invitation
          example: WgWxqztrNooG92RXvxSTWv
        "@id":
          type: string
          description: Message identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        recipientKeys:
          type: array
          description: List of recipient keys
          items:
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$
            type: string
            description: Recipient public key
            example: H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV
        "@type":
          type: string
          description: Message type
          readOnly: true
          example: did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/my-family/1.0/my-message-type
        routingKeys:
          type: array
          description: List of routing keys
          items:
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$
            type: string
            description: Routing key
            example: H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV
        imageUrl:
          type: string
          description: Optional image URL for connection invitation
          format: url
          nullable: true
          example: http://192.168.56.101/img/logo.jpg
        label:
          type: string
          description: Optional label for connection
          example: Bob
    InvitationResult:
      type: object
      properties:
        invitation:
          $ref: "#/components/schemas/ConnectionInvitation"
        invitation_url:
          type: string
          description: Invitation URL
          example: http://192.168.56.101:8020/invite?c_i=eyJAdHlwZSI6Li4ufQ==
        connection_id:
          type: string
          description: Connection identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
    V10PresentationExchange:
      type: object
      properties:
        presentation_request_dict:
          type: object
          properties: {}
          description: Serialized presentation request message
        presentation_exchange_id:
          type: string
          description: Presentation exchange identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        role:
          type: string
          description: "Present-proof exchange role: prover or verifier"
          example: prover
          enum:
            - prover
            - verifier
        presentation_request:
          type: object
          properties: {}
          description: (Indy) presentation request (also known as proof request)
        updated_at:
          pattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$
          type: string
          description: Time of last record update
          example: 2020-08-03 16:03:47Z
        initiator:
          type: string
          description: "Present-proof exchange initiator: self or external"
          example: self
          enum:
            - self
            - external
        created_at:
          pattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$
          type: string
          description: Time of record creation
          example: 2020-08-03 16:03:47Z
        presentation:
          type: object
          properties: {}
          description: (Indy) presentation (also known as proof)
        presentation_proposal_dict:
          type: object
          properties: {}
          description: Serialized presentation proposal message
        verified:
          type: string
          description: "Whether presentation is verified: true or false"
          example: "true"
          enum:
            - "true"
            - "false"
        error_msg:
          type: string
          description: Error message
          example: Invalid structure
        thread_id:
          type: string
          description: Thread identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        connection_id:
          type: string
          description: Connection identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        state:
          type: string
          description: Present-proof exchange state
          example: verified
        trace:
          type: boolean
          description: Record trace information, based on agent configuration
        auto_present:
          type: boolean
          description: Prover choice to auto-present proof as verifier requests
          example: false
    V10PresentationExchangeList:
      type: object
      properties:
        results:
          type: array
          description: Aries RFC 37 v1.0 presentation exchange records
          items:
            $ref: "#/components/schemas/V10PresentationExchange"
    PresAttrSpec:
      required:
        - name
      type: object
      properties:
        name:
          type: string
          description: Attribute name
          example: favourite_drink
        cred_def_id:
          pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
          type: string
          example: WgWxqztrNooG92RXvxSTWv:3:CL:20:tag
        mime-type:
          type: string
          description: MIME type (default null)
          example: image/jpeg
        value:
          type: string
          description: Attribute value
          example: martini
        referent:
          type: string
          description: Credential referent
          example: "0"
    PresPredSpec:
      required:
        - name
        - predicate
        - threshold
      type: object
      properties:
        name:
          type: string
          description: Attribute name
          example: high_score
        cred_def_id:
          pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
          type: string
          description: Credential definition identifier
          example: WgWxqztrNooG92RXvxSTWv:3:CL:20:tag
        predicate:
          type: string
          description: Predicate type ('<', '<=', '>=', or '>')
          example: ">="
          enum:
            - <
            - <=
            - ">="
            - ">"
        threshold:
          type: integer
          description: Threshold value
          format: int32
    PresentationPreview:
      required:
        - attributes
        - predicates
      type: object
      properties:
        "@type":
          type: string
          description: Message type identifier
          example: did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/present-proof/1.0/presentation-preview
        attributes:
          type: array
          items:
            $ref: "#/components/schemas/PresAttrSpec"
        predicates:
          type: array
          items:
            $ref: "#/components/schemas/PresPredSpec"
    V10PresentationProposalRequest:
      required:
        - connection_id
        - presentation_proposal
      type: object
      properties:
        presentation_proposal:
          $ref: "#/components/schemas/PresentationPreview"
        comment:
          type: string
          description: Human-readable comment
        connection_id:
          type: string
          description: Connection identifier
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        trace:
          type: boolean
          description: Whether to trace event (default false)
          example: false
        auto_present:
          type: boolean
          description:
            Whether to respond automatically to presentation requests,
            building and presenting requested proof
    IndyProofReqPredSpecRestrictions:
      type: object
      properties:
        issuer_did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: Credential issuer DID
          example: WgWxqztrNooG92RXvxSTWv
        cred_def_id:
          pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
          type: string
          description: Credential definition identifier
          example: WgWxqztrNooG92RXvxSTWv:3:CL:20:tag
        schema_name:
          type: string
          description: Schema name
          example: transcript
        schema_id:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
          type: string
          description: Schema identifier
          example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
        schema_version:
          pattern: ^[0-9.]+$
          type: string
          description: Schema version
          example: "1.0"
        schema_issuer_did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: Schema issuer (origin) DID
          example: WgWxqztrNooG92RXvxSTWv
    IndyProofReqNonRevoked:
      type: object
      properties:
        to:
          maximum: 9.223372036854776E+18
          minimum: -9.223372036854776E+18
          type: integer
          description: Latest epoch of interest for non-revocation proof
          format: int32
          example: 1596470627
        from:
          maximum: 9.223372036854776E+18
          minimum: -9.223372036854776E+18
          type: integer
          description: Earliest epoch of interest for non-revocation proof
          format: int32
          example: 1596470627
    IndyProofReqPredSpec:
      required:
        - name
        - p_type
        - p_value
      type: object
      properties:
        restrictions:
          type: array
          description: If present, credential must satisfy one of given restrictions
          items:
            $ref: "#/components/schemas/IndyProofReqPredSpecRestrictions"
        p_value:
          type: integer
          description: Threshold value
          format: int32
        non_revoked:
          $ref: "#/components/schemas/IndyProofReqNonRevoked"
        name:
          type: string
          description: Attribute name
          example: index
        p_type:
          type: string
          description: Predicate type ('<', '<=', '>=', or '>')
          example: ">="
          enum:
            - <
            - <=
            - ">="
            - ">"
    IndyProofReqAttrSpec:
      type: object
      properties:
        restrictions:
          type: array
          description:
            "If present, credential must satisfy one of given restrictions:
            specify schema_id, schema_issuer_did, schema_name, schema_version, issuer_did,
            cred_def_id, and/or attr::<attribute-name>::value where <attribute-name>
            represents a credential attribute name"
          items:
            type: object
            additionalProperties:
              type: string
              example: WgWxqztrNooG92RXvxSTWv:3:CL:20:tag
        names:
          type: array
          description: Attribute name group
          items:
            type: string
            example: age
        non_revoked:
          $ref: "#/components/schemas/IndyProofReqNonRevoked"
        name:
          type: string
          description: Attribute name
          example: favouriteDrink
    IndyProofRequest:
      required:
        - requested_attributes
        - requested_predicates
      type: object
      properties:
        nonce:
          type: string
          description: Nonce
          example: "1234567890"
        requested_predicates:
          type: object
          additionalProperties:
            $ref: "#/components/schemas/IndyProofReqPredSpec"
          description: Requested predicate specifications of proof request
        name:
          type: string
          description: Proof request name
          example: Proof request
        non_revoked:
          $ref: "#/components/schemas/IndyProofReqNonRevoked"
        version:
          pattern: ^[0-9.]+$
          type: string
          description: Proof request version
          example: "1.0"
        requested_attributes:
          type: object
          additionalProperties:
            $ref: "#/components/schemas/IndyProofReqAttrSpec"
          description: Requested attribute specifications of proof request
    V10PresentationCreateRequestRequest:
      required:
        - proof_request
      type: object
      properties:
        comment:
          type: string
        trace:
          type: boolean
          description: Whether to trace event (default false)
          example: false
        proof_request:
          $ref: "#/components/schemas/IndyProofRequest"
    V10PresentationSendRequestRequest:
      required:
        - connection_id
        - proof_request
      type: object
      properties:
        comment:
          type: string
        trace:
          type: boolean
          description: Whether to trace event (default false)
          example: false
        connection_id:
          type: string
          description: Connection identifier
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        proof_request:
          $ref: "#/components/schemas/IndyProofRequest"
    IndyRequestedCredsRequestedAttr:
      required:
        - cred_id
        - revealed
      type: object
      properties:
        timestamp:
          maximum: 9.223372036854776E+18
          minimum: -9.223372036854776E+18
          type: integer
          description: Epoch timestamp of interest for non-revocation proof
          format: int32
          example: 1596470627
        revealed:
          type: boolean
          description: Whether to reveal attribute in proof
        cred_id:
          type: string
          description:
            Wallet credential identifier (typically but not necessarily
            a UUID)
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
    IndyRequestedCredsRequestedPred:
      required:
        - cred_id
      type: object
      properties:
        timestamp:
          maximum: 9.223372036854776E+18
          minimum: -9.223372036854776E+18
          type: integer
          description: Epoch timestamp of interest for non-revocation proof
          format: int32
          example: 1596470627
        cred_id:
          type: string
          description:
            Wallet credential identifier (typically but not necessarily
            a UUID)
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
    V10PresentationRequest:
      required:
        - requested_attributes
        - requested_predicates
        - self_attested_attributes
      type: object
      properties:
        requested_attributes:
          type: object
          additionalProperties:
            $ref: "#/components/schemas/IndyRequestedCredsRequestedAttr"
          description:
            Nested object mapping proof request attribute referents to
            requested-attribute specifiers
        requested_predicates:
          type: object
          additionalProperties:
            $ref: "#/components/schemas/IndyRequestedCredsRequestedPred"
          description:
            Nested object mapping proof request predicate referents to
            requested-predicate specifiers
        trace:
          type: boolean
          description: Whether to trace event (default false)
          example: false
        self_attested_attributes:
          type: object
          additionalProperties:
            type: string
            description:
              Self-attested attribute values to use in requested-credentials
              structure for proof construction
            example: self_attested_value
          description: Self-attested attributes to build into proof
    V10CredentialExchange:
      type: object
      properties:
        credential_id:
          type: string
          description: Credential identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        error_msg:
          type: string
          description: Error message
          example: credential definition identifier is not set in proposal
        connection_id:
          type: string
          description: Connection identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        auto_remove:
          type: boolean
          description:
            Issuer choice to remove this credential exchange record when
            complete
          example: false
        credential_request_metadata:
          type: object
          properties: {}
          description: (Indy) credential request metadata
        updated_at:
          pattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$
          type: string
          description: Time of last record update
          example: 2020-08-03 16:03:47Z
        auto_offer:
          type: boolean
          description: Holder choice to accept offer in this credential exchange
          example: false
        initiator:
          type: string
          description: "Issue-credential exchange initiator: self or external"
          example: self
          enum:
            - self
            - external
        revocation_id:
          type: string
          description: Credential identifier within revocation registry
        schema_id:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
          type: string
          description: Schema identifier
          example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
        raw_credential:
          type: object
          properties: {}
          description: Credential as received, prior to storage in holder wallet
        trace:
          type: boolean
          description: Record trace information, based on agent configuration
        role:
          type: string
          description: "Issue-credential exchange role: holder or issuer"
          example: issuer
          enum:
            - holder
            - issuer
        thread_id:
          type: string
          description: Thread identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        credential:
          type: object
          properties: {}
          description: Credential as stored
        state:
          type: string
          description: Issue-credential exchange state
          example: credential_acked
        credential_definition_id:
          pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
          type: string
          description: Credential definition identifier
          example: WgWxqztrNooG92RXvxSTWv:3:CL:20:tag
        credential_request:
          type: object
          properties: {}
          description: (Indy) credential request
        parent_thread_id:
          type: string
          description: Parent thread identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        revoc_reg_id:
          type: string
          description: Revocation registry identifier
        auto_issue:
          type: boolean
          description: Issuer choice to issue to request in this credential exchange
          example: false
        credential_exchange_id:
          type: string
          description: Credential exchange identifier
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        created_at:
          pattern: ^\d{4}-\d\d-\d\d[T ]\d\d:\d\d(?:\:(?:\d\d(?:\.\d{1,6})?))?(?:[+-]\d\d:?\d\d|Z|)$
          type: string
          description: Time of record creation
          example: 2020-08-03 16:03:47Z
        credential_proposal_dict:
          type: object
          properties: {}
          description: Serialized credential proposal message
        credential_offer_dict:
          type: object
          properties: {}
          description: Serialized credential offer message
        credential_offer:
          type: object
          properties: {}
          description: (Indy) credential offer
    V10CredentialExchangeListResult:
      type: object
      properties:
        results:
          type: array
          description: Aries#0036 v1.0 credential exchange records
          items:
            $ref: "#/components/schemas/V10CredentialExchange"
    CredAttrSpec:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: Attribute name
          example: favourite_drink
        mime-type:
          type: string
          description: "MIME type: omit for (null) default"
          nullable: true
          example: image/jpeg
        value:
          type: string
          description: "Attribute value: base64-encode if MIME type is present"
          example: martini
    CredentialPreview:
      required:
        - attributes
      type: object
      properties:
        "@type":
          type: string
          description: Message type identifier
          example: did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/issue-credential/1.0/credential-preview
        attributes:
          type: array
          items:
            $ref: "#/components/schemas/CredAttrSpec"
    V10CredentialCreate:
      required:
        - credential_proposal
      type: object
      properties:
        comment:
          type: string
          description: Human-readable comment
        issuer_did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: Credential issuer DID
          example: WgWxqztrNooG92RXvxSTWv
        cred_def_id:
          pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
          type: string
          description: Credential definition identifier
          example: WgWxqztrNooG92RXvxSTWv:3:CL:20:tag
        schema_name:
          type: string
          description: Schema name
          example: preferences
        schema_id:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
          type: string
          description: Schema identifier
          example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
        schema_version:
          pattern: ^[0-9.]+$
          type: string
          description: Schema version
          example: "1.0"
        credential_proposal:
          $ref: "#/components/schemas/CredentialPreview"
        schema_issuer_did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: Schema issuer DID
          example: WgWxqztrNooG92RXvxSTWv
        trace:
          type: boolean
          description: Whether to trace event (default false)
          example: false
        auto_remove:
          type: boolean
          description:
            Whether to remove the credential exchange record on completion
            (overrides --preserve-exchange-records configuration setting)
    V10CredentialProposalRequestMand:
      required:
        - connection_id
        -

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or entry point is named. Start by reproducing Kotlin generation with the Maven plugin at version 4.3.1 and a reservedWordsMappings option, then compare the generated identifiers with the mapping. Done means the configured mapping changes the generated Kotlin output as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin, openapi
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.