|
13 | 13 | "/health": { |
14 | 14 | "get": { |
15 | 15 | "operationId": "health", |
16 | | - "tags": ["Status"], |
| 16 | + "tags": [ |
| 17 | + "Status" |
| 18 | + ], |
17 | 19 | "summary": "Health check", |
18 | 20 | "responses": { |
19 | 21 | "200": { |
|
25 | 27 | "properties": { |
26 | 28 | "ok": { |
27 | 29 | "type": "boolean", |
28 | | - "enum": [true] |
| 30 | + "enum": [ |
| 31 | + true |
| 32 | + ] |
29 | 33 | } |
30 | 34 | }, |
31 | | - "required": ["ok"] |
| 35 | + "required": [ |
| 36 | + "ok" |
| 37 | + ] |
32 | 38 | } |
33 | 39 | } |
34 | 40 | } |
|
39 | 45 | "/setup": { |
40 | 46 | "post": { |
41 | 47 | "operationId": "setup", |
42 | | - "tags": ["Stateless Sync API"], |
| 48 | + "tags": [ |
| 49 | + "Stateless Sync API" |
| 50 | + ], |
43 | 51 | "summary": "Set up destination schema", |
44 | 52 | "description": "Creates destination tables and applies migrations. Safe to call multiple times.", |
45 | 53 | "parameters": [ |
|
80 | 88 | "/teardown": { |
81 | 89 | "post": { |
82 | 90 | "operationId": "teardown", |
83 | | - "tags": ["Stateless Sync API"], |
| 91 | + "tags": [ |
| 92 | + "Stateless Sync API" |
| 93 | + ], |
84 | 94 | "summary": "Tear down destination schema", |
85 | 95 | "description": "Drops destination tables. Irreversible.", |
86 | 96 | "parameters": [ |
|
121 | 131 | "/check": { |
122 | 132 | "get": { |
123 | 133 | "operationId": "check", |
124 | | - "tags": ["Stateless Sync API"], |
| 134 | + "tags": [ |
| 135 | + "Stateless Sync API" |
| 136 | + ], |
125 | 137 | "summary": "Check connector connection", |
126 | 138 | "description": "Validates the source/destination config and tests connectivity.", |
127 | 139 | "parameters": [ |
|
150 | 162 | "properties": { |
151 | 163 | "status": { |
152 | 164 | "type": "string", |
153 | | - "enum": ["succeeded", "failed"] |
| 165 | + "enum": [ |
| 166 | + "succeeded", |
| 167 | + "failed" |
| 168 | + ] |
154 | 169 | }, |
155 | 170 | "message": { |
156 | 171 | "type": "string" |
157 | 172 | } |
158 | 173 | }, |
159 | | - "required": ["status"] |
| 174 | + "required": [ |
| 175 | + "status" |
| 176 | + ] |
160 | 177 | }, |
161 | 178 | "destination": { |
162 | 179 | "type": "object", |
163 | 180 | "properties": { |
164 | 181 | "status": { |
165 | 182 | "type": "string", |
166 | | - "enum": ["succeeded", "failed"] |
| 183 | + "enum": [ |
| 184 | + "succeeded", |
| 185 | + "failed" |
| 186 | + ] |
167 | 187 | }, |
168 | 188 | "message": { |
169 | 189 | "type": "string" |
170 | 190 | } |
171 | 191 | }, |
172 | | - "required": ["status"] |
| 192 | + "required": [ |
| 193 | + "status" |
| 194 | + ] |
173 | 195 | } |
174 | 196 | }, |
175 | | - "required": ["source", "destination"] |
| 197 | + "required": [ |
| 198 | + "source", |
| 199 | + "destination" |
| 200 | + ] |
176 | 201 | } |
177 | 202 | } |
178 | 203 | } |
|
198 | 223 | "/read": { |
199 | 224 | "post": { |
200 | 225 | "operationId": "read", |
201 | | - "tags": ["Stateless Sync API"], |
| 226 | + "tags": [ |
| 227 | + "Stateless Sync API" |
| 228 | + ], |
202 | 229 | "summary": "Read records from source", |
203 | 230 | "description": "Streams NDJSON messages (records, state, catalog). Optional NDJSON body provides catalog/state as input.", |
204 | 231 | "parameters": [ |
|
248 | 275 | "/write": { |
249 | 276 | "post": { |
250 | 277 | "operationId": "write", |
251 | | - "tags": ["Stateless Sync API"], |
| 278 | + "tags": [ |
| 279 | + "Stateless Sync API" |
| 280 | + ], |
252 | 281 | "summary": "Write records to destination", |
253 | 282 | "description": "Reads NDJSON messages from the request body and writes them to the destination. Pipe /read output as input.", |
254 | 283 | "parameters": [ |
|
310 | 339 | "/sync": { |
311 | 340 | "post": { |
312 | 341 | "operationId": "sync", |
313 | | - "tags": ["Stateless Sync API"], |
| 342 | + "tags": [ |
| 343 | + "Stateless Sync API" |
| 344 | + ], |
314 | 345 | "summary": "Run sync pipeline (read → write)", |
315 | 346 | "description": "Without a request body, reads from the source connector and writes to the destination (backfill mode). With an NDJSON request body, uses the provided messages as input instead of reading from the source (push mode — e.g. piped webhook events).", |
316 | 347 | "parameters": [ |
|
0 commit comments