Polygon ID Public API

Public endpoints for integrators

OpenAPI Specification

polygon-id-public-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Privado ID - Issuer Agent Public API
  description: "The Issuer Node Core API is ideal for users who need multiple identities and for integrator profiles, who want to \ncreate solutions based on Privado ID functionalities and might be interested in having access to low level \ninformation such as Merkle Trees.\nThe Issuer Node API provide the following functionalities:\n* Create and retrieve Identities\n* Create a Verifiable Credential (VC)\n* Retrieve a Verifiable Credential or a list of Verifiable Credentials\n* Generate JSON to create a QR Code and use that to accept credentials in a wallet\n* Revoke a Verifiable Credential\n* Check revocation status of a Verifiable Credential\n* Retrieve the Revocation Status of a Verifiable Credential\n* Call Agent Endpoint using the Wallet App\n* Handle connections.\n"
  version: '1'
tags:
- name: Public
  description: Public endpoints for integrators
paths:
  /sign-in:
    post:
      summary: Sign in
      operationId: Sign in
      description: "This endpoint returns a QR Code and a Session ID. \nThe QR Code can be used to produce a QR Code to be scanned with the PID to perform the verification.\nSessionID can be used to pool the status of the verification with the /status endpoint.\n\nThe scope is an array of objects that contains the information of the verification to be performed.\nMultiple verifications can be performed in a single request and from different credentials.\n\nIn order to create your custom queries visit our [query builder](https://schema-builder-dev.polygonid.me/query-builder/)\n\n### circuitID values:\n\nV3 Circuits are still in beta. V3 Circuits support `nullifiers` that can be used for checking weather a credential has been already verifier or not.\nIn order to use V3 circuits, please enable them in the PID app under the settings section.\n\n#### Off-chain\n\nV2 circuits:\n- `credentialAtomicQuerySigV2`: for SIG credentials verifications \n- `credentialAtomicQueryMTPV2`: for MTP credentials verifications\n\nV3 circuits:\n- `credentialAtomicQueryV3-beta.1`: MTP and SIG credentials verifications\n\n#### On-chain\n\nV2 circuits:\n- `credentialAtomicQuerySigV2OnChain`: for SIG credentials verifications \n- `credentialAtomicQueryMTPV2OnChain`: for MTP credentials verifications\n\nV3 circuits:\n- `credentialAtomicQueryV3OnChain-beta.1`: MTP and SIG credentials verifications\n\nLinkedMQuery circuit:\n- `linkedMultiQuery10-beta.1`: for linked verifications.\n"
      tags:
      - Public
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignInRequest'
            examples:
              OffChain-SIG-V2:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQuerySigV2
                    id: 1
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
              OffChain-MTP-V2:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryMTPV2
                    id: 1
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
              OffChain-SIG-V3:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 1
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
              OffChain-SIG-V3-Nullifiers:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 1
                    params:
                      nullifierSessionID: '123443290439234342342423423423423'
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
              OffChain-SIG-V3-Nullifiers-new:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 1
                    params:
                      nullifierSessionId: '723443290439234342342423423423423'
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
              OffChain-SIG-V3-CircuitId-asCamelCase:
                value:
                  chainID: '80002'
                  scope:
                  - circuitId: credentialAtomicQueryV3-beta.1
                    id: 1
                    params:
                      nullifierSessionId: '723443290439234342342423423423423'
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
              OffChain-SIG-V3-Multiple-Queries:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 1
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 2
                    query:
                      context: ipfs://QmaBJzpoYT2CViDx5ShJiuYLKXizrPEfXo8JqzrXCvG6oc
                      allowedIssuers:
                      - '*'
                      type: TestInteger01
                      credentialSubject:
                        position:
                          $eq: 2
              OffChain-SIG-V3-Linked-Proofs:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 1
                    query:
                      groupId: 1
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 2
                    query:
                      groupId: 1
                      context: ipfs://QmaBJzpoYT2CViDx5ShJiuYLKXizrPEfXo8JqzrXCvG6oc
                      allowedIssuers:
                      - '*'
                      type: TestInteger01
                      credentialSubject:
                        position:
                          $eq: 2
              OnChain-SIG-V2:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQuerySigV2OnChain
                    id: 1
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20020101
                  transactionData:
                    contractAddress: '0x2b23e5cF70D133fFaA7D8ba61E1bAC4637253880'
                    methodID: b68967e2
                    chainID: 80002
                    network: polygon-amoy
              OnChain-SIG-V3:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3OnChain-beta.1
                    id: 200
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20020101
                  transactionData:
                    contractAddress: '0xc5Cd536cb9Cc3BD24829502A39BE593354986dc4'
                    methodID: b68967e2
                    chainID: 80002
                    network: polygon-amoy
              OffChain-SIG-V3-Own-Credential:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 2
                    query:
                      context: ipfs://QmaBJzpoYT2CViDx5ShJiuYLKXizrPEfXo8JqzrXCvG6oc
                      allowedIssuers:
                      - '*'
                      type: TestInteger01
                      proofType: BJJSignature2021
              OffChain-SIG-V3-LinkedMultiQuery-Proofs:
                value:
                  chainID: '80002'
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 1
                    query:
                      groupId: 1
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
                  - circuitID: linkedMultiQuery10-beta.1
                    id: 2
                    query:
                      groupId: 1
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        documentType:
                          $lt: 10
              OffChain-SIG-V3-WITH-FROM-FIELD:
                value:
                  from: did:iden3:polygon:amoy:x6x5sor7zpyKA2dWUDvNRz7nzd6oCx5w43BNJbgaL
                  scope:
                  - circuitID: credentialAtomicQueryV3-beta.1
                    id: 1
                    query:
                      context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
                      allowedIssuers:
                      - '*'
                      type: KYCAgeCredential
                      credentialSubject:
                        birthday:
                          $lt: 20201010
      responses:
        '200':
          description: Authorization Request created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SingInResponse'
        '400':
          $ref: '#/components/responses/400'
        '500':
          $ref: '#/components/responses/500'
  /status:
    get:
      summary: Get Status
      operationId: Status
      tags:
      - Public
      parameters:
      - $ref: '#/components/parameters/sessionID'
      responses:
        '200':
          description: Get response status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /qr-store:
    get:
      summary: Get QRCode from store
      operationId: GetQRCodeFromStore
      tags:
      - Public
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: QR Code Indirection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QRCode'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    ScopeRequest:
      type: object
      required:
      - circuitId
      - query
      - id
      properties:
        id:
          type: integer
          format: uint32
          example: 1
        circuitId:
          type: string
          example: credentialAtomicQuerySigV2
        query:
          $ref: '#/components/schemas/Query'
        transactionData:
          $ref: '#/components/schemas/TransactionData'
        params:
          $ref: '#/components/schemas/ScopeParams'
    VerifiablePresentations:
      type: array
      items:
        $ref: '#/components/schemas/VerifiablePresentation'
    UUID:
      type: string
      x-go-type: uuid.UUID
      x-go-type-import:
        name: uuid
        path: github.com/google/uuid
      example: 8edd8112-c415-11ed-b036-debe37e1cbd6
    StatusResponse:
      type: object
      required:
      - status
      properties:
        status:
          type: string
          example: pending
          description: 'pending, success, error

            '
        message:
          type: string
          example: error message
          x-omitempty: false
          description: 'error message

            '
        jwz:
          type: string
          x-omitempty: false
          example: eyJhbGciOiJncm90aDE2IiwiY2lyY3VpdElkIjoiYXV0aFYyIiwiY3JpdCI6WyJjaXJjdWl0SWQiXSwidHlwIjoiYXBwbGljYXRpb24vaWRlbjMtemtwLWpzb24ifQ.eyJpZCI6IjBlM2Y1YWEwLTZkN2EtNDE5OS1hNDBkLTg2MTU0MTE0MGMxZiIsInR5cCI6ImFwcGxpY2F0aW9uL2lkZW4zLXprcC1qc29uIiwidHlwZSI6Imh0dHBzOi8vaWRlbjMtY29tbXVuaWNhdGlvbi5pby9hdXRob3JpemF0aW9uLzEuMC9yZXNwb25zZSIsInRoaWQiOiJiMzI4YzMzOS0zZWQyLTQzMTItYTg1YS04YmIyMzhmYTk4MDkiLCJib2R5Ijp7ImRpZF9kb2MiOnsiY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvbnMvZGlkL3YxIl0sImlkIjoiZGlkOnBvbHlnb25pZDpwb2x5Z29uOm11bWJhaToycUYxYnBLWjhSMk1WVnE5R3dRUkI1NEoxcVNabmVTR0d6bThHaEZrNkciLCJzZXJ2aWNlIjpbeyJpZCI6ImRpZDpwb2x5Z29uaWQ6cG9seWdvbjptdW1iYWk6MnFGMWJwS1o4UjJNVlZxOUd3UVJCNTRKMXFTWm5lU0dHem04R2hGazZHI3B1c2giLCJ0eXBlIjoicHVzaC1ub3RpZmljYXRpb24iLCJzZXJ2aWNlRW5kcG9pbnQiOiJodHRwczovL3B1c2gtc3RhZ2luZy5wb2x5Z29uaWQuY29tL2FwaS92MSIsIm1ldGFkYXRhIjp7ImRldmljZXMiOlt7ImNpcGhlcnRleHQiOiJLd1p3aHNrSFRzY1lrRDVOUE5IVjhXZ1FOMVJ0d3Z6d3czWW5BZ0d0UGNhbHp5S0RYWVVJOVhIOENoYk5kY3c3THhhNFcyNjltSE81WkRsSWZRZ0NhTTc4c0g1ZWRhRGFidkNEeU5ERS83akJuL1JzTnoxR0oyL0tlMm5GQ3Axajk1MGVRdU80MXpFcjVMT0lEajlwQ0xNQVhjY28yOGJybklyRkZJeEo4dS9keEJrbWdiek5DcUZKbnhlYnNVTFZjT055bE5VR1dCNzl6MnhhTXVvVzZCaWlnZkI4UjJGOUF2ZkJSdDEzK1ZqSlFhTHBCejc3S0hTbXd3cVpCZ2xHZ0NkTElxMTZ5c3FmUDJ6MVM4M3lWbWEzdmdiTVdmSGozNkxQaUR1ZVYyOUwxS1ZSRUZFdG91Vk9oYVRlS2Q4Z0RIRGx1RVJXamJiZ1BDcENhNGZMTnZQMWkrYlZZNlBrbUsxQTFvMnl4Y1pRKzh5bkorU2NtK2Vyb3ZUQjgycVlDTnlKd0hVZGRsdVNkZ0NkaWpMWlh3TW5CRjMwalVMR2hWaGxzSlNUZTFiem92bmVqVk0wbXhUUlNHSi9reGFRc0lXVWkwMjJRWmVHeDJJNXpseG1vZitTWWZ3UWs5VnMvREZWMUdSTzh4YnpvQWVlS1U4bGJlZXRoR2d0RFZTWGx0Wjk3b0pwSDR6a25TTTJMWW1yWVBaMUwwMGdMTFhvU0s2SllMZ2U2YWlGSVIyZ2YySW00Q29Qa0FjMGxhUjA2REJYb2FUWEY1M3Q1VlBsNkc1cTlkVm9Ldld6ekY2Y2hua2FJZ0Z1aFQwQStjMHNtaHplcSs3UFUxOTBxMEt4Wmo5YmtQUUYwNENwQUlTZzFPQVVudEVtQ0NGaWt4UWF3NHh0djJmbzRxWT0iLCJhbGciOiJSU0EtT0FFUC01MTIifV19fV19LCJtZXNzYWdlIjpudWxsLCJzY29wZSI6W3sicHJvb2YiOnsicGlfYSI6WyIxMjkxNjg4NzE0MDg1NDQ1Nzg5MjY0NzYyMDUwMjA5MTg1MzUyNzIyMzI4NDUwODY0MzU5NzE3NDI2ODIyMDkwMDQ2MDQ3NDQ3NTE2MSIsIjc4MTU4ODU5NjEwMzc0NTA4MTcxMTQ4NTI3OTg3OTE0Mzc3MjMzMjQ4MTY1NzQzMjkzNjY0NTE3MDU0NzA1NjQzOTgzNTQyMjYyMDQiLCIxIl0sInBpX2IiOltbIjE0NjI1OTM0OTE3ODU1NDg5NjQ3MzI2MDQ2MzA3NTYyODU3OTYxNDI0NzU2MjM3MjUzMDIxMzE3MTM1OTIyODMzODIwNjExMTk0MDQ2IiwiNTAxODc0NTQ2MzAwMjIzODI1OTI0NTU3NDQyNjQzMTE3MDAyMjI1NDc0MjY5NTIzMDM0Mzg5MDE0MzIzMzQxOTA3NjU4NjA4MjAwOCJdLFsiOTc3NzYxMDI5MDcwMDQxNTcxNjQzNzk3MjgwODcwMTg1MzYzMTg2NjA0Mzc4MjU1NDE0MDc5NDAyNTM2MjE1ODU3MjMzMDEyNjQwMSIsIjM0MzIxOTEwMTg1MjExODQwMjExNDQwODQyNTk0MDg4OTQ1NTYyNTA2NzE2NzQ1NjI3NzMyODYwMjUxOTcyNTQ0Nzc4NTkzNzQ0OTgiXSxbIjEiLCIwIl1dLCJwaV9jIjpbIjYwMzkzNDI2MjI2NjYzMzg2NDU1MTI1MTAzNjM3MzU4NDk1NTIxNzg0NTc4NjY2OTExNzQ0MzU5MzczODkzOTkyNDExODkzMDYyNDYiLCIxOTc1MDI0NjU3NDQzNDIxNDYwNjE3NDc4NjE5MTQzMjE5OTA5ODgxNjIxMTg5Mjg1MjMyNjYyNzg1MTk4NzAyMjgwNDQxMzY4OTQ2OSIsIjEiXSwicHJvdG9jb2wiOiJncm90aDE2IiwiY3VydmUiOiJibjEyOCJ9LCJwdWJfc2lnbmFscyI6WyIxIiwiMjQ1MTc1NTUyNzkwMjgzNTMwNTExNzgxNTc0NjAzOTk5MzE5OTQzMzk3NTU4NTY2ODk5ODk2MjMxNTczOTUyODYxNzQyMDg1MTQiLCIxOTUxMDEzMjk5NjcyNTM2NjU5NjQ1NDU2ODc4NDY2MjYwMTU2MjYwOTM1MDMyNzEzMzE2NDgxMDcwNzUzMzg5NDU1Nzc3Njg1NDAxMiIsIjEiLCIyMTE5NjQyNTkyNTU0MDYxMTgzNDA3MjA1MDQyNDI0NTkwNzUyMjM3NzY1Mzg1MjYxMjMzNDgwNzUxNDI0NzE4MDM1NDMyNzA0MiIsIjEiLCIxMDc5MzQ3Njc5NzgzNzgzNjA3MjM5Mjc1ODIxNTQ0MTQ5MzMwNDEzNzkxOTk4NDc5MjI4MTAyMjM0MDg2NDI3ODIyODg1OTg1MjMwNiIsIjE3MDI2MzMzMzciLCIxMDYyMjgxMzg1NzgxNzczNzE1NTY0MTI3MzQ3NDAyNTk0MDUwNzMiLCIwIiwiODI2MjE1ODQ1MTY0NTQ2NjExNjgyNTYwMTg4OTUwMzAxMTkwODYwMTE1NTE3NTI3Mzk2ODY4NjkwMDk2MjI1MTk0MzQ5NjIyNzAzOSIsIjAiLCIxIiwiMSIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCJdLCJpZCI6MSwiY2lyY3VpdElkIjoiY3JlZGVudGlhbEF0b21pY1F1ZXJ5U2lnVjIifV19LCJmcm9tIjoiZGlkOnBvbHlnb25pZDpwb2x5Z29uOm11bWJhaToycUYxYnBLWjhSMk1WVnE5R3dRUkI1NEoxcVNabmVTR0d6bThHaEZrNkciLCJ0byI6ImRpZDpwb2x5Z29uaWQ6cG9seWdvbjptdW1iYWk6MnFIN1RzdHBSUkpIWE5ONG80OUZ1OUgyUWlzbWt1OGhRZVV4RFZyanFUIn0.eyJwcm9vZiI6eyJwaV9hIjpbIjE2MDY2Mzc4ODgyMjA4MTkzMjg3MDkzNzQxMjE3MDUyMjU0NzkxODgwMTg2MzE0MjMxMTU5MDI2MTczMzI5OTkzODczMDk1MTA0NzgwIiwiMTkyOTI4MjgwMzI5MzcyNzczOTk5MDU2OTY4MDAzMzA3NDY3MzAzMTYyOTMyNDU0NzY2NjA2NTk0Mjc1NTU5NzczMjY4OTU1MzI1MTgiLCIxIl0sInBpX2IiOltbIjE2MTE2ODY0NTc2MDg5NDQ5NzY4NDI5MDg5NjE5ODEyODk4NDQ0ODQwMDMwMTE1MjU5NjEwNzE5MTc1Nzc0MTIxNDEyMTM2NTI0OTQ2IiwiNzY4MzYzMzc3MjY2MjY3OTM0NjM3Nzc0NzYxNzU5NDg0MjgzOTM4OTI2MDUzMzcyNDQ4NDQzMTY5MDkzOTM1OTQxMjc5ODI4MTU0Il0sWyIxODY4NzQ3ODU2Mzk4OTQ2NjMzMDUwNjQyMjc3Nzc1MTM4NTY5NTY4MDk4NjMyNjY4NjEwMTY5NjQ5MDY4MDg3NTgzNTIyMTk0NjU0NiIsIjEwMzY1MjMwNDIxOTAxNTI3NDgwMzM0MTUwMTMyMDk5NzI0MTc2NDMxNDg2NTcyNzExMDI4NTQ3MDAyMzQ4NzQ0MTUwNDI4Nzc2OTY4Il0sWyIxIiwiMCJdXSwicGlfYyI6WyIyMTE4NDU4NDU3NTM2NTQ2MDIzMjY0ODc4NTk5Nzg1MzQ1Mjc4Njg5MzEzNDY5MTU3MzI3Nzc4MDI2NzU3NzQ0MDcxMTgyODgzNzYyNSIsIjYzNjY5NjgxOTQ1OTAzNTk3Mjc5ODczMTYxNjU5MTUyMjEzMTU5MTAxNzI2NDM1ODcwMzc4MDc3NzY2MTUyNjk1ODgxMjkyMTUwNjMiLCIxIl0sInByb3RvY29sIjoiZ3JvdGgxNiIsImN1cnZlIjoiYm4xMjgifSwicHViX3NpZ25hbHMiOlsiMjQ1MTc1NTUyNzkwMjgzNTMwNTExNzgxNTc0NjAzOTk5MzE5OTQzMzk3NTU4NTY2ODk5ODk2MjMxNTczOTUyODYxNzQyMDg1MTQiLCIxNjA3MjY1NzAyMjIxODcxMTM3NjYzNTEzNDg3NjkxNzUyODAzOTk3OTA1MjA0NTI4MjIzNDE0MjA4ODMyOTgyNjIxNzUwNDE0MDQzNSIsIjQyMTc4MjI2NjU0MzM4MDcyMjg1MjY0NjU4MTE4MTU3Nzk1OTk3ODczMTc3Mzk1NTYxODc2Nzg1ODkxNjM3ODI4ODkzMjQ2MTU5ODQiXX0
        jwzMetadata:
          $ref: '#/components/schemas/JWZMetadata'
    ScopeParams:
      type: object
      example:
        nullifierSessionID: '123443290439234342342423423423423'
    SingInResponse:
      type: object
      required:
      - sessionID
      - qrCode
      properties:
        sessionID:
          $ref: '#/components/schemas/UUID'
        qrCode:
          type: string
          example: iden3comm://?request_uri=https%3A%2F%2Fissuer-demo.polygonid.me%2Fapi%2Fqr-store%3Fid%3Df780a169-8959-4380-9461-f7200e2ed3f4
    Scope:
      type: object
      required:
      - id
      - circuitId
      - query
      properties:
        id:
          type: integer
          format: uint32
          example: 1
        circuitId:
          type: string
          example: credentialAtomicQuerySigV2
        query:
          $ref: '#/components/schemas/Query'
        params:
          $ref: '#/components/schemas/ScopeParams'
      example:
        circuitID: credentialAtomicQuerySigV2
        id: 1
        query:
          context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
          allowedIssuers:
          - '*'
          type: KYCAgeCredential
          credentialSubject:
            birthday:
              $eq: 19960424
    Query:
      type: object
      example:
        context: https://raw.githubusercontent.com/iden3/claim-schema-vocab/main/schemas/json-ld/kyc-v3.json-ld
        allowedIssuers:
        - '*'
        type: KYCAgeCredential
        credentialSubject:
          birthday:
            $lt: 20200424
    JWZMetadata:
      type: object
      required:
      - userDID
      - verifiablePresentations
      properties:
        userDID:
          type: string
          example: did:polygonid:polygon:amoy:2qH7TstpRRJHXNN4o49Fu9H2Qismku8hQeUxDVrjqT
        nullifiers:
          type: array
          x-omitempty: false
          items:
            $ref: '#/components/schemas/JWZProofs'
        verifiablePresentations:
          $ref: '#/components/schemas/VerifiablePresentations'
    GenericErrorMessage:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          example: Something happen
    TransactionDataResponse:
      type: object
      description: 'Only required when using on-chain verification

        '
      required:
      - contract_address
      - method_id
      - chain_id
      - network
      properties:
        contract_address:
          type: string
          example: '0x2b23e5cF70D133fFaA7D8ba61E1bAC4637253880 '
        method_id:
          type: string
          example: b68967e2
        chain_id:
          type: integer
          example: 80002
        network:
          type: string
          example: polygon-amoy
    SignInRequest:
      type: object
      required:
      - scope
      properties:
        chainID:
          type: string
          description: 'Only required when using off-chain verification

            `80002`: `amoy`

            `80001`: `mumbai`

            `137` : `mainnet`

            '
          example: '80002'
        reason:
          type: string
          example: test flow
        to:
          type: string
          example: null
        from:
          type: string
          example: null
        scope:
          type: array
          items:
            $ref: '#/components/schemas/ScopeRequest'
        transactionData:
          $ref: '#/components/schemas/TransactionData'
    VerifiablePresentation:
      type: object
      required:
      - proofType
      - schemaContext
      - schemaType
      - credentialSubject
      properties:
        proofType:
          type: string
          example: VerifiablePresentation
        schemaContext:
          type: array
          items:
            type: string
            example: https://www.w3.org/2018/credentials/v1
        schemaType:
          type: array
          items:
            type: string
            example: KYCAgeCredential
        credentialSubject:
          type: object
    JWZProofs:
      type: object
      required:
      - scopeID
      - nullifier
      - nullifierSessionID
      properties:
        scopeID:
          type: integer
          format: uint32
          example: 1
        nullifierSessionID:
          type: string
          example: '123443290439234342342423423423423'
        nullifier:
          type: string
          example: '1234'
    QRCode:
      type: object
      required:
      - id
      - typ
      - type
      - thid
      - body
      - from
      properties:
        id:
          type: string
          example: 6dc645a6-2be3-4099-a645-20784ee53cd0
        typ:
          type: string
          example: application/iden3comm-plain-json
        type:
          type: string
          example: https://iden3-communication.io/authorization/1.0/request
        thid:
          type: string
          example: 6dc645a6-2be3-4099-a645-20784ee53cd0
        body:
          $ref: '#/components/schemas/Body'
        from:
          type: string
          example: did:polygonid:polygon:amoy:2qH7TstpRRJHXNN4o49Fu9H2Qismku8hQeUxDVrjqT
        to:
          type: string
          example: did:polygonid:polygon:amoy:2qEATqfECVbCBzq9EhJpPSiv1xtJRpbMBKDaNM68Ci
    Body:
      type: object
      required:
      - reason
      - scope
      properties:
        transaction_data:
          $ref: '#/components/schemas/TransactionDataResponse'
        callbackUrl:
          type: string
          example: https://verifier-backend/callback?sessionId=6dc645a6-2be3-4099-a645-20784ee53cd0
        reason:
          type: string
          example: test flow
        scope:
          type: array
          items:
            $ref: '#/components/schemas/Scope'
    TransactionData:
      type: object
      description: 'Only required when using on-chain verification

        '
      required:
      - contractAddress
      - methodID
      - chainID
      - network
      properties:
        contractAddress:
          type: string
          example: '0x2b23e5cF70D133fFaA7D8ba61E1bAC4637253880 '
        methodID:
          type: string
          example: b68967e2
        chainID:
          type: integer
          example: 80002
        network:
          type: string
          example: polygon-amoy
  parameters:
    sessionID:
      name: sessionID
      in: query
      required: true
      description: 'ID e.g: 89d298fa-15a6-4a1d-ab13-d1069467eedd

        '
      schema:
        type: string
        x-go-type: uuid.UUID
        x-go-type-import:
          name: uuid
          path: github.com/google/uuid
    id:
      name: id
      in: query
      required: true
      description: 'ID e.g: 89d298fa-15a6-4a1d-ab13-d1069467eedd

        '
      schema:
        type: string
        x-go-type: uuid.UUID
        x-go-type-import:
          name: uuid
          path: github.com/google/uuid
  responses:
    '400':
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericErrorMessage'
    '500':
      description: Internal Server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericErrorMessage'
    '404':
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericErrorMessage'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic