blob: 000fe69a995e5b1f8f8c6afb0c542c58bc9ca82c [file] [log] [blame]
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