You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by ki...@apache.org on 2019/06/26 07:30:27 UTC
[incubator-milagro-dta] 02/02: update open-api
This is an automated email from the ASF dual-hosted git repository.
kittohoward pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-dta.git
commit fc372fed571b0d1f22b8a6e1a9c13530a1c389c5
Author: howardkitto <ki...@gmail.com>
AuthorDate: Wed Jun 26 08:30:10 2019 +0100
update open-api
---
open-api.yaml | 358 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 358 insertions(+)
diff --git a/open-api.yaml b/open-api.yaml
new file mode 100644
index 0000000..af317b8
--- /dev/null
+++ b/open-api.yaml
@@ -0,0 +1,358 @@
+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'
+ /secret/safe:
+ post:
+ summary: Generate and store secret
+ tags:
+ - secret
+ 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'
+ get:
+ summary: Get a list of secrets
+ tags:
+ - secret
+ 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'
+ /secret/safe/{safesecretAddress}:
+ get:
+ summary: Get details of a secret
+ tags:
+ - secret
+ 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'
+ /secret/key:
+ post:
+ summary: Release secret
+ tags:
+ - secret
+ operationId: createkey
+ # security:
+ # - bearerAuth: []
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ partTwosecretDoc:
+ type: string
+ # example: QmReoUkzq6dEwdTZqCzNAqiMKPGdY2E3recm2tud1uuqia
+ responses:
+ '200':
+ $ref: '#/components/schemas/keysecret'
+ /secret/pairing:
+ post:
+ summary: Generate and issue a type-3 pairing key
+ tags:
+ - secret
+ 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/safe:
+ 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/key:
+ 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'
+ /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'
+ safesecret:
+ type: object
+ properties:
+ safesecretAddress:
+ type: string
+ Arrayofsafesecrets:
+ type: array
+ items:
+ $ref: '#/components/schemas/safesecret'
+ keysecret:
+ type: object
+ properties:
+ secretDocAddress:
+ 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: secret
+ 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