openapi: 3.2.0 info: title: EVEDEX - Market Data History API version: 1.0.0 servers: - url: https://market-data-api.evedex.com tags: - name: History paths: /api/remove-task/list: get: tags: - History security: - AccessToken: [] parameters: - in: query name: limit schema: $ref: '#/components/schemas/PageLimitParam' - in: query name: offset schema: $ref: '#/components/schemas/PageOffsetParam' - in: query name: withCompleted schema: type: string responses: '200': description: 200 OK content: application/json: schema: $ref: '#/components/schemas/RemoveHistoryTaskListResponse' /api/history/{instrument}/remove: post: tags: - History security: - AccessToken: [] parameters: - in: path name: instrument schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RemoveHistoryBody' responses: '200': description: 200 OK content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' /api/history/{instrument}/list: get: tags: - History security: - AccessToken: [] parameters: - in: path name: instrument schema: type: string required: true - in: query name: after schema: type: string required: true - in: query name: before schema: type: string required: true - in: query name: group schema: type: string enum: - 1s - 1m - 3m - 5m - 15m - 30m - 1h - 4h - 6h - 12h - 1d - 1w - 1mo required: true responses: '200': description: 200 OK content: application/json: schema: $ref: '#/components/schemas/TradeHistoryResponse' '304': description: 304 Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '400': description: 400 Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: 404 Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: 500 Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/import-task/list: get: tags: - History security: - AccessToken: [] parameters: - in: query name: limit schema: $ref: '#/components/schemas/PageLimitParam' - in: query name: offset schema: $ref: '#/components/schemas/PageOffsetParam' - in: query name: withCompleted schema: type: string responses: '200': description: 200 OK content: application/json: schema: $ref: '#/components/schemas/ImportHistoryTaskListResponse' /api/history/{instrument}/import: post: tags: - History security: - InternalToken: [] parameters: - in: path name: instrument schema: type: string required: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ImportHistoryBody' responses: '200': description: 200 OK content: application/json: schema: $ref: '#/components/schemas/EmptyResponse' components: schemas: ImportHistoryBody: type: object properties: after: type: string before: type: string group: type: string enum: - 1s - 1m - 3m - 5m - 15m - 30m - 1h - 4h - 6h - 12h - 1d - 1w - 1mo default: 1m source: type: string enum: - binance - bitget - bybit sourceInstrument: type: - string - 'null' default: null coefficient: type: - number - 'null' default: 1 contractType: type: - string - 'null' default: null required: - after - source ImportHistoryTaskListResponse: type: object properties: list: type: array items: type: object properties: id: type: string payload: type: object properties: after: type: number before: type: number source: type: string enum: - binance - bitget - bybit instrument: type: string coefficient: type: - number - 'null' default: 1 contractType: type: - string - 'null' default: null sourceInstrument: type: - string - 'null' default: null required: - after - before - source - instrument - coefficient - contractType - sourceInstrument status: type: string enum: - pending - process - done - error error: type: - string - 'null' default: null startAt: type: string required: - id - payload - status - error - startAt count: type: number required: - list - count RemoveHistoryTaskListResponse: type: object properties: list: type: array items: type: object properties: id: type: string payload: type: object properties: after: type: number before: type: number instrument: type: string max: type: number min: type: number required: - after - before - instrument status: type: string enum: - pending - process - done - error error: type: - string - 'null' default: null startAt: type: string required: - id - payload - status - error - startAt count: type: number required: - list - count TradeHistoryResponse: type: array items: type: array maxItems: 7 minItems: 7 prefixItems: - type: integer description: Timestamp in milliseconds - type: number description: Open price - type: number description: Close price - type: number description: High price - type: number description: Low price - type: number description: Volume in quote currency - type: number description: Volume in base currency PageOffsetParam: anyOf: - type: number - type: string default: 0 ErrorResponse: type: object properties: message: type: string description: Error message required: - message description: Error response PageLimitParam: anyOf: - type: number - type: string default: 20 RemoveHistoryBody: type: object properties: after: type: string before: type: string max: type: - number - 'null' default: null min: type: - number - 'null' default: null instrument: type: string required: - after - before - instrument EmptyResponse: type: object securitySchemes: InternalToken: type: http scheme: bearer AccessToken: type: http scheme: bearer RefreshToken: type: http scheme: bearer