Skip to content

Releases: QTSurfer/api-client-java

0.6.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 14:44

Changed 🔄

  • Regenerated against OpenAPI spec 0.99.1, which renames 16 operationIds — no request/response shape, field, or endpoint changes. Generated method names follow the operationId 1:1, so every renamed operation gets a new method name:

    Old method New method
    AuthApi.auth() AuthApi.authenticate()
    ExchangeApi.getExchanges() ExchangeApi.listExchanges()
    ExchangeApi.getInstruments() ExchangeApi.listInstruments()
    ExchangeApi.getSegmentInstruments() ExchangeApi.listSegmentInstruments()
    ExchangeApi.getExchangeTickersHour() ExchangeApi.downloadTickers()
    ExchangeApi.getExchangeKlinesHour() ExchangeApi.downloadKlines()
    StrategyApi.postStrategy() StrategyApi.compileStrategy()
    StrategyApi.getStrategyStatus() StrategyApi.getStrategy()
    BacktestingApi.prepareBacktesting() BacktestingApi.prepareBacktest()
    BacktestingApi.getPreparationStatus() BacktestingApi.getPrepareStatus()
    BacktestingApi.executeSweepBacktesting() BacktestingApi.executeSweep()
    BacktestingApi.getExecuteSweepResult() BacktestingApi.getSweepResult()
    BacktestingApi.cancelExecuteSweep() BacktestingApi.cancelSweep()
    BacktestingApi.executeBacktesting() BacktestingApi.executeBacktest()
    BacktestingApi.cancelExecution() BacktestingApi.cancelBacktest()
    BacktestingApi.getExecutionResult() BacktestingApi.getBacktestResult()

    The BacktestingApi sweep contract (executeSweep / getSweepResult / cancelSweep) is now documented in the README's API surface table — it was generated previously too (under the old names) but had not been called out there.

  • As a byproduct of the operationId renames, openapi-generator's synthesized names for inline (non-$ref) request/response schemas also changed, since those names are derived from the operationId. Field-for-field these types are unchanged from the prior version — only the class name moved:

    • CancelExecution200ResponseCancelBacktest200Response
    • GetStrategyStatus200ResponseGetStrategy200Response
    • PostStrategy200ResponseCompileStrategy200Response
    • PrepareBacktestingRequestPrepareRequest
    • ExecuteBacktestingRequestExecuteBacktestRequest

0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 13:06

Changed 🔄

  • BacktestingApi.getPreparationStatus(exchangeId, type, jobId) now returns PrepareJobState instead of JobState, matching OpenAPI spec 0.98.0. PrepareJobState is generated as a standalone class (it does not extend JobState) that duplicates the JobState fields (contextId, status, statusDetail, size, completed, startTime, endTime, dataFrom, dataTo) and adds coverageRatio (hoursWithData / totalHours in [0,1]), totalHours, hoursWithData, and hoursWithoutData — a List<PrepareJobStateAllOfHoursWithoutData>, each with hour, expected, and a rationale enum (PENDING_CONVERSION, LOW_ACTIVITY, UNKNOWN).
  • JobState.StatusEnum no longer has a PARTIAL value. Remaining values: NEW, STARTED, COMPLETED, ABORTED, FAILED.

Added ✨

  • PrepareJobState and PrepareJobStateAllOfHoursWithoutData generated models, carrying the per-hour data-coverage summary returned by getPreparationStatus for single-instrument prepare jobs.

0.4.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 15:38

Changed 🔄

  • ExchangeApi.getInstruments(exchangeId) now returns an InstrumentListResponse HAL envelope (data, meta, links) instead of a bare List<InstrumentDetail>, matching OpenAPI spec 0.97.0. data still carries the List<InstrumentDetail>, meta carries updatedAt/exchange/segment (InstrumentListMeta), and links carries self/spot/futures HAL links (InstrumentLinks, HalLink).
  • InstrumentDetail no longer has flat dataFrom/dataTo fields. Data availability now lives under coverage (InstrumentCoverage), with a CoverageWindow (from, to, optional inactiveSince) per data type — tickers and klines.

Added ✨

  • ExchangeApi.getSegmentInstruments(exchangeId, segment)GET /exchange/{exchangeId}/{segment}/instruments, returning the same InstrumentListResponse envelope scoped to spot or futures.

Fixed 🐛

  • Bumped openapi-generator-maven-plugin 7.11.07.14.0. On 7.11.0 the OpenAPI 3.1 parser inlined the $ref array items of InstrumentListResponse.data, so the generator synthesized a duplicate InstrumentListResponseDataInner model and getData() returned List<InstrumentListResponseDataInner> instead of List<InstrumentDetail>. 7.14.0 resolves the $ref correctly, so the envelope reuses the canonical InstrumentDetail / InstrumentCoverage / CoverageWindow / HalLink models.

0.3.1

Choose a tag to compare

@github-actions github-actions released this 26 May 10:17
fa1934a

Added

  • AuthApi.auth() — exchange an API key for a short-lived JWT against POST /auth/token (OpenAPI spec 0.95.1). The client now ships AuthTokenResponse and AuthTokenError models and an apiKeyAuth (X-API-Key) security scheme.
  • EquityPoint model and ResultMap.pnlTotalPercent / ResultMap.equityCurve fields, carried forward from a prior spec bump that had not been regenerated here.

Fixed

  • README quickstart now reads the JWT from QTSURFER_TOKEN (was JWT_API_TOKEN), matching the TS and Python clients.

0.2.0

Choose a tag to compare

@github-actions github-actions released this 17 May 13:16

Changed

  • Maven coordinates migrated to via JitPack custom domain (). Consumers should replace with .
  • Java packages renamed from to throughout.
  • Tags no longer use the prefix (e.g. instead of ); CI release workflow updated accordingly.

v0.1.1

Choose a tag to compare

@mrmx mrmx released this 14 Apr 23:35

net.qtsurfer:api-client@0.1.1

Fixed

  • Downgrade Maven plugin versions (compiler 3.11.0, surefire 3.2.5, source 3.3.0, javadoc 3.6.3) so the build works under JitPack's bundled Maven 3.5.x.

JitPack: com.github.QTSurfer:api-client-java:v0.1.1

<repository><id>jitpack.io</id><url>https://jitpack.io</url></repository>
<dependency>
  <groupId>com.github.QTSurfer</groupId>
  <artifactId>api-client-java</artifactId>
  <version>v0.1.1</version>
</dependency>

v0.1.0

Choose a tag to compare

@mrmx mrmx released this 14 Apr 23:35

net.qtsurfer:api-client@0.1.0

Initial release. Superseded by v0.1.1 due to a JitPack/Maven plugin compatibility issue — please use v0.1.1 or later.