OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
21.98k stars 6.6k forks source link

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

Open victormartinezjurado opened 4 years ago

victormartinezjurado commented 4 years ago

Bug Report Checklist

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
        - 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"
        connection_id:
          type: string
          description: Connection identifier
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        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)
    V10CredentialProposalRequestOpt:
      required:
        - connection_id
      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"
        connection_id:
          type: string
          description: Connection identifier
          format: uuid
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        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)
    V10CredentialOfferRequest:
      required:
        - connection_id
        - cred_def_id
        - credential_preview
      type: object
      properties:
        comment:
          type: string
          description: Human-readable comment
        auto_issue:
          type: boolean
          description:
            Whether to respond automatically to credential requests, creating
            and issuing requested credentials
        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
        credential_preview:
          $ref: "#/components/schemas/CredentialPreview"
        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_remove:
          type: boolean
          description:
            Whether to remove the credential exchange record on completion
            (overrides --preserve-exchange-records configuration setting)
    V10CredentialIssueRequest:
      type: object
      properties:
        comment:
          type: string
          description: Human-readable comment
    V10CredentialProblemReportRequest:
      required:
        - explain_ltxt
      type: object
      properties:
        explain_ltxt:
          type: string
    RevReg:
      type: object
      properties:
        accum:
          type: string
          description: Revocation registry accumulator state
          example: 21 136D54EA439FC26F03DB4b812 21 123DE9F624B86823A00D ...
    RawEncCredAttr:
      type: object
      properties:
        encoded:
          type: string
          description: (Numeric string) encoded value
          example: "412821674062189604125602903860586582569826459817431467861859655321"
        raw:
          type: string
          description: Raw value
          example: Alex
    Witness:
      type: object
      properties:
        omega:
          type: string
          description: Revocation registry witness omega state
          example: 21 129EA8716C921058BB91826FD 21 8F19B91313862FE916C0 ...
    Credential:
      type: object
      properties:
        rev_reg:
          $ref: "#/components/schemas/RevReg"
        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
        values:
          type: object
          additionalProperties:
            $ref: "#/components/schemas/RawEncCredAttr"
          description: Attribute names mapped to their raw and encoded values
        signature_correctness_proof:
          type: object
          properties: {}
          description: Signature correctness proof
        schema_id:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
          type: string
          description: Schema identifier
          example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
        witness:
          $ref: "#/components/schemas/Witness"
        rev_reg_id:
          pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)
          type: string
          description: Revocation registry identifier
          example: WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0
        signature:
          type: object
          properties: {}
          description: Digital signature
    AttributeMimeTypesResult:
      type: object
    CredentialsList:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: "#/components/schemas/Credential"
    CredentialDefinitionSendRequest:
      type: object
      properties:
        schema_id:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
          type: string
          description: Schema identifier
          example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
        support_revocation:
          type: boolean
          description: Revocation supported flag
        tag:
          type: string
          description: Credential definition identifier tag
          example: default
    CredentialDefinitionSendResults:
      type: object
      properties:
        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
    CredentialDefinitionsCreatedResults:
      type: object
      properties:
        credential_definition_ids:
          type: array
          items:
            pattern: ^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$
            type: string
            description: Credential definition identifiers
            example: WgWxqztrNooG92RXvxSTWv:3:CL:20:tag
    CredentialDefinition:
      type: object
      properties:
        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
        ver:
          pattern: ^[0-9.]+$
          type: string
          description: Node protocol version
          example: "1.0"
        type:
          type: object
          description: "Signature type: CL for Camenisch-Lysyanskaya"
          example: CL
        value:
          type: object
          properties: {}
          description: Credential definition primary and revocation values
        tag:
          type: string
          description: Tag within credential definition identifier
          example: tag
        schemaId:
          type: string
          description: Schema identifier within credential definition identifier
          example: "20"
    CredentialDefinitionGetResults:
      type: object
      properties:
        credential_definition:
          $ref: "#/components/schemas/CredentialDefinition"
    SchemaSendRequest:
      required:
        - attributes
        - schema_name
        - schema_version
      type: object
      properties:
        schema_name:
          type: string
          description: Schema name
          example: prefs
        schema_version:
          pattern: ^[0-9.]+$
          type: string
          description: Schema version
          example: "1.0"
        attributes:
          type: array
          description: List of schema attributes
          items:
            type: string
            description: attribute name
            example: score
    SchemaSendResults:
      required:
        - schema
        - schema_id
      type: object
      properties:
        schema_id:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
          type: string
          description: Schema identifier
          example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
        schema:
          type: object
          properties: {}
          description: Schema result
    SchemasCreatedResults:
      type: object
      properties:
        schema_ids:
          type: array
          items:
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
            type: string
            description: Schema identifiers
            example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
    Schema:
      type: object
      properties:
        id:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$
          type: string
          description: Schema identifier
          example: WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0
        ver:
          pattern: ^[0-9.]+$
          type: string
          description: Node protocol version
          example: "1.0"
        seqNo:
          minimum: 1
          type: integer
          description: Schema sequence number
          format: int32
          example: 10
        name:
          type: string
          description: Schema name
          example: schema_name
        attrNames:
          type: array
          description: Schema attribute names
          items:
            type: string
            description: Attribute name
            example: score
        version:
          pattern: ^[0-9.]+$
          type: string
          description: Schema version
          example: "1.0"
    SchemaGetResults:
      type: object
      properties:
        schema_json:
          $ref: "#/components/schemas/Schema"
    DID:
      type: object
      properties:
        public:
          type: boolean
          description: Whether DID is public
          example: false
        did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: DID of interest
          example: WgWxqztrNooG92RXvxSTWv
        verkey:
          pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$
          type: string
          description: Public verification key
          example: H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV
    DIDList:
      type: object
      properties:
        results:
          type: array
          description: DID list
          items:
            $ref: "#/components/schemas/DID"
    DIDResult:
      type: object
      properties:
        result:
          $ref: "#/components/schemas/DID"
    DIDEndpoint:
      required:
        - did
      type: object
      properties:
        did:
          pattern: ^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$
          type: string
          description: DID of interest
          example: WgWxqztrNooG92RXvxSTWv
        endpoint:
          pattern: ^[A-Za-z0-9\.\-\+]+://([A-Za-z0-9][.A-Za-z0-9-]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$
          type: string
          description: Endpoint to set (omit to delete)
          example: https://myhost:8021
    AddWallet:
      type: object
      properties:
        wallet_type:
          type: string
          description: Type the newly generated wallet should be [basic | indy].
          example: indy
        wallet_name:
          type: string
          description: Wallet identifier.
          example: MyNewWallet
        wallet_key:
          type: string
          description: Master key used for key derivation.
          example: MySecretKey123
        seed:
          type: string
          description: Seed used for did derivation.
          example: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      name: X-API-KEY
      in: header
Steps to reproduce

1- Configure the openapi-generator-maven-plugin as describe below :

           <plugin>
                <groupId>org.openapitools</groupId>
                <artifactId>openapi-generator-maven-plugin</artifactId>
                <version>4.3.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.basedir}/OpenApi.yaml</inputSpec>
                            <generatorName>kotlin-spring</generatorName>
                            <output>${project.basedir}/agent-controller-api</output>
                             <reservedWordsMappings>
                                <reservedWordsMapping>external=external2</reservedWordsMapping>
                             </reservedWordsMappings>

                            <configOptions>

                                <apiPackage>com.test.dcp.agent.openapi.api</apiPackage>
                                <modelPackage>com.test.dcp.agent.openapi.model</modelPackage>
                                <groupId>com.test.dcp.agent.api</groupId>
                                <artifactId>agent-api</artifactId>
                                <artifactVersion>${project.version}</artifactVersion>
                                <serviceInterface>true</serviceInterface>
                                <serviceImplementation>true</serviceImplementation>
                                <reactive>false</reactive>
                                <gradleBuildFile>false</gradleBuildFile>
                                <swaggerAnnotations>true</swaggerAnnotations>
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

2- run mvn clean package 3- Verify that the autogenerated kotlin code does not compile. Reserved keyword external hasn't been substitute

brintal commented 4 years ago

Can confirm. seems to be ignored. I have the same setup as @victormartinezjurado except kotlin reserved keyword "open" in an enum.

fonimus commented 4 years ago

I can also confirm, error with the following : internal; external and data, I have to use another plugin to replace this because this maven configuration is not working.

AniketK-Crest commented 2 years ago

Hi, I am facing the same problem with Gradle. Any updates? Edit: The CLI flag and config attribute for reservedWordsMappings seems to be ignored as well.

Daolot commented 1 year ago

Any updates?

tom-delalande commented 2 weeks ago

I think you can just use nameMappings to get the same effect

<nameMappings>external=external2,data=_data,internal=_internal</nameMappings>