From 3810faadc2815cf572e62297b19ee9f69e864118 Mon Sep 17 00:00:00 2001 From: Patrick Dowler Date: Wed, 25 Feb 2026 15:48:18 -0800 Subject: [PATCH 1/4] changed http status codes to string in the yaml --- openapi/vosi-capabilities.yaml | 24 +++++-- openapi/vosi-table-11.yaml | 94 ++++++++++++++++++++++++++++ openapi/vosi-table.yaml | 110 ++++++++++++++++++++++++--------- openapi/vosi-tableset.yaml | 41 ++++++++++-- 4 files changed, 229 insertions(+), 40 deletions(-) create mode 100644 openapi/vosi-table-11.yaml diff --git a/openapi/vosi-capabilities.yaml b/openapi/vosi-capabilities.yaml index 4bc4731..6290b92 100644 --- a/openapi/vosi-capabilities.yaml +++ b/openapi/vosi-capabilities.yaml @@ -10,11 +10,11 @@ head: applicable header information. SSO-next: clients use this operation to probe for available authentication methods. responses: - 200: + '200': $ref: ./vosi-std-responses.yaml#/authenticated - 401: + '401': $ref: ./vosi-std-responses.yaml#/not-authenticated - 403: + '403': $ref: ./vosi-std-responses.yaml#/permission-denied get: operationId: read-capabilities @@ -23,11 +23,11 @@ get: summary: VOSI Capabilities with SSO-next prototype description: Get the set of VOResource capability descriptions for this service. responses: - 200: + '200': $ref: '#/components/schemas/capabilities' - 401: + '401': $ref: ./vosi-std-responses.yaml#/not-authenticated - 403: + '403': $ref: ./vosi-std-responses.yaml#/permission-denied components: @@ -42,3 +42,15 @@ components: name: capabilities prefix: vosi namespace: http://www.ivoa.net/xml/VOSICapabilities/v1.0 + example: | + + + + https://example.net/argus/capabilities + + + ... + diff --git a/openapi/vosi-table-11.yaml b/openapi/vosi-table-11.yaml new file mode 100644 index 0000000..21fb304 --- /dev/null +++ b/openapi/vosi-table-11.yaml @@ -0,0 +1,94 @@ +# this is the read-only /tables/{tableName} endpoint from VOSI-1.1 +get: + operationId: read-table-metadata + tags: + - VOSI Table Metadata + summary: get metadata for the specified table + description: provides the table metadata for a single schema or table + parameters: + - in: path + name: name + description: a single schema name or table name as provided in tap_schema + required: true + schema: + type: string + responses: + '200': + $ref: '#/components/schemas/tableDoc' + '401': + $ref: ./vosi-std-responses.yaml#/not-authenticated + '403': + $ref: ./vosi-std-responses.yaml#/permission-denied + '404': + $ref: ./vosi-std-responses.yaml#/not-found + +components: + schemas: + tableDoc: + description: metadata for the specified schema or table + content: + text/xml: + schema: + type: object + xml: + name: table + prefix: vosi + namespace: http://www.ivoa.net/xml/VOSITables/v1.0 + example: | + + tap_schema.schemas + description of schemas in this tableset + + schema_name + schema name for reference to tap_schema.schemas + char + indexed + + + utype + lists the utypes of schemas in the tableset + char + + + description + describes schemas in the tableset + char + + + schema_index + recommended sort order when listing schemas + int + + + + application/x-votable+xml: + schema: + type: object + xml: + name: VOTABLE + namespace: http://www.ivoa.net/xml/VOTable/v1.3 + example: | + + + + + schema name for reference to tap_schema.schemas + + + lists the utypes of schemas in the tableset + + + describes schemas in the tableset + + + recommended sort order when listing schemas + + +
+
+
+ diff --git a/openapi/vosi-table.yaml b/openapi/vosi-table.yaml index 4c5b4c4..2bee655 100644 --- a/openapi/vosi-table.yaml +++ b/openapi/vosi-table.yaml @@ -1,7 +1,8 @@ +# this is the VOSI-1.2 /tables/{tablename} endpoint get: operationId: read-table-metadata tags: - - VOSI table metadata + - VOSI Table Metadata summary: get metadata for the specified table description: provides the table metadata for a single schema or table parameters: @@ -12,18 +13,18 @@ get: schema: type: string responses: - 200: + '200': $ref: '#/components/schemas/tableDoc' - 401: + '401': $ref: ./vosi-std-responses.yaml#/not-authenticated - 403: + '403': $ref: ./vosi-std-responses.yaml#/permission-denied - 404: + '404': $ref: ./vosi-std-responses.yaml#/not-found post: operationId: update-table tags: - - VOSI table metadata + - VOSI Table Metadata summary: proto - update table metadata and/or content (optional) description: update the table metadata from a table description; may include rows to append if input format supports it parameters: @@ -37,24 +38,24 @@ post: description: a table description $ref: '#/components/schemas/tableDoc' responses: - 204: + '204': description: table updated - 400: + '400': $ref: ./vosi-std-responses.yaml#/bad-request - 401: + '401': $ref: ./vosi-std-responses.yaml#/not-authenticated - 403: + '403': $ref: ./vosi-std-responses.yaml#/permission-denied - 404: + '404': $ref: ./vosi-std-responses.yaml#/not-found - 405: + '405': $ref: ./vosi-std-responses.yaml#/not-implemented - 413: + '413': $ref: ./vosi-std-responses.yaml#/too-large put: operationId: create-table tags: - - VOSI table metadata + - VOSI Table Metadata summary: proto - create table (optional) description: create table from a table description; may include rows if input format supports it parameters: @@ -68,24 +69,24 @@ put: description: a table description $ref: '#/components/schemas/tableDoc' responses: - 201: + '201': description: table created - 400: + '400': $ref: ./vosi-std-responses.yaml#/bad-request - 401: + '401': $ref: ./vosi-std-responses.yaml#/not-authenticated - 403: + '403': $ref: ./vosi-std-responses.yaml#/permission-denied - 404: + '404': $ref: ./vosi-std-responses.yaml#/not-found - 405: + '405': $ref: ./vosi-std-responses.yaml#/not-implemented - 413: + '413': $ref: ./vosi-std-responses.yaml#/too-large delete: operationId: delete-table tags: - - VOSI table metadata + - VOSI Table Metadata summary: proto - delete table (optional) description: delete table by name parameters: @@ -96,16 +97,16 @@ delete: schema: type: string responses: - 204: - description: table dropped - 401: + '204': + description: table deleted + '400': + $ref: ./vosi-std-responses.yaml#/bad-request + '401': $ref: ./vosi-std-responses.yaml#/not-authenticated - 403: + '403': $ref: ./vosi-std-responses.yaml#/permission-denied - 404: + '404': $ref: ./vosi-std-responses.yaml#/not-found - 405: - $ref: ./vosi-std-responses.yaml#/not-implemented components: schemas: @@ -119,10 +120,61 @@ components: name: table prefix: vosi namespace: http://www.ivoa.net/xml/VOSITables/v1.0 + example: | + + tap_schema.schemas + description of schemas in this tableset + + schema_name + schema name for reference to tap_schema.schemas + char + indexed + + + utype + lists the utypes of schemas in the tableset + char + + + description + describes schemas in the tableset + char + + + schema_index + recommended sort order when listing schemas + int + + application/x-votable+xml: schema: type: object xml: name: VOTABLE namespace: http://www.ivoa.net/xml/VOTable/v1.3 + example: | + + + + + schema name for reference to tap_schema.schemas + + + lists the utypes of schemas in the tableset + + + describes schemas in the tableset + + + recommended sort order when listing schemas + + +
+
+
+ diff --git a/openapi/vosi-tableset.yaml b/openapi/vosi-tableset.yaml index 4a27765..cf54408 100644 --- a/openapi/vosi-tableset.yaml +++ b/openapi/vosi-tableset.yaml @@ -1,7 +1,7 @@ get: operationId: get-tableset tags: - - VOSI table metadata + - VOSI Table Metadata summary: VOSI TableSet description: Provides the table metadata in the form of a TableSet description parameters: @@ -13,13 +13,13 @@ get: type: string enum: [min, max] responses: - 200: + '200': $ref: '#/components/schemas/tablesetDoc' - 400: + '400': $ref: ./vosi-std-responses.yaml#/bad-request - 401: + '401': $ref: ./vosi-std-responses.yaml#/not-authenticated - 403: + '403': $ref: ./vosi-std-responses.yaml#/permission-denied components: @@ -34,4 +34,35 @@ components: name: tableset prefix: vosi namespace: http://www.ivoa.net/xml/VOSITables/v1.0 + example: | + + + tap_schema + a special schema to describe TAP-1.1 tablesets + + tap_schema.schemas + description of schemas in this tableset +
+ + tap_schema.tables + description of tables in this tableset +
+ + tap_schema.columns + description of columns in this tableset +
+ + tap_schema.keys + description of foreign keys in this tableset +
+ + tap_schema.key_columns + description of foreign key columns in this tableset +
+
+ ... +
From f0bdd93ac8e940bf8f74cfad9a8180421d9259af Mon Sep 17 00:00:00 2001 From: Patrick Dowler Date: Wed, 25 Feb 2026 15:49:11 -0800 Subject: [PATCH 2/4] removed availability from example --- openapi-example.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/openapi-example.yaml b/openapi-example.yaml index 86c736c..211a8c8 100644 --- a/openapi-example.yaml +++ b/openapi-example.yaml @@ -1,8 +1,8 @@ openapi: 3.1.0 info: title: VOSI endpoints - version: "1.1" - description: This is more or less the current VOSAI-1.1 standard. + version: "1.2" + description: This is an example of using VOSI-1.2 components. servers: - url: /example paths: @@ -14,10 +14,6 @@ paths: /tables/{name}: $ref: ./vosi-table.yaml #$ref: https://ivoa.net/std/VOSI/vosi-table.yaml - - /availability: - $ref: ./paths/vosi-availability.yaml - #$ref: https://ivoa.net/std/VOSI/vosi-availability.yaml /capabilities: $ref: ./paths/vosi-capabilities.yaml #$ref: https://ivoa.net/std/VOSI/vosi-capabilities.yaml From 6461ebab05b827e0877c2bde5d27b6581d554056 Mon Sep 17 00:00:00 2001 From: Patrick Dowler Date: Wed, 25 Feb 2026 16:03:01 -0800 Subject: [PATCH 3/4] move openapi copmponents to subdir --- openapi/{ => vosi}/vosi-capabilities.yaml | 0 openapi/{ => vosi}/vosi-std-responses.yaml | 0 openapi/{ => vosi}/vosi-table-11.yaml | 0 openapi/{ => vosi}/vosi-table.yaml | 0 openapi/{ => vosi}/vosi-tableset.yaml | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename openapi/{ => vosi}/vosi-capabilities.yaml (100%) rename openapi/{ => vosi}/vosi-std-responses.yaml (100%) rename openapi/{ => vosi}/vosi-table-11.yaml (100%) rename openapi/{ => vosi}/vosi-table.yaml (100%) rename openapi/{ => vosi}/vosi-tableset.yaml (100%) diff --git a/openapi/vosi-capabilities.yaml b/openapi/vosi/vosi-capabilities.yaml similarity index 100% rename from openapi/vosi-capabilities.yaml rename to openapi/vosi/vosi-capabilities.yaml diff --git a/openapi/vosi-std-responses.yaml b/openapi/vosi/vosi-std-responses.yaml similarity index 100% rename from openapi/vosi-std-responses.yaml rename to openapi/vosi/vosi-std-responses.yaml diff --git a/openapi/vosi-table-11.yaml b/openapi/vosi/vosi-table-11.yaml similarity index 100% rename from openapi/vosi-table-11.yaml rename to openapi/vosi/vosi-table-11.yaml diff --git a/openapi/vosi-table.yaml b/openapi/vosi/vosi-table.yaml similarity index 100% rename from openapi/vosi-table.yaml rename to openapi/vosi/vosi-table.yaml diff --git a/openapi/vosi-tableset.yaml b/openapi/vosi/vosi-tableset.yaml similarity index 100% rename from openapi/vosi-tableset.yaml rename to openapi/vosi/vosi-tableset.yaml From 2cba627af534bb3a517b4127b172b1a411c619e7 Mon Sep 17 00:00:00 2001 From: Patrick Dowler Date: Wed, 25 Feb 2026 16:23:16 -0800 Subject: [PATCH 4/4] fix example --- openapi/vosi/vosi-capabilities.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/vosi/vosi-capabilities.yaml b/openapi/vosi/vosi-capabilities.yaml index 6290b92..b60a382 100644 --- a/openapi/vosi/vosi-capabilities.yaml +++ b/openapi/vosi/vosi-capabilities.yaml @@ -49,7 +49,7 @@ components: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - https://example.net/argus/capabilities + https://example.net/tap-service/capabilities ...