@gojinko/api-client 2.19.1 → 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
@@ -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: