-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtidb-cloud-data-service-openapi.yml
More file actions
851 lines (851 loc) · 29 KB
/
Copy pathtidb-cloud-data-service-openapi.yml
File metadata and controls
851 lines (851 loc) · 29 KB
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
openapi: 3.1.0
info:
title: TiDB Cloud Data Service API
description: >-
The TiDB Cloud Data Service API enables developers to manage Data Apps and
custom REST endpoints backed by SQL queries running against TiDB Cloud
clusters. Operators create Data Apps, link them to clusters, define custom
endpoints with SQL templates, manage API keys, and deploy endpoints via this
API. Endpoints support GET, POST, PUT, and DELETE methods, return
JSON-formatted results, and can be configured with pagination, rate limiting,
and caching. The API uses HTTP Digest Authentication and is served from the
dataservice.tidbapi.com host.
version: v1beta1
contact:
name: TiDB Cloud Support
url: https://docs.pingcap.com/tidbcloud/data-service-overview/
termsOfService: https://www.pingcap.com/legal/privacy-policy/
externalDocs:
description: TiDB Cloud Data Service Overview
url: https://docs.pingcap.com/tidbcloud/data-service-overview/
servers:
- url: https://dataservice.tidbapi.com/v1beta1
description: Data Service Management API Server
tags:
- name: Data App API Keys
description: Operations for managing API keys scoped to a specific Data App.
- name: Data Apps
description: Operations for creating, listing, updating, and deleting Data Apps.
- name: Data Sources
description: Operations for linking and managing TiDB Cloud clusters as data sources within a Data App.
- name: Deployments
description: Operations for deploying and managing versions of a Data App.
- name: Endpoints
description: Operations for creating, listing, updating, testing, and deleting custom SQL-backed API endpoints.
security:
- digestAuth: []
paths:
/dataApps:
get:
operationId: listDataApps
summary: List Data Apps
description: >-
Returns a paginated list of all Data Apps in the organization. Each Data
App represents a collection of custom endpoints that are backed by SQL
queries running against linked TiDB Cloud clusters. Results include
the app ID, display name, description, and linked cluster information.
tags:
- Data Apps
parameters:
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: A paginated list of Data Apps.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDataAppsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimitExceeded'
post:
operationId: createDataApp
summary: Create a Data App
description: >-
Creates a new Data App within the organization. A Data App is a container
for custom SQL-backed API endpoints. After creation, link a TiDB Cloud
cluster as a data source and define endpoints to begin serving data via
HTTPS.
tags:
- Data Apps
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDataAppRequest'
responses:
'200':
description: Data App created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DataApp'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/dataApps/{dataAppId}:
get:
operationId: getDataApp
summary: Get a Data App
description: >-
Returns the configuration and metadata for a specific Data App, including
its display name, description, linked data sources, system endpoint
configuration, and Chat2Query settings if enabled.
tags:
- Data Apps
parameters:
- $ref: '#/components/parameters/dataAppId'
responses:
'200':
description: Data App details retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DataApp'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: updateDataApp
summary: Update a Data App
description: >-
Updates the display name or description of an existing Data App. Only
the fields provided in the request body are modified. Linked data sources
and endpoints remain unchanged.
tags:
- Data Apps
parameters:
- $ref: '#/components/parameters/dataAppId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDataAppRequest'
responses:
'200':
description: Data App updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DataApp'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteDataApp
summary: Delete a Data App
description: >-
Permanently deletes a Data App and all of its associated endpoints, API
keys, and deployment history. This operation is irreversible. All clients
calling endpoints within this Data App will receive errors after deletion.
tags:
- Data Apps
parameters:
- $ref: '#/components/parameters/dataAppId'
responses:
'200':
description: Data App deleted successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/dataApps/{dataAppId}/dataSources:
get:
operationId: listDataSources
summary: List data sources
description: >-
Returns all TiDB Cloud clusters linked as data sources to a specific Data
App. Each data source includes the cluster ID, cluster name, and the
databases accessible from this Data App.
tags:
- Data Sources
parameters:
- $ref: '#/components/parameters/dataAppId'
responses:
'200':
description: List of data sources retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDataSourcesResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createDataSource
summary: Create a data source
description: >-
Links a TiDB Cloud cluster to a Data App as a data source. Once linked,
endpoints within the Data App can execute SQL queries against databases in
the linked cluster. A Data App can be linked to multiple clusters.
tags:
- Data Sources
parameters:
- $ref: '#/components/parameters/dataAppId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDataSourceRequest'
responses:
'200':
description: Data source linked successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DataSource'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/dataApps/{dataAppId}/dataSources/{clusterId}:
get:
operationId: getDataSource
summary: Get a data source
description: >-
Returns the configuration of a specific cluster linked as a data source
to a Data App, identified by the cluster ID.
tags:
- Data Sources
parameters:
- $ref: '#/components/parameters/dataAppId'
- $ref: '#/components/parameters/clusterId'
responses:
'200':
description: Data source details retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DataSource'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteDataSource
summary: Delete a data source
description: >-
Unlinks a TiDB Cloud cluster from a Data App. Endpoints that reference
this cluster will stop working after the data source is removed.
tags:
- Data Sources
parameters:
- $ref: '#/components/parameters/dataAppId'
- $ref: '#/components/parameters/clusterId'
responses:
'200':
description: Data source unlinked successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/dataApps/{dataAppId}/endpoints:
get:
operationId: listEndpoints
summary: List endpoints
description: >-
Returns a paginated list of all custom SQL-backed endpoints defined within
a Data App. Each endpoint entry includes its HTTP method, path, SQL
template, parameters, and configuration settings such as caching and
pagination.
tags:
- Endpoints
parameters:
- $ref: '#/components/parameters/dataAppId'
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: A paginated list of endpoints.
content:
application/json:
schema:
$ref: '#/components/schemas/ListEndpointsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createEndpoint
summary: Create an endpoint
description: >-
Defines a new custom SQL-backed API endpoint within a Data App. Specify
the HTTP method, URL path, target cluster, SQL template, and any path or
query parameters. The endpoint will become available after the Data App
is deployed.
tags:
- Endpoints
parameters:
- $ref: '#/components/parameters/dataAppId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEndpointRequest'
responses:
'200':
description: Endpoint created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Endpoint'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/dataApps/{dataAppId}/apiKeys:
get:
operationId: listDataAppApiKeys
summary: List Data App API keys
description: >-
Returns all API keys scoped to a specific Data App. These keys are used
to authenticate calls to the custom endpoints defined within the Data App
and are separate from organization-level API keys.
tags:
- Data App API Keys
parameters:
- $ref: '#/components/parameters/dataAppId'
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: List of Data App API keys retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDataAppApiKeysResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createDataAppApiKey
summary: Create a Data App API key
description: >-
Creates a new API key scoped to a specific Data App. Specify the key
description, role (READ_ONLY or READ_AND_WRITE), rate limit in requests
per minute, and optional expiration settings. The private key is only
returned at creation time.
tags:
- Data App API Keys
parameters:
- $ref: '#/components/parameters/dataAppId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDataAppApiKeyRequest'
responses:
'200':
description: Data App API key created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DataAppApiKey'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/dataApps/{dataAppId}/deployments:
get:
operationId: listDeployments
summary: List deployments
description: >-
Returns a paginated list of deployment records for a Data App. Each
deployment captures a versioned snapshot of the Data App's endpoints
at the time of deployment, enabling rollback and audit of configuration
changes.
tags:
- Deployments
parameters:
- $ref: '#/components/parameters/dataAppId'
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageToken'
responses:
'200':
description: A paginated list of deployments.
content:
application/json:
schema:
$ref: '#/components/schemas/ListDeploymentsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createDeployment
summary: Create a deployment
description: >-
Deploys the current configuration of a Data App, making all defined
endpoints live. Creates an immutable deployment record that can be
referenced for rollback. Endpoints are not publicly accessible until
a successful deployment is created.
tags:
- Deployments
parameters:
- $ref: '#/components/parameters/dataAppId'
responses:
'200':
description: Data App deployed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/dataApps/{dataAppId}/apiSpec:
get:
operationId: getDataAppApiSpec
summary: Get OpenAPI specification
description: >-
Returns the OpenAPI 3.0 specification for all endpoints defined within
a Data App. The specification can be returned in JSON or YAML format
by setting the Accept header accordingly. Use this spec to generate
client SDKs, import into API testing tools, or publish API documentation.
tags:
- Data Apps
parameters:
- $ref: '#/components/parameters/dataAppId'
responses:
'200':
description: OpenAPI specification retrieved successfully.
content:
application/json:
schema:
type: object
description: The OpenAPI 3.0 specification document as a JSON object.
application/yaml:
schema:
type: string
description: The OpenAPI 3.0 specification document as a YAML string.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
securitySchemes:
digestAuth:
type: http
scheme: digest
description: >-
HTTP Digest Authentication using a TiDB Cloud organization API public key
as the username and private key as the password. Keys are generated in
the TiDB Cloud console under Organization Settings > API Keys.
parameters:
dataAppId:
name: dataAppId
in: path
description: The unique identifier of the Data App.
required: true
schema:
type: string
clusterId:
name: clusterId
in: path
description: The unique identifier of the TiDB Cloud cluster used as a data source.
required: true
schema:
type: string
pageSize:
name: pageSize
in: query
description: Maximum number of results to return per page. Default is 100, maximum is 100.
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 100
pageToken:
name: pageToken
in: query
description: Pagination token returned from a previous list request to retrieve the next page.
required: false
schema:
type: string
responses:
BadRequest:
description: The request body or parameters are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Authentication failed. Check your API key credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimitExceeded:
description: Rate limit exceeded. The API allows 100 requests per minute.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
DataApp:
type: object
description: A TiDB Cloud Data App containing custom SQL-backed API endpoints.
properties:
dataAppId:
type: string
description: The unique identifier of the Data App.
displayName:
type: string
description: The human-readable display name of the Data App.
description:
type: string
description: A description of the Data App's purpose.
region:
type: string
description: The cloud region where this Data App is deployed.
createTime:
type: string
format: date-time
description: The timestamp when the Data App was created.
updateTime:
type: string
format: date-time
description: The timestamp when the Data App was last modified.
CreateDataAppRequest:
type: object
description: Request body for creating a new Data App.
required:
- displayName
properties:
displayName:
type: string
description: The display name for the new Data App.
description:
type: string
description: An optional description of the Data App.
clusterId:
type: string
description: An optional cluster ID to link as the initial data source.
UpdateDataAppRequest:
type: object
description: Request body for updating an existing Data App.
properties:
displayName:
type: string
description: The new display name for the Data App.
description:
type: string
description: The new description for the Data App.
ListDataAppsResponse:
type: object
description: Paginated list of Data Apps.
properties:
dataApps:
type: array
description: The list of Data App objects on this page.
items:
$ref: '#/components/schemas/DataApp'
nextPageToken:
type: string
description: Token to retrieve the next page of results.
DataSource:
type: object
description: A TiDB Cloud cluster linked as a data source within a Data App.
properties:
clusterId:
type: string
description: The unique identifier of the linked cluster.
clusterName:
type: string
description: The display name of the linked cluster.
clusterType:
type: string
description: The type of cluster (SERVERLESS or DEDICATED).
CreateDataSourceRequest:
type: object
description: Request body for linking a cluster as a data source.
required:
- clusterId
properties:
clusterId:
type: string
description: The unique identifier of the TiDB Cloud cluster to link.
ListDataSourcesResponse:
type: object
description: List of data sources for a Data App.
properties:
dataSources:
type: array
description: The list of linked data source objects.
items:
$ref: '#/components/schemas/DataSource'
Endpoint:
type: object
description: A custom SQL-backed API endpoint within a Data App.
properties:
name:
type: string
description: The resource name of the endpoint.
displayName:
type: string
description: The human-readable display name for the endpoint.
description:
type: string
description: A description of what the endpoint does.
path:
type: string
description: The URL path for the endpoint (e.g., /users/{id}).
method:
type: string
description: The HTTP method for the endpoint.
enum:
- GET
- POST
- PUT
- DELETE
clusterId:
type: string
description: The ID of the cluster this endpoint runs queries against.
sqlTemplate:
type: string
description: The SQL template executed when the endpoint is called. Supports parameter substitution.
tag:
type: string
description: A label for grouping related endpoints.
settings:
$ref: '#/components/schemas/EndpointSettings'
params:
type: array
description: The list of parameters accepted by this endpoint.
items:
$ref: '#/components/schemas/EndpointParameter'
EndpointSettings:
type: object
description: Configuration settings for an endpoint's behavior.
properties:
timeout:
type: integer
description: The maximum execution time in milliseconds before the endpoint returns a timeout error.
rowLimit:
type: integer
description: The maximum number of rows returned by a single endpoint call.
cacheEnabled:
type: boolean
description: Whether response caching is enabled for this endpoint.
cacheTtl:
type: integer
description: The time-to-live for cached responses in seconds.
paginationEnabled:
type: boolean
description: Whether cursor-based pagination is enabled for this endpoint.
EndpointParameter:
type: object
description: A parameter definition for a Data App endpoint.
properties:
name:
type: string
description: The parameter name as referenced in the SQL template.
type:
type: string
description: The data type of the parameter.
enum:
- STRING
- INTEGER
- NUMBER
- BOOLEAN
- ARRAY
required:
type: boolean
description: Whether this parameter must be provided when calling the endpoint.
defaultValue:
type: string
description: The default value used when the parameter is not provided.
CreateEndpointRequest:
type: object
description: Request body for creating a new endpoint within a Data App.
required:
- displayName
- path
- method
- clusterId
- sqlTemplate
properties:
displayName:
type: string
description: The display name for the new endpoint.
description:
type: string
description: An optional description of the endpoint.
path:
type: string
description: The URL path for the endpoint.
method:
type: string
description: The HTTP method for the endpoint.
enum:
- GET
- POST
- PUT
- DELETE
clusterId:
type: string
description: The ID of the cluster this endpoint queries.
sqlTemplate:
type: string
description: The SQL template to execute when the endpoint is called.
tag:
type: string
description: An optional label for grouping the endpoint.
settings:
$ref: '#/components/schemas/EndpointSettings'
params:
type: array
description: Parameter definitions for this endpoint.
items:
$ref: '#/components/schemas/EndpointParameter'
ListEndpointsResponse:
type: object
description: Paginated list of endpoints in a Data App.
properties:
endpoints:
type: array
description: The list of endpoint objects on this page.
items:
$ref: '#/components/schemas/Endpoint'
nextPageToken:
type: string
description: Token to retrieve the next page of results.
DataAppApiKey:
type: object
description: An API key scoped to a specific Data App for authenticating endpoint calls.
properties:
apiKeyId:
type: string
description: The unique identifier of the Data App API key.
publicKey:
type: string
description: The public key used as the username in Digest Authentication.
privateKey:
type: string
description: The private key used as the password. Only returned at creation time.
description:
type: string
description: A human-readable description for the API key.
role:
type: string
description: The permission role assigned to the key.
enum:
- READ_ONLY
- READ_AND_WRITE
rateLimitRpm:
type: integer
description: The rate limit in requests per minute for this key.
minimum: 1
maximum: 1000
CreateDataAppApiKeyRequest:
type: object
description: Request body for creating a new Data App API key.
required:
- role
properties:
description:
type: string
description: A description for the new API key.
role:
type: string
description: The permission role for the API key.
enum:
- READ_ONLY
- READ_AND_WRITE
rateLimitRpm:
type: integer
description: Rate limit in requests per minute.
minimum: 1
maximum: 1000
ListDataAppApiKeysResponse:
type: object
description: List of API keys for a Data App.
properties:
apiKeys:
type: array
description: The list of Data App API key objects.
items:
$ref: '#/components/schemas/DataAppApiKey'
nextPageToken:
type: string
description: Token to retrieve the next page of results.
Deployment:
type: object
description: A versioned deployment of a Data App.
properties:
deploymentId:
type: string
description: The unique identifier of this deployment.
dataAppId:
type: string
description: The ID of the Data App that was deployed.
status:
type: string
description: The status of the deployment.
enum:
- PENDING
- RUNNING
- SUCCEEDED
- FAILED
createTime:
type: string
format: date-time
description: The timestamp when the deployment was created.
ListDeploymentsResponse:
type: object
description: Paginated list of deployments for a Data App.
properties:
deployments:
type: array
description: The list of deployment objects on this page.
items:
$ref: '#/components/schemas/Deployment'
nextPageToken:
type: string
description: Token to retrieve the next page of results.
ErrorResponse:
type: object
description: Standard error response returned when an API request fails.
properties:
code:
type: integer
description: The HTTP status code of the error.
status:
type: string
description: The error status string.
error:
type: string
description: A machine-readable error code identifier.
message:
type: string
description: A human-readable error message describing the failure.