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/08/20 14:10:08 UTC
[incubator-milagro-dta] 01/01: Update open-api.yaml
This is an automated email from the ASF dual-hosted git repository.
kittohoward pushed a commit to branch howardkitto-patch-1
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-dta.git
commit 9e8b43f6c966eeb907d8352b3ec2d58958cf0201
Author: Howard Kitto <ki...@gmail.com>
AuthorDate: Tue Aug 20 15:10:03 2019 +0100
Update open-api.yaml
---
open-api.yaml | 503 ++++++++++++++++++++++++++++++++--------------------------
1 file changed, 279 insertions(+), 224 deletions(-)
diff --git a/open-api.yaml b/open-api.yaml
index af317b8..0f2aebb 100644
--- a/open-api.yaml
+++ b/open-api.yaml
@@ -1,87 +1,87 @@
openapi: 3.0.0
info:
- description: Milagro Secure - distributed / decentralized core security services.
title: Apache Milagro Server
+ description: Milagro Secure - distributed / decentralized core security services. This is the HTTP API specification for the D-TA when it is running no plugins (or the plugin template).
contact:
- email: howard@qredo.com
+ email: dev@milagro.apache.org
license:
- name: Apache Milagro
- version: 0.0.1
+ name: http://www.apache.org/licenses/LICENSE-2.0
+ version: 1.0.0
paths:
- /identity:
+ /1.0/identity:
post:
- summary: Create an identity document
+ summary: Create an Identity Document
tags:
- - identity
- operationId: createIdentity
- # security:
- # - bearerAuth: []
+ - identity
requestBody:
content:
application/json:
schema:
type: object
properties:
- name:
- required: true
+ Name:
type: string
- x-go-name: Name
- example: thisNode
+ example: ExampleNodeName
responses:
'200':
- description: Successful operation
+ description: Successful Operation
content:
application/json:
schema:
- $ref: '#/components/schemas/Identity'
+ $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/IdentityList'
- /identity/{idDocAddress}:
+ summary: Get a list of identity documents
+ tags:
+ - identity
+ 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
+ /1.0/identity/{IDDocumentCID}:
get:
+ summary: Get Details of an Identity
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
+ parameters:
+ - name: IDDocumentCID
in: path
- description: IPFS hash address of user id doc
+ description: IPFS hash address of Identity Document
required: true
schema:
type: string
@@ -92,40 +92,44 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/Identity'
- /secret/safe:
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
+ /1.0/order:
post:
- summary: Generate and store secret
+ summary: Create an order for a new Commitment
+ description: This request will return a Commitment (SECP256 public key) from the Master Fiduciary. The response also includes IPFS hash adresses of the Order Documents passed between the Principal and Master Fiduciary.
tags:
- - secret
- operationId: createsafe
- # security:
- # - bearerAuth: []
+ - order
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
+ BeneficiaryIDDocumentCID:
+ type: string
+ example: QmfWg5GffUEzwahd9hkvdnqTGQs5PfusoEpx3kSDSdG4ze
responses:
'200':
- $ref: '#/components/schemas/safesecret'
+ description: Successful Operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OrderResponse'
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
get:
- summary: Get a list of secrets
- tags:
- - secret
- operationId: getsafes
- security:
- - bearerAuth: []
+ summary: Get a list of orders managed by this D-TA
+ tags:
+ - order
parameters:
- name: page
in: query
@@ -145,214 +149,265 @@ paths:
schema:
type: string
enum:
- - dateCreated
- - dateModified
- - -dateCreated
- - -dateModified
+ - dateCreatedAsc
+ - dateCreatedDesc
responses:
'200':
- description: Successful operation
+ description: Succesful Operation
content:
application/json:
schema:
- $ref: '#/components/schemas/Arrayofsafesecrets'
- /secret/safe/{safesecretAddress}:
+ $ref: '#/components/schemas/OrderListResponse'
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
+ /1.0/order/{OrderReference}:
get:
- summary: Get details of a secret
+ summary: Get details of an order
tags:
- - secret
- operationId: getsafe
- security:
- - bearerAuth: []
+ - order
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
+ - name: OrderReference
+ in: path
+ description: Reference for a single order
+ required: true
+ schema:
+ type: string
responses:
'200':
- $ref: '#/components/schemas/keysecret'
- /secret/pairing:
+ description: Succesful Operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetOrderResponse'
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
+ /1.0/order/secret:
post:
- summary: Generate and issue a type-3 pairing key
+ summary: Returns the SECP256 Secret Key
tags:
- - secret
- operationId: createsafe
- # security:
- # - bearerAuth: []
+ - order
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
+ OrderReference:
+ type: string
+ example: QmUV8LRzTxV4ozHKKAi68wQXBirSjYn4VEtEjEtqusqAQi
+ BeneficiaryIDDocumentCID:
+ type: string
+ example: QmfWg5GffUEzwahd9hkvdnqTGQs5PfusoEpx3kSDSdG4ze
responses:
'200':
- $ref: '#/components/schemas/safesecret'
- /fulfill/safe:
+ description: Succesful Operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OrderSecretResponse'
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
+ /1.0/fulfill/order:
post:
summary: Create Public Address
tags:
- - fulfill
- operationId: fulfillsafe
+ - fulfill
requestBody:
content:
application/json:
schema:
type: object
properties:
- safeDocAddress:
+ OrderPart1CID:
+ type: string
+ example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM
+ DocumentCID:
type: string
- x-go-name: safeDocAddress
example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM
- x-go-name: Body
responses:
- '200':
- $ref: '#/components/schemas/safesecret'
- /fulfill/key:
+ '200':
+ description: Succesful Operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FulfillOrderResponse'
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
+ /1.0/fulfill/order/secret:
post:
summary: Return Private Key
tags:
- - fulfill
- operationId: fulfillkey
+ - fulfill
requestBody:
content:
application/json:
schema:
type: object
properties:
- safeDocAddress:
+ OrderPart3CID:
type: string
- x-go-name: keyDocAddress
- example: Qme5S5xVfGYF46oftiLQDevPAGSKy1aggdtrZvvEdiXuqM
- x-go-name: Body
+ SenderDocumentCID:
+ type: string
responses:
'200':
- $ref: '#/components/schemas/safesecret'
- /healthcheck:
+ description: Succesful Operation
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/FulfillOrderSecretResponse'
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
+ /1.0/status:
get:
description: Test Server Health
tags:
- - system
- operationId: healthcheck
+ - system
responses:
'200':
- description: Successful operation
+ description: Successful Operation
content:
application/json:
schema:
- $ref: '#/components/schemas/SystemHealth'
+ $ref: '#/components/schemas/StatusResponse'
+ '400':
+ description: Invalid Request
+ content:
+ text/plain:
+ schema:
+ type: string
servers:
- - url: 'http://localhost:5555'
- url: 'http://localhost:5556'
-# security:
-# - bearerAuth: []
+ - url: 'http://localhost:5555'
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
+ 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
+ OrderResponse:
+ type: object
+ properties:
+ OrderPart1CID:
+ type: string
+ OrderPart2CID:
+ type: string
+ OrderReference:
+ type: string
+ Commitment:
+ type: string
+ CreatedAt:
+ type: string
+ OrderListResponse:
+ type: object
+ properties:
+ OrderReference:
+ type: array
+ items:
+ type: string
+ GetOrderResponse:
+ type: object
+ properties:
+ Order:
+ type: object
+ properties:
+ Order:
+ type: string
+ TimeStamp:
+ type: integer
+ OrderSecretResponse:
+ type: object
+ properties:
+ Secret:
+ type: string
+ Commitment:
+ type: string
+ OrderReference:
+ type: string
+ FulfillOrderResponse:
+ type: object
+ properties:
+ OrderPart2CID:
+ type: string
+ FulfillOrderSecretResponse:
+ type: object
+ properties:
+ OrderPart4CID:
+ type: string
+ StatusResponse:
+ type: object
+ properties:
+ Application:
+ type: string
+ ExtensionVendor:
+ type: string
+ NodeCID:
+ type: string
+ TimeStamp:
+ type: string
+ Plugin:
+ 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
+ - name: order
+ description: Communication between Principals and Master Fiduciaries
externalDocs:
url: 'https://milagro.apache.org/docs/milagro-intro/'
description: Apache Milagro Docs
- name: fulfill
- description: Actions performed by the Fiduciary node
+ description: Actions performed by the Master Fiduciary
+ externalDocs:
+ url: 'https://milagro.apache.org/docs/milagro-intro/'
+ description: Apache Milagro Docs
+ - name: system
+ description: Test Server Health
externalDocs:
url: 'https://milagro.apache.org/docs/milagro-intro/'
description: Apache Milagro Docs
+