@gojinko/api-client 2.19.0 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/public-api.yaml CHANGED
@@ -1657,6 +1657,92 @@ components:
1657
1657
  type: array
1658
1658
  items:
1659
1659
  $ref: "#/components/schemas/AudienceRow"
1660
+ Granularity:
1661
+ type: string
1662
+ enum: [day, week, month]
1663
+ description: "Bucket size for an evolution series: day (default), week, or month."
1664
+ EvolutionPoint:
1665
+ type: object
1666
+ required: [date, value]
1667
+ properties:
1668
+ date:
1669
+ type: string
1670
+ format: date
1671
+ description: "Bucket start date (YYYY-MM-DD)."
1672
+ example: "2026-06-20"
1673
+ value:
1674
+ type: number
1675
+ format: double
1676
+ description: De-sampled search volume for the bucket.
1677
+ example: 1234
1678
+ SeriesSummary:
1679
+ type: object
1680
+ description: Per-series rollup over the returned window.
1681
+ properties:
1682
+ total:
1683
+ type: number
1684
+ format: double
1685
+ example: 34567
1686
+ avg_per_day:
1687
+ type: number
1688
+ format: double
1689
+ example: 1191
1690
+ growth_pct:
1691
+ type: number
1692
+ format: double
1693
+ nullable: true
1694
+ description: "Within-window growth %: recent half vs. prior half. Null when the prior half is empty."
1695
+ example: 12.3
1696
+ peak_date:
1697
+ type: string
1698
+ format: date
1699
+ example: "2026-06-14"
1700
+ peak_value:
1701
+ type: number
1702
+ format: double
1703
+ example: 1890
1704
+ EvolutionSeries:
1705
+ type: object
1706
+ required: [series]
1707
+ properties:
1708
+ label:
1709
+ type: string
1710
+ description: "Ranked dimension value (destination/market/audience endpoints); omitted for the pairs endpoint."
1711
+ example: "Country:FR"
1712
+ origin:
1713
+ type: string
1714
+ description: "Pairs endpoint only: the origin selector for this series."
1715
+ example: "Country:US"
1716
+ destination:
1717
+ type: string
1718
+ description: "Pairs endpoint only: the destination selector for this series."
1719
+ example: "Country:FR"
1720
+ series:
1721
+ type: array
1722
+ items:
1723
+ $ref: "#/components/schemas/EvolutionPoint"
1724
+ summary:
1725
+ $ref: "#/components/schemas/SeriesSummary"
1726
+ EvolutionResponse:
1727
+ type: object
1728
+ required: [granularity, from, to, series]
1729
+ properties:
1730
+ granularity:
1731
+ $ref: "#/components/schemas/Granularity"
1732
+ from:
1733
+ type: string
1734
+ format: date
1735
+ description: First (inclusive) bucket date of the window.
1736
+ example: "2026-06-19"
1737
+ to:
1738
+ type: string
1739
+ format: date
1740
+ description: Last (inclusive) bucket date of the window.
1741
+ example: "2026-06-25"
1742
+ series:
1743
+ type: array
1744
+ items:
1745
+ $ref: "#/components/schemas/EvolutionSeries"
1660
1746
  parameters:
1661
1747
  analysis:
1662
1748
  name: analysis
@@ -1759,19 +1845,19 @@ components:
1759
1845
  name: snapshot_window_days
1760
1846
  in: query
1761
1847
  required: false
1762
- description: "Snapshot mode only: number of most-recent days of search activity aggregated into the demand level (default 7, max 90 — the cube retains 90 days). Rejected when analysis=trend."
1848
+ description: "Snapshot mode only: number of most-recent days of search activity aggregated into the demand level (min 2, default 7, max 90 — a 1-day window is the current day, whose data is incomplete; the cube retains 90 days). Rejected when analysis=trend."
1763
1849
  schema:
1764
1850
  type: integer
1765
- minimum: 1
1851
+ minimum: 2
1766
1852
  maximum: 90
1767
1853
  trendWindowDays:
1768
1854
  name: trend_window_days
1769
1855
  in: query
1770
1856
  required: false
1771
- description: "Trend mode only: size in days of each of the two adjacent windows compared for growth (default 7, max 45 — a trend spans 2x the window within the cube's 90-day retention). Rejected when analysis=snapshot."
1857
+ description: "Trend mode only: size in days of each of the two adjacent windows compared for growth (min 2, default 7, max 45 — a 1-day window's recent period is the current day, whose data is incomplete; a trend spans 2x the window within the cube's 90-day retention). Rejected when analysis=snapshot."
1772
1858
  schema:
1773
1859
  type: integer
1774
- minimum: 1
1860
+ minimum: 2
1775
1861
  maximum: 45
1776
1862
  limit:
1777
1863
  name: limit
@@ -1783,6 +1869,48 @@ components:
1783
1869
  minimum: 1
1784
1870
  maximum: 200
1785
1871
  default: 20
1872
+ origins:
1873
+ name: origins
1874
+ in: query
1875
+ required: true
1876
+ description: "Pairs endpoint: comma-separated origin selectors `<Level>:<Code>` (e.g. `Country:US,Country:CA`). v1: at most one of origins/destinations may have more than one entry."
1877
+ schema:
1878
+ type: string
1879
+ minLength: 1
1880
+ destinations:
1881
+ name: destinations
1882
+ in: query
1883
+ required: true
1884
+ description: "Pairs endpoint: comma-separated destination selectors `<Level>:<Code>` (e.g. `Country:FR,Country:DE`)."
1885
+ schema:
1886
+ type: string
1887
+ minLength: 1
1888
+ evolutionWindowDays:
1889
+ name: trend_window_days
1890
+ in: query
1891
+ required: false
1892
+ description: "Size of the evolution window in days (min 2, default 7, max 45). The series spans the last N complete days ending yesterday; the current day is excluded as incomplete."
1893
+ schema:
1894
+ type: integer
1895
+ minimum: 2
1896
+ maximum: 45
1897
+ granularity:
1898
+ name: granularity
1899
+ in: query
1900
+ required: false
1901
+ description: "Bucket size for the returned series: day (default), week, or month."
1902
+ schema:
1903
+ $ref: "#/components/schemas/Granularity"
1904
+ evolutionLimit:
1905
+ name: limit
1906
+ in: query
1907
+ required: false
1908
+ description: "Evolution endpoints: maximum number of series (top-N keys). Default 10, max 50."
1909
+ schema:
1910
+ type: integer
1911
+ minimum: 1
1912
+ maximum: 50
1913
+ default: 10
1786
1914
  paths:
1787
1915
  /v1/destination:
1788
1916
  get:
@@ -1919,6 +2047,186 @@ paths:
1919
2047
  application/json:
1920
2048
  schema:
1921
2049
  $ref: "#/components/schemas/ErrorResponse"
2050
+ /v1/evolution:
2051
+ get:
2052
+ tags:
2053
+ - demand
2054
+ summary: Daily demand time series for explicit origin/destination pairs
2055
+ description: >-
2056
+ Deep dive: returns one daily de-sampled search-volume series per
2057
+ (origin, destination) pair. v1 allows a list on only one side — a single
2058
+ origin with many destinations, or many origins with a single destination.
2059
+ security:
2060
+ - ApiKeyAuth: []
2061
+ - BearerAuth: []
2062
+ parameters:
2063
+ - $ref: "#/components/parameters/origins"
2064
+ - $ref: "#/components/parameters/destinations"
2065
+ - $ref: "#/components/parameters/travelPeriod"
2066
+ - $ref: "#/components/parameters/departureDateFrom"
2067
+ - $ref: "#/components/parameters/departureDateTo"
2068
+ - $ref: "#/components/parameters/travelerType"
2069
+ - $ref: "#/components/parameters/tripType"
2070
+ - $ref: "#/components/parameters/tripDurationMin"
2071
+ - $ref: "#/components/parameters/tripDurationMax"
2072
+ - $ref: "#/components/parameters/searchWindowMin"
2073
+ - $ref: "#/components/parameters/searchWindowMax"
2074
+ - $ref: "#/components/parameters/evolutionWindowDays"
2075
+ - $ref: "#/components/parameters/granularity"
2076
+ responses:
2077
+ "200":
2078
+ description: Per-pair demand time series
2079
+ content:
2080
+ application/json:
2081
+ schema:
2082
+ $ref: "#/components/schemas/EvolutionResponse"
2083
+ "401":
2084
+ description: Authentication required
2085
+ content:
2086
+ application/json:
2087
+ schema:
2088
+ $ref: "#/components/schemas/ErrorResponse"
2089
+ "422":
2090
+ description: Validation error
2091
+ content:
2092
+ application/json:
2093
+ schema:
2094
+ $ref: "#/components/schemas/ErrorResponse"
2095
+ /v1/destination/evolution:
2096
+ get:
2097
+ tags:
2098
+ - demand
2099
+ summary: Daily demand time series for the top-N destinations
2100
+ description: >-
2101
+ Ranks destinations (optionally reachable from origin_market) by
2102
+ within-window growth, then returns each top-N destination's daily series.
2103
+ security:
2104
+ - ApiKeyAuth: []
2105
+ - BearerAuth: []
2106
+ parameters:
2107
+ - $ref: "#/components/parameters/originMarket"
2108
+ - $ref: "#/components/parameters/destinationFilter"
2109
+ - $ref: "#/components/parameters/travelPeriod"
2110
+ - $ref: "#/components/parameters/departureDateFrom"
2111
+ - $ref: "#/components/parameters/departureDateTo"
2112
+ - $ref: "#/components/parameters/travelerType"
2113
+ - $ref: "#/components/parameters/tripType"
2114
+ - $ref: "#/components/parameters/tripDurationMin"
2115
+ - $ref: "#/components/parameters/tripDurationMax"
2116
+ - $ref: "#/components/parameters/searchWindowMin"
2117
+ - $ref: "#/components/parameters/searchWindowMax"
2118
+ - $ref: "#/components/parameters/evolutionWindowDays"
2119
+ - $ref: "#/components/parameters/granularity"
2120
+ - $ref: "#/components/parameters/evolutionLimit"
2121
+ responses:
2122
+ "200":
2123
+ description: Top-N destination time series
2124
+ content:
2125
+ application/json:
2126
+ schema:
2127
+ $ref: "#/components/schemas/EvolutionResponse"
2128
+ "401":
2129
+ description: Authentication required
2130
+ content:
2131
+ application/json:
2132
+ schema:
2133
+ $ref: "#/components/schemas/ErrorResponse"
2134
+ "422":
2135
+ description: Validation error
2136
+ content:
2137
+ application/json:
2138
+ schema:
2139
+ $ref: "#/components/schemas/ErrorResponse"
2140
+ /v1/market/evolution:
2141
+ get:
2142
+ tags:
2143
+ - demand
2144
+ summary: Daily demand time series for the top-N source markets
2145
+ description: >-
2146
+ Ranks source markets for a destination by within-window growth, then
2147
+ returns each top-N market's daily series. `destination` is required.
2148
+ security:
2149
+ - ApiKeyAuth: []
2150
+ - BearerAuth: []
2151
+ parameters:
2152
+ - $ref: "#/components/parameters/destinationRequired"
2153
+ - $ref: "#/components/parameters/originMarket"
2154
+ - $ref: "#/components/parameters/travelPeriod"
2155
+ - $ref: "#/components/parameters/departureDateFrom"
2156
+ - $ref: "#/components/parameters/departureDateTo"
2157
+ - $ref: "#/components/parameters/travelerType"
2158
+ - $ref: "#/components/parameters/tripType"
2159
+ - $ref: "#/components/parameters/tripDurationMin"
2160
+ - $ref: "#/components/parameters/tripDurationMax"
2161
+ - $ref: "#/components/parameters/searchWindowMin"
2162
+ - $ref: "#/components/parameters/searchWindowMax"
2163
+ - $ref: "#/components/parameters/evolutionWindowDays"
2164
+ - $ref: "#/components/parameters/granularity"
2165
+ - $ref: "#/components/parameters/evolutionLimit"
2166
+ responses:
2167
+ "200":
2168
+ description: Top-N market time series
2169
+ content:
2170
+ application/json:
2171
+ schema:
2172
+ $ref: "#/components/schemas/EvolutionResponse"
2173
+ "401":
2174
+ description: Authentication required
2175
+ content:
2176
+ application/json:
2177
+ schema:
2178
+ $ref: "#/components/schemas/ErrorResponse"
2179
+ "422":
2180
+ description: Validation error
2181
+ content:
2182
+ application/json:
2183
+ schema:
2184
+ $ref: "#/components/schemas/ErrorResponse"
2185
+ /v1/audience/evolution:
2186
+ get:
2187
+ tags:
2188
+ - demand
2189
+ summary: Daily demand time series for the traveler-type mix
2190
+ description: >-
2191
+ Returns a daily series per traveler-type segment (Solo / Couple / Family /
2192
+ Group) of demand for a destination. `destination` is required;
2193
+ `traveler_type` is not a filter here — this endpoint buckets by it.
2194
+ security:
2195
+ - ApiKeyAuth: []
2196
+ - BearerAuth: []
2197
+ parameters:
2198
+ - $ref: "#/components/parameters/destinationRequired"
2199
+ - $ref: "#/components/parameters/originMarket"
2200
+ - $ref: "#/components/parameters/travelPeriod"
2201
+ - $ref: "#/components/parameters/departureDateFrom"
2202
+ - $ref: "#/components/parameters/departureDateTo"
2203
+ - $ref: "#/components/parameters/tripType"
2204
+ - $ref: "#/components/parameters/tripDurationMin"
2205
+ - $ref: "#/components/parameters/tripDurationMax"
2206
+ - $ref: "#/components/parameters/searchWindowMin"
2207
+ - $ref: "#/components/parameters/searchWindowMax"
2208
+ - $ref: "#/components/parameters/evolutionWindowDays"
2209
+ - $ref: "#/components/parameters/granularity"
2210
+ - $ref: "#/components/parameters/evolutionLimit"
2211
+ responses:
2212
+ "200":
2213
+ description: Per-segment time series
2214
+ content:
2215
+ application/json:
2216
+ schema:
2217
+ $ref: "#/components/schemas/EvolutionResponse"
2218
+ "401":
2219
+ description: Authentication required
2220
+ content:
2221
+ application/json:
2222
+ schema:
2223
+ $ref: "#/components/schemas/ErrorResponse"
2224
+ "422":
2225
+ description: Validation error
2226
+ content:
2227
+ application/json:
2228
+ schema:
2229
+ $ref: "#/components/schemas/ErrorResponse"
1922
2230
  /health:
1923
2231
  get:
1924
2232
  tags: