github.com/thetreep/go-swagger@v0.0.0-20240223100711-35af64f14f01/fixtures/bugs/2527/swagger.yml (about) 1 swagger: '2.0' 2 info: 3 title: Exchange Automator 2 4 version: '1.0' 5 description: Exchange trading automator. Internal only service. 6 host: localhost 7 basePath: /api/v1 8 securityDefinitions: 9 ApiKeyAuth: 10 name: X-API-Key 11 description: 'API keys are all predefined for all internal services' 12 type: apiKey 13 in: header 14 security: 15 - ApiKeyAuth: [] 16 schemes: 17 - https 18 consumes: 19 - application/json 20 produces: 21 - application/json 22 responses: 23 401: 24 description: Not authorized 25 schema: 26 $ref: '#/definitions/Error' 27 422: 28 description: Unprocessable entity 29 schema: 30 $ref: '#/definitions/Error' 31 503: 32 description: Service temporarily unavailable 33 schema: 34 $ref: '#/definitions/Error' 35 tags: 36 - name: Currency exchange rate 37 description: Get exchange currency rate info 38 - name: Deposit 39 - name: Trading 40 definitions: 41 Exchange: 42 type: string 43 enum: [kraken, globitex, binance, cex] 44 description: Exchange Id 45 CurrencyRate: 46 type: object 47 properties: 48 exchange: 49 type: string 50 timestamp: 51 description: Most likely near to current moment 52 type: integer 53 format: int64 54 source: 55 type: string 56 description: Source currency ticker 57 target: 58 type: string 59 description: Target currency ticker 60 rate: 61 type: number 62 format: double 63 sourceAmount: 64 type: number 65 format: double 66 targetAmount: 67 type: number 68 format: double 69 Deposit: 70 type: object 71 description: Field list is not final, will be added during development 72 properties: 73 exchange: 74 $ref: '#/definitions/Exchange' 75 accountId: 76 type: string 77 format: uuid 78 txId: 79 description: Transaction Id 80 type: string 81 clientId: 82 description: Client Id, identified via external system, after receiving 83 ticker: 84 type: string 85 amount: 86 type: number 87 format: double 88 ExchangeOrder: 89 type: object 90 required: 91 - exchange 92 - incomingTxId 93 - source 94 - target 95 - sourceAmount 96 properties: 97 id: 98 type: string 99 description: Created order Id 100 type: 101 type: string 102 description: defaults to 'market' 103 enum: [market, limit] 104 exchange: 105 $ref: '#/definitions/Exchange' 106 incomingTxId: 107 type: string 108 description: Incoming deposit transaction id 109 source: 110 type: string 111 target: 112 type: string 113 sourceAmount: 114 type: number 115 format: double 116 targetAmount: 117 description: Target currency amount after or during exchange processing. Total of transactions amounts 118 type: number 119 format: double 120 status: 121 type: string 122 enum: [pending, processing, executed] 123 transactions: 124 type: array 125 items: 126 type: string 127 128 Error: 129 type: object 130 required: 131 - message 132 properties: 133 message: 134 type: string 135 description: Error description 136 paths: 137 /swagger.yml: 138 get: 139 description: Returns swagger api specs 140 tags: 141 - Swagger 142 responses: 143 200: 144 description: Swagger specs contents 145 /exchange_rate: 146 get: 147 description: Returns currency exchange rate. If both sourceAmount and targetAmount is provided, targetAmount will be ignored. 148 tags: 149 - Currency exchange rate 150 parameters: 151 - name: exchange 152 description: Exchange to query 153 in: query 154 type: string 155 required: true 156 - name: source 157 description: Source currency to be converted from 158 in: query 159 type: string 160 required: true 161 - name: target 162 description: Target currency to be converted to 163 in: query 164 type: string 165 required: true 166 - name: sourceAmount 167 description: If set, returns target currency amount, selling this amount of source currency, default 1 168 in: query 169 type: number 170 format: double 171 - name: targetAmount 172 description: If set, returns source currency amount, buying this amount of target currency 173 in: query 174 type: number 175 format: double 176 responses: 177 200: 178 description: Currency rate object 179 schema: 180 $ref: '#/definitions/CurrencyRate' 181 401: 182 $ref: '#/responses/401' 183 422: 184 $ref: '#/responses/422' 185 503: 186 $ref: '#/responses/503' 187 /deposits: 188 get: 189 description: Returns deposits list across all exchanges 190 tags: 191 - Deposit 192 parameters: 193 - name: accountId 194 description: Filter by account ID 195 in: query 196 type: string 197 format: uuid 198 - $ref: '#/definitions/Exchange' 199 - name: status 200 description: Filter by deposit transaction status 201 type: string 202 in: query 203 enum: [pending, mempool, something, else] 204 responses: 205 200: 206 description: Deposit list 207 schema: 208 type: object 209 properties: 210 deposits: 211 type: array 212 items: 213 $ref: '#/definitions/Deposit' 214 401: 215 $ref: '#/responses/401' 216 /exchange_order/{exchangeOrderId}: 217 get: 218 description: Returns exchange order 219 tags: 220 - Trading 221 parameters: 222 - name: exchangeOrderId 223 in: path 224 type: string 225 required: true 226 responses: 227 200: 228 description: Exchange order 229 schema: 230 $ref: '#/definitions/ExchangeOrder' 231 401: 232 $ref: '#/responses/401' 233 /exchange_order: 234 post: 235 description: Creates a currency exchange order, depending on order type, might be async 236 tags: 237 - Trading 238 parameters: 239 - name: X-Idempotency-Token 240 description: Client generated idempotency token for operation deduplication 241 in: header 242 type: string 243 required: true 244 - name: exchangeOrder 245 in: body 246 required: true 247 schema: 248 type: object 249 required: 250 - exchange 251 - incomingTxId 252 - source 253 - target 254 - sourceAmount 255 properties: 256 type: 257 type: string 258 description: defaults to 'market' 259 enum: [market, limit] 260 exchange: 261 $ref: '#/definitions/Exchange' 262 incomingTxId: 263 type: string 264 description: Incoming deposit transaction id 265 source: 266 type: string 267 target: 268 type: string 269 sourceAmount: 270 type: number 271 format: double 272 responses: 273 200: 274 description: Exchange order 275 schema: 276 $ref: '#/definitions/ExchangeOrder' 277 401: 278 $ref: '#/responses/401'