openapi: 3.0.0
info:
  description: Milagro Secure - distributed / decentralized core security services.
  title: Apache Milagro Server
  contact:
    email: howard@qredo.com
  license:
    name: Apache Milagro
  version: 0.0.1
paths:
  /identity:
    post:
      summary: Create an identity document
      tags:
        - identity
      operationId: createIdentity
      # security:
      # - bearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: ExampleNodeName             
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateIdentityResponse'
        '400':
          description: Invalid Request
          content:
            text/plain:
             schema:
              type: string
    get:
      summary: Get a list of identities
      tags:
       - identity
      operationId: getIdentities
#       security:
#         - bearerAuth: []
      parameters: 
        - name: page
          in: query
          description: current page
          schema:
            type: integer
            default: 0
        - name: perPage
          in: query
          description: number of items to show
          schema:
            type: integer
            default: 10
        - name: sortBy
          in: query
          description: Sort By field. Prefix with "-" for descending
          schema:
            type: string
            enum:
              - dateCreatedAsc               
              - dateCreatedDesc               
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityListResponse'
        '400':
          description: Invalid Request
          content:
            text/plain:
              schema:
                type: string
servers:
  - url: 'http://localhost:5556'
  - url: 'http://localhost:5555' 
components:
#   securitySchemes:
#     bearerAuth:
#       type: http
#       scheme: bearer
#       bearerFormat: JWT
  schemas:
      CreateIdentityResponse:
        type: object
        properties:
          IDDocumentCID:
            type: string      
      IdentityListResponse:
        type: object
        properties:
          IDDocumentList:
            type: array
            items: 
              $ref: '#/components/schemas/Identity'    
      Identity:
        type: object
        properties:
          IDDocumentCID:
            type: string
          AuthenticationReference:  
            type: string
          BeneficiaryECPublicKey: 
            type: string          
          SikePublicKey:            
            type: string
          BlsPublicKey:
            type: string                
          Timestamp:
            type: integer
tags:
  - name: identity
    description: Actors in the system
    externalDocs:
      url: 'https://milagro.apache.org/docs/milagro-intro/'
      description: Apache Milagro Docs

#   /order:
#     post:
#       summary: Create an order for a new secret
#       tags:
#         - order
#       operationId: createsafe
#       # security:
#       # - bearerAuth: []
#       requestBody:
#         content:
#           application/json:
#             schema:
#               type: object
#               properties:
#                 BeneficiaryIDDocumentCID:
#                   type: string                  
#                   example: /ipfs/QmUV8LRzTxV4ozHKKAi68wQXBirSjYn4VEtEjEtqusqAQi
#                 Extension:
#                   type: object                  
#                   ref: '#/component/schemas/Encryptastringreq'
                            
#         x-go-name: Body
#       responses:
#         '200':
#           $ref: '#/components/schemas/safesecret'
                        #     get:
                        #       summary: Get a list of secrets
                        #       tags:
                        #         - order
                        #       operationId: getsafes
                        #       security:
                        #       - bearerAuth: []
                        #       parameters: 
                        #         - name: page
                        #           in: query
                        #           description: current page
                        #           schema:
                        #             type: integer
                        #             default: 0
                        #         - name: perPage
                        #           in: query
                        #           description: number of items to show
                        #           schema:
#             type: integer
#             default: 10
#         - name: sortBy
#           in: query
#           description: Sort By field. Prefix with "-" for descending
#           schema:
#             type: string
#             enum:
#               - dateCreated
#               - dateModified
#               - -dateCreated
#               - -dateModified
#       responses:
#         '200':
#           description: Successful operation
#           content:
#             application/json:
#               schema:
#                 $ref: '#/components/schemas/Arrayofsafesecrets'           
#   /order/{orderAddress}:
#     get:
#       summary: Get details of a secret in custody
#       tags:
#         - order
#       operationId: getsafe
#       security:
#       - bearerAuth: []
#       parameters:
#         - name: safesecretAddress
#           in: path
#           description: IPFS hash address of safe secret doc
#           required: true
#           schema:
#             type: string
#       responses:
#         '200':
#           $ref: '#/components/schemas/safesecret'
#   /order/secret:
#     post:
#       summary: Release secret
#       tags:
#         - order
#       operationId: createkey
#       # security:
#       # - bearerAuth: []
#       requestBody:
#         content:
#           application/json:
#             schema:
#               type: object
#               properties:
#                 OrderPart2CID:
#                   type: string
#                   example: /ipfs/QmYcXqMSosRg1XX7P7TqcfNRwqUzdfi2mms6Q9c31QjeYX
#                 BeneficiaryIDDocumentCID:
#                   type: string
#                   example: /ipfs/QmUV8LRzTxV4ozHKKAi68wQXBirSjYn4VEtEjEtqusqAQi
#       responses:
#         '200':
#           $ref: '#/components/schemas/keysecret'
#   /order/pairing:
#     post:
#       summary: Generate and issue a type-3 pairing key
#       tags:
#         - order
#       operationId: createsafe
#       # security:
#       # - bearerAuth: []
#       requestBody:
#         content:
#           application/json:
#             schema:
#               type: object
#               properties:
#                 beneficiaryIDDOC:
#                   type: string
#                   x-go-name: BeneficiaryIDDOC
#                   example: '"kjhdhdjd"'
#                 coin:
#                   type: integer
#                   format: int64
#                   x-go-name: Coin
#                   example: 2
#         x-go-name: Body
#       responses:
#         '200':
#           $ref: '#/components/schemas/safesecret'
#   /fulfill/order:
#     post:
#       summary: Create Public Address
#       tags:
#         - fulfill
#       operationId: fulfillsafe 
#       requestBody:
#         content:
#           application/json:
#             schema:
#               type: object
#               properties:
#                 safeDocAddress:
#                   type: string
#                   x-go-name: safeDocAddress
#                   example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM
#         x-go-name: Body
#       responses:
#         '200':
#           $ref: '#/components/schemas/safesecret'
#   /fulfill/order/secret:
#     post:
#       summary: Return Private Key
#       tags:
#         - fulfill
#       operationId: fulfillkey
#       requestBody:
#         content:
#           application/json:
#             schema:
#               type: object
#               properties:
#                 safeDocAddress:
#                   type: string
#                   x-go-name: keyDocAddress
#                   example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM
#         x-go-name: Body
#       responses:
#         '200':
#           $ref: '#/components/schemas/safesecret'
#   /fulfill/order/pairing:
#     post:
#       summary: Return mPIN Key
#       tags:
#         - fulfill
#       operationId: fulfillkey
#       requestBody:
#         content:
#           application/json:
#             schema:
#               type: object
#               properties:
#                 safeDocAddress:
#                   type: string
#                   x-go-name: keyDocAddress
#                   example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM
#         x-go-name: Body
#       responses:
#         '200':
#           $ref: '#/components/schemas/safesecret'
#   /status:
#     get:
#       description: Test Server Health
#       tags:
#         - system
#       operationId: healthcheck
#       responses:
#         '200':
#           description: Successful operation
#           content:
#             application/json:
#               schema:
#                 $ref: '#/components/schemas/SystemHealth'
 
# # security:
# #   - bearerAuth: []
# components:


#     Encryptastringreq:
#       type: object
#       properties:
#         plaintext:
#         type: string
#         example: Howard is the greatest
#     CypherText:
#       type: object
#       properties: 
#         cypherText:
#           type: string
#           example: 493b17182bb90f3375f77871c05b5b8fd33df23b3b08f128ae50af5e388cafdf
#         t:
#           type: string
#           example: 7b8a80d5a7249fb11a800c69
#         v:
#           type: string
#           example: 044706cdf65b943980c91e86625515d5ac98dc475c0b6097e97dcf826b2b0e414a911920cd37d437b80174a48b24ac4c82aeefbea847082bed8566ef84e9abc031

#     safesecret:
#       type: object
#       properties:
#         safesecretAddress:
#           type: string
#     Arrayofsafesecrets:
#       type: array
#       items:
#         $ref: '#/components/schemas/safesecret'
#     keysecret:
#       type: object
#       properties:
#         secretDocAddress:
#           type: string
#         cypherText:
#           type: object
#           items:
#             $ref: "#/components/schemas/cypherText"
#     SystemHealth:
#       type: object
#       properties:
#         timeStamp:
#           type: string
#         testString:
#           type: string

#   - name: order
#     description: Send Requests to Principal Node
#     externalDocs:
#       url: 'https://milagro.apache.org/docs/milagro-intro/'
#       description: Apache Milagro Docs
#   - name: fulfill
#     description: Actions performed by the Fiduciary node
#     externalDocs:
#       url: 'https://milagro.apache.org/docs/milagro-intro/'
#       description: Apache Milagro Docs