-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOpenAPI.yaml
144 lines (136 loc) · 4.09 KB
/
OpenAPI.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
openapi: 3.0.0
info:
title: Eurostat Data API
description: API for searching and retrieving data from Eurostat
version: 1.0.0
servers:
- url: https://statchat.onrender.com
paths:
/search_for_tables:
post:
operationId: searchForTables
summary: Search Eurostat Tables
description: Searches for tables in Eurostat that match the user's question.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
query:
type: string
description: The question the user is asking.
required:
- query
responses:
200:
description: Search results
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResults'
/get_table_variables:
post:
operationId: getTableVariables
summary: Get Table Variables
description: Gets the variables for a table in Eurostat.
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
table_code:
type: string
description: Code of the Eurostat table.
required:
- table_code
responses:
200:
description: Variables for the table
content:
application/json:
schema:
$ref: '#/components/schemas/TableVariables'
/get_table_data:
post:
operationId: getData
summary: Get Data for Table
description: >
Retrieves table data based on query parameters as JSON. The query keys
correspond to variable IDs from `get_table_variables`. The response is
a CSV string with column headers as variables.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
table_code:
type: string
description: Code of the Eurostat table.
query:
type: object
description: >
JSON object containing parameters for the query.
The keys are variable IDs/codes corresponding to those provided
by the `get_table_variables` endpoint. For non specified variables,
all values are returned.
additionalProperties:
type: array
items:
type: string
required:
- table_code
responses:
200:
description: CSV data for the specified table
content:
text/csv:
schema:
type: string
description: CSV formatted string. The first row contains column headers (variables).
components:
schemas:
SearchResults:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/SearchResult'
SearchResult:
type: object
properties:
code:
type: string
title:
type: string
date_start:
type: integer
date_end:
type: integer
TableVariables:
type: object
description: Variables available for a specific table.
properties:
variable_name:
type: object
description: The structure of each variable.
additionalProperties:
type: object
properties:
text:
type: string
values:
type: object
additionalProperties:
type: string
TableData:
type: string
description: >
A string representing CSV formatted data. The first row of the CSV
contains the column headers, which correspond to the variables from the query.