| 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: |
| required: true |
| type: string |
| x-go-name: Name |
| example: '"thisNode"' |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/Identity' |
| 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/IdentityList' |
| /identity/{idDocAddress}: |
| get: |
| tags: |
| - identity |
| summary: Get a single identity |
| description: Use a known idDocumentAddress to access a single ID document |
| operationId: getIdentityByID |
| security: |
| - bearerAuth: [] |
| parameters: |
| - name: idDocAddress |
| in: path |
| description: IPFS hash address of user id doc |
| required: true |
| schema: |
| type: string |
| responses: |
| '200': |
| description: Successful Operation |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/Identity' |
| /order/deposit: |
| post: |
| summary: Create Deposit Order |
| tags: |
| - order |
| operationId: createDeposit |
| # 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/DepositOrder' |
| get: |
| summary: Get a list of deposits |
| tags: |
| - order |
| operationId: getDeposits |
| 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/ArrayofDepositOrders' |
| /order/deposit/{depositOrderAddress}: |
| get: |
| summary: Get details of a deposit |
| tags: |
| - order |
| operationId: getDeposit |
| security: |
| - bearerAuth: [] |
| parameters: |
| - name: depositOrderAddress |
| in: path |
| description: IPFS hash address of deposit order doc |
| required: true |
| schema: |
| type: string |
| responses: |
| '200': |
| $ref: '#/components/schemas/DepositOrder' |
| /order/redemption: |
| post: |
| summary: Reveal Private Key |
| tags: |
| - order |
| operationId: createRedemption |
| # security: |
| # - bearerAuth: [] |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| partTwoOrderDoc: |
| type: string |
| # example: QmReoUkzq6dEwdTZqCzNAqiMKPGdY2E3recm2tud1uuqia |
| responses: |
| '200': |
| $ref: '#/components/schemas/RedemptionOrder' |
| /fulfill/deposit: |
| post: |
| summary: Create Public Address |
| tags: |
| - fulfill |
| operationId: fulfillDeposit |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| depositDocAddress: |
| type: string |
| x-go-name: depositDocAddress |
| example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM |
| x-go-name: Body |
| responses: |
| '200': |
| $ref: '#/components/schemas/DepositOrder' |
| /fulfill/redemption: |
| post: |
| summary: Return Private Key |
| tags: |
| - fulfill |
| operationId: fulfillRedemption |
| requestBody: |
| content: |
| application/json: |
| schema: |
| type: object |
| properties: |
| depositDocAddress: |
| type: string |
| x-go-name: redemptionDocAddress |
| example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM |
| x-go-name: Body |
| responses: |
| '200': |
| $ref: '#/components/schemas/DepositOrder' |
| /healthcheck: |
| get: |
| description: Test Server Health |
| tags: |
| - system |
| operationId: healthcheck |
| responses: |
| '200': |
| description: Successful operation |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/SystemHealth' |
| servers: |
| - url: 'http://localhost:5555' |
| - url: 'http://localhost:5556' |
| # security: |
| # - bearerAuth: [] |
| components: |
| securitySchemes: |
| bearerAuth: |
| type: http |
| scheme: bearer |
| bearerFormat: JWT |
| schemas: |
| Identity: |
| type: object |
| properties: |
| idDocumentAddress: |
| type: string |
| AuthenticationReference: |
| type: string |
| BenListenerWalletAddress: |
| type: string |
| BenSASPubKey: |
| type: string |
| BenECAddPubKey: |
| type: string |
| SikePublicKey: |
| type: string |
| PicnicPublicKey: |
| type: string |
| Handle: |
| type: string |
| Email: |
| type: string |
| Username: |
| type: string |
| Timestamp: |
| type: integer |
| IdentityList: |
| type: object |
| items: |
| $ref: '#/components/schemas/IdentityArray' |
| IdentityArray: |
| type: array |
| items: |
| $ref: '#/components/schemas/Identity' |
| DepositOrder: |
| type: object |
| properties: |
| depositOrderAddress: |
| type: string |
| ArrayofDepositOrders: |
| type: array |
| items: |
| $ref: '#/components/schemas/DepositOrder' |
| RedemptionOrder: |
| type: object |
| properties: |
| orderDocAddress: |
| type: string |
| SystemHealth: |
| type: object |
| properties: |
| timeStamp: |
| type: string |
| testString: |
| type: string |
| tags: |
| - name: identity |
| description: Actors in the system |
| externalDocs: |
| url: 'https://milagro.apache.org/docs/milagro-intro/' |
| description: Apache Milagro Docs |
| - 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 |