Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lazaro raul specs #1

Closed
wants to merge 3 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
157 changes: 157 additions & 0 deletions LazaroRaul_specs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
openapi: 3.0.0

info:
title: Python to .Net
description: Still whitout description.
version: 0.25.1
servers:
- url: http://www.skycoin.net
description: Main Skycoin server
- url: http://staging.node.skycoin.net
description: Internal staging server for developer.
components:
securitySchemes:
CsrfTokenAuth: # arbitrary name for the security scheme
type: apiKey
in: header # can be "header", "query" or "cookie"
name: X-CSRF-TOKEN # name of the header, query parameter or cookie
schemas:
genericError:
description: This is a generic error that should be default response
type: object
properties:
code:
type: integer
format: int64
message:
type: string

paths:
/api/transactions/broadcast:
post:
summary: Broadcast the signed transaction.
description: Should broadcast the signed transaction. Result code can be evaluated synchronously or returned asynchronously in the `[GET] /api/transactions/broadcast/*` response with error code.
security:
- CsrfTokenAuth: []

requestBody:
description: 'A JSON object containing: Operation ID. The signed transaction returned by the [POST] /api/sign'
required: true
content:
application/json:
schema:
type: object
properties:
operationId:
type: string
description: Operation ID.
signedTransaction:
type: string
description: The signed transaction returned by the [POST] /api/sign.

responses:
'200': # status code
description: Error code.
content:
application/json:
schema:
type: object
properties:
errorCode:
type: string
enum:
- amountIsTooSmall
- notEnoughBalance
description: Error code. Can be empty. Should be non empty if an error that match one of the listed code is occured. For other errors use HTTP status codes.
default:
$ref : '#/components/schemas/genericError'

/api/addresses/{address}/explorer-url:
get:
summary: Return one or many blockchain explorer URLs.
description: Should return one or many blockchain explorer URLs for the given address.
security:
- CsrfTokenAuth: []

parameters:
- name: address
in: path
description: Address for find blockchain explorer URLs.
required: true
schema:
type: string

responses:
'200':
description: Blockchain explorer URLs for the given address.
content:
application/json:
schema:
type: array
items:
type: string
default:
$ref : '#/components/schemas/genericError'

/api/transactions/many-outputs:
post:
summary: Build not signed transaction with many outputs.
description: Should build not signed transaction with many outputs. If the transaction with the specified `operationId` has already been built by one of the `[POST] /api/transactions/*` call, it should be ignored and regular response (as in the first request) should be returned. Fee should be added to the specified amount.
security:
- CsrfTokenAuth: []

requestBody:
description: 'A JSON object containing: Operation ID. Source address. Destinations. Asset ID to transfer, defaults to SKY'
required: true
content:
application/json:
schema:
type: object
properties:
operationId:
type: string
description: Operation ID.
fromAddress:
type: string
description: Source address.
outputs:
type: array
items:
type: object
properties:
toAddress:
type: string
description: Destination address.
amount:
type: string
description: Amount to transfer to the toAddress. Integer as string, aligned to the asset accuracy. Actual value can be calculated as x = amount / (10 ^ asset.Accuracy).
description: Destinations.
assetId:
type: string
description: Asset ID to transfer, defaults to SKY.

responses:
'200': # status code
description: Error code. The transaction context
content:
application/json:
schema:
type: object
properties:
errorCode:
type: string
enum:
- amountIsTooSmall
- notEnoughBalance
description: Error code. Can be empty. Should be non empty if an error that match one of the listed code is occured. For other errors use HTTP status codes.
transactionContext:
type: string
description: The transaction context in the blockchain specific format, which will be passed to the [POST] /api/sign. Should be not empty when result is successful.
default:
$ref : '#/components/schemas/genericError'


# To remember :
# Every post method should use security schema.
# Feel free to use and reuse components
# I think, at some point, someone should use oneOf and anyOf, pls take a look