blob: 877f6a04f3ed0706929c4a440aa8c374e5662d33 [file] [log] [blame]
openapi: 3.0.0
info:
description: Milagro Secure - distributed / decentralized core security services.
title: Apache Milagro Server - here
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
/identity/{IDDocumentCID}:
get:
summary: Get Details of an Identity
tags:
- identity
parameters:
- name: IDDocumentCID
in: path
description: IPFS hash address of safe secret doc
required: true
schema:
type: string
responses:
'200':
description: Successful Operation
content:
application/json:
schema:
$ref: '#/components/schemas/Identity'
'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: fulfill
# description: Actions performed by the Fiduciary node
# externalDocs:
# url: 'https://milagro.apache.org/docs/milagro-intro/'
# description: Apache Milagro Docs