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 <[email protected]> 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: [email protected] + email: [email protected] 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 +
