diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 74e1a815..80783f24 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -7,13 +7,107 @@ We appreciate your contribution to this amazing project! Any form of engagement - roadmap suggestion - ...and so on! -Please refer to the [community contributing section](https://github.com/instill-ai/community#contributing) for more details. +## Introduction -## Development and codebase contribution +Before delving into the details to come up with your first PR, please +familiarize yourself with the project structure of 🔮 [**Instill +Core**](https://github.com/instill-ai/instill-core). -Before delving into the details to come up with your first PR, please familiarise yourself with the project structure of [Instill Core](https://github.com/instill-ai/community#instill-core). +Instill AI contracts are defined as [Protocol +Buffers](https://protobuf.dev/). The proto files are the source from which +different code is auto-generated (e.g., language SDKs, OpenAPI +specification of the contracts). -### Sending PRs +### OpenAPI contracts + +All the public endpoints are exposed in a single service +([`api-gateway`](https://github.com/instill-ai/api-gateway)]). These +endpoints are documented [in OpenAPI V2 +format](../openapi/v2/service.swagger.yaml) and publicly available at +[openapi.instill.tech](https://openapi.instill.tech/) through +(readme.com)[https://readme.com/]. The OpenAPI specification is +auto-generated via [`grpc-gateway`](https://grpc-ecosystem.github.io/grpc-gateway/) +and it only reflects the protobuf specification. + +## Codebase contribution + +The Instill AI contracts follow most of the guidelines provided by [Google +AIP](https://google.aip.dev/) but have made adjustments in certain areas +based on our product experience and specific needs. + +Some of these conventions are checked at the CI workflows, though for some +others we rely on the developer's awareness and good judgement. Please, +use the following guidelines to align your contract updates with our +conventions. + +### Field Behavior + +APIs **MUST** apply the `google.api.field_behavior` annotation on every +field on a message or sub-message used in a request. Even `optional` fields +must include this annotation in order to keep annotations consistent. + +This helps users to understand how an endpoint works. Annotations also +[modify the generated OpenAPI +spec](https://grpc-ecosystem.github.io/grpc-gateway/docs/mapping/customizing_openapi_output/#using-googleapifield_behavior) +marking fields as `required` or `readonly`. + +### Method Tags + +Every **public** endpoint **MUST** have one (and only one) tag. This tag +**MUST** also be defined in the [OpenAPI +configuration](../openapi/v2/conf.proto) with a name and description. The +tag can be added with `grpc-gateway`'s `tags` operation option: + +```proto +// Get a pipeline +// +// Returns the details of a pipeline. +rpc GetNamespacePipeline(GetNamespacePipelineRequest) returns (GetNamespacePipelineResponse) { + option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; +} +``` + +We tend to group our endpoints by service (i.e., use a single tag for all +the endpoints in a service), though this isn't a hard requirement. + +[openapi.instill.tech](https://openapi.instill.tech) groups the endpoints +under the first tag defined in their specification and supports exactly one +tag. If more tags are defined, it will result in empty sections at the end +of the sidebar. + +### Method Title & Description + +Every **public** method **MUST** have a comment with a title and a +description, separated by a blank comment line. The description might have +several paragraphs separated by blank lines. Try to document the endpoint +in detail, including behaviors such as who can access a given resource of +perform an operation, how to access the result of the operation or if the +endpoint produces any effect in the system that might not be obvious. + +```proto +// Update a pipeline +// +// Udpates a pipeline, accessing it by its resource name, which is defined by +// the parent namespace and the ID of the pipeline. The authenticated namespace must be +// the parent of the pipeline in order to modify it. +// +// In REST requests, only the supplied pipeline fields will be taken into +// account when updating the resource. +rpc UpdateNamespacePipeline(UpdateNamespacePipelineRequest) returns (UpdateNamespacePipelineResponse) { + option (google.api.http) = { + patch: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}" + body: "pipeline" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; +} +``` + +[openapi.instill.tech](https://openapi.instill.tech) will render each part +as the endpoint title (which can also used in the search engine) and the +description in the endpoint's view. + +## Sending PRs Please take these general guidelines into consideration when you are sending a PR: diff --git a/.github/workflows/buf-gen-openapi.yaml b/.github/workflows/buf-gen-openapi.yaml index 8d66cc0d..bee6c3fd 100644 --- a/.github/workflows/buf-gen-openapi.yaml +++ b/.github/workflows/buf-gen-openapi.yaml @@ -4,11 +4,10 @@ on: pull_request: paths: - '**.proto' - - '**.proto.templ' - 'buf.gen.*.yaml' - 'Makefile' - 'scripts/generate-openapi-doc-info.sh' - - 'common/openapi/**' + - '.spectral.yaml' jobs: gen-buf-openapi: @@ -28,32 +27,16 @@ jobs: - name: Generate OpenAPI definitions run: | make openapi - - name: Lint generated Core OpenAPI definitions - uses: readmeio/rdme@v8 + - name: Lint generated OpenAPI definitions + uses: stoplightio/spectral-action@latest with: - rdme: openapi:validate openapiv2/core/service.swagger.yaml - - name: Lint generated VDP OpenAPI definitions - uses: readmeio/rdme@v8 - with: - rdme: openapi:validate openapiv2/vdp/service.swagger.yaml - - name: Lint generated Model OpenAPI definitions - uses: readmeio/rdme@v8 - with: - rdme: openapi:validate openapiv2/model/service.swagger.yaml - - name: Lint generated Artifact OpenAPI definitions - uses: readmeio/rdme@v8 - with: - rdme: openapi:validate openapiv2/artifact/service.swagger.yaml - - name: Lint generated App OpenAPI definitions - uses: readmeio/rdme@v8 - with: - rdme: openapi:validate openapiv2/app/service.swagger.yaml + file_glob: 'openapi/v2/*.swagger.yaml' - name: Commit and push run: | if [[ `git status --porcelain` ]]; then git fetch origin git checkout "${GITHUB_HEAD_REF}" - git add openapiv2 + git add openapi/v2 git commit -S -m "chore: auto-gen by protobufs" -m "triggered by commit: https://github.com/instill-ai/protobufs/commit/${GITHUB_SHA}" git push -u origin "${GITHUB_HEAD_REF}" fi diff --git a/.github/workflows/sync-api-docs.yml b/.github/workflows/sync-api-docs.yml index 64017a9e..d2f8938c 100644 --- a/.github/workflows/sync-api-docs.yml +++ b/.github/workflows/sync-api-docs.yml @@ -8,7 +8,7 @@ on: # pushed to the `main` branch. - main paths: - - 'openapiv2/**' + - 'openapi/v2/**' jobs: sync-openapi-private-dev: @@ -19,30 +19,10 @@ jobs: - name: Check out repo 📚 uses: actions/checkout@v3 - - name: Sync Core 🔮 + - name: Sync OpenAPI docs 📜 uses: readmeio/rdme@v8 with: - rdme: openapi openapiv2/core/service.swagger.yaml --title "🔮 Core (PR ${{ github.ref_name }})" --key=${{ secrets.README_API_KEY }} --id=669fb9c72dd8c500184c652d - - - name: Sync Model ⚗️ - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/model/service.swagger.yaml --title "⚗️ Model (PR ${{ github.ref_name }})"--key=${{ secrets.README_API_KEY }} --id=669fb9c72dd8c500184c652e - - - name: Sync VDP 💧 - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/vdp/service.swagger.yaml --title "💧 VDP (PR ${{ github.ref_name }})"--key=${{ secrets.README_API_KEY }} --id=669fb9c72dd8c500184c652f - - - name: Sync Artifact 💾 - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/artifact/service.swagger.yaml --title "💾 Artifact (PR ${{ github.ref_name }})" --key=${{ secrets.README_API_KEY }} --id=669fb9c72dd8c500184c6531 - - - name: Sync App 📱 - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/app/service.swagger.yaml --title "📱 App (PR ${{ github.ref_name }})" --key=${{ secrets.README_API_KEY }} --id=66f3f3781c34e9001ff23013 + rdme: openapi openapi/v2/service.swagger.yaml --title "🔮 Instill AI API (PR ${{ github.ref_name }})" --key=${{ secrets.README_API_KEY }} --id=671f3ec63ce9be54bc25adb8 sync-openapi-private-staging: name: Keep private (staging) docs in sync with `main` @@ -58,30 +38,10 @@ jobs: # Needed in check-new-release to compare with the previous commit. fetch-depth: 0 - - name: Sync Core 🔮 - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/core/service.swagger.yaml --key=${{ secrets.README_API_KEY }} --id=66f40c5c346c5d004a090996 - - - name: Sync Model ⚗️ - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/model/service.swagger.yaml --key=${{ secrets.README_API_KEY }} --id=66f40c5c346c5d004a090997 - - - name: Sync VDP 💧 - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/vdp/service.swagger.yaml --key=${{ secrets.README_API_KEY }} --id=66f40c5c346c5d004a090998 - - - name: Sync Artifact 💾 - uses: readmeio/rdme@v8 - with: - rdme: openapi openapiv2/artifact/service.swagger.yaml --key=${{ secrets.README_API_KEY }} --id=66f40c5c346c5d004a090999 - - - name: Sync App 📱 + - name: Sync OpenAPI docs 📜 uses: readmeio/rdme@v8 with: - rdme: openapi openapiv2/app/service.swagger.yaml --key=${{ secrets.README_API_KEY }} --id=66f40c5c346c5d004a09099a + rdme: openapi openapi/v2/service.swagger.yaml --key=${{ secrets.README_API_KEY }} --id=671f3f971dc007003da17bbc - name: Check new release 🔍 id: check-new-release @@ -89,7 +49,7 @@ jobs: # If the version in the OpenAPI configuration has changed, extract # the old and new release versions (without the "v" prefix) to # variables. - version_file=common/openapi/v1beta/api_info.conf + version_file=openapi/v2/conf.proto capture_old='^-\s\+\ Generate OpenAPI specs' + @buf generate --template buf.gen.openapi.yaml --output openapi/v2 + @echo \# This file is auto-generated. DO NOT EDIT. | cat - openapi/v2/service.swagger.yaml > openapi/v2/service.swagger.tmp.yaml + @mv openapi/v2/service.swagger.tmp.yaml openapi/v2/service.swagger.yaml +.PHONY: openapi-lint openapi-lint: - @# Lint each file under openapiv2. - find openapiv2 -type f | xargs -I '{}' rdme openapi:validate {} + @# The spectral ruleset adds extra validation rules that allow us to + @# keep the documents consistent. + @spectral lint openapi/v2/service.swagger.yaml diff --git a/app/app/v1alpha/app_public_service.proto b/app/app/v1alpha/app_public_service.proto index fce811f3..04d7d89f 100644 --- a/app/app/v1alpha/app_public_service.proto +++ b/app/app/v1alpha/app_public_service.proto @@ -40,104 +40,137 @@ service AppPublicService { option (google.api.method_visibility).restriction = "INTERNAL"; } - // Create a app + // Create an app + // + // Creates an app. rpc CreateApp(CreateAppRequest) returns (CreateAppResponse) { option (google.api.http) = { post: "/v1alpha/namespaces/{namespace_id}/apps" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "App"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } // List all apps info + // + // Returns a paginated list of apps. rpc ListApps(ListAppsRequest) returns (ListAppsResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/apps"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "App"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } // Update a app info + // + // Updates the information of an app. rpc UpdateApp(UpdateAppRequest) returns (UpdateAppResponse) { option (google.api.http) = { put: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "App"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } // Delete a app + // + // Deletes an app. rpc DeleteApp(DeleteAppRequest) returns (DeleteAppResponse) { option (google.api.http) = {delete: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "App"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } - // Create a Conversation + // Create a conversation + // + // Creates a conversation. rpc CreateConversation(CreateConversationRequest) returns (CreateConversationResponse) { option (google.api.http) = { post: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Conversation"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // List conversations + // + // Returns a paginated list of conversations. rpc ListConversations(ListConversationsRequest) returns (ListConversationsResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Conversation"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // Update a conversation + // + // Updates a conversation. rpc UpdateConversation(UpdateConversationRequest) returns (UpdateConversationResponse) { option (google.api.http) = { put: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations/{conversation_id}" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Conversation"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // Delete a conversation + // + // Deletes a conversation. rpc DeleteConversation(DeleteConversationRequest) returns (DeleteConversationResponse) { option (google.api.http) = {delete: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations/{conversation_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Conversation"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // Create a message + // + // Creates a message. rpc CreateMessage(CreateMessageRequest) returns (CreateMessageResponse) { option (google.api.http) = { post: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations/{conversation_id}/messages" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Message"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // List messages + // + // Returns a paginated list of messages. rpc ListMessages(ListMessagesRequest) returns (ListMessagesResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations/{conversation_id}/messages"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Message"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // Update a message + // + // Updates a message. rpc UpdateMessage(UpdateMessageRequest) returns (UpdateMessageResponse) { option (google.api.http) = { put: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations/{conversation_id}/messages/{message_uid}" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Message"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // Delete a message + // + // Deletes a message. rpc DeleteMessage(DeleteMessageRequest) returns (DeleteMessageResponse) { option (google.api.http) = {delete: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/conversations/{conversation_id}/messages/{message_uid}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Message"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } // Get Playground Conversation // - // get the latest conversation of auth user(e.g. login user and api key user) + // Returns the latest conversation of auth user(e.g. login user and api key user). rpc GetPlaygroundConversation(GetPlaygroundConversationRequest) returns (GetPlaygroundConversationResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/ai_assistant_playground/conversation"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Playground"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // Restart Playground Conversation // - // create a new conversation and use the auth user uid as creator uid and auto - // generate a new conversation id on the behalf of auth user. + // Creates a new conversation and uses the auth user UID as creator UID and + // auto-generates a new conversation ID on the behalf of auth user. rpc RestartPlaygroundConversation(RestartPlaygroundConversationRequest) returns (RestartPlaygroundConversationResponse) { option (google.api.http) = {post: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/ai_assistant_playground/restart"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Playground"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } + // Chat // // Chat sends a message asynchronously and streams back the response. @@ -148,6 +181,6 @@ service AppPublicService { post: "/v1alpha/namespaces/{namespace_id}/apps/{app_id}/chat" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "App"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🍎 App"}; } } diff --git a/app/app/v1alpha/openapi.proto.templ b/app/app/v1alpha/openapi.proto.templ deleted file mode 100644 index 6b2d895b..00000000 --- a/app/app/v1alpha/openapi.proto.templ +++ /dev/null @@ -1,33 +0,0 @@ -syntax = "proto3"; - -package app.app.v1alpha; - -import "protoc-gen-openapiv2/options/annotations.proto"; - -// These options define the OpenAPI definition document information. -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: { - title: "📱 App " - description: "App endpoints to manage ready-to-use AI applications" -{{$info}} - } - tags: [ - { - name: "App" - description: "App endpoints" - }, - { - name: "Conversation" - description: "Conversation endpoints" - }, - { - name: "Message" - description: "Message endpoints" - }, - { - name: "Playground" - description: "Playground endpoints" - } - ] -{{$conf}} -}; diff --git a/artifact/artifact/v1alpha/artifact_public_service.proto b/artifact/artifact/v1alpha/artifact_public_service.proto index 1a6f675c..a4ef9de4 100644 --- a/artifact/artifact/v1alpha/artifact_public_service.proto +++ b/artifact/artifact/v1alpha/artifact_public_service.proto @@ -43,61 +43,73 @@ service ArtifactPublicService { option (google.api.method_visibility).restriction = "INTERNAL"; } - // TODO improve public endpoint definitions with title and description. - // Create a catalog + // + // Creates a catalog. rpc CreateCatalog(CreateCatalogRequest) returns (CreateCatalogResponse) { option (google.api.http) = { post: "/v1alpha/namespaces/{namespace_id}/catalogs" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Get all catalogs info + // + // Returns a paginated list of catalogs. rpc ListCatalogs(ListCatalogsRequest) returns (ListCatalogsResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/catalogs"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Update a catalog info + // + // Updates the information of a catalog. rpc UpdateCatalog(UpdateCatalogRequest) returns (UpdateCatalogResponse) { option (google.api.http) = { put: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Delete a catalog + // + // Deletes a catalog. rpc DeleteCatalog(DeleteCatalogRequest) returns (DeleteCatalogResponse) { option (google.api.http) = {delete: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Create a file + // + // Creates a file. rpc UploadCatalogFile(UploadCatalogFileRequest) returns (UploadCatalogFileResponse) { option (google.api.http) = { post: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}/files" body: "file" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Delete a file + // + // Deletes a file. rpc DeleteCatalogFile(DeleteCatalogFileRequest) returns (DeleteCatalogFileResponse) { option (google.api.http) = {delete: "/v1alpha/catalogs/files"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Process catalog files + // + // Processes catalog files. rpc ProcessCatalogFiles(ProcessCatalogFilesRequest) returns (ProcessCatalogFilesResponse) { option (google.api.http) = { post: "/v1alpha/catalogs/files/processAsync" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Catalog" + tags: "💾 Artifact" parameters: { headers: { name: "Instill-Requester-Uid" @@ -109,39 +121,50 @@ service ArtifactPublicService { } // List catalog files + // + // Returns a paginated list of catalog files. rpc ListCatalogFiles(ListCatalogFilesRequest) returns (ListCatalogFilesResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}/files"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } + // List catalog chunks + // + // Returns a paginated list of catalog chunks. rpc ListChunks(ListChunksRequest) returns (ListChunksResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}/chunks"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Get catalog single-source-of-truth file + // + // Gets the single-source-of-truth file of a catalog. rpc GetSourceFile(GetSourceFileRequest) returns (GetSourceFileResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}/files/{file_uid}/source"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Update catalog chunk + // + // Updates a catalog chunk. rpc UpdateChunk(UpdateChunkRequest) returns (UpdateChunkResponse) { option (google.api.http) = { post: "/v1alpha/chunks/{chunk_uid}" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Retrieve similar chunks + // + // Returns the similar chunks. rpc SimilarityChunksSearch(SimilarityChunksSearchRequest) returns (SimilarityChunksSearchResponse) { option (google.api.http) = { post: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}/chunks/retrieve" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Catalog" + tags: "💾 Artifact" parameters: { headers: { name: "Instill-Requester-Uid" @@ -153,13 +176,15 @@ service ArtifactPublicService { } // Ask a question + // + // Asks a question. rpc QuestionAnswering(QuestionAnsweringRequest) returns (QuestionAnsweringResponse) { option (google.api.http) = { post: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}/ask" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Catalog" + tags: "💾 Artifact" parameters: { headers: { name: "Instill-Requester-Uid" @@ -171,26 +196,34 @@ service ArtifactPublicService { } // Get file catalog + // + // Get the catalog file. rpc GetFileCatalog(GetFileCatalogRequest) returns (GetFileCatalogResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/catalogs/{catalog_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // List Catalog Runs + // + // Returns a paginated list of catalog runs. rpc ListCatalogRuns(ListCatalogRunsRequest) returns (ListCatalogRunsResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/catalogs/{catalog_id}/runs"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Catalog"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Get Object Upload URL + // + // Returns the upload URL of an object. rpc GetObjectUploadURL(GetObjectUploadURLRequest) returns (GetObjectUploadURLResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/object-upload-url"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Object"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } // Get Object Download URL + // + // Returns the download URL of an object. rpc GetObjectDownloadURL(GetObjectDownloadURLRequest) returns (GetObjectDownloadURLResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/object-download-url"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Object"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💾 Artifact"}; } } diff --git a/artifact/artifact/v1alpha/openapi.proto.templ b/artifact/artifact/v1alpha/openapi.proto.templ deleted file mode 100644 index c6a656c8..00000000 --- a/artifact/artifact/v1alpha/openapi.proto.templ +++ /dev/null @@ -1,25 +0,0 @@ -syntax = "proto3"; - -package artifact.artifact.v1alpha; - -import "protoc-gen-openapiv2/options/annotations.proto"; - -// These options define the OpenAPI definition document information. -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: { - title: "💾 Artifact " - description: "Artifact endpoints to manage Instill Catalog and RAG applications", -{{$info}} - } - tags: [ - { - name: "Catalog" - description: "Catalog endpoints" - }, - { - name: "Object" - description: "Object endpoints" - } - ] -{{$conf}} -}; diff --git a/buf.gen.openapi.yaml b/buf.gen.openapi.yaml index 50f789a6..f6006afc 100644 --- a/buf.gen.openapi.yaml +++ b/buf.gen.openapi.yaml @@ -10,11 +10,12 @@ managed: - file_option: go_package_prefix value: github.com/instill-ai/protogen-go plugins: - - remote: buf.build/grpc-ecosystem/openapiv2:v2.20.0 + - remote: buf.build/grpc-ecosystem/openapiv2:v2.22.0 out: . opt: - output_format=yaml - allow_merge=true,merge_file_name=service + - openapi_naming_strategy=simple - use_allof_for_refs=true - version=true - omit_enum_default_value=true diff --git a/buf.lock b/buf.lock index 322ea838..d6a8863f 100644 --- a/buf.lock +++ b/buf.lock @@ -1,12 +1,9 @@ # Generated by buf. DO NOT EDIT. version: v2 deps: - - name: buf.build/envoyproxy/protoc-gen-validate - commit: daf171c6cdb54629b5f51e345a79e4dd - digest: b5:c745e1521879f43740230b1df673d0729f55704efefdcfc489d4a0a2d40c92a26cacfeab62813403040a8b180142d53b398c7ca784a065e43823605ee49681de - name: buf.build/googleapis/googleapis - commit: e7f8d366f5264595bcc4cd4139af9973 - digest: b5:0cd69a689ee320ed815663d57d1bc3a1d6823224a7a717d46fee3a68197c25a6f5f932c0b0e49f8370c70c247a6635969a6a54af5345cafd51e0667298768aca + commit: f52d4f76a8434cc5966798b1d3b4f110 + digest: b5:5e634ff0ee118aea188b3e9c13ad7d285a192ef6c591bc20ff5a3360438d6ca310cfe9d663b20d60e1daa21789add35b919eac84e8e94a4d576e83a50dd2d62c - name: buf.build/grpc-ecosystem/grpc-gateway commit: a48fcebcf8f140dd9d09359b9bb185a4 digest: b5:330af8a71b579ab96c4f3ee26929d1a68a5a9e986c7cfe0a898591fc514216bb6e723dc04c74d90fdee3f3f14f9100a54b4f079eb273e6e7213f0d5baca36ff8 diff --git a/buf.yaml b/buf.yaml index a5c46b5e..63fbdb56 100644 --- a/buf.yaml +++ b/buf.yaml @@ -3,7 +3,6 @@ name: buf.build/instill-ai/protobufs deps: - buf.build/googleapis/googleapis - buf.build/grpc-ecosystem/grpc-gateway - - buf.build/envoyproxy/protoc-gen-validate lint: use: - STANDARD diff --git a/common/openapi/v1beta/api_config.conf b/common/openapi/v1beta/api_config.conf deleted file mode 100644 index 93be8b71..00000000 --- a/common/openapi/v1beta/api_config.conf +++ /dev/null @@ -1,35 +0,0 @@ - // API config injected from common configuration. - host: "api.instill.tech" - external_docs: { - url: "https://www.instill.tech/docs" - description: "More about Instill AI" - } - schemes: HTTPS - schemes: HTTP - consumes: "application/json" - produces: "application/json" - security_definitions: { - security: { - key: "Bearer" - value: { - type: TYPE_API_KEY - in: IN_HEADER - name: "Authorization" - description: "Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345`" - extensions: { - key: "x-default" - value: {string_value: "Bearer instill_sk_***"} - } - } - } - } - security: { - security_requirement: { - key: "Bearer" - value: {} - } - } - responses: { - key: "401" - value: {description: "Returned when the client credentials are not valid."} - } \ No newline at end of file diff --git a/common/openapi/v1beta/api_info.conf b/common/openapi/v1beta/api_info.conf deleted file mode 100644 index 19d00288..00000000 --- a/common/openapi/v1beta/api_info.conf +++ /dev/null @@ -1,11 +0,0 @@ - // API info injected from common configuration. - version: "v0.44.1-beta" - contact: { - name: "Instill AI" - url: "https://github.com/instill-ai" - email: "hello@instill.tech" - } - license: { - name: "Elastic License 2.0 (ELv2)" - url: "https://github.com/instill-ai/protobufs/blob/main/LICENSE" - } \ No newline at end of file diff --git a/core/mgmt/v1beta/mgmt_public_service.proto b/core/mgmt/v1beta/mgmt_public_service.proto index 1681951c..44b28c4d 100644 --- a/core/mgmt/v1beta/mgmt_public_service.proto +++ b/core/mgmt/v1beta/mgmt_public_service.proto @@ -47,7 +47,7 @@ service MgmtPublicService { // Returns the details of the authenticated user. rpc GetAuthenticatedUser(GetAuthenticatedUserRequest) returns (GetAuthenticatedUserResponse) { option (google.api.http) = {get: "/v1beta/user"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "User"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Update the authenticated user @@ -61,7 +61,7 @@ service MgmtPublicService { patch: "/v1beta/user" body: "user" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "User"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // List users @@ -69,7 +69,7 @@ service MgmtPublicService { // Returns a paginated list of users. rpc ListUsers(ListUsersRequest) returns (ListUsersResponse) { option (google.api.http) = {get: "/v1beta/users"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "User"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Get a user @@ -77,7 +77,7 @@ service MgmtPublicService { // Returns the details of a user by their ID. rpc GetUser(GetUserRequest) returns (GetUserResponse) { option (google.api.http) = {get: "/v1beta/users/{user_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "User"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Create an organization @@ -88,7 +88,7 @@ service MgmtPublicService { post: "/v1beta/organizations" body: "organization" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Organization"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // List organizations @@ -96,7 +96,7 @@ service MgmtPublicService { // Returns a paginated list of organizations. rpc ListOrganizations(ListOrganizationsRequest) returns (ListOrganizationsResponse) { option (google.api.http) = {get: "/v1beta/organizations"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Organization"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Get an organization @@ -104,7 +104,7 @@ service MgmtPublicService { // Returns the organization details by its ID. rpc GetOrganization(GetOrganizationRequest) returns (GetOrganizationResponse) { option (google.api.http) = {get: "/v1beta/organizations/{organization_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Organization"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Update an organization @@ -118,7 +118,7 @@ service MgmtPublicService { patch: "/v1beta/organizations/{organization_id}" body: "organization" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Organization"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Delete an organization @@ -126,7 +126,7 @@ service MgmtPublicService { // Accesses and deletes an organization by ID. rpc DeleteOrganization(DeleteOrganizationRequest) returns (DeleteOrganizationResponse) { option (google.api.http) = {delete: "/v1beta/organizations/{organization_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Organization"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // List user memberships @@ -134,7 +134,7 @@ service MgmtPublicService { // Returns the memberships of a user. rpc ListUserMemberships(ListUserMembershipsRequest) returns (ListUserMembershipsResponse) { option (google.api.http) = {get: "/v1beta/users/{user_id}/memberships"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Get a user membership @@ -143,7 +143,7 @@ service MgmtPublicService { // organization. The authenticated must match the membership parent. rpc GetUserMembership(GetUserMembershipRequest) returns (GetUserMembershipResponse) { option (google.api.http) = {get: "/v1beta/users/{user_id}/memberships/{organization_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Update a user membership @@ -154,7 +154,7 @@ service MgmtPublicService { put: "/v1beta/users/{user_id}/memberships/{organization_id}" body: "membership" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Delete a user membership @@ -162,7 +162,7 @@ service MgmtPublicService { // Accesses and deletes a user membership by parent and membership IDs. rpc DeleteUserMembership(DeleteUserMembershipRequest) returns (DeleteUserMembershipResponse) { option (google.api.http) = {delete: "/v1beta/users/{user_id}/memberships/{organization_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // List organization memberships @@ -170,7 +170,7 @@ service MgmtPublicService { // Returns a paginated list of the user memberships in an organization. rpc ListOrganizationMemberships(ListOrganizationMembershipsRequest) returns (ListOrganizationMembershipsResponse) { option (google.api.http) = {get: "/v1beta/organizations/{organization_id}/memberships"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Get a an organization membership @@ -178,7 +178,7 @@ service MgmtPublicService { // Returns the details of a user membership within an organization. rpc GetOrganizationMembership(GetOrganizationMembershipRequest) returns (GetOrganizationMembershipResponse) { option (google.api.http) = {get: "/v1beta/organizations/{organization_id}/memberships/{user_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Uppdate an organization membership @@ -189,7 +189,7 @@ service MgmtPublicService { put: "/v1beta/organizations/{organization_id}/memberships/{user_id}" body: "membership" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Delete an organization membership @@ -197,7 +197,7 @@ service MgmtPublicService { // Deletes a user membership within an organization. rpc DeleteOrganizationMembership(DeleteOrganizationMembershipRequest) returns (DeleteOrganizationMembershipResponse) { option (google.api.http) = {delete: "/v1beta/organizations/{organization_id}/memberships/{user_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Membership"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Get the subscription of the authenticated user @@ -205,7 +205,7 @@ service MgmtPublicService { // Returns the subscription details of the authenticated user. rpc GetAuthenticatedUserSubscription(GetAuthenticatedUserSubscriptionRequest) returns (GetAuthenticatedUserSubscriptionResponse) { option (google.api.http) = {get: "/v1beta/user/subscription"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Subscription"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🤝 Subscription"}; } // Get the subscription of an organization @@ -213,7 +213,7 @@ service MgmtPublicService { // Returns the subscription details of an organization. rpc GetOrganizationSubscription(GetOrganizationSubscriptionRequest) returns (GetOrganizationSubscriptionResponse) { option (google.api.http) = {get: "/v1beta/organizations/{organization_id}/subscription"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Subscription"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🤝 Subscription"}; } // Create an API token @@ -224,7 +224,7 @@ service MgmtPublicService { post: "/v1beta/tokens" body: "token" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Token"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // List API tokens @@ -232,7 +232,7 @@ service MgmtPublicService { // Returns a paginated list of the API tokens of the authenticated user. rpc ListTokens(ListTokensRequest) returns (ListTokensResponse) { option (google.api.http) = {get: "/v1beta/tokens"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Token"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Get an API token @@ -240,7 +240,7 @@ service MgmtPublicService { // Returns the details of an API token. rpc GetToken(GetTokenRequest) returns (GetTokenResponse) { option (google.api.http) = {get: "/v1beta/tokens/{token_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Token"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Delete an API token @@ -248,7 +248,7 @@ service MgmtPublicService { // Deletes an API token. rpc DeleteToken(DeleteTokenRequest) returns (DeleteTokenResponse) { option (google.api.http) = {delete: "/v1beta/tokens/{token_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Token"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Validate an API token @@ -256,7 +256,7 @@ service MgmtPublicService { // Validates an API token. rpc ValidateToken(ValidateTokenRequest) returns (ValidateTokenResponse) { option (google.api.http) = {post: "/v1beta/validate_token"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Token"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // Get the remaining Instill Credit @@ -268,7 +268,7 @@ service MgmtPublicService { // On Instill Core, this endpoint will return a 404 Not Found status. rpc GetRemainingCredit(GetRemainingCreditRequest) returns (GetRemainingCreditResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/credit"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Credit"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🤝 Subscription"}; } // Check if a namespace is in use @@ -280,7 +280,7 @@ service MgmtPublicService { post: "/v1beta/check-namespace" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Utils"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "🪆 Namespace"}; } // List pipeline triggers @@ -288,7 +288,7 @@ service MgmtPublicService { // Returns a paginated list of pipeline executions. rpc ListPipelineTriggerRecords(ListPipelineTriggerRecordsRequest) returns (ListPipelineTriggerRecordsResponse) { option (google.api.http) = {get: "/v1beta/metrics/vdp/pipeline/triggers"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Metric"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "📊 Metrics"}; } // Get pipeline trigger count @@ -297,7 +297,7 @@ service MgmtPublicService { // Results are grouped by trigger status. rpc GetPipelineTriggerCount(GetPipelineTriggerCountRequest) returns (GetPipelineTriggerCountResponse) { option (google.api.http) = {get: "/v1beta/metrics/vdp/pipeline/trigger-count"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Metric"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "📊 Metrics"}; // This endpoint will remain hidden until the new dashboard is implemented // in the frontend. Until then, the server might return empty data. option (google.api.method_visibility).restriction = "INTERNAL"; @@ -309,7 +309,7 @@ service MgmtPublicService { // NOTE: This method is deprecated and will be retired soon. rpc ListPipelineTriggerTableRecords(ListPipelineTriggerTableRecordsRequest) returns (ListPipelineTriggerTableRecordsResponse) { option (google.api.http) = {get: "/v1beta/metrics/vdp/pipeline/tables"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Metric"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "📊 Metrics"}; option deprecated = true; option (google.api.method_visibility).restriction = "INTERNAL"; } @@ -321,7 +321,7 @@ service MgmtPublicService { // NOTE: This method will soon return the trigger counts of a given requester. rpc ListPipelineTriggerChartRecords(ListPipelineTriggerChartRecordsRequest) returns (ListPipelineTriggerChartRecordsResponse) { option (google.api.http) = {get: "/v1beta/metrics/vdp/pipeline/charts"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Metric"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "📊 Metrics"}; } // List Instill Credit consumption time charts @@ -332,7 +332,7 @@ service MgmtPublicService { // consumed in a time bucket. rpc ListCreditConsumptionChartRecords(ListCreditConsumptionChartRecordsRequest) returns (ListCreditConsumptionChartRecordsResponse) { option (google.api.http) = {get: "/v1beta/metrics/credit/charts"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Metric"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "📊 Metrics"}; } // Auth endpoints are only used in the community edition and the OpenAPI diff --git a/core/mgmt/v1beta/openapi.proto.templ b/core/mgmt/v1beta/openapi.proto.templ deleted file mode 100644 index e30dfd51..00000000 --- a/core/mgmt/v1beta/openapi.proto.templ +++ /dev/null @@ -1,48 +0,0 @@ -syntax = "proto3"; - -package core.mgmt.v1beta; - -import "protoc-gen-openapiv2/options/annotations.proto"; - -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: { - title: "🔮 Core" - description: "Core endpoints to manage user resources" -{{$info}} - } - tags: [ - { - name: "User" - description: "User endpoints" - }, - { - name: "Organization" - description: "Organization endpoints" - }, - { - name: "Membership" - description: "Membership endpoints" - }, - { - name: "Token" - description: "Token endpoints" - }, - { - name: "Subscription" - description: "Subscription endpoints" - }, - { - name: "Credit" - description: "Credit endpoints" - }, - { - name: "Metric" - description: "Metric endpoints" - }, - { - name: "Utils" - description: "Util endpoints" - } - ] -{{$conf}} -}; diff --git a/model/model/v1alpha/model_public_service.proto b/model/model/v1alpha/model_public_service.proto index 2bb80c48..5b6c524b 100644 --- a/model/model/v1alpha/model_public_service.proto +++ b/model/model/v1alpha/model_public_service.proto @@ -47,7 +47,7 @@ service ModelPublicService { // Returns a paginated list of model definitions. rpc ListModelDefinitions(ListModelDefinitionsRequest) returns (ListModelDefinitionsResponse) { option (google.api.http) = {get: "/v1alpha/model-definitions"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model Definition"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // List available regions @@ -55,7 +55,7 @@ service ModelPublicService { // Returns a paginated list of available regions. rpc ListAvailableRegions(ListAvailableRegionsRequest) returns (ListAvailableRegionsResponse) { option (google.api.http) = {get: "/v1alpha/available-regions"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Region"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Get a model definition @@ -63,7 +63,7 @@ service ModelPublicService { // Returns the details of a model definition. rpc GetModelDefinition(GetModelDefinitionRequest) returns (GetModelDefinitionResponse) { option (google.api.http) = {get: "/v1alpha/model-definitions/{model_definition_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model Definition"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // List models @@ -71,7 +71,7 @@ service ModelPublicService { // Returns a paginated list of models. rpc ListModels(ListModelsRequest) returns (ListModelsResponse) { option (google.api.http) = {get: "/v1alpha/models"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Get a model by UID @@ -79,7 +79,7 @@ service ModelPublicService { // Returns the details of a model by a permalink defined by the resource UID. rpc LookUpModel(LookUpModelRequest) returns (LookUpModelResponse) { option (google.api.http) = {get: "/v1alpha/{permalink=models/*}/lookUp"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; option (google.api.method_visibility).restriction = "INTERNAL"; } @@ -88,7 +88,7 @@ service ModelPublicService { // Returns a paginated list of models. rpc ListNamespaceModels(ListNamespaceModelsRequest) returns (ListNamespaceModelsResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Create a new model @@ -103,7 +103,7 @@ service ModelPublicService { post: "/v1alpha/namespaces/{namespace_id}/models" body: "model" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Get a model @@ -111,7 +111,7 @@ service ModelPublicService { // Returns the detail of a model, accessing it by the model ID and its parent namespace. rpc GetNamespaceModel(GetNamespaceModelRequest) returns (GetNamespaceModelResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models/{model_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Update a model @@ -126,7 +126,7 @@ service ModelPublicService { patch: "/v1alpha/namespaces/{namespace_id}/models/{model_id}" body: "model" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Delete a model @@ -135,7 +135,7 @@ service ModelPublicService { // parent namespace and the ID of the model. rpc DeleteNamespaceModel(DeleteNamespaceModelRequest) returns (DeleteNamespaceModelResponse) { option (google.api.http) = {delete: "/v1alpha/namespaces/{namespace_id}/models/{model_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Rename a model @@ -147,7 +147,7 @@ service ModelPublicService { post: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/rename" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Watch the state of a model version @@ -157,7 +157,7 @@ service ModelPublicService { // allows clients to track the state. rpc WatchNamespaceModel(WatchNamespaceModelRequest) returns (WatchNamespaceModelResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/versions/{version}/watch"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Version"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Watch the state of the latest model version @@ -167,7 +167,7 @@ service ModelPublicService { // allows clients to track the state. rpc WatchNamespaceLatestModel(WatchNamespaceLatestModelRequest) returns (WatchNamespaceLatestModelResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/watch"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // List namespace model versions @@ -176,7 +176,7 @@ service ModelPublicService { // Contains model version and digest. rpc ListNamespaceModelVersions(ListNamespaceModelVersionsRequest) returns (ListNamespaceModelVersionsResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/versions"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Version"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Delete a model version @@ -185,7 +185,7 @@ service ModelPublicService { // parent namespace and the ID of the model, and version. rpc DeleteNamespaceModelVersion(DeleteNamespaceModelVersionRequest) returns (DeleteNamespaceModelVersionResponse) { option (google.api.http) = {delete: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/versions/{version}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Version"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Trigger model inference @@ -198,7 +198,7 @@ service ModelPublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" @@ -219,7 +219,7 @@ service ModelPublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" @@ -240,7 +240,7 @@ service ModelPublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" @@ -261,7 +261,7 @@ service ModelPublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" @@ -278,7 +278,7 @@ service ModelPublicService { // submitted as a binary file. rpc TriggerNamespaceModelBinaryFileUpload(stream TriggerNamespaceModelBinaryFileUploadRequest) returns (TriggerNamespaceModelBinaryFileUploadResponse) { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" @@ -295,7 +295,7 @@ service ModelPublicService { // questions, submitted as a binary file. rpc TriggerNamespaceLatestModelBinaryFileUpload(stream TriggerNamespaceLatestModelBinaryFileUploadRequest) returns (TriggerNamespaceLatestModelBinaryFileUploadResponse) { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" @@ -313,7 +313,7 @@ service ModelPublicService { // long-running operations in a model, such as trigger. rpc GetNamespaceModelOperation(GetNamespaceModelOperationRequest) returns (GetNamespaceModelOperationResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/versions/{version}/operation"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Get the details of the latest long-running operation from a namespace model @@ -322,7 +322,7 @@ service ModelPublicService { // long-running operations in a model, such as trigger. rpc GetNamespaceLatestModelOperation(GetNamespaceLatestModelOperationRequest) returns (GetNamespaceLatestModelOperationResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/operation"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // Get the details of a long-running operation @@ -331,7 +331,7 @@ service ModelPublicService { // long-running operations in a model, such as trigger. rpc GetModelOperation(GetModelOperationRequest) returns (GetModelOperationResponse) { option (google.api.http) = {get: "/v1alpha/operations/{operation_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Model"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "⚗️ Model"}; } // The following endpoints are all deprecated @@ -722,7 +722,7 @@ service ModelPublicService { rpc ListModelRuns(ListModelRunsRequest) returns (ListModelRunsResponse) { option (google.api.http) = {get: "/v1alpha/namespaces/{namespace_id}/models/{model_id}/runs"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" @@ -740,7 +740,7 @@ service ModelPublicService { rpc ListModelRunsByRequester(ListModelRunsByRequesterRequest) returns (ListModelRunsByRequesterResponse) { option (google.api.http) = {get: "/v1alpha/dashboard/models/runs"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "⚗️ Model" parameters: { headers: { name: "Instill-Requester-Uid" diff --git a/model/model/v1alpha/openapi.proto.templ b/model/model/v1alpha/openapi.proto.templ deleted file mode 100644 index dabc6a38..00000000 --- a/model/model/v1alpha/openapi.proto.templ +++ /dev/null @@ -1,37 +0,0 @@ -syntax = "proto3"; - -package model.model.v1alpha; - -import "protoc-gen-openapiv2/options/annotations.proto"; - -// These options define the OpenAPI definition document information. -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: { - title: "⚗️ Model" - description: "Endpoints to manage the AI model-related resources and features working with Instill VDP." -{{$info}} - } - tags: [ - { - name: "Model Definition" - description: "Model definition endpoints" - }, - { - name: "Model" - description: "Model endpoints" - }, - { - name: "Version" - description: "Model version endpoints" - }, - { - name: "Trigger" - description: "Model trigger endpoints" - }, - { - name: "Region" - description: "Model region endpoints" - } - ] -{{$conf}} -}; diff --git a/openapi/v2/conf.proto b/openapi/v2/conf.proto new file mode 100644 index 00000000..97211d45 --- /dev/null +++ b/openapi/v2/conf.proto @@ -0,0 +1,86 @@ +syntax = "proto3"; + +package openapi.v2; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { + info: { + title: "🔮 Instill AI API" + description: "Interact with Instill AI through its public API" + version: "v0.44.1-beta" + contact: { + name: "Instill AI" + url: "https://github.com/instill-ai" + email: "hello@instill.tech" + } + license: { + name: "Elastic License 2.0 (ELv2)" + url: "https://github.com/instill-ai/protobufs/blob/main/LICENSE" + } + } + tags: [ + { + name: "🪆 Namespace" + description: "Namespaces (e.g. User, Organization) that structure the resource hierarchy." + }, + { + name: "💧 VDP" + description: "Pipeline orchestration in VDP (Versatile Data Pipeline)." + }, + { + name: "⚗️ Model" + description: "AI Model resources for MLOps/LLMOps." + }, + { + name: "💾 Artifact" + description: "Data orchestration for unified unstructured data representation." + }, + { + name: "🍎 App" + description: "Ready-to-use AI applications." + }, + { + name: "📊 Metrics" + description: "Resource usage metrics." + }, + { + name: "🤝 Subscription" + description: "Pricing plans on Instill Cloud." + } + ] + host: "api.instill.tech" + external_docs: { + url: "https://www.instill.tech/docs" + description: "More about Instill AI" + } + schemes: HTTPS + schemes: HTTP + consumes: "application/json" + produces: "application/json" + security_definitions: { + security: { + key: "Bearer" + value: { + type: TYPE_API_KEY + in: IN_HEADER + name: "Authorization" + description: "Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345`" + extensions: { + key: "x-default" + value: {string_value: "Bearer instill_sk_***"} + } + } + } + } + security: { + security_requirement: { + key: "Bearer" + value: {} + } + } + responses: { + key: "401" + value: {description: "Returned when the client credentials are not valid."} + } +}; diff --git a/openapi/v2/service.swagger.yaml b/openapi/v2/service.swagger.yaml new file mode 100644 index 00000000..3b320b5f --- /dev/null +++ b/openapi/v2/service.swagger.yaml @@ -0,0 +1,10528 @@ +# This file is auto-generated. DO NOT EDIT. +swagger: "2.0" +info: + title: "\U0001F52E Instill AI API" + description: Interact with Instill AI through its public API + version: v0.44.1-beta + contact: + name: Instill AI + url: https://github.com/instill-ai + email: hello@instill.tech + license: + name: Elastic License 2.0 (ELv2) + url: https://github.com/instill-ai/protobufs/blob/main/LICENSE +tags: + - name: "\U0001FA86 Namespace" + description: Namespaces (e.g. User, Organization) that structure the resource hierarchy. + - name: "\U0001F4A7 VDP" + description: Pipeline orchestration in VDP (Versatile Data Pipeline). + - name: ⚗️ Model + description: AI Model resources for MLOps/LLMOps. + - name: "\U0001F4BE Artifact" + description: Data orchestration for unified unstructured data representation. + - name: "\U0001F34E App" + description: Ready-to-use AI applications. + - name: "\U0001F4CA Metrics" + description: Resource usage metrics. + - name: "\U0001F91D Subscription" + description: Pricing plans on Instill Cloud. +host: api.instill.tech +schemes: + - https + - http +consumes: + - application/json +produces: + - application/json +paths: + /v1alpha/namespaces/{namespaceId}/apps: + get: + summary: List all apps info + description: Returns a paginated list of apps. + operationId: AppPublicService_ListApps + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListAppsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: User ID for which to list the apps + in: path + required: true + type: string + tags: + - "\U0001F34E App" + post: + summary: Create an app + description: Creates an app. + operationId: AppPublicService_CreateApp + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateAppResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The app's owner(namespaces). + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/CreateAppBody' + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}: + delete: + summary: Delete a app + description: Deletes an app. + operationId: AppPublicService_DeleteApp + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteAppResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The owner's id. i.e. namespace. + in: path + required: true + type: string + - name: appId + description: The app id. + in: path + required: true + type: string + tags: + - "\U0001F34E App" + put: + summary: Update a app info + description: Updates the information of an app. + operationId: AppPublicService_UpdateApp + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateAppResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace id. + in: path + required: true + type: string + - name: appId + description: App id. + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/UpdateAppBody' + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations: + get: + summary: List conversations + description: Returns a paginated list of conversations. + operationId: AppPublicService_ListConversations + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListConversationsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: pageSize + description: page size + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: page token + in: query + required: false + type: string + - name: conversationUid + description: |- + conversation_uid this is optional, if provided, only the conversation with the given conversation_uid will be returned + first check conversation_uid, then check conversation_id, then check if_all + in: query + required: false + type: string + - name: conversationId + description: conversation_id this is optional, if provided, only the conversation with the given conversation_id will be returned + in: query + required: false + type: string + - name: ifAll + description: If true, all conversations will be returned. This has higher priority over conversation_id, page_size, and page_token. + in: query + required: false + type: boolean + tags: + - "\U0001F34E App" + post: + summary: Create a conversation + description: Creates a conversation. + operationId: AppPublicService_CreateConversation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateConversationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/CreateConversationBody' + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations/{conversationId}: + delete: + summary: Delete a conversation + description: Deletes a conversation. + operationId: AppPublicService_DeleteConversation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteConversationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: conversationId + description: conversation id + in: path + required: true + type: string + tags: + - "\U0001F34E App" + put: + summary: Update a conversation + description: Updates a conversation. + operationId: AppPublicService_UpdateConversation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateConversationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: conversationId + description: conversation id + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/UpdateConversationBody' + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations/{conversationId}/messages: + get: + summary: List messages + description: Returns a paginated list of messages. + operationId: AppPublicService_ListMessages + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListMessagesResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: conversationId + description: conversation id + in: path + required: true + type: string + - name: latestK + description: latest k messages + in: query + required: false + type: integer + format: int32 + - name: pageSize + description: page size + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: page token + in: query + required: false + type: string + - name: includeSystemMessages + description: include system messages + in: query + required: false + type: boolean + - name: ifAll + description: If true, all messages will be returned. This has higher priority over latest_k, page_size, and page_token. + in: query + required: false + type: boolean + - name: messageUid + description: message_uid this is optional, if provided, only the message with the given message_uid will be returned + in: query + required: false + type: string + tags: + - "\U0001F34E App" + post: + summary: Create a message + description: Creates a message. + operationId: AppPublicService_CreateMessage + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateMessageResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: conversationId + description: conversation id + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/CreateMessageBody' + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations/{conversationId}/messages/{messageUid}: + delete: + summary: Delete a message + description: Deletes a message. + operationId: AppPublicService_DeleteMessage + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteMessageResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: conversationId + description: conversation id + in: path + required: true + type: string + - name: messageUid + description: message uid + in: path + required: true + type: string + tags: + - "\U0001F34E App" + put: + summary: Update a message + description: Updates a message. + operationId: AppPublicService_UpdateMessage + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateMessageResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: namespace id + in: path + required: true + type: string + - name: appId + description: app id + in: path + required: true + type: string + - name: conversationId + description: conversation id + in: path + required: true + type: string + - name: messageUid + description: message uid + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/UpdateMessageBody' + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}/ai_assistant_playground/conversation: + get: + summary: Get Playground Conversation + description: Returns the latest conversation of auth user(e.g. login user and api key user). + operationId: AppPublicService_GetPlaygroundConversation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetPlaygroundConversationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The namespace id. + in: path + required: true + type: string + - name: appId + description: The app id. + in: path + required: true + type: string + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}/ai_assistant_playground/restart: + post: + summary: Restart Playground Conversation + description: |- + Creates a new conversation and uses the auth user UID as creator UID and + auto-generates a new conversation ID on the behalf of auth user. + operationId: AppPublicService_RestartPlaygroundConversation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/RestartPlaygroundConversationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The namespace id. + in: path + required: true + type: string + - name: appId + description: The app id. + in: path + required: true + type: string + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/apps/{appId}/chat: + post: + summary: Chat + description: |- + Chat sends a message asynchronously and streams back the response. + This method is intended for real-time conversation with a chatbot + and the response needs to be processed incrementally. + operationId: AppPublicService_Chat + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ChatResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: appId + description: App ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/ChatBody' + tags: + - "\U0001F34E App" + /v1alpha/namespaces/{namespaceId}/catalogs: + get: + summary: Get all catalogs info + description: Returns a paginated list of catalogs. + operationId: ArtifactPublicService_ListCatalogs + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListCatalogsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: User ID for which to list the catalogs + in: path + required: true + type: string + tags: + - "\U0001F4BE Artifact" + post: + summary: Create a catalog + description: Creates a catalog. + operationId: ArtifactPublicService_CreateCatalog + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateCatalogResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The catalog's owner(namespaces). + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/CreateCatalogBody' + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}: + get: + summary: Get file catalog + description: Get the catalog file. + operationId: ArtifactPublicService_GetFileCatalog + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetFileCatalogResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: id of the namespace + in: path + required: true + type: string + - name: catalogId + description: id of the catalog + in: path + required: true + type: string + - name: fileId + description: id of the file(i.e. file name) + in: query + required: false + type: string + - name: fileUid + description: Uid of the file + in: query + required: false + type: string + tags: + - "\U0001F4BE Artifact" + delete: + summary: Delete a catalog + description: Deletes a catalog. + operationId: ArtifactPublicService_DeleteCatalog + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteCatalogResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The owner's id. i.e. namespace. + in: path + required: true + type: string + - name: catalogId + description: The catalog id. + in: path + required: true + type: string + tags: + - "\U0001F4BE Artifact" + put: + summary: Update a catalog info + description: Updates the information of a catalog. + operationId: ArtifactPublicService_UpdateCatalog + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateCatalogResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The catalog owner(namespace). + in: path + required: true + type: string + - name: catalogId + description: The catalog id. + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/UpdateCatalogBody' + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/files: + get: + summary: List catalog files + description: Returns a paginated list of catalog files. + operationId: ArtifactPublicService_ListCatalogFiles + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListCatalogFilesResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The owner/namespace uid id. + in: path + required: true + type: string + - name: catalogId + description: The catalog id. + in: path + required: true + type: string + - name: pageSize + description: The page size (default:10; max 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: The next page token(default from first file's token). + in: query + required: false + type: string + - name: filter.fileUids + description: The file uids. + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + tags: + - "\U0001F4BE Artifact" + post: + summary: Create a file + description: Creates a file. + operationId: ArtifactPublicService_UploadCatalogFile + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UploadCatalogFileResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: owner/namespace uid + in: path + required: true + type: string + - name: catalogId + description: catalog id + in: path + required: true + type: string + - name: file + description: file + in: body + required: true + schema: + $ref: '#/definitions/File' + tags: + - "\U0001F4BE Artifact" + /v1alpha/catalogs/files: + delete: + summary: Delete a file + description: Deletes a file. + operationId: ArtifactPublicService_DeleteCatalogFile + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteCatalogFileResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: fileUid + description: The file uid. + in: query + required: true + type: string + tags: + - "\U0001F4BE Artifact" + /v1alpha/catalogs/files/processAsync: + post: + summary: Process catalog files + description: Processes catalog files. + operationId: ArtifactPublicService_ProcessCatalogFiles + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ProcessCatalogFilesResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: body + in: body + required: true + schema: + $ref: '#/definitions/ProcessCatalogFilesRequest' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/chunks: + get: + summary: List catalog chunks + description: Returns a paginated list of catalog chunks. + operationId: ArtifactPublicService_ListChunks + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListChunksResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: owner/namespace id (not uid) + in: path + required: true + type: string + - name: catalogId + description: catalog id (not uid) + in: path + required: true + type: string + - name: fileUid + description: unique identifier of the file + in: query + required: false + type: string + - name: chunkUids + description: repeated chunk uid(not implemented yet) + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/files/{fileUid}/source: + get: + summary: Get catalog single-source-of-truth file + description: Gets the single-source-of-truth file of a catalog. + operationId: ArtifactPublicService_GetSourceFile + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetSourceFileResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: owner/namespace id + in: path + required: true + type: string + - name: catalogId + description: catalog id + in: path + required: true + type: string + - name: fileUid + description: unique identifier of the original uploaded file + in: path + required: true + type: string + tags: + - "\U0001F4BE Artifact" + /v1alpha/chunks/{chunkUid}: + post: + summary: Update catalog chunk + description: Updates a catalog chunk. + operationId: ArtifactPublicService_UpdateChunk + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateChunkResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: chunkUid + description: chunk uid + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/UpdateChunkBody' + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/chunks/retrieve: + post: + summary: Retrieve similar chunks + description: Returns the similar chunks. + operationId: ArtifactPublicService_SimilarityChunksSearch + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/SimilarityChunksSearchResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: owner/namespace id + in: path + required: true + type: string + - name: catalogId + description: catalog id + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/SimilarityChunksSearchBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/ask: + post: + summary: Ask a question + description: Asks a question. + operationId: ArtifactPublicService_QuestionAnswering + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/QuestionAnsweringResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: id of the namespace + in: path + required: true + type: string + - name: catalogId + description: id of the catalog + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/QuestionAnsweringBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4BE Artifact" + /v1beta/namespaces/{namespaceId}/catalogs/{catalogId}/runs: + get: + summary: List Catalog Runs + description: Returns a paginated list of catalog runs. + operationId: ArtifactPublicService_ListCatalogRuns + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListCatalogRunsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The ID of the owner of the catalog. + in: path + required: true + type: string + - name: catalogId + description: The ID of the catalog for which the runs will be listed. + in: path + required: true + type: string + - name: page + description: The page number to retrieve. + in: query + required: false + type: integer + format: int32 + - name: pageSize + description: |- + The maximum number of items per page to return. The default and cap values + are 10 and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/object-upload-url: + get: + summary: Get Object Upload URL + description: Returns the upload URL of an object. + operationId: ArtifactPublicService_GetObjectUploadURL + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetObjectUploadURLResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: id of the namespace + in: path + required: true + type: string + - name: objectName + description: |- + name of the object with length limit to 1024 characters. + this is the unique identifier of the object in the namespace + in: query + required: true + type: string + - name: urlExpireDays + description: |- + Expiration time in days for the URL. + Minimum is 1 day and maximum is 7 days. If not set or set to 0, defaults to 1 day. + in: query + required: false + type: integer + format: int32 + - name: lastModifiedTime + description: |- + last modified time this value is provided by the client when the object url is created + it must be in RFC3339 formatted date-time string + in: query + required: false + type: string + format: date-time + - name: objectExpireDays + description: |- + object live time in days + minimum is 1 day. if set to 0, the object will not be deleted automatically + in: query + required: false + type: integer + format: int32 + tags: + - "\U0001F4BE Artifact" + /v1alpha/namespaces/{namespaceId}/object-download-url: + get: + summary: Get Object Download URL + description: Returns the download URL of an object. + operationId: ArtifactPublicService_GetObjectDownloadURL + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetObjectDownloadURLResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: id of the namespace + in: path + required: true + type: string + - name: objectUid + description: uid of the object + in: query + required: true + type: string + - name: urlExpireDays + description: |- + expiration time in days for the URL. + minimum is 1 day. if not set or set to 0, defaults to 1 day. + in: query + required: false + type: integer + format: int32 + tags: + - "\U0001F4BE Artifact" + /v1beta/user: + get: + summary: Get the authenticated user + description: Returns the details of the authenticated user. + operationId: MgmtPublicService_GetAuthenticatedUser + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetAuthenticatedUserResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + tags: + - "\U0001FA86 Namespace" + patch: + summary: Update the authenticated user + description: |- + Updates the information of the authenticated user. + + In REST requests, only the supplied user fields will be taken into account + when updating the resource. + operationId: MgmtPublicService_PatchAuthenticatedUser + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/PatchAuthenticatedUserResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: user + description: The user fields that will replace the existing ones. + in: body + required: true + schema: + $ref: '#/definitions/AuthenticatedUser' + required: + - user + tags: + - "\U0001FA86 Namespace" + /v1beta/users: + get: + summary: List users + description: Returns a paginated list of users. + operationId: MgmtPublicService_ListUsers + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListUsersResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of users to return. If this parameter is unspecified, + at most 10 pipelines will be returned. The cap value for this parameter is + 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + tags: + - "\U0001FA86 Namespace" + /v1beta/users/{userId}: + get: + summary: Get a user + description: Returns the details of a user by their ID. + operationId: MgmtPublicService_GetUser + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetUserResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: userId + description: User ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - "\U0001FA86 Namespace" + /v1beta/organizations: + get: + summary: List organizations + description: Returns a paginated list of organizations. + operationId: MgmtPublicService_ListOrganizations + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListOrganizationsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of organizations to return. If this parameter is + unspecified, at most 10 pipelines will be returned. The cap value for this + parameter is 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + tags: + - "\U0001FA86 Namespace" + post: + summary: Create an organization + description: Creates an organization. + operationId: MgmtPublicService_CreateOrganization + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateOrganizationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organization + description: The properties of the organization to be created. + in: body + required: true + schema: + $ref: '#/definitions/Organization' + tags: + - "\U0001FA86 Namespace" + /v1beta/organizations/{organizationId}: + get: + summary: Get an organization + description: Returns the organization details by its ID. + operationId: MgmtPublicService_GetOrganization + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetOrganizationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Organization ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - "\U0001FA86 Namespace" + delete: + summary: Delete an organization + description: Accesses and deletes an organization by ID. + operationId: MgmtPublicService_DeleteOrganization + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteOrganizationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Organization ID + in: path + required: true + type: string + tags: + - "\U0001FA86 Namespace" + patch: + summary: Update an organization + description: |- + Accesses and updates an organization by ID. + + In REST requests, only the supplied organization fields will be taken into + account when updating the resource. + operationId: MgmtPublicService_UpdateOrganization + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateOrganizationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Organization ID + in: path + required: true + type: string + - name: organization + description: The organization fields that will replace the existing ones. + in: body + required: true + schema: + $ref: '#/definitions/Organization' + tags: + - "\U0001FA86 Namespace" + /v1beta/users/{userId}/memberships: + get: + summary: List user memberships + description: Returns the memberships of a user. + operationId: MgmtPublicService_ListUserMemberships + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListUserMembershipsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: userId + description: User ID + in: path + required: true + type: string + tags: + - "\U0001FA86 Namespace" + /v1beta/users/{userId}/memberships/{organizationId}: + get: + summary: Get a user membership + description: |- + Returns the details of the relationship between a user and an + organization. The authenticated must match the membership parent. + operationId: MgmtPublicService_GetUserMembership + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetUserMembershipResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: userId + description: User ID + in: path + required: true + type: string + - name: organizationId + description: Organization ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - "\U0001FA86 Namespace" + delete: + summary: Delete a user membership + description: Accesses and deletes a user membership by parent and membership IDs. + operationId: MgmtPublicService_DeleteUserMembership + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteUserMembershipResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: userId + description: User ID + in: path + required: true + type: string + - name: organizationId + description: Organization ID + in: path + required: true + type: string + tags: + - "\U0001FA86 Namespace" + put: + summary: Update a user membership + description: Accesses and updates a user membership by parent and membership IDs. + operationId: MgmtPublicService_UpdateUserMembership + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateUserMembershipResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: userId + description: User ID + in: path + required: true + type: string + - name: organizationId + description: Organization ID + in: path + required: true + type: string + - name: membership + description: The membership fields to update. + in: body + required: true + schema: + $ref: '#/definitions/UserMembership' + required: + - membership + - name: updateMask + description: |- + The update mask specifies the subset of fields that should be modified. + + For more information about this field, see + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#field-mask. + in: query + required: true + type: string + tags: + - "\U0001FA86 Namespace" + /v1beta/organizations/{organizationId}/memberships: + get: + summary: List organization memberships + description: Returns a paginated list of the user memberships in an organization. + operationId: MgmtPublicService_ListOrganizationMemberships + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListOrganizationMembershipsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Organization ID + in: path + required: true + type: string + tags: + - "\U0001FA86 Namespace" + /v1beta/organizations/{organizationId}/memberships/{userId}: + get: + summary: Get a an organization membership + description: Returns the details of a user membership within an organization. + operationId: MgmtPublicService_GetOrganizationMembership + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetOrganizationMembershipResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Organization ID + in: path + required: true + type: string + - name: userId + description: User ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - "\U0001FA86 Namespace" + delete: + summary: Delete an organization membership + description: Deletes a user membership within an organization. + operationId: MgmtPublicService_DeleteOrganizationMembership + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteOrganizationMembershipResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Organization ID + in: path + required: true + type: string + - name: userId + description: User ID + in: path + required: true + type: string + tags: + - "\U0001FA86 Namespace" + put: + summary: Uppdate an organization membership + description: Updates a user membership within an organization. + operationId: MgmtPublicService_UpdateOrganizationMembership + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateOrganizationMembershipResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Organization ID + in: path + required: true + type: string + - name: userId + description: User ID + in: path + required: true + type: string + - name: membership + description: The membership fields to update. + in: body + required: true + schema: + $ref: '#/definitions/OrganizationMembership' + required: + - membership + - name: updateMask + description: |- + The update mask specifies the subset of fields that should be modified. + + For more information about this field, see + https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#field-mask. + in: query + required: true + type: string + tags: + - "\U0001FA86 Namespace" + /v1beta/user/subscription: + get: + summary: Get the subscription of the authenticated user + description: Returns the subscription details of the authenticated user. + operationId: MgmtPublicService_GetAuthenticatedUserSubscription + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetAuthenticatedUserSubscriptionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + tags: + - "\U0001F91D Subscription" + /v1beta/organizations/{organizationId}/subscription: + get: + summary: Get the subscription of an organization + description: Returns the subscription details of an organization. + operationId: MgmtPublicService_GetOrganizationSubscription + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetOrganizationSubscriptionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: organizationId + description: Oragnization ID + in: path + required: true + type: string + tags: + - "\U0001F91D Subscription" + /v1beta/tokens: + get: + summary: List API tokens + description: Returns a paginated list of the API tokens of the authenticated user. + operationId: MgmtPublicService_ListTokens + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListTokensResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of tokens to return. If this parameter is unspecified, + at most 10 pipelines will be returned. The cap value for this parameter is + 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + tags: + - "\U0001FA86 Namespace" + post: + summary: Create an API token + description: Creates an API token for the authenticated user. + operationId: MgmtPublicService_CreateToken + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateTokenResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: token + description: The properties of the token to be created. + in: body + required: true + schema: + $ref: '#/definitions/ApiToken' + tags: + - "\U0001FA86 Namespace" + /v1beta/tokens/{tokenId}: + get: + summary: Get an API token + description: Returns the details of an API token. + operationId: MgmtPublicService_GetToken + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetTokenResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: tokenId + description: Token ID + in: path + required: true + type: string + tags: + - "\U0001FA86 Namespace" + delete: + summary: Delete an API token + description: Deletes an API token. + operationId: MgmtPublicService_DeleteToken + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteTokenResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: tokenId + description: Token ID + in: path + required: true + type: string + tags: + - "\U0001FA86 Namespace" + /v1beta/validate_token: + post: + summary: Validate an API token + description: Validates an API token. + operationId: MgmtPublicService_ValidateToken + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ValidateTokenResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + tags: + - "\U0001FA86 Namespace" + /v1beta/namespaces/{namespaceId}/credit: + get: + summary: Get the remaining Instill Credit + description: |- + This endpoint returns the remaining [Instill Credit](https://www.instill.tech/docs/vdp/credit) of a given user or + organization. The requested credit owner must be either the authenticated + user or an organization they belong to. + + On Instill Core, this endpoint will return a 404 Not Found status. + operationId: MgmtPublicService_GetRemainingCredit + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetRemainingCreditResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + tags: + - "\U0001F91D Subscription" + /v1beta/check-namespace: + post: + summary: Check if a namespace is in use + description: |- + Returns the availability of a namespace or, alternatively, the type of + resource that is using it. + operationId: MgmtPublicService_CheckNamespace + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CheckNamespaceResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: body + description: |- + CheckNamespaceRequest represents a request to verify if a namespace is + available. + in: body + required: true + schema: + $ref: '#/definitions/CheckNamespaceRequest' + tags: + - "\U0001FA86 Namespace" + /v1beta/metrics/vdp/pipeline/triggers: + get: + summary: List pipeline triggers + description: Returns a paginated list of pipeline executions. + operationId: MgmtPublicService_ListPipelineTriggerRecords + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListPipelineTriggerRecordsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of triggers to return. If this parameter is unspecified, + at most 100 pipelines will be returned. The cap value for this parameter is + 1000 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + tags: + - "\U0001F4CA Metrics" + /v1beta/metrics/vdp/pipeline/charts: + get: + summary: List pipeline trigger time charts + description: |- + Returns a timeline of pipline trigger counts for the pipelines of a given + owner. + NOTE: This method will soon return the trigger counts of a given requester. + operationId: MgmtPublicService_ListPipelineTriggerChartRecords + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListPipelineTriggerChartRecordsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: aggregationWindow + description: Aggregation window in nanoseconds. + in: query + required: false + type: integer + format: int32 + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + tags: + - "\U0001F4CA Metrics" + /v1beta/metrics/credit/charts: + get: + summary: List Instill Credit consumption time charts + description: |- + Returns a timeline of Instill Credit consumption for a given owner. The + response will contain one set of records (datapoints) per consumption + source (e.g. "pipeline", "model"). Each datapoint represents the amount + consumed in a time bucket. + operationId: MgmtPublicService_ListCreditConsumptionChartRecords + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListCreditConsumptionChartRecordsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The ID of the namespace that owns the credit. + in: query + required: true + type: string + - name: aggregationWindow + description: |- + Aggregation window. The value is a positive duration string, i.e. a + sequence of decimal numbers, each with optional fraction and a unit + suffix, such as "300ms", "1.5h" or "2h45m". + The minimum (and default) window is 1h. + in: query + required: false + type: string + - name: start + description: |- + Beginning of the time range from which the records will be fetched. + The default value is the beginning of the current day, in UTC. + in: query + required: false + type: string + format: date-time + - name: stop + description: |- + End of the time range from which the records will be fetched. + The default value is the current timestamp. + in: query + required: false + type: string + format: date-time + tags: + - "\U0001F4CA Metrics" + /v1alpha/model-definitions: + get: + summary: List model definitions + description: Returns a paginated list of model definitions. + operationId: ModelPublicService_ListModelDefinitions + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListModelDefinitionsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of model definitions to return. If this parameter + is unspecified, at most 10 definitions will be returned. The cap value for + this parameter is 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - ⚗️ Model + /v1alpha/available-regions: + get: + summary: List available regions + description: Returns a paginated list of available regions. + operationId: ModelPublicService_ListAvailableRegions + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListAvailableRegionsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + tags: + - ⚗️ Model + /v1alpha/model-definitions/{modelDefinitionId}: + get: + summary: Get a model definition + description: Returns the details of a model definition. + operationId: ModelPublicService_GetModelDefinition + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetModelDefinitionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: modelDefinitionId + description: |- + The resource name of the model definition, which allows its access by ID. + - Format: `model-definitions/{id}`. + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - ⚗️ Model + /v1alpha/models: + get: + summary: List models + description: Returns a paginated list of models. + operationId: ModelPublicService_ListModels + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListModelsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of models to return. If this parameter is unspecified, + at most 10 models will be returned. The cap value for this parameter is + 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired model view in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - name: showDeleted + description: Include soft-deleted models in the result. + in: query + required: false + type: boolean + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + - name: visibility + description: |- + Limit results to pipelines with the specified visibility. + + - VISIBILITY_PRIVATE: Only the owner can see the model. + - VISIBILITY_PUBLIC: Other users can see the model. + in: query + required: false + type: string + enum: + - VISIBILITY_PRIVATE + - VISIBILITY_PUBLIC + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models: + get: + summary: List namespace models + description: Returns a paginated list of models. + operationId: ModelPublicService_ListNamespaceModels + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListNamespaceModelsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pageSize + description: |- + The maximum number of models to return. If this parameter is unspecified, + at most 10 models will be returned. The cap value for this parameter is + 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired model view in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - name: showDeleted + description: Include soft-deleted models in the result. + in: query + required: false + type: boolean + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + - name: visibility + description: |- + Limit results to pipelines with the specified visibility. + + - VISIBILITY_PRIVATE: Only the owner can see the model. + - VISIBILITY_PUBLIC: Other users can see the model. + in: query + required: false + type: string + enum: + - VISIBILITY_PRIVATE + - VISIBILITY_PUBLIC + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + tags: + - ⚗️ Model + post: + summary: Create a new model + description: |- + Creates a new model under the parenthood of a namespace. This is an + asynchronous endpoint, i.e., the server will not wait for the model to be + created in order to respond. Instead, it will return a response with the + necessary information to access the result and status of the creation + operation. + operationId: ModelPublicService_CreateNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: model + description: The properties of the model to be created. + in: body + required: true + schema: + $ref: '#/definitions/Model' + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}: + get: + summary: Get a model + description: Returns the detail of a model, accessing it by the model ID and its parent namespace. + operationId: ModelPublicService_GetNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired model view in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - ⚗️ Model + delete: + summary: Delete a model + description: |- + Deletes a model, accesing it by its resource name, which is defined by the + parent namespace and the ID of the model. + operationId: ModelPublicService_DeleteNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + tags: + - ⚗️ Model + patch: + summary: Update a model + description: |- + Updates a model, accessing it by its resource name, which is defined by + the parent namespace and the ID of the model. + + In REST requests, only the supplied model fields will be taken into + account when updating the resource. + operationId: ModelPublicService_UpdateNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: model + description: The model to update + in: body + required: true + schema: + $ref: '#/definitions/Model' + required: + - model + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/rename: + post: + summary: Rename a model + description: |- + Renames a model, accesing it by its resource name, which is defined by the + parent namespace and the ID of the model. + operationId: ModelPublicService_RenameNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/RenameNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/RenameNamespaceModelBody' + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/watch: + get: + summary: Watch the state of a model version + description: |- + Returns the state of a model. The model resource allocation and scaling actions take some + time, during which a model will be in various state. This endpoint + allows clients to track the state. + operationId: ModelPublicService_WatchNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/WatchNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: version + description: Model version + in: path + required: true + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/watch: + get: + summary: Watch the state of the latest model version + description: |- + Returns the state of the latest model version. The model resource allocation and scaling actions + take some time, during which a model will be in various state. This endpoint + allows clients to track the state. + operationId: ModelPublicService_WatchNamespaceLatestModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/WatchNamespaceLatestModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions: + get: + summary: List namespace model versions + description: |- + Returns a paginated list of version of a model namespace that belong to the specified namespace. + Contains model version and digest. + operationId: ModelPublicService_ListNamespaceModelVersions + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListNamespaceModelVersionsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: pageSize + description: |- + The maximum number of versions to return. The default and cap values are 10 + and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: page + description: Page number. + in: query + required: false + type: integer + format: int32 + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}: + delete: + summary: Delete a model version + description: |- + Deletes a model version, accesing it by its resource name, which is defined by the + parent namespace and the ID of the model, and version. + operationId: ModelPublicService_DeleteNamespaceModelVersion + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteNamespaceModelVersionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: version + description: Model version + in: path + required: true + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/trigger: + post: + summary: Trigger model inference + description: |- + Triggers a deployed model to infer the result of a set of task or + questions. + operationId: ModelPublicService_TriggerNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: version + description: Model version + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerNamespaceModelBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/trigger-async: + post: + summary: Trigger model inference asynchronously + description: |- + Triggers a deployed model to infer the result of a set of task or + questions. + operationId: ModelPublicService_TriggerAsyncNamespaceModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerAsyncNamespaceModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: version + description: Model version + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerAsyncNamespaceModelBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/trigger: + post: + summary: Trigger model inference + description: |- + Triggers the latest deployed model version to infer the result of a set of task or + questions. + operationId: ModelPublicService_TriggerNamespaceLatestModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerNamespaceLatestModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerNamespaceLatestModelBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/trigger-async: + post: + summary: Trigger model inference asynchronously + description: |- + Triggers the latest deployed model version to infer the result of a set of task or + questions. + operationId: ModelPublicService_TriggerAsyncNamespaceLatestModel + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerAsyncNamespaceLatestModelResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerAsyncNamespaceLatestModelBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/operation: + get: + summary: |- + Get the details of the long-running operation from a namespace model + with a particular version + description: |- + This method allows requesters to request the status and outcome of + long-running operations in a model, such as trigger. + operationId: ModelPublicService_GetNamespaceModelOperation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetNamespaceModelOperationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: version + description: Model version + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired operation result in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/operation: + get: + summary: Get the details of the latest long-running operation from a namespace model + description: |- + This method allows requesters to request the status and outcome of + long-running operations in a model, such as trigger. + operationId: ModelPublicService_GetNamespaceLatestModelOperation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetNamespaceLatestModelOperationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: modelId + description: Model ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired operation result in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - ⚗️ Model + /v1alpha/operations/{operationId}: + get: + summary: Get the details of a long-running operation + description: |- + This method allows requesters to request the status and outcome of + long-running operations in a model, such as trigger. + operationId: ModelPublicService_GetModelOperation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetModelOperationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: operationId + description: The resource name of the model, which allows its access ID. + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired model view in the response. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - ⚗️ Model + /v1alpha/namespaces/{namespaceId}/models/{modelId}/runs: + get: + summary: List model runs + description: Returns a paginated list of model runs. + operationId: ModelPublicService_ListModelRuns + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListModelRunsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID. + in: path + required: true + type: string + - name: modelId + description: Model ID. + in: path + required: true + type: string + - name: pageSize + description: |- + The maximum number of runs to return. The default and cap values are 10 + and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: page + description: Page number. + in: query + required: false + type: integer + format: int32 + - name: orderBy + description: |- + Sort the results by the given expression. + Format: `field [ASC | DESC], where `field` can be: + - `create_time` + - `update_time` + By default, results are sorted by descending creation time. + in: query + required: false + type: string + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + The filter can be applied to the following fields: + - `create_time` + in: query + required: false + type: string + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - ⚗️ Model + /v1alpha/dashboard/models/runs: + get: + summary: List Model Runs of a Namespace (user or organization) + description: |- + Returns a paginated list of runs for 1 or more models. This is mainly used by dashboard. + The requester can view all the runs by the requester across different models. + operationId: ModelPublicService_ListModelRunsByRequester + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListModelRunsByRequesterResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of runs to return. The default and cap values are 10 + and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: page + description: Page number. + in: query + required: false + type: integer + format: int32 + - name: orderBy + description: |- + Sort the results by the given expression. + Format: `field [ASC | DESC], where `field` can be: + - `create_time` + - `update_time` + By default, results are sorted by descending creation time. + in: query + required: false + type: string + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `status="RUN_STATUS_COMPLETED"`. + The filter can be applied to the following fields: + - `status` + - `source` + in: query + required: false + type: string + - name: start + description: |- + Beginning of the time range from which the records will be fetched. + The default value is the beginning of the current day, in UTC. + in: query + required: false + type: string + format: date-time + - name: stop + description: |- + End of the time range from which the records will be fetched. + The default value is the current timestamp. + in: query + required: false + type: string + format: date-time + - name: requesterId + description: Requester ID. + in: query + required: true + type: string + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - ⚗️ Model + /v1beta/pipelines: + get: + summary: List accessible pipelines + description: Returns a paginated list of pipelines that are visible to the requester. + operationId: PipelinePublicService_ListPipelines + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListPipelinesResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of pipelines to return. If this parameter is + unspecified, at most 10 pipelines will be returned. The cap value for this + parameter is 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired pipeline view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + - VIEW_RECIPE: Contains the recipe of the resource. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - VIEW_RECIPE + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + - Example: + `recipe.components.definition_name:"operator-definitions/2ac8be70-0f7a-4b61-a33d-098b8acfa6f3"`. + in: query + required: false + type: string + - name: showDeleted + description: Include soft-deleted pipelines in the result. + in: query + required: false + type: boolean + - name: visibility + description: |- + Limit results to pipelines with the specified visibility. + + - VISIBILITY_PRIVATE: Only the user can see the pipeline. + - VISIBILITY_PUBLIC: Other users can see the pipeline. + in: query + required: false + type: string + enum: + - VISIBILITY_PRIVATE + - VISIBILITY_PUBLIC + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines: + get: + summary: List namespace pipelines + description: Returns a paginated list of pipelines of a namespace + operationId: PipelinePublicService_ListNamespacePipelines + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListNamespacePipelinesResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pageSize + description: |- + The maximum number of pipelines to return. If this parameter is + unspecified, at most 10 pipelines will be returned. The cap value for this + parameter is 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired pipeline view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + - VIEW_RECIPE: Contains the recipe of the resource. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - VIEW_RECIPE + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + - Example: + `recipe.components.definition_name:"operator-definitions/2ac8be70-0f7a-4b61-a33d-098b8acfa6f3"`. + in: query + required: false + type: string + - name: showDeleted + description: Include soft-deleted pipelines in the result. + in: query + required: false + type: boolean + - name: visibility + description: |- + Limit results to pipelines with the specified visibility. + + - VISIBILITY_PRIVATE: Only the user can see the pipeline. + - VISIBILITY_PUBLIC: Other users can see the pipeline. + in: query + required: false + type: string + enum: + - VISIBILITY_PRIVATE + - VISIBILITY_PUBLIC + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + tags: + - "\U0001F4A7 VDP" + post: + summary: Create a new pipeline + description: Creates a new pipeline under a namespace. + operationId: PipelinePublicService_CreateNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The namespace that creates the pipeline. + in: path + required: true + type: string + - name: pipeline + description: The properties of the pipeline to be created. + in: body + required: true + schema: + $ref: '#/definitions/Pipeline' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}: + get: + summary: Get a pipeline + description: Returns the details of a pipeline. + operationId: PipelinePublicService_GetNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired pipeline view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + - VIEW_RECIPE: Contains the recipe of the resource. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - VIEW_RECIPE + tags: + - "\U0001F4A7 VDP" + delete: + summary: Delete a pipeline + description: |- + Deletes a pipeline, accesing it by its resource name, which is defined by + the parent namespace and the ID of the pipeline. The authenticated namespace must be + the parent of the pipeline in order to delete it. + operationId: PipelinePublicService_DeleteNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + tags: + - "\U0001F4A7 VDP" + patch: + summary: Update a pipeline + description: |- + Udpates a pipeline, accessing it by its resource name, which is defined by + the parent namespace and the ID of the pipeline. The authenticated namespace must be + the parent of the pipeline in order to modify it. + + In REST requests, only the supplied pipeline fields will be taken into + account when updating the resource. + operationId: PipelinePublicService_UpdateNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: pipeline + description: The pipeline fields that will replace the existing ones. + in: body + required: true + schema: + $ref: '#/definitions/Pipeline' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/validate: + post: + summary: Validate a pipeline + description: |- + Validates a pipeline by its resource name, which is defined by the parent + namespace and the ID of the pipeline. + + Validation checks the recipe of the pipeline and the status of its components. + operationId: PipelinePublicService_ValidateNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ValidateNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/ValidateNamespacePipelineBody' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/rename: + post: + summary: Rename a pipeline + description: |- + Updates the ID of a pipeline. Since this is an output-only field, a custom + method is required to modify it. + + The pipeline name will be updated accordingly, as it is composed by the + parent namespace and ID of the pipeline (e.g. + `namespaces/luigi/pipelines/pizza-recipe-generator`). + + The authenticated namespace must be the parent of the pipeline in order to + perform this action. + operationId: PipelinePublicService_RenameNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/RenameNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/RenameNamespacePipelineBody' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/clone: + post: + summary: Clone a pipeline + description: |- + Clones a pipeline owned by a namespace. The new pipeline may have a different + parent, and this can be either a namespace or an organization. + operationId: PipelinePublicService_CloneNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CloneNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/CloneNamespacePipelineBody' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/trigger: + post: + summary: Trigger a pipeline + description: |- + Triggers the execution of a pipeline synchronously, i.e., the result is + sent back to the namespace right after the data is processed. This method is + intended for real-time inference when low latency is of concern. + + The pipeline is identified by its resource name, formed by the parent namespace + and ID of the pipeline. + + For more information, see [Run NamespacePipeline](https://www.instill.tech/docs/vdp/run). + operationId: PipelinePublicService_TriggerNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerNamespacePipelineBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/trigger-stream: + post: + summary: Trigger a pipeline via streaming + description: |- + Triggers the execution of a pipeline asynchronously and streams back the response. + This method is intended for real-time inference when low latency is of concern + and the response needs to be processed incrementally. + + The pipeline is identified by its resource name, formed by the parent namespace + and ID of the pipeline. + operationId: PipelinePublicService_TriggerNamespacePipelineWithStream + responses: + "200": + description: A successful response.(streaming responses) + schema: + type: object + properties: + result: + $ref: '#/definitions/TriggerNamespacePipelineWithStreamResponse' + error: + $ref: '#/definitions/rpc.Status' + title: Stream result of TriggerNamespacePipelineWithStreamResponse + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerNamespacePipelineWithStreamBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/trigger-async: + post: + summary: Trigger a pipeline asynchronously + description: |- + Triggers the execution of a pipeline asynchronously, i.e., the result + contains the necessary information to access the result and status of the + operation. This method is intended for cases that require long-running + workloads. + + The pipeline is identified by its resource name, formed by the parent namespace + and ID of the pipeline. + + For more information, see [Run NamespacePipeline](https://www.instill.tech/docs/vdp/run). + operationId: PipelinePublicService_TriggerAsyncNamespacePipeline + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerAsyncNamespacePipelineResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerAsyncNamespacePipelineBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases: + get: + summary: List the releases in a pipeline + description: |- + Lists the commited versions of a pipeline, identified by its resource + name, which is formed by the parent namespace and ID of the pipeline. + operationId: PipelinePublicService_ListNamespacePipelineReleases + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListNamespacePipelineReleasesResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: pageSize + description: |- + The maximum number of releases to return. If this parameter is + unspecified, at most 10 pipelines will be returned. The cap value for this + parameter is 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired pipeline view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + - VIEW_RECIPE: Contains the recipe of the resource. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - VIEW_RECIPE + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + - name: showDeleted + description: Include soft-deleted pipelines in the result. + in: query + required: false + type: boolean + tags: + - "\U0001F4A7 VDP" + post: + summary: Create a pipeline release + description: |- + Commits the version of a pipeline, identified by its resource name, which + is formed by the parent namespace and ID of the pipeline. + + The authenticated namespace must be the parent of the pipeline in order to + perform this action. + operationId: PipelinePublicService_CreateNamespacePipelineRelease + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateNamespacePipelineReleaseResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: release + description: The release information. + in: body + required: true + schema: + $ref: '#/definitions/PipelineRelease' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}: + get: + summary: Get a pipeline release + description: |- + Gets the details of a pipeline release, where the pipeline is identified + by its resource name, formed by its parent namespace and ID. + operationId: PipelinePublicService_GetNamespacePipelineRelease + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetNamespacePipelineReleaseResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: releaseId + description: Release ID + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired pipeline view in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + - VIEW_RECIPE: Contains the recipe of the resource. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - VIEW_RECIPE + tags: + - "\U0001F4A7 VDP" + delete: + summary: Delete a pipeline release + description: |- + Deletes a pipeline release, where the pipeline is identified by its + resource name, formed by its parent namespace and ID. + + The authenticated namespace must be the parent of the pipeline in order to + perform this action. + operationId: PipelinePublicService_DeleteNamespacePipelineRelease + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteNamespacePipelineReleaseResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: releaseId + description: Release ID + in: path + required: true + type: string + tags: + - "\U0001F4A7 VDP" + patch: + summary: Update a pipeline release + description: |- + Updates the details of a pipeline release, where the pipeline is + identified by its resource name, formed by its parent namespace and ID. + + The authenticated namespace must be the parent of the pipeline in order to + perform this action. + operationId: PipelinePublicService_UpdateNamespacePipelineRelease + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateNamespacePipelineReleaseResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: releaseId + description: Release ID + in: path + required: true + type: string + - name: release + description: |- + The pipeline release fields that will replace the existing ones. + A pipeline release resource to update + in: body + required: true + schema: + $ref: '#/definitions/PipelineRelease' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}/clone: + post: + summary: Clone a pipeline release + description: |- + Clones a pipeline release owned by a namespace. The new pipeline may have a different + parent, and this can be either a namespace or an organization. + operationId: PipelinePublicService_CloneNamespacePipelineRelease + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CloneNamespacePipelineReleaseResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: releaseId + description: Release ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/CloneNamespacePipelineReleaseBody' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}/trigger: + post: + summary: Trigger a pipeline release + description: |- + Triggers the synchronous execution of of a pipeline. While the trigger + endpoint (where the release version isn't specified) triggers the pipeline + at its latest release, this method allows the client to specified any + committed release. + + The pipeline is identified by its resource name, formed by its parent namespace + and ID. + operationId: PipelinePublicService_TriggerNamespacePipelineRelease + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerNamespacePipelineReleaseResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: releaseId + description: Release ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerNamespacePipelineReleaseBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}/trigger-async: + post: + summary: Trigger a pipeline release asynchronously + description: |- + Triggers the asynchronous execution of of a pipeline. While the trigger + endpoint (where the release version isn't specified) triggers the pipeline + at its latest release, this method allows the client to specified any + committed release. + + The pipeline is identified by its resource name, formed by its parent namespace + and ID. + operationId: PipelinePublicService_TriggerAsyncNamespacePipelineRelease + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TriggerAsyncNamespacePipelineReleaseResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pipelineId + description: Pipeline ID + in: path + required: true + type: string + - name: releaseId + description: Release ID + in: path + required: true + type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/TriggerAsyncNamespacePipelineReleaseBody' + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/secrets: + get: + summary: List secrets + description: |- + Returns a paginated list of secrets that belong to the specified + namespace. + operationId: PipelinePublicService_ListNamespaceSecrets + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListNamespaceSecretsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: pageSize + description: |- + The maximum number of secrets to return. If this parameter is unspecified, + at most 10 pipelines will be returned. The cap value for this parameter is + 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page secret. + in: query + required: false + type: string + tags: + - "\U0001F4A7 VDP" + post: + summary: Create a secret + description: Creates a new secret under the parenthood of an namespace. + operationId: PipelinePublicService_CreateNamespaceSecret + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateNamespaceSecretResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: secret + description: The properties of the secret to be created. + in: body + required: true + schema: + $ref: '#/definitions/Secret' + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/secrets/{secretId}: + get: + summary: Get a secret + description: |- + Returns the details of an namespace-owned secret by its resource name, + which is defined by the parent namespace and the ID of the secret. + operationId: PipelinePublicService_GetNamespaceSecret + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetNamespaceSecretResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: secretId + description: Secret ID + in: path + required: true + type: string + tags: + - "\U0001F4A7 VDP" + delete: + summary: Delete a secret + description: |- + Deletes a secret, accesing it by its resource name, which is defined by + the parent namespace and the ID of the secret. + operationId: PipelinePublicService_DeleteNamespaceSecret + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteNamespaceSecretResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: secretId + description: Secret ID + in: path + required: true + type: string + tags: + - "\U0001F4A7 VDP" + patch: + summary: Update a secret + description: |- + Udpates a secret, accessing it by its resource name, which is defined by + + In REST requests, only the supplied secret fields will be taken into + account when updating the resource. + operationId: PipelinePublicService_UpdateNamespaceSecret + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateNamespaceSecretResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID + in: path + required: true + type: string + - name: secretId + description: Secret ID + in: path + required: true + type: string + - name: secret + description: The secret fields to update. + in: body + required: true + schema: + $ref: '#/definitions/Secret' + tags: + - "\U0001F4A7 VDP" + /v1beta/component-definitions: + get: + summary: List component definitions + description: |- + Returns a paginated list of component definitions, regardless their type. + This offers a single source of truth, with pagination and filter + capabilities, for the components that might be used in a VDP pipeline. + operationId: PipelinePublicService_ListComponentDefinitions + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListComponentDefinitionsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: |- + The maximum number of component definitions to return. If this parameter + is unspecified, at most 10 definitions will be returned. The cap value for + this parameter is 100 (i.e. any value above that will be coerced to 100). + in: query + required: false + type: integer + format: int32 + - name: view + description: |- + View allows clients to specify the desired resource view in the response. + + - VIEW_BASIC: Default view, only includes basic information (removes the `spec` + field). + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `component_type="COMPONENT_TYPE_AI"`. + - Example: `tasks:"TASK_TEXT_GENERATION"`. + in: query + required: false + type: string + - name: page + description: Page number. + in: query + required: false + type: integer + format: int32 + tags: + - "\U0001F4A7 VDP" + /v1beta/operations/{operationId}: + get: + summary: Get the details of a long-running operation + description: |- + This method allows requesters to request the status and outcome of + long-running operations such as asynchronous pipeline triggers. + operationId: PipelinePublicService_GetOperation + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetOperationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: operationId + description: |- + The name of the operation resource. Asynchronous methods will contain this + information in their response. + in: path + required: true + type: string + - name: Instill-Requester-Uid + description: Indicates the authenticated user is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/runs: + get: + summary: List Pipeline Runs + description: |- + Returns a paginated list of runs for a given pipeline. When the requester + is the owner of the pipeline, they will be able to all the pipeline runs, + regardless the requester. Other requesters will only be able to see the + runs requested by themselves. + operationId: PipelinePublicService_ListPipelineRuns + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListPipelineRunsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: The ID of the owner of the pipeline. + in: path + required: true + type: string + - name: pipelineId + description: The ID of the pipeline for which the runs will be listed. + in: path + required: true + type: string + - name: page + description: The page number to retrieve. + in: query + required: false + type: integer + format: int32 + - name: pageSize + description: |- + The maximum number of items per page to return. The default and cap values + are 10 and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/pipeline-runs/{pipelineRunId}/component-runs: + get: + summary: List Component runs + description: Returns the information of each component execution within a pipeline run. + operationId: PipelinePublicService_ListComponentRuns + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListComponentRunsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pipelineRunId + description: The unique identifier of the pipeline run to list component runs for. + in: path + required: true + type: string + - name: page + description: The page number to retrieve. + in: query + required: false + type: integer + format: int32 + - name: pageSize + description: |- + The maximum number of items per page to return. The default and cap values + are 10 and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. + in: query + required: false + type: string + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + - name: view + description: |- + View allows clients to specify the desired run view in the response. + The basic view excludes input / output data. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + - VIEW_RECIPE: Contains the recipe of the resource. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - VIEW_RECIPE + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/dashboard/pipelines/runs: + get: + summary: List Pipeline Runs of a Namespace (user or organization) + description: |- + Returns a paginated list of runs for 1 or more pipelines. This is mainly used by dashboard. + The requester can view all the runs by the requester across different pipelines. + operationId: PipelinePublicService_ListPipelineRunsByRequester + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListPipelineRunsByRequesterResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: page + description: The page number to retrieve. + in: query + required: false + type: integer + format: int32 + - name: pageSize + description: |- + The maximum number of items per page to return. The default and cap values + are 10 and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter + expression. + The following filters are supported: + - `status` + - `source` + + **Example**: `status="RUN_STATUS_COMPLETED"`. + in: query + required: false + type: string + - name: orderBy + description: |- + Order by field, with options for ordering by `id`, `create_time` or `update_time`. + Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. + in: query + required: false + type: string + - name: start + description: |- + Beginning of the time range from which the records will be fetched. + The default value is the beginning of the current day, in UTC. + in: query + required: false + type: string + format: date-time + - name: stop + description: |- + End of the time range from which the records will be fetched. + The default value is the current timestamp. + in: query + required: false + type: string + format: date-time + - name: requesterId + description: Requester ID. + in: query + required: true + type: string + - name: Instill-Requester-Uid + description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to + in: header + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/connections: + get: + summary: List namespace connections + description: Returns a paginated list of connections created by a namespace. + operationId: PipelinePublicService_ListNamespaceConnections + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListNamespaceConnectionsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID. + in: path + required: true + type: string + - name: pageSize + description: The maximum number of items to return. The default and cap values are 10 and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. By default, the first page will be returned. + in: query + required: false + type: string + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. + The following filters are supported: + - `integrationId` + - `qConnection` (fuzzy search on connection ID, integration title or vendor) + + **Examples**: + - List connections where app name, vendor or connection ID match `googl`: `q="googl"`. + - List connections where the component type is `openai` (e.g. to setup a connector within a pipeline): `integrationId="openai"`. + in: query + required: false + type: string + tags: + - "\U0001F4A7 VDP" + post: + summary: Create a connection + description: Creates a connection under the ownership of a namespace. + operationId: PipelinePublicService_CreateNamespaceConnection + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/CreateNamespaceConnectionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: ID of the namespace that owns the connection. + in: path + required: true + type: string + - name: connection + description: Properties of the connection to be created. + in: body + required: true + schema: + $ref: '#/definitions/Connection' + required: + - connection + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/connections/{connectionId}: + get: + summary: Get a namespace connection + description: Returns the details of a connection. + operationId: PipelinePublicService_GetNamespaceConnection + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetNamespaceConnectionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID. + in: path + required: true + type: string + - name: connectionId + description: Connection ID. + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired view in the response. + + - VIEW_BASIC: Default view. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - "\U0001F4A7 VDP" + delete: + summary: Delete a connection + description: Deletes a connection. + operationId: PipelinePublicService_DeleteNamespaceConnection + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/DeleteNamespaceConnectionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID. + in: path + required: true + type: string + - name: connectionId + description: Connection ID. + in: path + required: true + type: string + tags: + - "\U0001F4A7 VDP" + patch: + summary: Update a connection + description: Updates a connection with the supplied connection fields. + operationId: PipelinePublicService_UpdateNamespaceConnection + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/UpdateNamespaceConnectionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: ID of the namespace that owns the connection. + in: path + required: true + type: string + - name: connectionId + description: ID of the connection to be updated, as present in the database. + in: path + required: true + type: string + - name: connection + description: |- + Connection object with the new properties to be updated. Immutable and + output-only fields will be ignored. The Setup property must be updated + in block (no partial update is supported). + in: body + required: true + schema: + $ref: '#/definitions/Connection' + required: + - connection + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/connections/{connectionId}/test: + post: + summary: Test a connection + description: |- + Makes a request to the 3rd party app that the connection is configured to + communicate with, and checks the result of the call. If the test fails, + the response status and error message will provide more information about + the failure. + + Note that this action might affect the quota or billing of the integrated + account in the 3rd party app. + operationId: PipelinePublicService_TestNamespaceConnection + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/TestNamespaceConnectionResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID. + in: path + required: true + type: string + - name: connectionId + description: Connection ID. + in: path + required: true + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/namespaces/{namespaceId}/connections/{connectionId}/referenced-pipelines: + get: + summary: List pipelines that reference a connection + description: |- + Returns a paginated list with the IDs of the pipelines that reference a + given connection. All the pipelines will belong to the same namespace as + the connection. + operationId: PipelinePublicService_ListPipelineIDsByConnectionID + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListPipelineIDsByConnectionIDResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: namespaceId + description: Namespace ID. + in: path + required: true + type: string + - name: connectionId + description: Connection ID. + in: path + required: true + type: string + - name: pageSize + description: The maximum number of items to return. The default and cap values are 10 and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. By default, the first page will be returned. + in: query + required: false + type: string + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. + The following filters are supported: + - `q` (fuzzy search on pipeline ID) + in: query + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/integrations: + get: + summary: List integrations + description: Returns a paginated list of available integrations. + operationId: PipelinePublicService_ListIntegrations + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/ListIntegrationsResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: pageSize + description: The maximum number of items to return. The default and cap values are 10 and 100, respectively. + in: query + required: false + type: integer + format: int32 + - name: pageToken + description: Page token. By default, the first page will be returned. + in: query + required: false + type: string + - name: filter + description: |- + Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. + The following filters are supported: + - `qIntegration` (fuzzy search on title or vendor) + + **Examples**: + - List integrations where app name or vendor match `googl`: `q="googl"`. + in: query + required: false + type: string + tags: + - "\U0001F4A7 VDP" + /v1beta/integrations/{integrationId}: + get: + summary: Get an integration + description: Returns the details of an integration. + operationId: PipelinePublicService_GetIntegration + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GetIntegrationResponse' + "401": + description: Returned when the client credentials are not valid. + schema: {} + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/rpc.Status' + parameters: + - name: integrationId + description: Integration ID. + in: path + required: true + type: string + - name: view + description: |- + View allows clients to specify the desired view in the response. + + - VIEW_BASIC: Default view. + - VIEW_FULL: Full representation. + in: query + required: false + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + tags: + - "\U0001F4A7 VDP" +definitions: + AIAssistantAppMetadata: + type: object + properties: + catalogUid: + type: string + description: The AI assistant app catalog uid. + topK: + type: integer + format: int32 + description: The AI assistant app top k. + description: AIAssistantAppMetadata represents the metadata for the AI assistant app. + required: + - catalogUid + - topK + Any: + type: object + properties: + '@type': + type: string + description: |- + A URL/resource name that uniquely identifies the type of the serialized + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a canonical form + (e.g., leading "." is not accepted). + + In practice, teams usually precompile into the binary all types that they + expect it to use in the context of Any. However, for URLs which use the + scheme `http`, `https`, or no scheme, one can optionally set up a type + server that maps type URLs to message definitions as follows: + + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. As of May 2023, there are no widely used type server + implementations and no plans to implement one. + + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + additionalProperties: {} + description: |- + `Any` contains an arbitrary serialized protocol buffer message along with a + URL that describes the type of the serialized message. + + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + // or ... + if (any.isSameTypeAs(Foo.getDefaultInstance())) { + foo = any.unpack(Foo.getDefaultInstance()); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". + + JSON + ==== + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + ApiToken: + type: object + properties: + lastUseTime: + type: string + format: date-time + description: |- + When users trigger a pipeline which uses an API token, the token is + updated with the current time. This field is used to track the last time + the token was used. + name: + type: string + description: |- + The name of the token, define by its ID. + - Format: `tokens/{token.id}`. + readOnly: true + uid: + type: string + description: API token UUID. + readOnly: true + id: + type: string + description: |- + API token resource ID (used in `name` as the last segment). This conforms + to RFC-1034, which restricts to letters, numbers, and hyphen, with the + first character a letter, the last a letter or a number, and a 63 + character maximum. + + This field can reflect the client(s) that will use the token. + createTime: + type: string + format: date-time + description: Creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Update time. + readOnly: true + accessToken: + type: string + description: |- + An opaque access token representing the API token string. + + To validate the token, the recipient of the token needs to call the server + that issued the token. + readOnly: true + state: + description: State. + readOnly: true + allOf: + - $ref: '#/definitions/ApiToken.State' + tokenType: + type: string + description: Token type. Value is fixed to "Bearer". + readOnly: true + ttl: + type: integer + format: int32 + description: The time-to-live in seconds for this resource. + expireTime: + type: string + format: date-time + description: Expiration time. + description: API tokens allow users to make requests to the Instill AI API. + ApiToken.State: + type: string + enum: + - STATE_INACTIVE + - STATE_ACTIVE + - STATE_EXPIRED + description: |- + State describes the state of an API token. + + - STATE_INACTIVE: Inactive. + - STATE_ACTIVE: Active. + - STATE_EXPIRED: Expired. + App: + type: object + properties: + appId: + type: string + description: The app id. + description: + type: string + description: The app description. + createTime: + type: string + format: date-time + description: The creation time of the app. + readOnly: true + updateTime: + type: string + format: date-time + description: The last update time of the app. + readOnly: true + ownerUid: + type: string + description: The owner/namespace of the app. + readOnly: true + tags: + type: array + items: + type: string + description: The app tags. + aiAssistantApp: + description: The AI assistant app metadata. + readOnly: true + allOf: + - $ref: '#/definitions/AIAssistantAppMetadata' + appType: + description: The app type. + readOnly: true + allOf: + - $ref: '#/definitions/AppType' + appUid: + type: string + title: app uid + readOnly: true + creatorUid: + type: string + title: creator uid + readOnly: true + description: App represents a app. + required: + - appId + AppType: + type: string + enum: + - APP_TYPE_AI_ASSISTANT + description: |- + AppType represents the type of the app. + + - APP_TYPE_AI_ASSISTANT: AppType is a AI assistant app. + AuthenticatedUser: + type: object + properties: + name: + type: string + description: |- + The name of the user, defined by its ID. + - Format: `users/{user.id}`. + readOnly: true + uid: + type: string + description: |- + User UUID. This field is optionally set by users on creation (it will be + server-generated if unspecified). + id: + type: string + description: |- + Resource ID (used in `name` as the last segment). This conforms to + RFC-1034, which restricts to letters, numbers, and hyphen, with the first + character a letter, the last a letter or a number, and a 63 character + maximum. + + Note that the ID can be updated. + createTime: + type: string + format: date-time + description: Creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Update time. + readOnly: true + email: + type: string + description: Email. + customerId: + type: string + description: Stripe customer ID. This field is used in Instill Cloud. + readOnly: true + role: + type: string + description: |- + Role. + + It must be one of the following allowed roles: + - `manager` + - `ai-researcher` + - `ai-engineer` + - `data-engineer` + - `data-scientist` + - `analytics-engineer` + - `hobbyist` + newsletterSubscription: + type: boolean + description: This defines whether the user is subscribed to Instill AI's newsletter. + cookieToken: + type: string + description: Console cookie token. + onboardingStatus: + description: Onboarding Status. + allOf: + - $ref: '#/definitions/OnboardingStatus' + profile: + description: Profile. + readOnly: true + allOf: + - $ref: '#/definitions/UserProfile' + description: |- + AuthenticatedUser contains the information of an authenticated user, i.e., + the public user information plus some fields that should only be accessed by + the user themselves. + required: + - id + - email + - newsletterSubscription + Catalog: + type: object + properties: + catalogUid: + type: string + description: The catalog uid. + catalogId: + type: string + description: The catalog id. + name: + type: string + description: The catalog name. + description: + type: string + description: The catalog description. + createTime: + type: string + description: The creation time of the catalog. + updateTime: + type: string + description: The last update time of the catalog. + ownerName: + type: string + description: The owner/namespace of the catalog. + tags: + type: array + items: + type: string + description: The catalog tags. + convertingPipelines: + type: array + items: + type: string + description: The catalog converting pipelines. + splittingPipelines: + type: array + items: + type: string + description: The catalog splitting pipelines. + embeddingPipelines: + type: array + items: + type: string + description: The catalog embedding pipelines. + downstreamApps: + type: array + items: + type: string + title: The downstream apps + totalFiles: + type: integer + format: int64 + description: The total files in catalog. + totalTokens: + type: integer + format: int64 + description: The total tokens in catalog. + usedStorage: + type: string + format: uint64 + description: The current used storage in catalog. + description: Catalog represents a catalog. + CatalogRun: + type: object + properties: + uid: + type: string + description: Unique identifier for each run. + readOnly: true + catalogUid: + type: string + title: catalog uid + readOnly: true + fileUids: + type: array + items: + type: string + description: The file uids. + readOnly: true + action: + description: Action of the catalog run. + readOnly: true + allOf: + - $ref: '#/definitions/CatalogRunAction' + status: + description: Current status of the run. + readOnly: true + allOf: + - $ref: '#/definitions/RunStatus' + source: + description: Origin of the run. + readOnly: true + allOf: + - $ref: '#/definitions/RunSource' + totalDuration: + type: integer + format: int32 + description: Time taken to complete the run in milliseconds. + readOnly: true + runnerId: + type: string + title: Runner ID. (User UID) + readOnly: true + namespaceId: + type: string + description: Namespace ID. + readOnly: true + payload: + type: object + description: Run request payload. + readOnly: true + startTime: + type: string + format: date-time + description: Time when the run started execution. + readOnly: true + completeTime: + type: string + format: date-time + description: Time when the run completed. + readOnly: true + error: + type: string + description: Error message if the run failed. + readOnly: true + creditAmount: + type: number + format: float + description: Credits used of internal accounting metric. + readOnly: true + description: CatalogRun represents a single execution of a catalog action. + CatalogRunAction: + type: string + enum: + - CATALOG_RUN_ACTION_CREATE + - CATALOG_RUN_ACTION_UPDATE + - CATALOG_RUN_ACTION_DELETE + - CATALOG_RUN_ACTION_CREATE_FILE + - CATALOG_RUN_ACTION_PROCESS_FILE + - CATALOG_RUN_ACTION_DELETE_FILE + description: |- + CatalogRunAction describes the actions a user has over a catalog. + + - CATALOG_RUN_ACTION_CREATE: Create catalog. + - CATALOG_RUN_ACTION_UPDATE: Update catalog. + - CATALOG_RUN_ACTION_DELETE: Delete catalog. + - CATALOG_RUN_ACTION_CREATE_FILE: Upload catalog file. + - CATALOG_RUN_ACTION_PROCESS_FILE: Process catalog file. + - CATALOG_RUN_ACTION_DELETE_FILE: Delete catalog file. + ChatBody: + type: object + properties: + catalogId: + type: string + title: Catalog ID + conversationUid: + type: string + title: Conversation UID + message: + type: string + title: User message + topK: + type: integer + format: int64 + title: top k, defaults to 5 + description: |- + ChatRequest represents a request to send a message + to a chatbot synchronously and streams back the results. + required: + - catalogId + - conversationUid + - message + ChatResponse: + type: object + properties: + outputs: + type: array + items: + type: object + description: Conversation responses. + readOnly: true + chunks: + type: array + items: + type: object + $ref: '#/definitions/SimilarityChunk' + title: Reference chunks + readOnly: true + description: ChatResponse contains the chatbot response. + CheckNamespaceAdminResponse: + type: object + properties: + type: + description: Namespace type. + allOf: + - $ref: '#/definitions/CheckNamespaceAdminResponse.Namespace' + uid: + type: string + description: Namespace UID. + user: + description: User. + allOf: + - $ref: '#/definitions/v1beta.User' + organization: + description: Organization. + allOf: + - $ref: '#/definitions/Organization' + description: |- + CheckNamespaceAdminResponse contains the availability of a namespace or the type + of resource that's using it. + CheckNamespaceAdminResponse.Namespace: + type: string + enum: + - NAMESPACE_AVAILABLE + - NAMESPACE_USER + - NAMESPACE_ORGANIZATION + - NAMESPACE_RESERVED + description: |- + Namespace contains information about the availability of a namespace. + + - NAMESPACE_AVAILABLE: Available. + - NAMESPACE_USER: Namespace belongs to a user. + - NAMESPACE_ORGANIZATION: Namespace belongs to an organization. + - NAMESPACE_RESERVED: Reserved. + CheckNamespaceByUIDAdminResponse: + type: object + properties: + type: + description: Namespace type. + allOf: + - $ref: '#/definitions/CheckNamespaceByUIDAdminResponse.Namespace' + id: + type: string + description: Namespace ID. + user: + description: User. + allOf: + - $ref: '#/definitions/v1beta.User' + organization: + description: Organization. + allOf: + - $ref: '#/definitions/Organization' + description: |- + CheckNamespaceByUIDAdminResponse contains the availability of a namespace or the type + of resource that's using it. + CheckNamespaceByUIDAdminResponse.Namespace: + type: string + enum: + - NAMESPACE_AVAILABLE + - NAMESPACE_USER + - NAMESPACE_ORGANIZATION + - NAMESPACE_RESERVED + description: |- + Namespace contains information about the availability of a namespace. + + - NAMESPACE_AVAILABLE: Available. + - NAMESPACE_USER: Namespace belongs to a user. + - NAMESPACE_ORGANIZATION: Namespace belongs to an organization. + - NAMESPACE_RESERVED: Reserved. + CheckNamespaceRequest: + type: object + properties: + id: + type: string + description: The namespace ID to be checked. + description: |- + CheckNamespaceRequest represents a request to verify if a namespace is + available. + required: + - id + CheckNamespaceResponse: + type: object + properties: + type: + description: Namespace type. + allOf: + - $ref: '#/definitions/CheckNamespaceResponse.Namespace' + description: |- + CheckNamespaceResponse contains the availability of a namespace or the type + of resource that's using it. + CheckNamespaceResponse.Namespace: + type: string + enum: + - NAMESPACE_AVAILABLE + - NAMESPACE_USER + - NAMESPACE_ORGANIZATION + - NAMESPACE_RESERVED + description: |- + Namespace contains information about the availability of a namespace. + + - NAMESPACE_AVAILABLE: Available. + - NAMESPACE_USER: Namespace belongs to a user. + - NAMESPACE_ORGANIZATION: Namespace belongs to an organization. + - NAMESPACE_RESERVED: Reserved. + ChunkType: + type: string + enum: + - CHUNK_TYPE_TEXT + - CHUNK_TYPE_IMAGE + - CHUNK_TYPE_AUDIO + - CHUNK_TYPE_VIDEO + description: |- + - CHUNK_TYPE_TEXT: text + - CHUNK_TYPE_IMAGE: image + - CHUNK_TYPE_AUDIO: audio + - CHUNK_TYPE_VIDEO: video + title: chunk type + CloneNamespacePipelineBody: + type: object + properties: + description: + type: string + description: Pipeline description. + sharing: + description: Pipeline sharing information. + allOf: + - $ref: '#/definitions/Sharing' + targetNamespaceId: + type: string + description: Target Namespace ID. + targetPipelineId: + type: string + description: Target Pipeline ID. + description: |- + CloneNamespacePipelineRequest represents a request to clone a pipeline owned by a + user. + required: + - targetNamespaceId + - targetPipelineId + CloneNamespacePipelineReleaseBody: + type: object + properties: + description: + type: string + description: Pipeline description. + sharing: + description: Pipeline sharing information. + allOf: + - $ref: '#/definitions/Sharing' + targetNamespaceId: + type: string + description: Target Namespace ID. + targetPipelineId: + type: string + description: Target Pipeline ID. + description: |- + CloneNamespacePipelineReleaseRequest represents a request to clone a pipeline + release owned by a user. + required: + - targetNamespaceId + - targetPipelineId + CloneNamespacePipelineReleaseResponse: + type: object + description: CloneNamespacePipelineReleaseResponse contains a cloned pipeline. + CloneNamespacePipelineResponse: + type: object + description: CloneNamespacePipelineResponse contains a cloned pipeline. + ComponentDefinition: + type: object + properties: + name: + type: string + title: |- + The name of the component definition, defined by its ID. + - Format: `component-definitions/{id}` + readOnly: true + uid: + type: string + description: Component definition UUID. + readOnly: true + id: + type: string + description: |- + Component definition resource ID (used in `name` as the last segment). This + conforms to RFC-1034, which restricts to letters, numbers, and hyphen, + with the first character a letter, the last a letter or a number, and a 63 + character maximum. + title: + type: string + description: Component definition title. + readOnly: true + documentationUrl: + type: string + description: Component definition documentation URL. + readOnly: true + icon: + type: string + description: |- + Component definition icon. This is a path that's relative to the root of + the component implementation (see `source_url`) and that allows + frontend applications to pull and locate the icons. + readOnly: true + spec: + description: Component definition specification. + readOnly: true + allOf: + - $ref: '#/definitions/Spec' + type: + description: Component definition type. + readOnly: true + allOf: + - $ref: '#/definitions/ComponentType' + tombstone: + type: boolean + description: |- + Component definition tombstone. If true, this configuration is permanently + off. Otherwise, the configuration is active. + readOnly: true + public: + type: boolean + description: |- + The public flag determines whether this connector definition is available + to all workspaces. + readOnly: true + custom: + type: boolean + description: |- + Component definition custom flag, i.e., whether this is a custom + component definition. + readOnly: true + vendor: + type: string + description: Component definition vendor name. + readOnly: true + vendorAttributes: + type: object + description: Vendor-specific attributes. + readOnly: true + sourceUrl: + type: string + description: |- + Source code URL. This points to the source code where the component is + implemented. + readOnly: true + version: + type: string + description: |- + Component definition version. This is a string that fulfills the SemVer + specification (e.g. `1.0.0-beta`). + readOnly: true + tasks: + type: array + items: + type: object + $ref: '#/definitions/ComponentTask' + description: List of tasks that can be executed by the component. + readOnly: true + description: + type: string + description: Short description of the component. + readOnly: true + releaseStage: + description: Release stage. + readOnly: true + allOf: + - $ref: '#/definitions/ComponentDefinition.ReleaseStage' + description: ComponentDefinition describes a certain type of Component. + ComponentDefinition.ReleaseStage: + type: string + enum: + - RELEASE_STAGE_OPEN_FOR_CONTRIBUTION + - RELEASE_STAGE_COMING_SOON + - RELEASE_STAGE_ALPHA + - RELEASE_STAGE_BETA + - RELEASE_STAGE_GA + description: |- + - RELEASE_STAGE_OPEN_FOR_CONTRIBUTION: This component is unimplemented and community contributions are welcome + for this component. + + It is recommended that the major and minor versions for definitions at + this release stage is kept at 0, e.g., `0.0.1`, `0.0.4`, etc. + - RELEASE_STAGE_COMING_SOON: The implementation of this component is planned and will be tackled by + the Instill AI team. + + It is recommended that the major and minor versions for definitions at + this release stage is kept at 0, e.g., `0.0.1`, `0.0.4`, etc. + - RELEASE_STAGE_ALPHA: Initial implementation intended to gather feedback and issues from early + adopters. Alpha releases are discouraged for production use cases. + + The `version` field in the definition must have `alpha` as its first + pre-release identifier, e.g., `0.1.0-alpha`, `0.1.3-alpha.1`. + - RELEASE_STAGE_BETA: The component has reached stability and no backwards incompatible + changes are expected. Before reaching general availability, it should be + validated by a broader group of users. Some fixes might be added during + this process. + + The `version` field in the definition must have `beta` as its first + pre-release identifier, e.g., `0.1.0-beta`, `0.1.3-beta.1`. + - RELEASE_STAGE_GA: Generally available - ready for use in production and fully supported by + Instill AI. + title: |- + ReleaseStage defines the release stage of a component. This is used to + group components with the same pre-relase groups (e.g. `0.1.0-beta`, + `0.1.0-beta.1` -> `RELEASE_STAGE_BETA`) and to include other "in progress" + (i.e. coming soon, open for contributions) stages that may not be relevant + within semantic versioning. + See the documentation of each value for potential constraints between + `version` and `release_stage` fields.` + ComponentDefinition.View: + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + description: |- + View defines how a component definition is presented. + + - VIEW_BASIC: Default view, only includes basic information (removes the `spec` + field). + - VIEW_FULL: Full representation. + ComponentRun: + type: object + properties: + pipelineRunUid: + type: string + description: Links to the parent PipelineRun. + readOnly: true + componentId: + type: string + description: Unique identifier for each pipeline component. + readOnly: true + status: + description: Completion status of the component. + readOnly: true + allOf: + - $ref: '#/definitions/RunStatus' + totalDuration: + type: integer + format: int32 + description: Time taken to execute the component in milliseconds. + readOnly: true + startTime: + type: string + format: date-time + description: Time when the component started execution. + readOnly: true + completeTime: + type: string + format: date-time + description: Time when the component finished execution. + readOnly: true + error: + type: string + description: Error message if the component failed. + readOnly: true + inputsReference: + type: array + items: + type: object + $ref: '#/definitions/FileReference' + description: Input files for the run. + readOnly: true + inputs: + type: array + items: + type: object + description: Component input parameters. + readOnly: true + outputsReference: + type: array + items: + type: object + $ref: '#/definitions/FileReference' + description: Output files from the run. + readOnly: true + outputs: + type: array + items: + type: object + description: Component inference outputs. + readOnly: true + creditAmount: + type: number + format: float + description: Credits used of internal accounting metric. + readOnly: true + description: ComponentRun represents the execution details of a single component within a pipeline run. + ComponentTask: + type: object + properties: + name: + type: string + description: The task name, e.g. `TASK_TEXT_GENERATION`. + readOnly: true + title: + type: string + description: Title is the task name in a human-friendly format. + readOnly: true + description: + type: string + description: Description contains information about the task. + readOnly: true + description: |- + ComponentTask contains information about a task that a component can + perform. + ComponentType: + type: string + enum: + - COMPONENT_TYPE_AI + - COMPONENT_TYPE_DATA + - COMPONENT_TYPE_OPERATOR + - COMPONENT_TYPE_APPLICATION + - COMPONENT_TYPE_GENERIC + description: |- + ComponentType defines the component type based on its task features. + + - COMPONENT_TYPE_AI: Connect with an AI model. + - COMPONENT_TYPE_DATA: Connect with a remote data source. + - COMPONENT_TYPE_OPERATOR: Manipulate data. + - COMPONENT_TYPE_APPLICATION: Connect with an external application. + - COMPONENT_TYPE_GENERIC: Generic. + Connection: + type: object + properties: + uid: + type: string + description: UUID-formatted unique identifier. + readOnly: true + id: + type: string + description: ID. + namespaceId: + type: string + description: ID of the namespace owning the connection. + integrationId: + type: string + description: |- + Integration ID. It determines for which type of components can reference + this connection. + integrationTitle: + type: string + description: |- + Integration title. This helps the console display the results grouped by + integration ID without needing an extra call to fetch title by integration + ID. + readOnly: true + method: + description: |- + Connection method. It references the setup schema provided by the + integration. + allOf: + - $ref: '#/definitions/Method' + setup: + type: object + description: |- + Connection details. This field is required on creation, optional on view. + When viewing the connection details, the setup values will be redacted. + scopes: + type: array + items: + type: string + description: |- + A list of scopes that identify the resources that the connection will be + able to access on the user's behalf. This is typically passed on creation + when the setup has been generated through an OAuth flow with a limited set + of scopes. + identity: + type: string + description: |- + When the connection method is METHOD_OAUTH, this field will hold the + identity (e.g., email, username) with which the access token has been + generated. + oAuthAccessDetails: + type: object + description: |- + When the connection method is METHOD_OAUTH, the access token might come + with some extra information that might vary across vendors. This + information is passed as connection metadata. + view: + title: |- + View defines how the connection is presented. The following fields are + only shown in the FULL view: + - setup + - scopes + - oAuthAccessDetails + readOnly: true + allOf: + - $ref: '#/definitions/pipeline.v1beta.View' + createTime: + type: string + format: date-time + description: Creation timestamp. + readOnly: true + updateTime: + type: string + format: date-time + description: Last update timestamp. + readOnly: true + description: |- + Connection contains the parameters to communicate with a 3rd party app. A + component may reference a connection in their setup. One connection may be + used by several components and pipelines. + required: + - id + - namespaceId + - integrationId + - method + - setup + Conversation: + type: object + properties: + uid: + type: string + title: unique identifier of the conversation created by the system + readOnly: true + namespaceId: + type: string + title: namespace id + appId: + type: string + title: app id + id: + type: string + title: conversation id/name + lastUsedCatalogUid: + type: string + title: last used catalog uid + lastUsedTopK: + type: integer + format: int64 + title: last used top k + createTime: + type: string + format: date-time + title: creation time of the conversation + readOnly: true + updateTime: + type: string + format: date-time + title: update time of the conversation + readOnly: true + title: Conversation represents a chat conversation + required: + - namespaceId + - appId + - id + CreateAppBody: + type: object + properties: + id: + type: string + description: |- + The app id. + the app id should be lowercase without any space or special character besides the hyphen, + it can not start with number or hyphen, and should be less than 32 characters. + description: + type: string + description: The app description. + tags: + type: array + items: + type: string + description: The app tags. + description: CreateAppRequest represents a request to create a app. + required: + - id + CreateAppResponse: + type: object + properties: + app: + description: The created app. + readOnly: true + allOf: + - $ref: '#/definitions/App' + description: CreateAppResponse represents a response for creating a app. + CreateCatalogBody: + type: object + properties: + name: + type: string + description: The catalog name. + description: + type: string + description: The catalog description. + tags: + type: array + items: + type: string + description: The catalog tags. + description: CreateCatalogRequest represents a request to create a catalog. + CreateCatalogResponse: + type: object + properties: + catalog: + description: The created catalog. + allOf: + - $ref: '#/definitions/Catalog' + description: CreateCatalogResponse represents a response for creating a catalog. + CreateConversationBody: + type: object + properties: + conversationId: + type: string + title: conversation id. only allow kebab case + title: CreateConversationRequest is used to create a new conversation + required: + - conversationId + CreateConversationResponse: + type: object + properties: + conversation: + title: conversation + readOnly: true + allOf: + - $ref: '#/definitions/Conversation' + title: CreateConversationResponse returns the created conversation + CreateMessageBody: + type: object + properties: + content: + type: string + title: message content + role: + type: string + title: message role + type: + title: message type + allOf: + - $ref: '#/definitions/MessageType' + title: CreateMessageRequest is used to create a new message + required: + - content + - role + - type + CreateMessageResponse: + type: object + properties: + message: + title: message + allOf: + - $ref: '#/definitions/app.v1alpha.Message' + title: CreateMessageResponse returns the created message + CreateNamespaceConnectionResponse: + type: object + properties: + connection: + description: The created connection. + readOnly: true + allOf: + - $ref: '#/definitions/Connection' + description: CreateNamespaceConnectionResponse contains the created connection. + CreateNamespaceModelResponse: + type: object + properties: + model: + description: The created model resource. + readOnly: true + allOf: + - $ref: '#/definitions/Model' + description: CreateNamespaceModelResponse contains the created model. + CreateNamespacePipelineReleaseResponse: + type: object + properties: + release: + description: The created pipeline release object. + readOnly: true + allOf: + - $ref: '#/definitions/PipelineRelease' + description: CreateNamespacePipelineReleaseResponse contains the created release. + CreateNamespacePipelineResponse: + type: object + properties: + pipeline: + description: The created pipeline resource. + readOnly: true + allOf: + - $ref: '#/definitions/Pipeline' + description: CreateNamespacePipelineResponse contains the created pipeline. + CreateNamespaceSecretResponse: + type: object + properties: + secret: + description: The created secret resource. + readOnly: true + allOf: + - $ref: '#/definitions/Secret' + description: CreateNamespaceSecretResponse contains the created secret. + CreateOrganizationResponse: + type: object + properties: + organization: + description: The organization resource. + readOnly: true + allOf: + - $ref: '#/definitions/Organization' + description: CreateOrganizationResponse contains the created organization. + CreateRepositoryTagResponse: + type: object + properties: + tag: + description: The created tag. + allOf: + - $ref: '#/definitions/RepositoryTag' + description: CreateRepositoryTagResponse contains the created tag. + CreateTokenResponse: + type: object + properties: + token: + description: The created API token resource. + readOnly: true + allOf: + - $ref: '#/definitions/ApiToken' + description: CreateTokenResponse contains the created token. + CreditConsumptionChartRecord: + type: object + properties: + namespaceId: + type: string + description: The ID of the namespace that owns the credit. + timeBuckets: + type: array + items: + type: string + format: date-time + description: Time buckets. + readOnly: true + amount: + type: array + items: + type: number + format: float + description: Total credit consumed in each time bucket. + readOnly: true + source: + type: string + description: Credit consumption source (e.g. "pipeline", "model"). + readOnly: true + description: |- + CreditConsumptionChartRecord represents a timeline of Instill Credit + consumption. It contains a collection of (timestamp, amount) pairs that + represent the total credit consumption in a given time bucket. + required: + - namespaceId + DataSpecification: + type: object + properties: + input: + type: object + description: JSON schema describing the component input data. + readOnly: true + output: + type: object + description: JSON schema describing the component output data. + readOnly: true + description: DataSpecification describes the JSON schema of component input and output. + DeleteAppResponse: + type: object + description: DeleteAppResponse represents a response for deleting a app. + DeleteCatalogFileResponse: + type: object + properties: + fileUid: + type: string + description: The file uid. + title: delete file response + DeleteCatalogResponse: + type: object + properties: + catalog: + description: The catalog identifier. + allOf: + - $ref: '#/definitions/Catalog' + description: DeleteCatalogResponse represents a response for deleting a catalog. + DeleteConversationResponse: + type: object + title: DeleteConversationResponse is empty as no content needs to be returned + DeleteMessageResponse: + type: object + title: DeleteMessageResponse is empty as no content needs to be returned + DeleteNamespaceConnectionResponse: + type: object + description: DeleteNamespaceConnectionResponse is an empty response. + DeleteNamespaceModelResponse: + type: object + description: DeleteNamespaceModelResponse is an empty response. + DeleteNamespaceModelVersionResponse: + type: object + description: DeleteNamespaceModelVersionResponse is an empty response. + DeleteNamespacePipelineReleaseResponse: + type: object + description: DeleteNamespacePipelineReleaseResponse is an empty response. + DeleteNamespacePipelineResponse: + type: object + description: DeleteNamespacePipelineResponse is an empty response. + DeleteNamespaceSecretResponse: + type: object + description: DeleteNamespaceSecretResponse is an empty response. + DeleteOrganizationMembershipResponse: + type: object + description: DeleteOrganizationMembershipResponse is an empty response. + DeleteOrganizationResponse: + type: object + description: DeleteOrganizationResponse is an empty response. + DeleteRepositoryTagResponse: + type: object + description: DeleteRepositoryTagResponse represent an empty response. + DeleteTokenResponse: + type: object + description: DeleteTokenResponse is an empty response. + DeleteUserMembershipResponse: + type: object + description: DeleteUserMembershipResponse is an empty response. + DeployNamespaceModelAdminResponse: + type: object + title: DeployNamespaceModelAdminResponse represents a response for a deployed model + DeployOrganizationModelAdminResponse: + type: object + title: DeployOrganizationModelAdminResponse represents a response for a deployed model + DeployUserModelAdminResponse: + type: object + title: DeployUserModelAdminResponse represents a response for a deployed model + Endpoints: + type: object + properties: + webhooks: + type: object + additionalProperties: + $ref: '#/definitions/WebhookEndpoint' + description: Webhook endpoints. + readOnly: true + description: Endpoints describe the endpoints of a pipeline. + ErrPipelineValidation: + type: object + properties: + location: + type: string + title: Location + error: + type: string + title: error + description: |- + ErrPipelineValidation contains information about a failed pipeline + validation. + File: + type: object + properties: + fileUid: + type: string + title: file uid + readOnly: true + name: + type: string + title: file name + type: + title: file type + allOf: + - $ref: '#/definitions/FileType' + processStatus: + title: file process status + readOnly: true + allOf: + - $ref: '#/definitions/FileProcessStatus' + processOutcome: + type: string + title: file process message + readOnly: true + retrievable: + type: boolean + title: retrievable(this is reserved for future use) + readOnly: true + content: + type: string + title: content(this is reserved for future use) + ownerUid: + type: string + title: owner/namespace uid + readOnly: true + creatorUid: + type: string + title: creator uid from authn token + readOnly: true + catalogUid: + type: string + title: catalog uid + readOnly: true + createTime: + type: string + format: date-time + title: create time + readOnly: true + updateTime: + type: string + format: date-time + title: update time + readOnly: true + deleteTime: + type: string + format: date-time + title: delete time + readOnly: true + size: + type: string + format: int64 + title: file size in bytes + readOnly: true + totalChunks: + type: integer + format: int32 + title: total chunks + readOnly: true + totalTokens: + type: integer + format: int32 + title: total tokens + readOnly: true + title: file + required: + - name + - type + FileProcessStatus: + type: string + enum: + - FILE_PROCESS_STATUS_NOTSTARTED + - FILE_PROCESS_STATUS_WAITING + - FILE_PROCESS_STATUS_CONVERTING + - FILE_PROCESS_STATUS_CHUNKING + - FILE_PROCESS_STATUS_EMBEDDING + - FILE_PROCESS_STATUS_COMPLETED + - FILE_PROCESS_STATUS_FAILED + description: |- + - FILE_PROCESS_STATUS_NOTSTARTED: NOTSTARTED + - FILE_PROCESS_STATUS_WAITING: file is waiting for embedding process + - FILE_PROCESS_STATUS_CONVERTING: file is converting + - FILE_PROCESS_STATUS_CHUNKING: file is chunking + - FILE_PROCESS_STATUS_EMBEDDING: file is embedding + - FILE_PROCESS_STATUS_COMPLETED: completed + - FILE_PROCESS_STATUS_FAILED: failed + title: file embedding process status + FileReference: + type: object + properties: + name: + type: string + description: Name of the file. + type: + type: string + description: Format of the file (e.g., PDF, TXT, JPG). + size: + type: string + format: int64 + description: Size of the file in bytes. + url: + type: string + description: URL of the file (e.g., S3 URL). + description: FileReference represents metadata for a file. + required: + - name + - type + - size + - url + FileType: + type: string + enum: + - FILE_TYPE_TEXT + - FILE_TYPE_PDF + - FILE_TYPE_MARKDOWN + - FILE_TYPE_PNG + - FILE_TYPE_JPEG + - FILE_TYPE_JPG + - FILE_TYPE_HTML + - FILE_TYPE_DOCX + - FILE_TYPE_DOC + - FILE_TYPE_PPT + - FILE_TYPE_PPTX + - FILE_TYPE_XLS + - FILE_TYPE_XLSX + - FILE_TYPE_CSV + description: |- + - FILE_TYPE_TEXT: text + - FILE_TYPE_PDF: PDF + - FILE_TYPE_MARKDOWN: MARKDOWN + - FILE_TYPE_PNG: PNG(not supported yet) + - FILE_TYPE_JPEG: JPEG(not supported yet) + - FILE_TYPE_JPG: JPG(not supported yet) + - FILE_TYPE_HTML: HTML + - FILE_TYPE_DOCX: DOCX + - FILE_TYPE_DOC: DOC + - FILE_TYPE_PPT: PPT + - FILE_TYPE_PPTX: PPTX + - FILE_TYPE_XLS: XLS + - FILE_TYPE_XLSX: XLSX + - FILE_TYPE_CSV: CSV + title: file type + GetAuthenticatedUserResponse: + type: object + properties: + user: + description: The authenticated user resource. + readOnly: true + allOf: + - $ref: '#/definitions/AuthenticatedUser' + description: GetAuthenticatedUserResponse contains the requested authenticated user. + GetAuthenticatedUserSubscriptionResponse: + type: object + properties: + subscription: + description: The subscription resource. + readOnly: true + allOf: + - $ref: '#/definitions/UserSubscription' + description: GetAuthenticatedUserSubscriptionResponse contains the requested subscription. + GetFileCatalogResponse: + type: object + properties: + originalData: + type: string + title: original data is encoded in base64 + metadata: + title: file catalog + allOf: + - $ref: '#/definitions/Metadata' + text: + title: text + allOf: + - $ref: '#/definitions/Text' + chunks: + type: array + items: + type: object + $ref: '#/definitions/GetFileCatalogResponse.Chunk' + title: chunks + title: GetFileCatalogResponse + GetFileCatalogResponse.Chunk: + type: object + properties: + uid: + type: string + title: chunk uid + type: + title: chunk type. i.e. text, image, audio, and video + allOf: + - $ref: '#/definitions/ChunkType' + startPos: + type: integer + format: int32 + title: chunk start position + endPos: + type: integer + format: int32 + title: chunk end position + content: + type: string + title: chunk content + tokensNum: + type: integer + format: int32 + title: chunk tokens num + embedding: + type: array + items: + type: number + format: float + title: embedding. float32 array + createTime: + type: string + format: date-time + title: chunk create time + retrievable: + type: boolean + title: chunk retrievable + title: chunk message + GetIntegrationResponse: + type: object + properties: + integration: + description: The requested integration. + readOnly: true + allOf: + - $ref: '#/definitions/Integration' + description: GetIntegrationResponse contains the requested integration. + GetModelDefinitionResponse: + type: object + properties: + modelDefinition: + description: The model definition resource. + readOnly: true + allOf: + - $ref: '#/definitions/ModelDefinition' + description: GetModelDefinitionResponse contains the requested model definition. + GetModelOperationResponse: + type: object + properties: + operation: + description: The long-running operation. + readOnly: true + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: |- + GetModelOperationRequest represents a request to query a long-running + operation. + GetNamespaceConnectionResponse: + type: object + properties: + connection: + description: The requested connection. + readOnly: true + allOf: + - $ref: '#/definitions/Connection' + description: GetNamespaceConnectionResponse contains the requested connection. + GetNamespaceLatestModelOperationResponse: + type: object + properties: + operation: + description: The long-running operation. + readOnly: true + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: |- + GetNamespaceLatestModelOperationResponse represents a response to query a long-running + operation. + GetNamespaceModelOperationResponse: + type: object + properties: + operation: + description: The long-running operation. + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: |- + GetNamespaceModelOperationResponse represents a response to query a long-running + operation. + GetNamespaceModelResponse: + type: object + properties: + model: + description: The model resource. + readOnly: true + allOf: + - $ref: '#/definitions/Model' + description: GetNamespaceModelResponse contains the requested model. + GetNamespacePipelineReleaseResponse: + type: object + properties: + release: + description: The pipeline release resource. + readOnly: true + allOf: + - $ref: '#/definitions/PipelineRelease' + description: GetNamespacePipelineReleaseResponse contains the requested pipeline release. + GetNamespacePipelineResponse: + type: object + properties: + pipeline: + description: The pipeline resource. + readOnly: true + allOf: + - $ref: '#/definitions/Pipeline' + description: GetNamespacePipelineResponse contains the requested pipeline. + GetNamespaceSecretResponse: + type: object + properties: + secret: + description: The secret resource. + allOf: + - $ref: '#/definitions/Secret' + description: GetNamespaceSecretResponse contains the requested secret. + GetObjectDownloadURLResponse: + type: object + properties: + downloadUrl: + type: string + title: download url + urlExpireAt: + type: string + format: date-time + title: expire at in UTC (UTC+0) + object: + title: object + allOf: + - $ref: '#/definitions/Object' + title: GetObjectDownloadURLResponse + GetObjectResponse: + type: object + properties: + object: + title: object + allOf: + - $ref: '#/definitions/Object' + title: GetObjectResponse + GetObjectURLResponse: + type: object + properties: + objectUrl: + title: object url + allOf: + - $ref: '#/definitions/ObjectURL' + title: GetObjectURLResponse + GetObjectUploadURLResponse: + type: object + properties: + uploadUrl: + type: string + title: upload url + urlExpireAt: + type: string + format: date-time + title: expire at in UTC (UTC+0) + object: + title: object + allOf: + - $ref: '#/definitions/Object' + title: GetObjectUploadURLResponse + GetOperationResponse: + type: object + properties: + operation: + description: The long-running operation. + readOnly: true + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: GetOperationResponse contains the long-running operation details. + GetOrganizationAdminResponse: + type: object + properties: + organization: + title: A organization resource + allOf: + - $ref: '#/definitions/Organization' + title: GetOrganizationAdminResponse represents a response for a organization resource + GetOrganizationMembershipResponse: + type: object + properties: + membership: + description: The requested organization membership. + readOnly: true + allOf: + - $ref: '#/definitions/OrganizationMembership' + description: GetOrganizationMembershipResponse contains the organization membership. + GetOrganizationResponse: + type: object + properties: + organization: + description: The organization resource. + readOnly: true + allOf: + - $ref: '#/definitions/Organization' + description: GetOrganizationResponse contains the requested organization. + GetOrganizationSubscriptionAdminResponse: + type: object + properties: + subscription: + title: Subscription + allOf: + - $ref: '#/definitions/OrganizationSubscription' + title: GetOrganizationSubscriptionAdminResponse + GetOrganizationSubscriptionResponse: + type: object + properties: + subscription: + description: The subscription resource. + readOnly: true + allOf: + - $ref: '#/definitions/OrganizationSubscription' + description: GetOrganizationSubscriptionResponse contains the requested subscription. + GetPlaygroundConversationResponse: + type: object + properties: + conversation: + title: conversation + readOnly: true + allOf: + - $ref: '#/definitions/Conversation' + description: GetPlaygroundConversationResponse represents a response for getting a playground conversation. + GetRemainingCreditAdminResponse: + type: object + properties: + amount: + type: number + format: float + description: The requested credit. + description: |- + GetRemainingCreditAdminResponse contains the remaining credit of a user or + organization. + GetRemainingCreditResponse: + type: object + properties: + perishable: + type: number + format: float + description: Amount of perishable credit, i.e. credit with an expiration date. + readOnly: true + imperishable: + type: number + format: float + description: |- + Amount of imperishable credit, e.g. purchased credit, which doesn't + expire. + readOnly: true + total: + type: number + format: float + description: Total remaining credit. + readOnly: true + description: |- + GetRemainingCreditResponse contains the remaining credit of a user or + organization. + GetRepositoryTagResponse: + type: object + properties: + tag: + description: The created tag. + allOf: + - $ref: '#/definitions/RepositoryTag' + description: GetRepositoryTagResponse contains the created tag. + GetSourceFileResponse: + type: object + properties: + sourceFile: + title: source file(either original file or converted file) + allOf: + - $ref: '#/definitions/SourceFile' + title: get source file response + GetTokenResponse: + type: object + properties: + token: + description: The API token resource. + readOnly: true + allOf: + - $ref: '#/definitions/ApiToken' + description: GetTokenResponse contains the requested token. + GetUserAdminResponse: + type: object + properties: + user: + title: A user resource + allOf: + - $ref: '#/definitions/v1beta.User' + title: GetUserAdminResponse represents a response for a user resource + GetUserMembershipResponse: + type: object + properties: + membership: + description: The requested user membership. + readOnly: true + allOf: + - $ref: '#/definitions/UserMembership' + description: GetUserMembershipResponse contains the user membership. + GetUserResponse: + type: object + properties: + user: + description: The user resource. + readOnly: true + allOf: + - $ref: '#/definitions/v1beta.User' + description: GetUserResponse contains the requested user. + GetUserSubscriptionAdminResponse: + type: object + properties: + subscription: + title: Subscription + allOf: + - $ref: '#/definitions/UserSubscription' + title: GetUserSubscriptionAdminResponse + Integration: + type: object + properties: + uid: + type: string + description: UUID-formatted unique identifier. It references a component definition. + readOnly: true + id: + type: string + description: |- + Identifier of the integration, which references a component definition. + Components with that definition ID will be able to use the connections + produced by this integration. + readOnly: true + title: + type: string + description: Title, reflects the app name. + readOnly: true + description: + type: string + description: Short description of the integrated app. + readOnly: true + vendor: + type: string + description: Integrated app vendor name. + readOnly: true + icon: + type: string + description: |- + Integration icon. This is a path that's relative to the root of + the component implementation and that allows frontend applications to pull + and locate the icons. + See the `icon` field in the `ComponentDefinition` entity for more + information. + readOnly: true + helpLink: + description: Reference to the vendor's documentation to expand the integration details. + readOnly: true + allOf: + - $ref: '#/definitions/Link' + setupSchema: + type: object + description: |- + The connection setup field definitions. Each integration will require + different data to connect to the 3rd party app. + readOnly: true + oAuthConfig: + description: |- + Configuration parameters required for the OAuth setup flow. This field + will be present only if the integration supports OAuth 2.0. + readOnly: true + allOf: + - $ref: '#/definitions/OAuthConfig' + view: + title: |- + View defines how the integration is presented. The following fields are + only shown in the FULL view: + - schemas + - setupSchema + - oAuthConfig + readOnly: true + allOf: + - $ref: '#/definitions/pipeline.v1beta.View' + schemas: + type: array + items: + type: object + $ref: '#/definitions/SetupSchema' + description: |- + Schemas defines the supported schemas for the connection setup. + We haven't found a case for a schema that changes on the connection method + (components don't care about how the connection was built), so the schema + will be provided in the setupSchema field and the OAuth support and + configuration will be provided in oAuthConfig. + readOnly: true + description: |- + Integration contains the parameters to create a connection between + components and 3rd party apps. + Link: + type: object + properties: + text: + type: string + description: Text contains the message to display. + readOnly: true + url: + type: string + description: URL contains the reference the link will redirect to. + readOnly: true + description: Link contains the information to display an reference to an external URL. + ListAppsResponse: + type: object + properties: + apps: + type: array + items: + type: object + $ref: '#/definitions/App' + description: The apps container. + readOnly: true + description: GetAppsResponse represents a response for getting all apps from users. + ListAvailableRegionsResponse: + type: object + properties: + regions: + type: array + items: + type: object + $ref: '#/definitions/Region' + title: A list of available region + readOnly: true + description: |- + ListAvailableRegionsResponse contains a list of available + regions and hardware types a model can be deployed on. + ListCatalogFilesFilter: + type: object + properties: + fileUids: + type: array + items: + type: string + description: The file uids. + title: |- + list file filter + todo: support more parameters + ListCatalogFilesResponse: + type: object + properties: + files: + type: array + items: + type: object + $ref: '#/definitions/File' + description: The list of files. + totalSize: + type: integer + format: int32 + description: The total number of files. + pageSize: + type: integer + format: int32 + description: The requested page size. + nextPageToken: + type: string + title: next page token + filter: + description: The filter. + allOf: + - $ref: '#/definitions/ListCatalogFilesFilter' + title: list files response + ListCatalogRunsResponse: + type: object + properties: + catalogRuns: + type: array + items: + type: object + $ref: '#/definitions/CatalogRun' + description: The list of runs. + readOnly: true + totalSize: + type: string + format: int64 + description: The total number of runs matching the request. + readOnly: true + page: + type: integer + format: int32 + description: The current page number. + readOnly: true + pageSize: + type: integer + format: int32 + description: The number of items per page. + readOnly: true + description: ListCatalogRunsResponse is the response message for ListCatalogRuns. + ListCatalogsResponse: + type: object + properties: + catalogs: + type: array + items: + type: object + $ref: '#/definitions/Catalog' + description: The catalogs container. + description: GetCatalogsResponse represents a response for getting all catalogs from users. + ListChunksResponse: + type: object + properties: + chunks: + type: array + items: + type: object + $ref: '#/definitions/v1alpha.Chunk' + title: repeated chunks + description: The ListChunksResponse message represents a response containing a list of chunks in the artifact system. + ListComponentDefinitionsResponse: + type: object + properties: + componentDefinitions: + type: array + items: + type: object + $ref: '#/definitions/ComponentDefinition' + description: A list of component definition resources. + totalSize: + type: integer + format: int32 + description: Total number of component definitions. + pageSize: + type: integer + format: int32 + description: The requested page size. + page: + type: integer + format: int32 + description: The requested page offset. + description: ListComponentDefinitionsResponse contains a list of component definitions. + ListComponentRunsResponse: + type: object + properties: + componentRuns: + type: array + items: + type: object + $ref: '#/definitions/ComponentRun' + description: The list of component runs. + readOnly: true + totalSize: + type: integer + format: int32 + description: The total number of component runs matching the request. + readOnly: true + page: + type: integer + format: int32 + description: The current page number. + readOnly: true + pageSize: + type: integer + format: int32 + description: The number of items per page. + readOnly: true + description: ListComponentRunsResponse is the response message for ListComponentRuns. + ListConversationsResponse: + type: object + properties: + conversations: + type: array + items: + type: object + $ref: '#/definitions/Conversation' + title: conversations + readOnly: true + nextPageToken: + type: string + title: next page token + readOnly: true + totalSize: + type: integer + format: int32 + title: total size + readOnly: true + title: ListConversationsResponse returns a list of conversations + ListCreditConsumptionChartRecordsResponse: + type: object + properties: + creditConsumptionChartRecords: + type: array + items: + type: object + $ref: '#/definitions/CreditConsumptionChartRecord' + description: Credit consumption timelines, aggregated by source. + description: |- + ListCreditConsumptionChartRecordsResponse contains a list of credit consumption + chart records. + ListIntegrationsResponse: + type: object + properties: + integrations: + type: array + items: + type: object + $ref: '#/definitions/Integration' + description: A list of integrations matching the request parameters. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of items. + readOnly: true + description: ListIntegrationsResponse contains a paginated list of integrations. + ListMessagesResponse: + type: object + properties: + messages: + type: array + items: + type: object + $ref: '#/definitions/app.v1alpha.Message' + title: messages + readOnly: true + nextPageToken: + type: string + title: next page token + readOnly: true + totalSize: + type: integer + format: int32 + title: total size + readOnly: true + senderProfiles: + type: array + items: + type: object + $ref: '#/definitions/MessageSenderProfile' + title: message sender profiles + readOnly: true + title: ListMessagesResponse returns a list of messages + ListModelDefinitionsResponse: + type: object + properties: + modelDefinitions: + type: array + items: + type: object + $ref: '#/definitions/ModelDefinition' + description: A list of model definition resources. + nextPageToken: + type: string + description: Next page token. + totalSize: + type: integer + format: int32 + description: Total number of model definitions. + description: ListModelDefinitionsResponse contains a list of model definitions. + ListModelRunsByRequesterResponse: + type: object + properties: + runs: + type: array + items: + type: object + $ref: '#/definitions/ModelRun' + description: A list of runs resources. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of runs. + readOnly: true + pageSize: + type: integer + format: int32 + description: The requested page size. + readOnly: true + page: + type: integer + format: int32 + description: The requested page offset. + readOnly: true + description: ListModelRunsByRequesterResponse is the request message for ListModelRunsByRequester. + ListModelRunsResponse: + type: object + properties: + runs: + type: array + items: + type: object + $ref: '#/definitions/ModelRun' + description: A list of runs resources. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of runs. + readOnly: true + pageSize: + type: integer + format: int32 + description: The requested page size. + readOnly: true + page: + type: integer + format: int32 + description: The requested page offset. + readOnly: true + description: ListModelRunsResponse contains a list of model runs. + ListModelsAdminResponse: + type: object + properties: + models: + type: array + items: + type: object + $ref: '#/definitions/Model' + title: a list of Models + nextPageToken: + type: string + title: Next page token + totalSize: + type: integer + format: int32 + description: Total number of models. + title: ListModelsAdminResponse represents a response for a list of models + ListModelsResponse: + type: object + properties: + models: + type: array + items: + type: object + $ref: '#/definitions/Model' + description: A list of model resources. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of models. + readOnly: true + description: ListModelsResponse contains a list of models. + ListNamespaceConnectionsResponse: + type: object + properties: + connections: + type: array + items: + type: object + $ref: '#/definitions/Connection' + description: A list of connections matching the request parameters. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of items. + readOnly: true + description: ListNamespaceConnectionsResponse contains a paginated list of connections. + ListNamespaceModelVersionsResponse: + type: object + properties: + versions: + type: array + items: + type: object + $ref: '#/definitions/ModelVersion' + description: A list of model resources. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of versions. + readOnly: true + pageSize: + type: integer + format: int32 + description: The requested page size. + readOnly: true + page: + type: integer + format: int32 + description: The requested page offset. + readOnly: true + description: ListNamespaceModelVersionsResponse contains a list of models. + ListNamespaceModelsResponse: + type: object + properties: + models: + type: array + items: + type: object + $ref: '#/definitions/Model' + description: A list of model resources. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of models. + readOnly: true + description: ListNamespaceModelsResponse contains a list of models. + ListNamespacePipelineReleasesResponse: + type: object + properties: + releases: + type: array + items: + type: object + $ref: '#/definitions/PipelineRelease' + description: A list of pipeline release resources. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of pipeline releases. + readOnly: true + description: ListNamespacePipelineReleasesResponse contains a list of pipeline releases. + ListNamespacePipelinesResponse: + type: object + properties: + pipelines: + type: array + items: + type: object + $ref: '#/definitions/Pipeline' + description: A list of pipeline resources. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of pipelines. + readOnly: true + description: ListNamespacePipelinesResponse contains a list of pipelines. + ListNamespaceSecretsResponse: + type: object + properties: + secrets: + type: array + items: + type: object + $ref: '#/definitions/Secret' + description: A list of secret resources. + readOnly: true + nextPageToken: + type: string + description: Next page secret. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of secret resources. + readOnly: true + description: ListNamespaceSecretsResponse contains a list of secrets. + ListOrganizationMembershipsResponse: + type: object + properties: + memberships: + type: array + items: + type: object + $ref: '#/definitions/OrganizationMembership' + description: |- + The organization memberships, i.e., the users that belong to the + organization. + readOnly: true + description: ListOrganizationMembershipsResponse contains a list of memberships. + ListOrganizationsAdminResponse: + type: object + properties: + organizations: + type: array + items: + type: object + $ref: '#/definitions/Organization' + title: A list of organizations + nextPageToken: + type: string + description: Next page token. + totalSize: + type: integer + format: int32 + description: Total number of organizations. + title: ListOrganizationsAdminResponse represents a response for a list of organizations + ListOrganizationsResponse: + type: object + properties: + organizations: + type: array + items: + type: object + $ref: '#/definitions/Organization' + title: A list of organizations + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of organizations. + readOnly: true + title: ListOrganizationsResponse represents a response for a list of organizations + ListPipelineIDsByConnectionIDResponse: + type: object + properties: + pipelineIds: + type: array + items: + type: string + description: A list of pipeline IDs matching the request parameters. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of items. + readOnly: true + description: ListPipelineIDsByConnectionIDResponse contains a paginated list of integrations. + ListPipelineReleasesAdminResponse: + type: object + properties: + releases: + type: array + items: + type: object + $ref: '#/definitions/PipelineRelease' + description: A list of pipeline releases. + nextPageToken: + type: string + description: Next page token. + totalSize: + type: integer + format: int32 + description: Total number of pipeline releases. + description: |- + ListPipelineReleasesAdminResponse contains a list of pipeline releases + requested by an admin user. + For the moment, the pipeline recipes will be UID-based (permalink) instead + of name-based. This is a temporary solution. + ListPipelineRunsByRequesterResponse: + type: object + properties: + pipelineRuns: + type: array + items: + type: object + $ref: '#/definitions/PipelineRun' + description: The list of pipeline runs. + readOnly: true + totalSize: + type: integer + format: int32 + description: The total number of pipeline runs matching the request. + readOnly: true + page: + type: integer + format: int32 + description: The current page number. + readOnly: true + pageSize: + type: integer + format: int32 + description: The number of items per page. + readOnly: true + description: ListPipelineRunsByRequesterResponse is the response message for ListPipelineRunsByRequester. + ListPipelineRunsResponse: + type: object + properties: + pipelineRuns: + type: array + items: + type: object + $ref: '#/definitions/PipelineRun' + description: The list of pipeline runs. + readOnly: true + totalSize: + type: integer + format: int32 + description: The total number of pipeline runs matching the request. + readOnly: true + page: + type: integer + format: int32 + description: The current page number. + readOnly: true + pageSize: + type: integer + format: int32 + description: The number of items per page. + readOnly: true + description: ListPipelineRunsResponse is the response message for ListPipelineRuns. + ListPipelineTriggerChartRecordsResponse: + type: object + properties: + pipelineTriggerChartRecords: + type: array + items: + type: object + $ref: '#/definitions/PipelineTriggerChartRecord' + description: A list of pipeline trigger records. + description: |- + ListPipelineTriggerChartRecordsResponse contains a list of pipeline trigger + chart records. + ListPipelineTriggerRecordsResponse: + type: object + properties: + pipelineTriggerRecords: + type: array + items: + type: object + $ref: '#/definitions/PipelineTriggerRecord' + description: A list of pipeline triggers. + nextPageToken: + type: string + description: Next page token. + totalSize: + type: integer + format: int32 + description: Total number of pipeline triggers. + description: ListPipelineTriggerRecordsResponse contains a list of pipeline triggers. + ListPipelinesAdminResponse: + type: object + properties: + pipelines: + type: array + items: + type: object + $ref: '#/definitions/Pipeline' + description: A list of pipeline resources. + nextPageToken: + type: string + description: Next page token. + totalSize: + type: integer + format: int32 + description: Total number of pipelines. + description: |- + ListPipelinesAdminResponse contains a list of pipelines requested by an + admin user. + For the moment, the pipeline recipes will be UID-based (permalink) instead + of name-based. This is a temporary solution. + ListPipelinesResponse: + type: object + properties: + pipelines: + type: array + items: + type: object + $ref: '#/definitions/Pipeline' + description: A list of pipeline resources. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of pipelines. + readOnly: true + description: ListPipelinesResponse contains a list of pipelines. + ListRepositoryTagsResponse: + type: object + properties: + tags: + type: array + items: + type: object + $ref: '#/definitions/RepositoryTag' + description: A list of repository tags. + totalSize: + type: integer + format: int32 + description: Total number of tags. + pageSize: + type: integer + format: int32 + description: The requested page size. + page: + type: integer + format: int32 + description: The requested page offset. + description: ListRepositoryTagsResponse contains a list of container image tags. + ListTokensResponse: + type: object + properties: + tokens: + type: array + items: + type: object + $ref: '#/definitions/ApiToken' + description: A list of API token resources. + nextPageToken: + type: string + description: Next page token. + totalSize: + type: integer + format: int32 + description: Total number of API token resources. + description: ListTokensResponse contains a list of API tokens. + ListUserMembershipsResponse: + type: object + properties: + memberships: + type: array + items: + type: object + $ref: '#/definitions/UserMembership' + description: The user memberships, i.e., the organizations the user belongs to. + readOnly: true + description: ListUserMembershipsResponse contains a list of memberships. + ListUsersAdminResponse: + type: object + properties: + users: + type: array + items: + type: object + $ref: '#/definitions/v1beta.User' + title: A list of users + nextPageToken: + type: string + description: Next page token. + totalSize: + type: integer + format: int32 + description: Total number of users. + title: ListUsersAdminResponse represents a response for a list of users + ListUsersResponse: + type: object + properties: + users: + type: array + items: + type: object + $ref: '#/definitions/v1beta.User' + description: A list of user resources. + readOnly: true + nextPageToken: + type: string + description: Next page token. + readOnly: true + totalSize: + type: integer + format: int32 + description: Total number of users. + readOnly: true + description: ListUsersResponse contains a list of users. + LookUpModelAdminResponse: + type: object + properties: + model: + title: A model resource + allOf: + - $ref: '#/definitions/Model' + title: LookUpModelResponse represents a response for a model + LookUpOrganizationAdminResponse: + type: object + properties: + organization: + title: A organization resource + allOf: + - $ref: '#/definitions/Organization' + title: LookUpOrganizationAdminResponse represents a response for a organization resource by admin + LookUpPipelineAdminResponse: + type: object + properties: + pipeline: + description: The requested pipeline. + allOf: + - $ref: '#/definitions/Pipeline' + description: LookUpPipelineAdminResponse contains the requested pipeline. + LookUpUserAdminResponse: + type: object + properties: + user: + title: A user resource + allOf: + - $ref: '#/definitions/v1beta.User' + title: LookUpUserAdminResponse represents a response for a user resource by admin + MembershipState: + type: string + enum: + - MEMBERSHIP_STATE_ACTIVE + - MEMBERSHIP_STATE_PENDING + description: |- + MembershipState describes the state of a user membership to an organization. + + - MEMBERSHIP_STATE_ACTIVE: Active. + - MEMBERSHIP_STATE_PENDING: Pending, i.e., a request has been sent to the user to join an + organization. + MessageSenderProfile: + type: object + properties: + msgSenderUid: + type: string + title: sender uid + readOnly: true + msgSenderId: + type: string + title: sender id + readOnly: true + displayName: + type: string + description: Display name. + readOnly: true + avatar: + type: string + description: Avatar url. this url might be expired or not exist. + readOnly: true + description: |- + MessageSenderProfile describes the public data of a message sender. + refer to core.mgmt.v1beta.UserProfile for more details. + MessageType: + type: string + enum: + - MESSAGE_TYPE_TEXT + description: '- MESSAGE_TYPE_TEXT: text' + title: message type + Metadata: + type: object + properties: + fileUid: + type: string + title: file uid + fileId: + type: string + title: file id + fileType: + title: file type + allOf: + - $ref: '#/definitions/FileType' + fileSize: + type: string + format: int64 + title: file size in bytes + fileUploadTime: + type: string + format: date-time + title: upload time + fileProcessStatus: + title: file process status + allOf: + - $ref: '#/definitions/FileProcessStatus' + title: metadata + Method: + type: string + enum: + - METHOD_DICTIONARY + - METHOD_OAUTH + description: |- + Method defines how the connection is set up. + + - METHOD_DICTIONARY: Key-value collection. The user is responsible of fetching the connection + details from the 3rd party service. + - METHOD_OAUTH: Access token created via OAuth 2.0 authorization. + Mode: + type: string + enum: + - MODE_SYNC + - MODE_ASYNC + description: |- + Mode describes the execution mode of the pipeline (sync or async). + + - MODE_SYNC: Synchronous (result is returned in the response). + - MODE_ASYNC: Asynchronous (response only contains acknowledgement). + Model: + type: object + properties: + name: + type: string + description: |- + The resource name of the model, which allows its access by owner and ID. + - Format: `users/{user.id}/models/{model.id}`. + readOnly: true + uid: + type: string + description: Model UUID. + readOnly: true + id: + type: string + description: |- + Model resource ID (used in `name` as the last segment). This conforms to + RFC-1034, which restricts to letters, numbers, and hyphen, with the first + character a letter, the last a letter or a number, and a 63 character + maximum. + description: + type: string + description: Model description. + modelDefinition: + type: string + description: The model definition that has been used to import the model. + configuration: + type: object + description: |- + Model configuration. This field is validated against the model + specification in the model definition (i.e. the `model_spec` field in the + model definition). + task: + description: Model task. + allOf: + - $ref: '#/definitions/Task' + visibility: + description: Model visibility. + allOf: + - $ref: '#/definitions/Model.Visibility' + createTime: + type: string + format: date-time + description: Model creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Model update time. + readOnly: true + deleteTime: + type: string + format: date-time + description: Model deletion time. + readOnly: true + ownerName: + type: string + description: Resource name of the owner. + readOnly: true + owner: + description: Model owner. + readOnly: true + allOf: + - $ref: '#/definitions/Owner' + region: + type: string + description: Region of choice for the particular provider to host the model. + hardware: + type: string + description: Hardware of choice to serve the model. + readme: + type: string + description: README holds the model documentation. + sourceUrl: + type: string + description: A link to the source code of the model (e.g. to a GitHub repository). + documentationUrl: + type: string + description: A link to any extra information. + license: + type: string + description: License under which the model is distributed. + profileImage: + type: string + description: Model profile image in base64 format. + permission: + description: Permission defines how a pipeline can be used. + readOnly: true + allOf: + - $ref: '#/definitions/v1alpha.Permission' + inputSchema: + type: object + title: Input schema for the model + readOnly: true + outputSchema: + type: object + title: Output schema for the model + readOnly: true + tags: + type: array + items: + type: string + description: Tags. + readOnly: true + versions: + type: array + items: + type: string + description: Version names. + readOnly: true + stats: + description: Statistic data. + readOnly: true + allOf: + - $ref: '#/definitions/Model.Stats' + title: |- + Model represents an AI model, i.e. a program that performs tasks as decision + making or or pattern recognition based on its training data + required: + - id + - modelDefinition + - configuration + - task + - visibility + - region + - hardware + Model.Stats: + type: object + properties: + numberOfRuns: + type: integer + format: int32 + description: Number of model runs. + readOnly: true + lastRunTime: + type: string + format: date-time + description: Last run time. + readOnly: true + title: Statistic data + Model.Visibility: + type: string + enum: + - VISIBILITY_PRIVATE + - VISIBILITY_PUBLIC + description: |- + Visibility defines who can access the model. + + - VISIBILITY_PRIVATE: Only the owner can see the model. + - VISIBILITY_PUBLIC: Other users can see the model. + ModelDefinition: + type: object + properties: + name: + type: string + description: |- + The resource name of the model, which allows its access by ID. + - Format: `model-definitions/{id}`. + readOnly: true + uid: + type: string + description: Model definition UUID. + readOnly: true + id: + type: string + description: |- + Model definition resource ID (used in `name` as the last segment). This + conforms to RFC-1034, which restricts to letters, numbers, and hyphen, + with the first character a letter, the last a letter or a number, and a 63 + character maximum. + readOnly: true + title: + type: string + description: Official display title. + readOnly: true + documentationUrl: + type: string + description: Documentation URL. + readOnly: true + icon: + type: string + description: Display icon. + readOnly: true + releaseStage: + description: Release stage. + readOnly: true + allOf: + - $ref: '#/definitions/v1alpha.ReleaseStage' + modelSpec: + type: object + description: |- + The model specification represented by a JSON schema. It is used to + validate the JSON configurations of a model created from a specific model + source, and the resource spec which the model is desired to be deployed on. + It must be a valid JSON that includes what fields are needed to + create or display a model. + readOnly: true + createTime: + type: string + format: date-time + description: Creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Update time. + readOnly: true + description: ModelDefinition defines how to configure and import a model. + ModelRun: + type: object + properties: + uid: + type: string + description: Model Run UUID. + readOnly: true + modelUid: + type: string + description: Model UUID. + readOnly: true + status: + description: Model run status. + readOnly: true + allOf: + - $ref: '#/definitions/RunStatus' + source: + description: Run source. + readOnly: true + allOf: + - $ref: '#/definitions/RunSource' + totalDuration: + type: integer + format: int32 + description: Run total duration in milliseconds. + readOnly: true + endTime: + type: string + format: date-time + description: Run end time. + readOnly: true + runnerId: + type: string + description: Runner ID. If current viewing requester does not have enough permission, it will return null. + readOnly: true + creditAmount: + type: number + format: float + description: The amount of Instill Credit consumed by the run. This field will only be present on Instill Cloud. + readOnly: true + error: + type: string + description: Error message occurred during model run. + readOnly: true + createTime: + type: string + format: date-time + description: Model run created time. + readOnly: true + updateTime: + type: string + format: date-time + description: Model run updated time. + readOnly: true + version: + type: string + description: The model version identifier, which is same as image tag. + readOnly: true + taskInputs: + type: array + items: + type: object + description: Model inference input. + readOnly: true + taskOutputs: + type: array + items: + type: object + description: Model inference outputs. + readOnly: true + modelId: + type: string + description: Model ID. + readOnly: true + requesterId: + type: string + description: |- + Requester ID. This field might be empty if the model run belongs to a + deleted namespace. + readOnly: true + description: ModelRun contains information about a run of models. + ModelVersion: + type: object + properties: + name: + type: string + description: |- + The parent resource, i.e., the user that created the models. + - Format: `users/{user.id}`. + The resource name of the model, which allows its access by parent user + and ID. + - Format: `users/{user.id}/models/{model.id}`. + The name of the Version. + - Format: `users/{user.id}/models/{model.id}/versions/{version.id}`. + version: + type: string + description: The model version identifier, which is equal to image tag. + digest: + type: string + description: Unique identifier, computed from the manifest the Version refers to. + state: + description: Current state of this model version. + readOnly: true + allOf: + - $ref: '#/definitions/v1alpha.State' + updateTime: + type: string + format: date-time + description: Version update time, i.e. timestamp of the last push. + readOnly: true + description: ModelVersion contains information about the version of a model. + NullValue: + type: string + description: |- + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + OAuthConfig: + type: object + properties: + authUrl: + type: string + description: |- + The URL of the OAuth server to initiate the authentication and + authorization process. + readOnly: true + accessUrl: + type: string + description: |- + The URL of the OAuth server to exchange the authorization code for an + access token. + readOnly: true + scopes: + type: array + items: + type: string + description: |- + A list of scopes that identify the resources that the connection will be + able to access on the user's behalf. + readOnly: true + description: |- + OAuthConfig contains the configuration parameters for fetching an access + token via an OAuth 2.0 flow. + Object: + type: object + properties: + uid: + type: string + title: uid + name: + type: string + title: name of the object + size: + type: string + format: int64 + title: size in bytes + contentType: + type: string + title: |- + content type + this is mime type from content-type header of http request or from file extension + namespaceUid: + type: string + title: namespace uid + creator: + type: string + title: creator + isUploaded: + type: boolean + title: if file is uploaded + path: + type: string + title: object path(optional) + objectExpireDays: + type: integer + format: int32 + title: |- + object live time in days + if set to 0, the object will not be deleted automatically + lastModifiedTime: + type: string + format: date-time + title: last modified time + createdTime: + type: string + format: date-time + title: created time + updatedTime: + type: string + format: date-time + title: updated time + title: Object + ObjectURL: + type: object + properties: + uid: + type: string + title: The unique identifier of the ObjectURL + namespaceUid: + type: string + title: The namespace UID associated with this ObjectURL + objectUid: + type: string + title: The object UID associated with this ObjectURL + urlExpireAt: + type: string + format: date-time + title: The expiration time of the URL + minioUrlPath: + type: string + title: The MinIO URL path + encodedUrlPath: + type: string + title: The encoded URL path + type: + type: string + title: The type of URL (download or upload) + createTime: + type: string + format: date-time + title: The creation time of the ObjectURL + updateTime: + type: string + format: date-time + title: The last update time of the ObjectURL + deleteTime: + type: string + format: date-time + title: The deletion time of the ObjectURL, if applicable + title: ObjectUploadURL + OnboardingStatus: + type: string + enum: + - ONBOARDING_STATUS_IN_PROGRESS + - ONBOARDING_STATUS_COMPLETED + description: |- + OnboardingStatus describes the status of the user onboarding process. + + - ONBOARDING_STATUS_IN_PROGRESS: In progress, i.e., the user has initiated the onboarding process + but has not yet completed it. + - ONBOARDING_STATUS_COMPLETED: Completed. + Organization: + type: object + properties: + name: + type: string + description: |- + The name of the organization, defined by its ID. + - Format: `organization/{organization.id}`. + readOnly: true + uid: + type: string + description: Organization UUID. + readOnly: true + id: + type: string + description: |- + Resource ID (used in `name` as the last segment). This conforms to + RFC-1034, which restricts to letters, numbers, and hyphen, with the first + character a letter, the last a letter or a number, and a 63 character + maximum. + + Note that the ID can be updated. + createTime: + type: string + format: date-time + description: Creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Update time. + readOnly: true + owner: + description: The user that owns the organization. + readOnly: true + allOf: + - $ref: '#/definitions/v1beta.User' + profile: + description: Profile. + allOf: + - $ref: '#/definitions/OrganizationProfile' + permission: + title: Permission + readOnly: true + allOf: + - $ref: '#/definitions/mgmt.v1beta.Permission' + description: |- + Organizations group several users. As entities, they can own resources such + as pipelines or releases. + required: + - profile + OrganizationMembership: + type: object + properties: + name: + type: string + description: |- + The resource name of the membership, which allows its access by + organization and user ID. + - Format: `organizations/{organization.id}/memberships/{user.id}`. + readOnly: true + role: + type: string + description: Role of the user in the organization. + state: + description: State of the membership. + readOnly: true + allOf: + - $ref: '#/definitions/MembershipState' + user: + description: User information. + readOnly: true + allOf: + - $ref: '#/definitions/v1beta.User' + organization: + description: Organization information. + readOnly: true + allOf: + - $ref: '#/definitions/Organization' + description: |- + An organization membership defines the relationship between an organization + and a user that is attached to it. + required: + - role + OrganizationProfile: + type: object + properties: + displayName: + type: string + description: Display name. + bio: + type: string + description: Biography. + avatar: + type: string + description: Avatar in base64 format. + publicEmail: + type: string + description: Public email. + socialProfileLinks: + type: object + additionalProperties: + type: string + description: |- + Social profile links list the links to the organization's social profiles. + The key represents the provider, and the value is the corresponding URL. + description: OrganizationProfile describes the public data of an organization. + OrganizationSubscription: + type: object + properties: + plan: + description: Plan identifier. + readOnly: true + allOf: + - $ref: '#/definitions/OrganizationSubscription.Plan' + detail: + description: Details of the associated Stripe subscription. + readOnly: true + allOf: + - $ref: '#/definitions/StripeSubscriptionDetail' + usedSeats: + type: integer + format: int32 + description: Number of used seats within the organization subscription. + readOnly: true + description: OrganizationSubscription details describe the plan (i.e., features) an organization has access to. + OrganizationSubscription.Plan: + type: string + enum: + - PLAN_FREE + - PLAN_TEAM + - PLAN_ENTERPRISE + description: |- + Enumerates the plan types for the organization subscription. + + - PLAN_FREE: Free plan. + - PLAN_TEAM: Team plan. + - PLAN_ENTERPRISE: Enterprise plan. + Owner: + type: object + properties: + user: + description: User. + readOnly: true + allOf: + - $ref: '#/definitions/v1beta.User' + organization: + description: Organization. + readOnly: true + allOf: + - $ref: '#/definitions/Organization' + description: Owner is a wrapper for User and Organization, used to embed owner information in other resources. + PatchAuthenticatedUserResponse: + type: object + properties: + user: + description: The updated user resource. + readOnly: true + allOf: + - $ref: '#/definitions/AuthenticatedUser' + title: |- + PatchAuthenticatedUserResponse contains the updated user. + the authenticated user resource + Pipeline: + type: object + properties: + name: + type: string + description: |- + The name of the pipeline, defined by its parent and ID. + - Format: `{parent_type}/{parent.id}/pipelines/{pipeline.id}`. + readOnly: true + uid: + type: string + description: Pipeline UUID. + readOnly: true + id: + type: string + description: |- + Pipeline resource ID (used in `name` as the last segment). This conforms + to RFC-1034, which restricts to letters, numbers, and hyphen, with the + first character a letter, the last a letter or a number, and a 63 + character maximum. + description: + type: string + description: Pipeline description. + recipe: + type: object + description: Recipe describes the components of a Pipeline and how they are connected. + createTime: + type: string + format: date-time + description: Pipeline creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Pipeline update time. + readOnly: true + deleteTime: + type: string + format: date-time + description: Pipeline delete time. + readOnly: true + sharing: + description: Pipeline sharing information. + allOf: + - $ref: '#/definitions/Sharing' + metadata: + type: object + description: Metadata holds console-related data such as the pipeline builder layout. + ownerName: + type: string + description: Owner Name. + readOnly: true + releases: + type: array + items: + type: object + $ref: '#/definitions/PipelineRelease' + description: Releases holds the history of pipeline versions. + readOnly: true + readme: + type: string + description: README holds the pipeline documentation. + permission: + description: Permission defines how a pipeline can be used. + readOnly: true + allOf: + - $ref: '#/definitions/pipeline.v1beta.Permission' + visibility: + description: Pipeline visibility. + readOnly: true + allOf: + - $ref: '#/definitions/Pipeline.Visibility' + owner: + description: Pipeline owner. + readOnly: true + allOf: + - $ref: '#/definitions/Owner' + dataSpecification: + description: Data specifications. + readOnly: true + allOf: + - $ref: '#/definitions/DataSpecification' + tags: + type: array + items: + type: string + description: Tags. + stats: + description: Statistic data. + readOnly: true + allOf: + - $ref: '#/definitions/Pipeline.Stats' + rawRecipe: + type: string + description: |- + Recipe in YAML format describes the components of a pipeline and how they + are connected. + sourceUrl: + type: string + description: A link to the source code of the pipeline (e.g. to a GitHub repository). + documentationUrl: + type: string + description: A link to any extra information. + license: + type: string + description: License under which the pipeline is distributed. + profileImage: + type: string + description: Pipeline profile image in base64 format. + endpoints: + description: Pipeline endpoints. + readOnly: true + allOf: + - $ref: '#/definitions/Endpoints' + description: |- + A Pipeline is an end-to-end workflow that automates a sequence of components + to process data. + + For more information, see [Pipeline](https://www.instill.tech/docs/vdp/introduction) in + the official documentation. + required: + - recipe + Pipeline.Stats: + type: object + properties: + numberOfRuns: + type: integer + format: int32 + description: Number of pipeline runs. + readOnly: true + lastRunTime: + type: string + format: date-time + description: Last run time. + readOnly: true + numberOfClones: + type: integer + format: int32 + description: Number of times this pipeline has been cloned. + readOnly: true + title: Statistic data + Pipeline.View: + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + - VIEW_RECIPE + description: |- + View defines how a Pipeline is presented. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + - VIEW_RECIPE: Contains the recipe of the resource. + Pipeline.Visibility: + type: string + enum: + - VISIBILITY_PRIVATE + - VISIBILITY_PUBLIC + description: |- + Visibility defines who can access the pipeline. + + - VISIBILITY_PRIVATE: Only the user can see the pipeline. + - VISIBILITY_PUBLIC: Other users can see the pipeline. + PipelineRelease: + type: object + properties: + name: + type: string + description: |- + The name of the release, defined by its parent and ID. + - Format: `{parent_type}/{parent.id}/pipelines/{pipeline.id}/releases/{release.id}`. + readOnly: true + uid: + type: string + description: Release UUID. + readOnly: true + id: + type: string + description: |- + Release resource ID (used in `name` as the last segment). It must be a + sematic version vX.Y.Z. + description: + type: string + description: Release description. + recipe: + type: object + description: Recipe of the versioned pipeline. + readOnly: true + createTime: + type: string + format: date-time + description: Pipeline creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Pipeline update time. + readOnly: true + deleteTime: + type: string + format: date-time + description: Pipeline deletion time. + readOnly: true + alias: + type: string + description: Alias. + readOnly: true + metadata: + type: object + description: |- + Key-value object with console-related data such as the pipeline builder + layout. + readme: + type: string + description: README. + dataSpecification: + description: Data specifications. + readOnly: true + allOf: + - $ref: '#/definitions/DataSpecification' + rawRecipe: + type: string + description: |- + Recipe in YAML format describes the components of a pipeline and how they + are connected. + endpoints: + description: Pipeline endpoints. + readOnly: true + allOf: + - $ref: '#/definitions/Endpoints' + description: |- + Pipeline releases contain the version control information of a pipeline. + This allows users to track changes in the pipeline over time. + PipelineRun: + type: object + properties: + pipelineUid: + type: string + description: Unique identifier for the pipeline. + readOnly: true + pipelineRunUid: + type: string + description: Unique identifier for each run. + readOnly: true + pipelineVersion: + type: string + description: Pipeline version used in the run. + readOnly: true + status: + description: Current status of the run. + readOnly: true + allOf: + - $ref: '#/definitions/RunStatus' + source: + description: Origin of the run. + readOnly: true + allOf: + - $ref: '#/definitions/RunSource' + totalDuration: + type: integer + format: int32 + description: Time taken to complete the run in milliseconds. + readOnly: true + runnerId: + type: string + description: Runner ID. If current viewing requester does not have enough permission, it will return null. + readOnly: true + inputs: + type: array + items: + type: object + description: Pipeline input parameters. + readOnly: true + outputs: + type: array + items: + type: object + description: Pipeline inference outputs. + readOnly: true + recipeSnapshot: + type: object + description: Snapshot of the pipeline recipe used for this run. + readOnly: true + startTime: + type: string + format: date-time + description: Time when the run started execution. + readOnly: true + completeTime: + type: string + format: date-time + description: Time when the run completed. + readOnly: true + error: + type: string + description: Error message if the run failed. + readOnly: true + creditAmount: + type: number + format: float + description: Credits used of internal accounting metric. + readOnly: true + dataSpecification: + description: Data specifications. + readOnly: true + allOf: + - $ref: '#/definitions/DataSpecification' + pipelineId: + type: string + title: The ID of the pipeline + readOnly: true + requesterId: + type: string + description: |- + Requester ID. This field might be empty if the pipeline run belongs to a + deleted namespace. + readOnly: true + description: PipelineRun represents a single execution of a pipeline. + PipelineTriggerChartRecord: + type: object + properties: + pipelineId: + type: string + description: Pipeline ID. + pipelineUid: + type: string + description: Pipeline UUID. + triggerMode: + description: Trigger mode. + allOf: + - $ref: '#/definitions/Mode' + status: + description: Final status. + readOnly: true + allOf: + - $ref: '#/definitions/v1beta.Status' + timeBuckets: + type: array + items: + type: string + format: date-time + description: Time buckets. + readOnly: true + triggerCounts: + type: array + items: + type: integer + format: int32 + description: Aggregated trigger count in each time bucket. + readOnly: true + computeTimeDuration: + type: array + items: + type: number + format: float + description: Total computation time duration in each time bucket. + readOnly: true + pipelineReleaseId: + type: string + description: Version for the triggered pipeline if it is a release pipeline. + readOnly: true + pipelineReleaseUid: + type: string + description: Release UUID for the triggered pipeline if it is a release pipeline. + readOnly: true + description: |- + PipelineTriggerChartRecord contains pipeline trigger metrics, aggregated by + pipeline ID and time frame. + PipelineTriggerRecord: + type: object + properties: + triggerTime: + type: string + format: date-time + description: The moment when the pipeline was triggered. + pipelineTriggerId: + type: string + description: UUID of the trigger. + pipelineId: + type: string + description: Pipeline ID. + pipelineUid: + type: string + description: Pipeline UUID. + triggerMode: + description: Trigger mode. + allOf: + - $ref: '#/definitions/Mode' + computeTimeDuration: + type: number + format: float + description: Total execution duration. + readOnly: true + status: + description: Final status. + readOnly: true + allOf: + - $ref: '#/definitions/v1beta.Status' + pipelineReleaseId: + type: string + description: If a release of the pipeline was triggered, pipeline version. + readOnly: true + pipelineReleaseUid: + type: string + description: If a release of the pipeline was triggered, release UUID. + readOnly: true + description: PipelineTriggerRecord represents a pipeline execution event. + ProcessCatalogFilesRequest: + type: object + properties: + fileUids: + type: array + items: + type: string + description: The file uid. + title: Process Catalog File Request + required: + - fileUids + ProcessCatalogFilesResponse: + type: object + properties: + files: + type: array + items: + type: object + $ref: '#/definitions/File' + description: The file uid. + title: Process Catalog File Response + QuestionAnsweringBody: + type: object + properties: + question: + type: string + title: question to be answered + topK: + type: integer + format: int32 + title: top k default to 5 + title: QuestionAnsweringRequest + QuestionAnsweringResponse: + type: object + properties: + answer: + type: string + title: answer to the question + similarChunks: + type: array + items: + type: object + $ref: '#/definitions/SimilarityChunk' + title: chunks + title: QuestionAnsweringResponse + Region: + type: object + properties: + regionName: + type: string + title: Concate name of provider and region + hardware: + type: array + items: + type: string + title: Hardware describes the available hardware types in this region + description: |- + Region describes the supported cloud provider and regions, with + their supported GPU respectively. + RenameNamespaceModelBody: + type: object + properties: + newModelId: + type: string + description: |- + The new resource ID. This will transform the resource name into + `namespaces/{namespace.id}/models/{new_model_id}`. + title: RenameNamespaceModelRequest represents a request to rename a model + required: + - newModelId + RenameNamespaceModelResponse: + type: object + properties: + model: + description: The renamed model resource. + readOnly: true + allOf: + - $ref: '#/definitions/Model' + description: RenameNamespaceModelResponse contains a renamed model. + RenameNamespacePipelineBody: + type: object + properties: + newPipelineId: + type: string + description: |- + The new resource ID. This will transform the resource name into + `namespaces/{namespace.id}/pipelines/{new_pipeline_id}`. + description: |- + RenameNamespacePipelineRequest represents a request to rename the name of a + pipeline owned by a namespace. + required: + - newPipelineId + RenameNamespacePipelineResponse: + type: object + properties: + pipeline: + description: The renamed pipeline resource. + readOnly: true + allOf: + - $ref: '#/definitions/Pipeline' + description: RenameNamespacePipelineResponse contains a renamed pipeline. + RepositoryTag: + type: object + properties: + name: + type: string + description: |- + The name of the tag, defined by its parent repository and ID. + - Format: `repositories/{repository.id}/tags/{tag.id}`. + id: + type: string + description: The tag identifier. + digest: + type: string + description: Unique identifier, computed from the manifest the tag refers to. + updateTime: + type: string + format: date-time + description: Tag update time, i.e. timestamp of the last push. + readOnly: true + description: |- + RepositoryTag contains information about the version of some content in a + repository. + RestartPlaygroundConversationResponse: + type: object + properties: + conversation: + title: conversation + readOnly: true + allOf: + - $ref: '#/definitions/Conversation' + description: RestartPlaygroundConversationResponse represents a response for restarting a playground conversation. + Role: + type: string + enum: + - ROLE_VIEWER + - ROLE_EXECUTOR + description: |- + Role describes the permissions a user has over a resource. + + - ROLE_VIEWER: Viewers can see the resource properties. + - ROLE_EXECUTOR: Executors can execute the resource (e.g. trigger a pipeline). + RunSource: + type: string + enum: + - RUN_SOURCE_CONSOLE + - RUN_SOURCE_API + description: |- + RunSource defines the source of a pipeline or model run. + + - RUN_SOURCE_CONSOLE: Run from frontend UI. + - RUN_SOURCE_API: Run from API or SDK. + RunStatus: + type: string + enum: + - RUN_STATUS_PROCESSING + - RUN_STATUS_COMPLETED + - RUN_STATUS_FAILED + - RUN_STATUS_QUEUED + description: |- + RunStatus defines the status of a pipeline or model run. + + - RUN_STATUS_PROCESSING: Run in progress. + - RUN_STATUS_COMPLETED: Run succeeded. + - RUN_STATUS_FAILED: Run failed. + - RUN_STATUS_QUEUED: Run is waiting to be executed. + Secret: + type: object + properties: + name: + type: string + description: |- + The name of the secret, define by its ID. + - Format: `secrets/{secret.id}`. + readOnly: true + uid: + type: string + description: Secret UUID. + readOnly: true + id: + type: string + description: |- + Secret resource ID (used in `name` as the last segment). This conforms + to RFC-1034, which restricts to letters, numbers, and hyphen, with the + first character a letter, the last a letter or a number, and a 63 + character maximum. + createTime: + type: string + format: date-time + description: Creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Update time. + readOnly: true + value: + type: string + description: The value of the secret, which is input-only and will never be returned in API responses. + description: + type: string + title: Description + description: API secrets allow users to make requests to the Instill AI API. + SetupSchema: + type: object + properties: + method: + description: The connection method, which will define the fields in the schema. + readOnly: true + allOf: + - $ref: '#/definitions/Method' + schema: + type: object + description: |- + The connection setup field definitions. Each integration will require + different data to connect to the 3rd party app. + readOnly: true + description: |- + SetupSchema defines the schema for a connection setup. + This message is deprecated. + ShareCode: + type: object + properties: + user: + type: string + description: |- + Defines which users will be able to access the resource through the + code. This is a pattern that will be checked against user names. + + For now, the only accepted value is `*/*`. + code: + type: string + description: The public URL that allows users to access the resource. + enabled: + type: boolean + description: Defines whether the sharing option via link is enabled. + role: + description: Defines the role users will have over the resource. + allOf: + - $ref: '#/definitions/Role' + description: ShareCode describes a sharing configuration through a link. + Sharing: + type: object + properties: + users: + type: object + additionalProperties: + $ref: '#/definitions/Sharing.User' + description: |- + Defines sharing rules for a set of user resource names. + + Each key in this object should contain a pattern that can be matched + against user names. + + Each value is a user sharing configuration. + + **NOTE**: For now, the only accepted key is `*/*`. + shareCode: + description: Defines the configuration to share a resource via link. + allOf: + - $ref: '#/definitions/ShareCode' + description: |- + Sharing contains the information to share a resource with other users. + + For more information, see [Share Pipelines](https://www.instill.tech/docs/vdp/share). + Sharing.User: + type: object + properties: + enabled: + type: boolean + description: Defines whether the sharing option with this user is enabled. + role: + description: Defines the role the user will have over the resource. + allOf: + - $ref: '#/definitions/Role' + description: Describes the sharing configuration with a given user. + SimilarityChunk: + type: object + properties: + chunkUid: + type: string + title: chunk uid + similarityScore: + type: number + format: float + title: similarity score + textContent: + type: string + title: content + sourceFile: + type: string + title: source file's name + chunkMetadata: + title: chunk + allOf: + - $ref: '#/definitions/v1alpha.Chunk' + title: similarity chunks + SimilarityChunksSearchBody: + type: object + properties: + textPrompt: + type: string + title: text prompt + topK: + type: integer + format: int64 + title: top k + title: Similar chunk search request + SimilarityChunksSearchResponse: + type: object + properties: + similarChunks: + type: array + items: + type: object + $ref: '#/definitions/SimilarityChunk' + title: chunks + title: Similar chunk search response + SourceFile: + type: object + properties: + originalFileUid: + type: string + title: original file unique identifier + content: + type: string + title: content + createTime: + type: string + format: date-time + title: creation time of the source file + updateTime: + type: string + format: date-time + title: update time of the source file + description: The SourceFile message represents a source file in the artifact system. + Spec: + type: object + properties: + componentSpecification: + type: object + description: Component specification. + dataSpecifications: + type: object + additionalProperties: + $ref: '#/definitions/DataSpecification' + description: |- + Data specifications. + The key represents the task, and the value is the corresponding data_specification. + description: Spec represents a specification data model. + required: + - componentSpecification + - dataSpecifications + StripeSubscriptionDetail: + type: object + properties: + productName: + type: string + description: Product name associated with the subscription in Stripe. + readOnly: true + id: + type: string + description: Unique identifier for the subscription. + readOnly: true + itemId: + type: string + description: Identifier for the specific item within the subscription. + readOnly: true + price: + type: number + format: float + description: Price of the subscription. + readOnly: true + canceledAt: + type: integer + format: int32 + description: Optional timestamp indicating when the subscription was canceled, if applicable. + readOnly: true + trialEnd: + type: integer + format: int32 + description: Optional timestamp indicating when the trial ended, if applicable. + readOnly: true + status: + description: Status of the subscription. + readOnly: true + allOf: + - $ref: '#/definitions/StripeSubscriptionDetail.Status' + description: + type: string + description: Description of the subscription. + readOnly: true + description: StripeSubscriptionDetail describes the details of a subscription in Stripe. + StripeSubscriptionDetail.Status: + type: string + enum: + - STATUS_INCOMPLETE + - STATUS_INCOMPLETE_EXPIRED + - STATUS_TRIALING + - STATUS_ACTIVE + - STATUS_PAST_DUE + - STATUS_CANCELED + - STATUS_UNPAID + - STATUS_PAUSED + description: |- + Enumerates the status types for the user's subscription. + + - STATUS_INCOMPLETE: Incomplete. + - STATUS_INCOMPLETE_EXPIRED: Incomplete Expired. + - STATUS_TRIALING: Trialing. + - STATUS_ACTIVE: Active. + - STATUS_PAST_DUE: Past due. + - STATUS_CANCELED: Canceled. + - STATUS_UNPAID: Unpaid. + - STATUS_PAUSED: Paused. + SubtractCreditAdminResponse: + type: object + properties: + amount: + type: number + format: float + description: The remaining credit. + description: |- + SubtractCreditResponse contains the remaining credit of an account after the + subtraction. + Task: + type: string + enum: + - TASK_CLASSIFICATION + - TASK_DETECTION + - TASK_KEYPOINT + - TASK_OCR + - TASK_INSTANCE_SEGMENTATION + - TASK_SEMANTIC_SEGMENTATION + - TASK_TEXT_TO_IMAGE + - TASK_IMAGE_TO_IMAGE + - TASK_EMBEDDING + - TASK_SPEECH_RECOGNITION + - TASK_CHAT + - TASK_COMPLETION + - TASK_CUSTOM + description: |- + Task enumerates the AI task that a model is designed to solve. + + - TASK_CLASSIFICATION: Image Classification - classify images into predefined categories. + - TASK_DETECTION: Object Detection - detect and localize multiple objects in images. + - TASK_KEYPOINT: Keypoint Detection - detect and localize multiple keypoints of objects in images. + - TASK_OCR: OCR (Optical Character Recognition) - detect and recognize text in images. + - TASK_INSTANCE_SEGMENTATION: Instance Segmentation - detect, localize and delineate multiple objects in images. + - TASK_SEMANTIC_SEGMENTATION: Semantic Segmentation - classify image pixels into predefined categories. + - TASK_TEXT_TO_IMAGE: Text to Image - generate images from input text prompts. + - TASK_IMAGE_TO_IMAGE: Image to Image - generate an image from another image. + - TASK_EMBEDDING: Embedding - generate an embedding (a representation as coordinates) from a multimodal input. + - TASK_SPEECH_RECOGNITION: Speech Recognition - transcribe the words in an audio input. + - TASK_CHAT: Conversational Text Generation - generate text as responses to a dialog input. + - TASK_COMPLETION: Completion Text Generation - generate text following the input prompt. + - TASK_CUSTOM: Custom - custom task type for free form input/output. + TestNamespaceConnectionResponse: + type: object + description: TestNamespaceConnectionResponse is an empty response. + Text: + type: object + properties: + pipelineIds: + type: array + items: + type: string + title: pipelines + transformedContent: + type: string + title: transformed content + transformedContentChunkNum: + type: integer + format: int32 + title: transformed content chunk number + transformedContentTokenNum: + type: integer + format: int32 + title: transformed content token number + transformedContentUpdateTime: + type: string + format: date-time + title: transformed content update time + title: text message + Trace: + type: object + properties: + statuses: + type: array + items: + $ref: '#/definitions/Trace.Status' + description: Statuses contains an execution status per input. + readOnly: true + inputs: + type: array + items: + type: object + description: Component inputs. + readOnly: true + outputs: + type: array + items: + type: object + description: Component outputs. + readOnly: true + error: + type: object + description: Error details. + readOnly: true + computeTimeInSeconds: + type: number + format: float + description: Computation time in seconds. + readOnly: true + description: Trace contains the execution details of a component. + Trace.Status: + type: string + enum: + - STATUS_COMPLETED + - STATUS_SKIPPED + - STATUS_ERROR + description: |- + Status holds the the component execution outcome. + + - STATUS_COMPLETED: Successfully completed. + - STATUS_SKIPPED: Skipped. + - STATUS_ERROR: Aborted with error. + TriggerAsyncNamespaceLatestModelBody: + type: object + properties: + taskInputs: + type: array + items: + type: object + description: Model inference inputs. + description: |- + TriggerAsyncNamespaceLatestModelRequest represents a request to trigger a model inference + asynchronously with the latest uploaded version. + required: + - taskInputs + TriggerAsyncNamespaceLatestModelResponse: + type: object + properties: + operation: + description: Long-running operation information. + readOnly: true + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: |- + TriggerAsyncNamespaceLatestModelResponse contains the information to access the + status of an asynchronous model inference. + TriggerAsyncNamespaceModelBody: + type: object + properties: + taskInputs: + type: array + items: + type: object + description: Model inference inputs. + description: |- + TriggerAsyncNamespaceModelRequest represents a request to trigger a model inference + asynchronously. + required: + - taskInputs + TriggerAsyncNamespaceModelResponse: + type: object + properties: + operation: + description: Long-running operation information. + readOnly: true + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: |- + TriggerAsyncNamespaceModelResponse contains the information to access the + status of an asynchronous model inference. + TriggerAsyncNamespacePipelineBody: + type: object + properties: + inputs: + type: array + items: + type: object + description: Pipeline input parameters, it will be deprecated soon. + data: + type: array + items: + type: object + $ref: '#/definitions/TriggerData' + title: Data + description: |- + TriggerNamespacePipelineRequest represents a request to trigger a user-owned + pipeline synchronously. + TriggerAsyncNamespacePipelineReleaseBody: + type: object + properties: + inputs: + type: array + items: + type: object + description: Pipeline input parameters, it will be deprecated soon. + data: + type: array + items: + type: object + $ref: '#/definitions/TriggerData' + title: Data + description: |- + TriggerNamespacePipelineReleaseRequest represents a request to trigger a pinned + release of a user-owned pipeline asynchronously. + TriggerAsyncNamespacePipelineReleaseResponse: + type: object + properties: + operation: + description: Long-running operation information. + readOnly: true + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: |- + TriggerAsyncNamespacePipelineReleaseResponse contains the information to access + the status of an asynchronous pipeline execution. + TriggerAsyncNamespacePipelineResponse: + type: object + properties: + operation: + description: Long-running operation information. + readOnly: true + allOf: + - $ref: '#/definitions/longrunning.Operation' + description: |- + TriggerAsyncNamespacePipelineResponse contains the information to access the + status of an asynchronous pipeline execution. + TriggerData: + type: object + properties: + variable: + type: object + title: Variables + secret: + type: object + additionalProperties: + type: string + title: Variables + title: Data + TriggerMetadata: + type: object + properties: + traces: + type: object + additionalProperties: + $ref: '#/definitions/Trace' + description: |- + Each key in the `traces` object is a component ID. The value is a Trace + object containing the execution details. + readOnly: true + description: TriggerMetadata contains the traces of the pipeline inference. + TriggerNamespaceLatestModelBinaryFileUploadResponse: + type: object + properties: + task: + description: Task type. + allOf: + - $ref: '#/definitions/Task' + taskOutputs: + type: array + items: + type: object + description: |- + Deleteted field. + Model inference outputs. + readOnly: true + description: TriggerNamespaceLatestModelBinaryFileUploadResponse contains the model inference results. + required: + - task + TriggerNamespaceLatestModelBody: + type: object + properties: + taskInputs: + type: array + items: + type: object + description: Model inference inputs. + description: |- + TriggerNamespaceLatestModelRequest represents a request to trigger a model inference + with the latest uploaded version. + required: + - taskInputs + TriggerNamespaceLatestModelResponse: + type: object + properties: + task: + description: Task type. + readOnly: true + allOf: + - $ref: '#/definitions/Task' + taskOutputs: + type: array + items: + type: object + description: Model inference outputs. + readOnly: true + description: TriggerNamespaceLatestModelResponse contains the model inference results. + TriggerNamespaceModelBinaryFileUploadResponse: + type: object + properties: + task: + description: Task type. + allOf: + - $ref: '#/definitions/Task' + taskOutputs: + type: array + items: + type: object + description: Model inference outputs. + readOnly: true + description: TriggerNamespaceModelBinaryFileUploadResponse contains the model inference results. + required: + - task + TriggerNamespaceModelBody: + type: object + properties: + taskInputs: + type: array + items: + type: object + description: Model inference inputs. + description: TriggerNamespaceModelRequest represents a request to trigger a model inference. + required: + - taskInputs + TriggerNamespaceModelResponse: + type: object + properties: + task: + description: Task type. + readOnly: true + allOf: + - $ref: '#/definitions/Task' + taskOutputs: + type: array + items: + type: object + description: Model inference outputs. + readOnly: true + description: TriggerNamespaceModelResponse contains the model inference results. + TriggerNamespacePipelineBody: + type: object + properties: + inputs: + type: array + items: + type: object + description: Pipeline input parameters, it will be deprecated soon. + data: + type: array + items: + type: object + $ref: '#/definitions/TriggerData' + title: Data + description: |- + TriggerNamespacePipelineRequest represents a request to trigger a user-owned + pipeline synchronously. + required: + - inputs + - data + TriggerNamespacePipelineReleaseBody: + type: object + properties: + inputs: + type: array + items: + type: object + description: Pipeline input parameters, it will be deprecated soon. + data: + type: array + items: + type: object + $ref: '#/definitions/TriggerData' + title: Data + description: |- + TriggerNamespacePipelineReleaseRequest represents a request to trigger a pinned + release of a user-owned pipeline. + TriggerNamespacePipelineReleaseResponse: + type: object + properties: + outputs: + type: array + items: + type: object + description: Model inference outputs. + readOnly: true + metadata: + description: Traces of the pipeline inference. + readOnly: true + allOf: + - $ref: '#/definitions/TriggerMetadata' + description: |- + TriggerNamespacePipelineReleaseResponse contains the pipeline execution results, + i.e., the multiple model inference outputs. + TriggerNamespacePipelineResponse: + type: object + properties: + outputs: + type: array + items: + type: object + description: Model inference outputs. + readOnly: true + metadata: + description: Traces of the pipeline inference. + readOnly: true + allOf: + - $ref: '#/definitions/TriggerMetadata' + description: |- + TriggerNamespacePipelineResponse contains the pipeline execution results, i.e., + the multiple model inference outputs. + TriggerNamespacePipelineWithStreamBody: + type: object + properties: + inputs: + type: array + items: + type: object + description: Pipeline input parameters, it will be deprecated soon. + data: + type: array + items: + type: object + $ref: '#/definitions/TriggerData' + title: Data + description: |- + TriggerNamespacePipelineWithStreamRequest represents a request to trigger a user-owned + pipeline synchronously and streams back the results. + TriggerNamespacePipelineWithStreamResponse: + type: object + properties: + outputs: + type: array + items: + type: object + description: Model inference outputs. + readOnly: true + metadata: + description: Traces of the pipeline inference. + readOnly: true + allOf: + - $ref: '#/definitions/TriggerMetadata' + description: |- + TriggerNamespacePipelineWithStreamResponse contains the pipeline execution results, i.e., + the multiple model inference outputs. + UndeployNamespaceModelAdminResponse: + type: object + title: UndeployNamespaceModelAdminResponse represents a response for a undeployed model + UndeployOrganizationModelAdminResponse: + type: object + title: UndeployOrganizationModelAdminResponse represents a response for a undeployed model + UndeployUserModelAdminResponse: + type: object + title: UndeployUserModelAdminResponse represents a response for a undeployed model + UpdateAppBody: + type: object + properties: + newAppId: + type: string + description: |- + The app id needs to follow the kebab case format. + if the new app id is not provided, the app id will not be updated. + newDescription: + type: string + description: |- + The app description. + If the new description is empty, the description will be set to empty. + newTags: + type: array + items: + type: string + description: |- + The app tags. + If the new tags is empty, the tags will be set to empty. + lastAiAssistantAppCatalogUid: + type: string + description: |- + last AI assistant app catalog uid + If the last AI assistant app catalog uid is empty, the last AI assistant app catalog uid will be set to empty. + lastAiAssistantAppTopK: + type: integer + format: int32 + description: |- + last AI assistant app top k + If the last AI assistant app top k is empty, the last AI assistant app top k will be set to empty. + description: UpdateAppRequest represents a request to update a app. + UpdateAppResponse: + type: object + properties: + app: + description: The updated app. + readOnly: true + allOf: + - $ref: '#/definitions/App' + description: UpdateAppResponse represents a response for updating a app. + UpdateCatalogBody: + type: object + properties: + description: + type: string + description: The catalog description. + tags: + type: array + items: + type: string + description: The catalog tags. + description: UpdateCatalogRequest represents a request to update a catalog. + UpdateCatalogResponse: + type: object + properties: + catalog: + description: The updated catalog. + allOf: + - $ref: '#/definitions/Catalog' + description: UpdateCatalogResponse represents a response for updating a catalog. + UpdateChunkBody: + type: object + properties: + retrievable: + type: boolean + title: whether the chunk is retrievable + title: Create chunk response + UpdateChunkResponse: + type: object + properties: + chunk: + title: chunk + allOf: + - $ref: '#/definitions/v1alpha.Chunk' + title: update chunk response + UpdateConversationBody: + type: object + properties: + newConversationId: + type: string + title: new conversation id + lastUsedCatalogUid: + type: string + title: last used catalog uid + lastUsedTopK: + type: integer + format: int64 + title: last used top k + title: UpdateConversationRequest is used to update a conversation + UpdateConversationResponse: + type: object + properties: + conversation: + title: conversation + readOnly: true + allOf: + - $ref: '#/definitions/Conversation' + title: UpdateConversationResponse returns the updated conversation + UpdateMessageBody: + type: object + properties: + content: + type: string + title: new message content + title: UpdateMessageRequest is used to update a message + required: + - content + UpdateMessageResponse: + type: object + properties: + message: + title: message + readOnly: true + allOf: + - $ref: '#/definitions/app.v1alpha.Message' + title: UpdateMessageResponse returns the updated message + UpdateNamespaceConnectionResponse: + type: object + properties: + connection: + description: The created connection. + readOnly: true + allOf: + - $ref: '#/definitions/Connection' + description: UpdateNamespaceConnectionResponse contains the updated connection. + UpdateNamespaceModelResponse: + type: object + properties: + model: + description: The updated model resource. + readOnly: true + allOf: + - $ref: '#/definitions/Model' + description: UpdateNamespaceModelResponse contains the updated model. + UpdateNamespacePipelineReleaseResponse: + type: object + properties: + release: + description: The updated pipeline release resource. + readOnly: true + allOf: + - $ref: '#/definitions/PipelineRelease' + description: UpdateNamespacePipelineReleaseResponse contains the updated pipeline release. + UpdateNamespacePipelineResponse: + type: object + properties: + pipeline: + description: The updated pipeline resource. + readOnly: true + allOf: + - $ref: '#/definitions/Pipeline' + description: UpdateNamespacePipelineResponse contains the updated pipeline. + UpdateNamespaceSecretResponse: + type: object + properties: + secret: + description: The updated secret resource. + allOf: + - $ref: '#/definitions/Secret' + description: UpdateNamespaceSecretResponse contains the updated secret. + UpdateObjectResponse: + type: object + properties: + object: + title: object + allOf: + - $ref: '#/definitions/Object' + title: UpdateObjectResponse + UpdateOrganizationMembershipResponse: + type: object + properties: + membership: + description: The updated membership resource. + readOnly: true + allOf: + - $ref: '#/definitions/OrganizationMembership' + description: UpdateOrganizationMembershipResponse contains the updated membership. + UpdateOrganizationResponse: + type: object + properties: + organization: + description: The organization resource. + readOnly: true + allOf: + - $ref: '#/definitions/Organization' + description: UpdateOrganizationResponse contains the updated organization. + UpdateUserMembershipResponse: + type: object + properties: + membership: + description: The updated membership resource. + readOnly: true + allOf: + - $ref: '#/definitions/UserMembership' + description: UpdateUserMembershipResponse contains the updated membership. + UploadCatalogFileResponse: + type: object + properties: + file: + title: file + allOf: + - $ref: '#/definitions/File' + title: upload file response + UserMembership: + type: object + properties: + name: + type: string + description: |- + The resource name of the membership, which allows its access by user and + organization ID. + - Format: `users/{user.id}/memberships/{organization.id}`. + readOnly: true + role: + type: string + description: Role of the user in the organization. + readOnly: true + state: + description: State of the membership. + allOf: + - $ref: '#/definitions/MembershipState' + user: + description: User information. + readOnly: true + allOf: + - $ref: '#/definitions/v1beta.User' + organization: + description: Organization information. + readOnly: true + allOf: + - $ref: '#/definitions/Organization' + description: |- + A user membership defines the relationship between a user and an + organization they belong to. + required: + - state + UserProfile: + type: object + properties: + displayName: + type: string + description: Display name. + bio: + type: string + description: Biography. + avatar: + type: string + description: Avatar in base64 format. + publicEmail: + type: string + description: Public email. + companyName: + type: string + description: Company name. + socialProfileLinks: + type: object + additionalProperties: + type: string + description: |- + Social profile links list the links to the user's social profiles. + The key represents the provider, and the value is the corresponding URL. + description: UserProfile describes the public data of a user. + UserSubscription: + type: object + properties: + plan: + description: Plan identifier. + readOnly: true + allOf: + - $ref: '#/definitions/UserSubscription.Plan' + detail: + description: Details of the associated Stripe subscription. + readOnly: true + allOf: + - $ref: '#/definitions/StripeSubscriptionDetail' + description: UserSubscription details describe the plan (i.e., features) a user has access to. + UserSubscription.Plan: + type: string + enum: + - PLAN_FREE + - PLAN_PRO + description: |- + Enumerates the plan types for the user subscription. + + - PLAN_FREE: Free plan. + - PLAN_PRO: Pro plan. + ValidateNamespacePipelineBody: + type: object + description: |- + ValidateNamespacePipelineRequest represents a request to validate a pipeline + owned by a user. + ValidateNamespacePipelineResponse: + type: object + properties: + success: + type: boolean + title: Success + readOnly: true + errors: + type: array + items: + type: object + $ref: '#/definitions/ErrPipelineValidation' + description: The validated pipeline resource. + readOnly: true + description: ValidateNamespacePipelineResponse contains a validated pipeline. + ValidateTokenResponse: + type: object + properties: + userUid: + type: string + description: If token is valid, UUID of the user that owns it. + readOnly: true + description: ValidateTokenResponse contains the validation of a token. + WatchNamespaceLatestModelResponse: + type: object + properties: + state: + description: State. + readOnly: true + allOf: + - $ref: '#/definitions/v1alpha.State' + message: + type: string + title: Detail description of the state + readOnly: true + description: WatchNamespaceLatestModelResponse contains the state of the latest model version. + WatchNamespaceModelResponse: + type: object + properties: + state: + description: State. + readOnly: true + allOf: + - $ref: '#/definitions/v1alpha.State' + message: + type: string + title: Detail description of the state + readOnly: true + description: WatchNamespaceModelResponse contains the state of a model. + WebhookEndpoint: + type: object + properties: + url: + type: string + description: Webhook URL. + readOnly: true + description: + type: string + description: Description. + readOnly: true + description: WebhookEndpoint describe a webhook endpoint. + app.v1alpha.Message: + type: object + properties: + uid: + type: string + title: message uid + readOnly: true + appUid: + type: string + title: app uid + readOnly: true + conversationUid: + type: string + title: conversation uid + readOnly: true + content: + type: string + title: message content + role: + type: string + title: message role e.g., "user" or "assistant" + type: + title: message type + allOf: + - $ref: '#/definitions/MessageType' + createTime: + type: string + format: date-time + title: creation time of the message + readOnly: true + updateTime: + type: string + format: date-time + title: update time of the message + readOnly: true + msgSenderUid: + type: string + title: message sender uid + readOnly: true + title: Message represents a single message in a conversation + required: + - content + - role + - type + longrunning.Operation: + type: object + properties: + name: + type: string + description: |- + The server-assigned name, which is only unique within the same service that + originally returns it. If you use the default HTTP mapping, the + `name` should be a resource name ending with `operations/{unique_id}`. + metadata: + description: |- + Service-specific metadata associated with the operation. It typically + contains progress information and common metadata such as create time. + Some services might not provide such metadata. Any method that returns a + long-running operation should document the metadata type, if any. + allOf: + - $ref: '#/definitions/Any' + done: + type: boolean + description: |- + If the value is `false`, it means the operation is still in progress. + If `true`, the operation is completed, and either `error` or `response` is + available. + error: + description: The error result of the operation in case of failure or cancellation. + allOf: + - $ref: '#/definitions/rpc.Status' + response: + description: |- + The normal response of the operation in case of success. If the original + method returns no data on success, such as `Delete`, the response is + `google.protobuf.Empty`. If the original method is standard + `Get`/`Create`/`Update`, the response should be the resource. For other + methods, the response should have the type `XxxResponse`, where `Xxx` + is the original method name. For example, if the original method name + is `TakeSnapshot()`, the inferred response type is + `TakeSnapshotResponse`. + allOf: + - $ref: '#/definitions/Any' + description: |- + This resource represents a long-running operation that is the result of a + network API call. + mgmt.v1beta.Permission: + type: object + properties: + canEdit: + type: boolean + description: Defines whether the resource can be modified. + readOnly: true + description: Permission defines how a resource can be used. + mgmt.v1beta.View: + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + description: |- + View defines how a resource is presented. It can be used as a parameter in a + method request to allow clients to select the amount of information they + want in the response. + + - VIEW_BASIC: Default view, only includes basic information. + - VIEW_FULL: Full representation. + pipeline.v1beta.Permission: + type: object + properties: + canEdit: + type: boolean + description: Defines whether the pipeline can be modified. + canTrigger: + type: boolean + description: Defines whether the pipeline can be executed. + canRelease: + type: boolean + description: Defines whether the pipeline can be released. + description: Permission defines how a pipeline can be used. + pipeline.v1beta.View: + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + description: |- + View defines how a resource is presented. Most resources can share this view + definition, the particular meaning of each value should be defined in the + resource itself. Certain resources might have their own View definition if + they need to implement more than 2 (basic / full) views. + + - VIEW_BASIC: Default view. + - VIEW_FULL: Full representation. + rpc.Status: + type: object + properties: + code: + type: integer + format: int32 + description: |- + The status code, which should be an enum value of + [google.rpc.Code][google.rpc.Code]. + message: + type: string + description: |- + A developer-facing error message, which should be in English. Any + user-facing error message should be localized and sent in the + [google.rpc.Status.details][google.rpc.Status.details] field, or localized + by the client. + details: + type: array + items: + type: object + $ref: '#/definitions/Any' + description: |- + A list of messages that carry the error details. There is a common set of + message types for APIs to use. + description: |- + The `Status` type defines a logical error model that is suitable for + different programming environments, including REST APIs and RPC APIs. It is + used by [gRPC](https://github.com/grpc). Each `Status` message contains + three pieces of data: error code, error message, and error details. + + You can find out more about this error model and how to work with it in the + [API Design Guide](https://cloud.google.com/apis/design/errors). + v1alpha.Chunk: + type: object + properties: + chunkUid: + type: string + title: unique identifier of the chunk + retrievable: + type: boolean + title: whether the chunk is retrievable + startPos: + type: integer + format: int64 + title: start position of the chunk in the source file + endPos: + type: integer + format: int64 + title: end position of the chunk in the source file + tokens: + type: integer + format: int64 + title: tokens of the chunk + createTime: + type: string + format: date-time + title: creation time of the chunk + originalFileUid: + type: string + title: original file unique identifier + description: The Chunk message represents a chunk of data in the artifact system. + v1alpha.Permission: + type: object + properties: + canEdit: + type: boolean + description: Defines whether the pipeline can be modified. + canTrigger: + type: boolean + description: Defines whether the pipeline can be executed. + description: Permission defines how a pipeline can be used. + v1alpha.ReleaseStage: + type: string + enum: + - RELEASE_STAGE_ALPHA + - RELEASE_STAGE_BETA + - RELEASE_STAGE_GENERALLY_AVAILABLE + - RELEASE_STAGE_CUSTOM + description: |- + ReleaseStage defines the stage of a release. + + - RELEASE_STAGE_ALPHA: Alpha. + - RELEASE_STAGE_BETA: Beta. + - RELEASE_STAGE_GENERALLY_AVAILABLE: Generally available. + - RELEASE_STAGE_CUSTOM: Custom. + v1alpha.State: + type: string + enum: + - STATE_OFFLINE + - STATE_ACTIVE + - STATE_IDLE + - STATE_ERROR + - STATE_STARTING + - STATE_SCALING_UP + - STATE_SCALING_DOWN + description: |- + State describes the state of a model. See [Deploy + Models](https://www.instill.tech/docs/latest/model/deploy) for more + information. + + - STATE_OFFLINE: Offline is the state when the model instance number is 0. + - STATE_ACTIVE: Active is the state when a model is processing requests. + - STATE_IDLE: Idle is the state when a model is alive but not processing requests. + - STATE_ERROR: Error is the state when the model is undeployable. + - STATE_STARTING: Starting is the state when the system is provisioning the necessary + resources for the model + - STATE_SCALING_UP: Scaling Up is the transition state when the system is provisioning compute resource for this model instance. + - STATE_SCALING_DOWN: Scaling is the transition state when the system is releasing compute resource for this model instance. + v1alpha.View: + type: string + enum: + - VIEW_BASIC + - VIEW_FULL + description: |- + View defines how a model definition is presented. + + - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). + - VIEW_FULL: Full representation. + v1beta.Status: + type: string + enum: + - STATUS_COMPLETED + - STATUS_ERRORED + description: |- + Status describes the output of an execution. + + - STATUS_COMPLETED: Successfully completed. + - STATUS_ERRORED: Finished with error. + v1beta.User: + type: object + properties: + name: + type: string + description: |- + The name of the user, defined by its ID. + - Format: `users/{user.id}`. + readOnly: true + uid: + type: string + description: |- + User UUID. This field is optionally set by users on creation (it will be + server-generated if unspecified). + readOnly: true + id: + type: string + description: |- + Resource ID (used in `name` as the last segment). This conforms to + RFC-1034, which restricts to letters, numbers, and hyphen, with the first + character a letter, the last a letter or a number, and a 63 character + maximum. + + Note that the ID can be updated. + createTime: + type: string + format: date-time + description: Creation time. + readOnly: true + updateTime: + type: string + format: date-time + description: Update time. + readOnly: true + profile: + description: Profile. + allOf: + - $ref: '#/definitions/UserProfile' + description: |- + User describes an individual that interacts with Instill AI. It doesn't + contain any private information about the user. +securityDefinitions: + Bearer: + type: apiKey + description: Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345` + name: Authorization + in: header + x-default: Bearer instill_sk_*** +security: + - Bearer: [] +externalDocs: + description: More about Instill AI + url: https://www.instill.tech/docs diff --git a/openapiv2/app/service.swagger.yaml b/openapiv2/app/service.swagger.yaml deleted file mode 100644 index 2a25e4c0..00000000 --- a/openapiv2/app/service.swagger.yaml +++ /dev/null @@ -1,1142 +0,0 @@ -swagger: "2.0" -info: - title: "\U0001F4F1 App " - description: App endpoints to manage ready-to-use AI applications - version: v0.44.1-beta - contact: - name: Instill AI - url: https://github.com/instill-ai - email: hello@instill.tech - license: - name: Elastic License 2.0 (ELv2) - url: https://github.com/instill-ai/protobufs/blob/main/LICENSE -tags: - - name: App - description: App endpoints - - name: Conversation - description: Conversation endpoints - - name: Message - description: Message endpoints - - name: Playground - description: Playground endpoints -host: api.instill.tech -schemes: - - https - - http -consumes: - - application/json -produces: - - application/json -paths: - /v1alpha/namespaces/{namespaceId}/apps: - get: - summary: List all apps info - operationId: AppPublicService_ListApps - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListAppsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: User ID for which to list the apps - in: path - required: true - type: string - tags: - - App - post: - summary: Create a app - operationId: AppPublicService_CreateApp - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaCreateAppResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The app's owner(namespaces). - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/AppPublicServiceCreateAppBody' - tags: - - App - /v1alpha/namespaces/{namespaceId}/apps/{appId}: - delete: - summary: Delete a app - operationId: AppPublicService_DeleteApp - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaDeleteAppResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The owner's id. i.e. namespace. - in: path - required: true - type: string - - name: appId - description: The app id. - in: path - required: true - type: string - tags: - - App - put: - summary: Update a app info - operationId: AppPublicService_UpdateApp - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaUpdateAppResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: Namespace id. - in: path - required: true - type: string - - name: appId - description: App id. - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/AppPublicServiceUpdateAppBody' - tags: - - App - /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations: - get: - summary: List conversations - operationId: AppPublicService_ListConversations - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListConversationsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: pageSize - description: page size - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: page token - in: query - required: false - type: string - - name: conversationUid - description: |- - conversation_uid this is optional, if provided, only the conversation with the given conversation_uid will be returned - first check conversation_uid, then check conversation_id, then check if_all - in: query - required: false - type: string - - name: conversationId - description: conversation_id this is optional, if provided, only the conversation with the given conversation_id will be returned - in: query - required: false - type: string - - name: ifAll - description: If true, all conversations will be returned. This has higher priority over conversation_id, page_size, and page_token. - in: query - required: false - type: boolean - tags: - - Conversation - post: - summary: Create a Conversation - operationId: AppPublicService_CreateConversation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaCreateConversationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/AppPublicServiceCreateConversationBody' - tags: - - Conversation - /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations/{conversationId}: - delete: - summary: Delete a conversation - operationId: AppPublicService_DeleteConversation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaDeleteConversationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: conversationId - description: conversation id - in: path - required: true - type: string - tags: - - Conversation - put: - summary: Update a conversation - operationId: AppPublicService_UpdateConversation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaUpdateConversationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: conversationId - description: conversation id - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/AppPublicServiceUpdateConversationBody' - tags: - - Conversation - /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations/{conversationId}/messages: - get: - summary: List messages - operationId: AppPublicService_ListMessages - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListMessagesResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: conversationId - description: conversation id - in: path - required: true - type: string - - name: latestK - description: latest k messages - in: query - required: false - type: integer - format: int32 - - name: pageSize - description: page size - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: page token - in: query - required: false - type: string - - name: includeSystemMessages - description: include system messages - in: query - required: false - type: boolean - - name: ifAll - description: If true, all messages will be returned. This has higher priority over latest_k, page_size, and page_token. - in: query - required: false - type: boolean - - name: messageUid - description: message_uid this is optional, if provided, only the message with the given message_uid will be returned - in: query - required: false - type: string - tags: - - Message - post: - summary: Create a message - operationId: AppPublicService_CreateMessage - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaCreateMessageResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: conversationId - description: conversation id - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/AppPublicServiceCreateMessageBody' - tags: - - Message - /v1alpha/namespaces/{namespaceId}/apps/{appId}/conversations/{conversationId}/messages/{messageUid}: - delete: - summary: Delete a message - operationId: AppPublicService_DeleteMessage - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaDeleteMessageResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: conversationId - description: conversation id - in: path - required: true - type: string - - name: messageUid - description: message uid - in: path - required: true - type: string - tags: - - Message - put: - summary: Update a message - operationId: AppPublicService_UpdateMessage - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaUpdateMessageResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: namespace id - in: path - required: true - type: string - - name: appId - description: app id - in: path - required: true - type: string - - name: conversationId - description: conversation id - in: path - required: true - type: string - - name: messageUid - description: message uid - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/AppPublicServiceUpdateMessageBody' - tags: - - Message - /v1alpha/namespaces/{namespaceId}/apps/{appId}/ai_assistant_playground/conversation: - get: - summary: Get Playground Conversation - description: get the latest conversation of auth user(e.g. login user and api key user) - operationId: AppPublicService_GetPlaygroundConversation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetPlaygroundConversationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The namespace id. - in: path - required: true - type: string - - name: appId - description: The app id. - in: path - required: true - type: string - tags: - - Playground - /v1alpha/namespaces/{namespaceId}/apps/{appId}/ai_assistant_playground/restart: - post: - summary: Restart Playground Conversation - description: |- - create a new conversation and use the auth user uid as creator uid and auto - generate a new conversation id on the behalf of auth user. - operationId: AppPublicService_RestartPlaygroundConversation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaRestartPlaygroundConversationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The namespace id. - in: path - required: true - type: string - - name: appId - description: The app id. - in: path - required: true - type: string - tags: - - Playground - /v1alpha/namespaces/{namespaceId}/apps/{appId}/chat: - post: - summary: Chat - description: |- - Chat sends a message asynchronously and streams back the response. - This method is intended for real-time conversation with a chatbot - and the response needs to be processed incrementally. - operationId: AppPublicService_Chat - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaChatResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: appId - description: App ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/AppPublicServiceChatBody' - tags: - - App -definitions: - AppPublicServiceChatBody: - type: object - properties: - catalogId: - type: string - title: Catalog ID - conversationUid: - type: string - title: Conversation UID - message: - type: string - title: User message - topK: - type: integer - format: int64 - title: top k, defaults to 5 - description: |- - ChatRequest represents a request to send a message - to a chatbot synchronously and streams back the results. - required: - - catalogId - - conversationUid - - message - AppPublicServiceCreateAppBody: - type: object - properties: - id: - type: string - description: |- - The app id. - the app id should be lowercase without any space or special character besides the hyphen, - it can not start with number or hyphen, and should be less than 32 characters. - description: - type: string - description: The app description. - tags: - type: array - items: - type: string - description: The app tags. - description: CreateAppRequest represents a request to create a app. - required: - - id - AppPublicServiceCreateConversationBody: - type: object - properties: - conversationId: - type: string - title: conversation id. only allow kebab case - title: CreateConversationRequest is used to create a new conversation - required: - - conversationId - AppPublicServiceCreateMessageBody: - type: object - properties: - content: - type: string - title: message content - role: - type: string - title: message role - type: - title: message type - allOf: - - $ref: '#/definitions/MessageMessageType' - title: CreateMessageRequest is used to create a new message - required: - - content - - role - - type - AppPublicServiceUpdateAppBody: - type: object - properties: - newAppId: - type: string - description: |- - The app id needs to follow the kebab case format. - if the new app id is not provided, the app id will not be updated. - newDescription: - type: string - description: |- - The app description. - If the new description is empty, the description will be set to empty. - newTags: - type: array - items: - type: string - description: |- - The app tags. - If the new tags is empty, the tags will be set to empty. - lastAiAssistantAppCatalogUid: - type: string - description: |- - last AI assistant app catalog uid - If the last AI assistant app catalog uid is empty, the last AI assistant app catalog uid will be set to empty. - lastAiAssistantAppTopK: - type: integer - format: int32 - description: |- - last AI assistant app top k - If the last AI assistant app top k is empty, the last AI assistant app top k will be set to empty. - description: UpdateAppRequest represents a request to update a app. - AppPublicServiceUpdateConversationBody: - type: object - properties: - newConversationId: - type: string - title: new conversation id - lastUsedCatalogUid: - type: string - title: last used catalog uid - lastUsedTopK: - type: integer - format: int64 - title: last used top k - title: UpdateConversationRequest is used to update a conversation - AppPublicServiceUpdateMessageBody: - type: object - properties: - content: - type: string - title: new message content - title: UpdateMessageRequest is used to update a message - required: - - content - MessageMessageType: - type: string - enum: - - MESSAGE_TYPE_TEXT - description: '- MESSAGE_TYPE_TEXT: text' - title: message type - protobufAny: - type: object - properties: - '@type': - type: string - additionalProperties: {} - protobufNullValue: - type: string - description: |- - `NullValue` is a singleton enumeration to represent the null value for the - `Value` type union. - - The JSON representation for `NullValue` is JSON `null`. - rpcStatus: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - $ref: '#/definitions/protobufAny' - v1alphaAIAssistantAppMetadata: - type: object - properties: - catalogUid: - type: string - description: The AI assistant app catalog uid. - topK: - type: integer - format: int32 - description: The AI assistant app top k. - description: AIAssistantAppMetadata represents the metadata for the AI assistant app. - required: - - catalogUid - - topK - v1alphaApp: - type: object - properties: - appId: - type: string - description: The app id. - description: - type: string - description: The app description. - createTime: - type: string - format: date-time - description: The creation time of the app. - readOnly: true - updateTime: - type: string - format: date-time - description: The last update time of the app. - readOnly: true - ownerUid: - type: string - description: The owner/namespace of the app. - readOnly: true - tags: - type: array - items: - type: string - description: The app tags. - aiAssistantApp: - description: The AI assistant app metadata. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaAIAssistantAppMetadata' - appType: - description: The app type. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaAppType' - appUid: - type: string - title: app uid - readOnly: true - creatorUid: - type: string - title: creator uid - readOnly: true - description: App represents a app. - required: - - appId - v1alphaAppType: - type: string - enum: - - APP_TYPE_AI_ASSISTANT - description: |- - AppType represents the type of the app. - - - APP_TYPE_AI_ASSISTANT: AppType is a AI assistant app. - v1alphaChatResponse: - type: object - properties: - outputs: - type: array - items: - type: object - description: Conversation responses. - readOnly: true - chunks: - type: array - items: - type: object - $ref: '#/definitions/v1alphaSimilarityChunk' - title: Reference chunks - readOnly: true - description: ChatResponse contains the chatbot response. - v1alphaChunk: - type: object - properties: - chunkUid: - type: string - title: unique identifier of the chunk - retrievable: - type: boolean - title: whether the chunk is retrievable - startPos: - type: integer - format: int64 - title: start position of the chunk in the source file - endPos: - type: integer - format: int64 - title: end position of the chunk in the source file - tokens: - type: integer - format: int64 - title: tokens of the chunk - createTime: - type: string - format: date-time - title: creation time of the chunk - originalFileUid: - type: string - title: original file unique identifier - description: The Chunk message represents a chunk of data in the artifact system. - v1alphaConversation: - type: object - properties: - uid: - type: string - title: unique identifier of the conversation created by the system - readOnly: true - namespaceId: - type: string - title: namespace id - appId: - type: string - title: app id - id: - type: string - title: conversation id/name - lastUsedCatalogUid: - type: string - title: last used catalog uid - lastUsedTopK: - type: integer - format: int64 - title: last used top k - createTime: - type: string - format: date-time - title: creation time of the conversation - readOnly: true - updateTime: - type: string - format: date-time - title: update time of the conversation - readOnly: true - title: Conversation represents a chat conversation - required: - - namespaceId - - appId - - id - v1alphaCreateAppResponse: - type: object - properties: - app: - description: The created app. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaApp' - description: CreateAppResponse represents a response for creating a app. - v1alphaCreateConversationResponse: - type: object - properties: - conversation: - title: conversation - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaConversation' - title: CreateConversationResponse returns the created conversation - v1alphaCreateMessageResponse: - type: object - properties: - message: - title: message - allOf: - - $ref: '#/definitions/v1alphaMessage' - title: CreateMessageResponse returns the created message - v1alphaDeleteAppResponse: - type: object - description: DeleteAppResponse represents a response for deleting a app. - v1alphaDeleteConversationResponse: - type: object - title: DeleteConversationResponse is empty as no content needs to be returned - v1alphaDeleteMessageResponse: - type: object - title: DeleteMessageResponse is empty as no content needs to be returned - v1alphaGetPlaygroundConversationResponse: - type: object - properties: - conversation: - title: conversation - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaConversation' - description: GetPlaygroundConversationResponse represents a response for getting a playground conversation. - v1alphaListAppsResponse: - type: object - properties: - apps: - type: array - items: - type: object - $ref: '#/definitions/v1alphaApp' - description: The apps container. - readOnly: true - description: GetAppsResponse represents a response for getting all apps from users. - v1alphaListConversationsResponse: - type: object - properties: - conversations: - type: array - items: - type: object - $ref: '#/definitions/v1alphaConversation' - title: conversations - readOnly: true - nextPageToken: - type: string - title: next page token - readOnly: true - totalSize: - type: integer - format: int32 - title: total size - readOnly: true - title: ListConversationsResponse returns a list of conversations - v1alphaListMessagesResponse: - type: object - properties: - messages: - type: array - items: - type: object - $ref: '#/definitions/v1alphaMessage' - title: messages - readOnly: true - nextPageToken: - type: string - title: next page token - readOnly: true - totalSize: - type: integer - format: int32 - title: total size - readOnly: true - senderProfiles: - type: array - items: - type: object - $ref: '#/definitions/v1alphaMessageSenderProfile' - title: message sender profiles - readOnly: true - title: ListMessagesResponse returns a list of messages - v1alphaMessage: - type: object - properties: - uid: - type: string - title: message uid - readOnly: true - appUid: - type: string - title: app uid - readOnly: true - conversationUid: - type: string - title: conversation uid - readOnly: true - content: - type: string - title: message content - role: - type: string - title: message role e.g., "user" or "assistant" - type: - title: message type - allOf: - - $ref: '#/definitions/MessageMessageType' - createTime: - type: string - format: date-time - title: creation time of the message - readOnly: true - updateTime: - type: string - format: date-time - title: update time of the message - readOnly: true - msgSenderUid: - type: string - title: message sender uid - readOnly: true - title: Message represents a single message in a conversation - required: - - content - - role - - type - v1alphaMessageSenderProfile: - type: object - properties: - msgSenderUid: - type: string - title: sender uid - readOnly: true - msgSenderId: - type: string - title: sender id - readOnly: true - displayName: - type: string - description: Display name. - readOnly: true - avatar: - type: string - description: Avatar url. this url might be expired or not exist. - readOnly: true - description: |- - MessageSenderProfile describes the public data of a message sender. - refer to core.mgmt.v1beta.UserProfile for more details. - v1alphaRestartPlaygroundConversationResponse: - type: object - properties: - conversation: - title: conversation - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaConversation' - description: RestartPlaygroundConversationResponse represents a response for restarting a playground conversation. - v1alphaSimilarityChunk: - type: object - properties: - chunkUid: - type: string - title: chunk uid - similarityScore: - type: number - format: float - title: similarity score - textContent: - type: string - title: content - sourceFile: - type: string - title: source file's name - chunkMetadata: - title: chunk - allOf: - - $ref: '#/definitions/v1alphaChunk' - title: similarity chunks - v1alphaUpdateAppResponse: - type: object - properties: - app: - description: The updated app. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaApp' - description: UpdateAppResponse represents a response for updating a app. - v1alphaUpdateConversationResponse: - type: object - properties: - conversation: - title: conversation - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaConversation' - title: UpdateConversationResponse returns the updated conversation - v1alphaUpdateMessageResponse: - type: object - properties: - message: - title: message - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaMessage' - title: UpdateMessageResponse returns the updated message -securityDefinitions: - Bearer: - type: apiKey - description: Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345` - name: Authorization - in: header - x-default: Bearer instill_sk_*** -security: - - Bearer: [] -externalDocs: - description: More about Instill AI - url: https://www.instill.tech/docs diff --git a/openapiv2/artifact/service.swagger.yaml b/openapiv2/artifact/service.swagger.yaml deleted file mode 100644 index 244542e1..00000000 --- a/openapiv2/artifact/service.swagger.yaml +++ /dev/null @@ -1,1618 +0,0 @@ -swagger: "2.0" -info: - title: "\U0001F4BE Artifact " - description: Artifact endpoints to manage Instill Catalog and RAG applications - version: v0.44.1-beta - contact: - name: Instill AI - url: https://github.com/instill-ai - email: hello@instill.tech - license: - name: Elastic License 2.0 (ELv2) - url: https://github.com/instill-ai/protobufs/blob/main/LICENSE -tags: - - name: Catalog - description: Catalog endpoints - - name: Object - description: Object endpoints -host: api.instill.tech -schemes: - - https - - http -consumes: - - application/json -produces: - - application/json -paths: - /v1alpha/namespaces/{namespaceId}/catalogs: - get: - summary: Get all catalogs info - operationId: ArtifactPublicService_ListCatalogs - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListCatalogsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: User ID for which to list the catalogs - in: path - required: true - type: string - tags: - - Catalog - post: - summary: Create a catalog - operationId: ArtifactPublicService_CreateCatalog - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaCreateCatalogResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The catalog's owner(namespaces). - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ArtifactPublicServiceCreateCatalogBody' - tags: - - Catalog - /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}: - get: - summary: Get file catalog - operationId: ArtifactPublicService_GetFileCatalog - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetFileCatalogResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: id of the namespace - in: path - required: true - type: string - - name: catalogId - description: id of the catalog - in: path - required: true - type: string - - name: fileId - description: id of the file(i.e. file name) - in: query - required: false - type: string - - name: fileUid - description: Uid of the file - in: query - required: false - type: string - tags: - - Catalog - delete: - summary: Delete a catalog - operationId: ArtifactPublicService_DeleteCatalog - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaDeleteCatalogResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The owner's id. i.e. namespace. - in: path - required: true - type: string - - name: catalogId - description: The catalog id. - in: path - required: true - type: string - tags: - - Catalog - put: - summary: Update a catalog info - operationId: ArtifactPublicService_UpdateCatalog - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaUpdateCatalogResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The catalog owner(namespace). - in: path - required: true - type: string - - name: catalogId - description: The catalog id. - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ArtifactPublicServiceUpdateCatalogBody' - tags: - - Catalog - /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/files: - get: - summary: List catalog files - operationId: ArtifactPublicService_ListCatalogFiles - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListCatalogFilesResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The owner/namespace uid id. - in: path - required: true - type: string - - name: catalogId - description: The catalog id. - in: path - required: true - type: string - - name: pageSize - description: The page size (default:10; max 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: The next page token(default from first file's token). - in: query - required: false - type: string - - name: filter.fileUids - description: The file uids. - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - tags: - - Catalog - post: - summary: Create a file - operationId: ArtifactPublicService_UploadCatalogFile - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaUploadCatalogFileResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: owner/namespace uid - in: path - required: true - type: string - - name: catalogId - description: catalog id - in: path - required: true - type: string - - name: file - description: file - in: body - required: true - schema: - $ref: '#/definitions/v1alphaFile' - tags: - - Catalog - /v1alpha/catalogs/files: - delete: - summary: Delete a file - operationId: ArtifactPublicService_DeleteCatalogFile - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaDeleteCatalogFileResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: fileUid - description: The file uid. - in: query - required: true - type: string - tags: - - Catalog - /v1alpha/catalogs/files/processAsync: - post: - summary: Process catalog files - operationId: ArtifactPublicService_ProcessCatalogFiles - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaProcessCatalogFilesResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: body - in: body - required: true - schema: - $ref: '#/definitions/v1alphaProcessCatalogFilesRequest' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Catalog - /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/chunks: - get: - summary: List catalog chunks - operationId: ArtifactPublicService_ListChunks - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListChunksResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: owner/namespace id (not uid) - in: path - required: true - type: string - - name: catalogId - description: catalog id (not uid) - in: path - required: true - type: string - - name: fileUid - description: unique identifier of the file - in: query - required: false - type: string - - name: chunkUids - description: repeated chunk uid(not implemented yet) - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - tags: - - Catalog - /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/files/{fileUid}/source: - get: - summary: Get catalog single-source-of-truth file - operationId: ArtifactPublicService_GetSourceFile - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetSourceFileResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: owner/namespace id - in: path - required: true - type: string - - name: catalogId - description: catalog id - in: path - required: true - type: string - - name: fileUid - description: unique identifier of the original uploaded file - in: path - required: true - type: string - tags: - - Catalog - /v1alpha/chunks/{chunkUid}: - post: - summary: Update catalog chunk - operationId: ArtifactPublicService_UpdateChunk - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaUpdateChunkResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: chunkUid - description: chunk uid - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ArtifactPublicServiceUpdateChunkBody' - tags: - - Catalog - /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/chunks/retrieve: - post: - summary: Retrieve similar chunks - operationId: ArtifactPublicService_SimilarityChunksSearch - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaSimilarityChunksSearchResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: owner/namespace id - in: path - required: true - type: string - - name: catalogId - description: catalog id - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ArtifactPublicServiceSimilarityChunksSearchBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Catalog - /v1alpha/namespaces/{namespaceId}/catalogs/{catalogId}/ask: - post: - summary: Ask a question - operationId: ArtifactPublicService_QuestionAnswering - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaQuestionAnsweringResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: id of the namespace - in: path - required: true - type: string - - name: catalogId - description: id of the catalog - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ArtifactPublicServiceQuestionAnsweringBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Catalog - /v1beta/namespaces/{namespaceId}/catalogs/{catalogId}/runs: - get: - summary: List Catalog Runs - operationId: ArtifactPublicService_ListCatalogRuns - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListCatalogRunsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: The ID of the owner of the catalog. - in: path - required: true - type: string - - name: catalogId - description: The ID of the catalog for which the runs will be listed. - in: path - required: true - type: string - - name: page - description: The page number to retrieve. - in: query - required: false - type: integer - format: int32 - - name: pageSize - description: |- - The maximum number of items per page to return. The default and cap values - are 10 and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - tags: - - Catalog - /v1alpha/namespaces/{namespaceId}/object-upload-url: - get: - summary: Get Object Upload URL - operationId: ArtifactPublicService_GetObjectUploadURL - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetObjectUploadURLResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: id of the namespace - in: path - required: true - type: string - - name: objectName - description: |- - name of the object with length limit to 1024 characters. - this is the unique identifier of the object in the namespace - in: query - required: true - type: string - - name: urlExpireDays - description: |- - Expiration time in days for the URL. - Minimum is 1 day and maximum is 7 days. If not set or set to 0, defaults to 1 day. - in: query - required: false - type: integer - format: int32 - - name: lastModifiedTime - description: |- - last modified time this value is provided by the client when the object url is created - it must be in RFC3339 formatted date-time string - in: query - required: false - type: string - format: date-time - - name: objectExpireDays - description: |- - object live time in days - minimum is 1 day. if set to 0, the object will not be deleted automatically - in: query - required: false - type: integer - format: int32 - tags: - - Object - /v1alpha/namespaces/{namespaceId}/object-download-url: - get: - summary: Get Object Download URL - operationId: ArtifactPublicService_GetObjectDownloadURL - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetObjectDownloadURLResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/rpcStatus' - parameters: - - name: namespaceId - description: id of the namespace - in: path - required: true - type: string - - name: objectUid - description: uid of the object - in: query - required: true - type: string - - name: urlExpireDays - description: |- - expiration time in days for the URL. - minimum is 1 day. if not set or set to 0, defaults to 1 day. - in: query - required: false - type: integer - format: int32 - tags: - - Object -definitions: - ArtifactPublicServiceCreateCatalogBody: - type: object - properties: - name: - type: string - description: The catalog name. - description: - type: string - description: The catalog description. - tags: - type: array - items: - type: string - description: The catalog tags. - description: CreateCatalogRequest represents a request to create a catalog. - ArtifactPublicServiceQuestionAnsweringBody: - type: object - properties: - question: - type: string - title: question to be answered - topK: - type: integer - format: int32 - title: top k default to 5 - title: QuestionAnsweringRequest - ArtifactPublicServiceSimilarityChunksSearchBody: - type: object - properties: - textPrompt: - type: string - title: text prompt - topK: - type: integer - format: int64 - title: top k - title: Similar chunk search request - ArtifactPublicServiceUpdateCatalogBody: - type: object - properties: - description: - type: string - description: The catalog description. - tags: - type: array - items: - type: string - description: The catalog tags. - description: UpdateCatalogRequest represents a request to update a catalog. - ArtifactPublicServiceUpdateChunkBody: - type: object - properties: - retrievable: - type: boolean - title: whether the chunk is retrievable - title: Create chunk response - GetFileCatalogResponseChunkType: - type: string - enum: - - CHUNK_TYPE_TEXT - - CHUNK_TYPE_IMAGE - - CHUNK_TYPE_AUDIO - - CHUNK_TYPE_VIDEO - description: |- - - CHUNK_TYPE_TEXT: text - - CHUNK_TYPE_IMAGE: image - - CHUNK_TYPE_AUDIO: audio - - CHUNK_TYPE_VIDEO: video - title: chunk type - GetFileCatalogResponseMetadata: - type: object - properties: - fileUid: - type: string - title: file uid - fileId: - type: string - title: file id - fileType: - title: file type - allOf: - - $ref: '#/definitions/v1alphaFileType' - fileSize: - type: string - format: int64 - title: file size in bytes - fileUploadTime: - type: string - format: date-time - title: upload time - fileProcessStatus: - title: file process status - allOf: - - $ref: '#/definitions/v1alphaFileProcessStatus' - title: metadata - GetFileCatalogResponseText: - type: object - properties: - pipelineIds: - type: array - items: - type: string - title: pipelines - transformedContent: - type: string - title: transformed content - transformedContentChunkNum: - type: integer - format: int32 - title: transformed content chunk number - transformedContentTokenNum: - type: integer - format: int32 - title: transformed content token number - transformedContentUpdateTime: - type: string - format: date-time - title: transformed content update time - title: text message - artifactv1alphaChunk: - type: object - properties: - chunkUid: - type: string - title: unique identifier of the chunk - retrievable: - type: boolean - title: whether the chunk is retrievable - startPos: - type: integer - format: int64 - title: start position of the chunk in the source file - endPos: - type: integer - format: int64 - title: end position of the chunk in the source file - tokens: - type: integer - format: int64 - title: tokens of the chunk - createTime: - type: string - format: date-time - title: creation time of the chunk - originalFileUid: - type: string - title: original file unique identifier - description: The Chunk message represents a chunk of data in the artifact system. - protobufAny: - type: object - properties: - '@type': - type: string - additionalProperties: {} - protobufNullValue: - type: string - description: |- - `NullValue` is a singleton enumeration to represent the null value for the - `Value` type union. - - The JSON representation for `NullValue` is JSON `null`. - rpcStatus: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - $ref: '#/definitions/protobufAny' - v1alphaCatalog: - type: object - properties: - catalogUid: - type: string - description: The catalog uid. - catalogId: - type: string - description: The catalog id. - name: - type: string - description: The catalog name. - description: - type: string - description: The catalog description. - createTime: - type: string - description: The creation time of the catalog. - updateTime: - type: string - description: The last update time of the catalog. - ownerName: - type: string - description: The owner/namespace of the catalog. - tags: - type: array - items: - type: string - description: The catalog tags. - convertingPipelines: - type: array - items: - type: string - description: The catalog converting pipelines. - splittingPipelines: - type: array - items: - type: string - description: The catalog splitting pipelines. - embeddingPipelines: - type: array - items: - type: string - description: The catalog embedding pipelines. - downstreamApps: - type: array - items: - type: string - title: The downstream apps - totalFiles: - type: integer - format: int64 - description: The total files in catalog. - totalTokens: - type: integer - format: int64 - description: The total tokens in catalog. - usedStorage: - type: string - format: uint64 - description: The current used storage in catalog. - description: Catalog represents a catalog. - v1alphaCatalogRun: - type: object - properties: - uid: - type: string - description: Unique identifier for each run. - readOnly: true - catalogUid: - type: string - title: catalog uid - readOnly: true - fileUids: - type: array - items: - type: string - description: The file uids. - readOnly: true - action: - description: Action of the catalog run. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaCatalogRunAction' - status: - description: Current status of the run. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaRunStatus' - source: - description: Origin of the run. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaRunSource' - totalDuration: - type: integer - format: int32 - description: Time taken to complete the run in milliseconds. - readOnly: true - runnerId: - type: string - title: Runner ID. (User UID) - readOnly: true - namespaceId: - type: string - description: Namespace ID. - readOnly: true - payload: - type: object - description: Run request payload. - readOnly: true - startTime: - type: string - format: date-time - description: Time when the run started execution. - readOnly: true - completeTime: - type: string - format: date-time - description: Time when the run completed. - readOnly: true - error: - type: string - description: Error message if the run failed. - readOnly: true - creditAmount: - type: number - format: float - description: Credits used of internal accounting metric. - readOnly: true - description: CatalogRun represents a single execution of a catalog action. - v1alphaCatalogRunAction: - type: string - enum: - - CATALOG_RUN_ACTION_CREATE - - CATALOG_RUN_ACTION_UPDATE - - CATALOG_RUN_ACTION_DELETE - - CATALOG_RUN_ACTION_CREATE_FILE - - CATALOG_RUN_ACTION_PROCESS_FILE - - CATALOG_RUN_ACTION_DELETE_FILE - description: |- - CatalogRunAction describes the actions a user has over a catalog. - - - CATALOG_RUN_ACTION_CREATE: Create catalog. - - CATALOG_RUN_ACTION_UPDATE: Update catalog. - - CATALOG_RUN_ACTION_DELETE: Delete catalog. - - CATALOG_RUN_ACTION_CREATE_FILE: Upload catalog file. - - CATALOG_RUN_ACTION_PROCESS_FILE: Process catalog file. - - CATALOG_RUN_ACTION_DELETE_FILE: Delete catalog file. - v1alphaCreateCatalogResponse: - type: object - properties: - catalog: - description: The created catalog. - allOf: - - $ref: '#/definitions/v1alphaCatalog' - description: CreateCatalogResponse represents a response for creating a catalog. - v1alphaCreateRepositoryTagResponse: - type: object - properties: - tag: - description: The created tag. - allOf: - - $ref: '#/definitions/v1alphaRepositoryTag' - description: CreateRepositoryTagResponse contains the created tag. - v1alphaDeleteCatalogFileResponse: - type: object - properties: - fileUid: - type: string - description: The file uid. - title: delete file response - v1alphaDeleteCatalogResponse: - type: object - properties: - catalog: - description: The catalog identifier. - allOf: - - $ref: '#/definitions/v1alphaCatalog' - description: DeleteCatalogResponse represents a response for deleting a catalog. - v1alphaDeleteRepositoryTagResponse: - type: object - description: DeleteRepositoryTagResponse represent an empty response. - v1alphaFile: - type: object - properties: - fileUid: - type: string - title: file uid - readOnly: true - name: - type: string - title: file name - type: - title: file type - allOf: - - $ref: '#/definitions/v1alphaFileType' - processStatus: - title: file process status - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaFileProcessStatus' - processOutcome: - type: string - title: file process message - readOnly: true - retrievable: - type: boolean - title: retrievable(this is reserved for future use) - readOnly: true - content: - type: string - title: content(this is reserved for future use) - ownerUid: - type: string - title: owner/namespace uid - readOnly: true - creatorUid: - type: string - title: creator uid from authn token - readOnly: true - catalogUid: - type: string - title: catalog uid - readOnly: true - createTime: - type: string - format: date-time - title: create time - readOnly: true - updateTime: - type: string - format: date-time - title: update time - readOnly: true - deleteTime: - type: string - format: date-time - title: delete time - readOnly: true - size: - type: string - format: int64 - title: file size in bytes - readOnly: true - totalChunks: - type: integer - format: int32 - title: total chunks - readOnly: true - totalTokens: - type: integer - format: int32 - title: total tokens - readOnly: true - title: file - required: - - name - - type - v1alphaFileProcessStatus: - type: string - enum: - - FILE_PROCESS_STATUS_NOTSTARTED - - FILE_PROCESS_STATUS_WAITING - - FILE_PROCESS_STATUS_CONVERTING - - FILE_PROCESS_STATUS_CHUNKING - - FILE_PROCESS_STATUS_EMBEDDING - - FILE_PROCESS_STATUS_COMPLETED - - FILE_PROCESS_STATUS_FAILED - description: |- - - FILE_PROCESS_STATUS_NOTSTARTED: NOTSTARTED - - FILE_PROCESS_STATUS_WAITING: file is waiting for embedding process - - FILE_PROCESS_STATUS_CONVERTING: file is converting - - FILE_PROCESS_STATUS_CHUNKING: file is chunking - - FILE_PROCESS_STATUS_EMBEDDING: file is embedding - - FILE_PROCESS_STATUS_COMPLETED: completed - - FILE_PROCESS_STATUS_FAILED: failed - title: file embedding process status - v1alphaFileType: - type: string - enum: - - FILE_TYPE_TEXT - - FILE_TYPE_PDF - - FILE_TYPE_MARKDOWN - - FILE_TYPE_PNG - - FILE_TYPE_JPEG - - FILE_TYPE_JPG - - FILE_TYPE_HTML - - FILE_TYPE_DOCX - - FILE_TYPE_DOC - - FILE_TYPE_PPT - - FILE_TYPE_PPTX - - FILE_TYPE_XLS - - FILE_TYPE_XLSX - - FILE_TYPE_CSV - description: |- - - FILE_TYPE_TEXT: text - - FILE_TYPE_PDF: PDF - - FILE_TYPE_MARKDOWN: MARKDOWN - - FILE_TYPE_PNG: PNG(not supported yet) - - FILE_TYPE_JPEG: JPEG(not supported yet) - - FILE_TYPE_JPG: JPG(not supported yet) - - FILE_TYPE_HTML: HTML - - FILE_TYPE_DOCX: DOCX - - FILE_TYPE_DOC: DOC - - FILE_TYPE_PPT: PPT - - FILE_TYPE_PPTX: PPTX - - FILE_TYPE_XLS: XLS - - FILE_TYPE_XLSX: XLSX - - FILE_TYPE_CSV: CSV - title: file type - v1alphaGetFileCatalogResponse: - type: object - properties: - originalData: - type: string - title: original data is encoded in base64 - metadata: - title: file catalog - allOf: - - $ref: '#/definitions/GetFileCatalogResponseMetadata' - text: - title: text - allOf: - - $ref: '#/definitions/GetFileCatalogResponseText' - chunks: - type: array - items: - type: object - $ref: '#/definitions/v1alphaGetFileCatalogResponseChunk' - title: chunks - title: GetFileCatalogResponse - v1alphaGetFileCatalogResponseChunk: - type: object - properties: - uid: - type: string - title: chunk uid - type: - title: chunk type. i.e. text, image, audio, and video - allOf: - - $ref: '#/definitions/GetFileCatalogResponseChunkType' - startPos: - type: integer - format: int32 - title: chunk start position - endPos: - type: integer - format: int32 - title: chunk end position - content: - type: string - title: chunk content - tokensNum: - type: integer - format: int32 - title: chunk tokens num - embedding: - type: array - items: - type: number - format: float - title: embedding. float32 array - createTime: - type: string - format: date-time - title: chunk create time - retrievable: - type: boolean - title: chunk retrievable - title: chunk message - v1alphaGetObjectDownloadURLResponse: - type: object - properties: - downloadUrl: - type: string - title: download url - urlExpireAt: - type: string - format: date-time - title: expire at in UTC (UTC+0) - object: - title: object - allOf: - - $ref: '#/definitions/v1alphaObject' - title: GetObjectDownloadURLResponse - v1alphaGetObjectResponse: - type: object - properties: - object: - title: object - allOf: - - $ref: '#/definitions/v1alphaObject' - title: GetObjectResponse - v1alphaGetObjectURLResponse: - type: object - properties: - objectUrl: - title: object url - allOf: - - $ref: '#/definitions/v1alphaObjectURL' - title: GetObjectURLResponse - v1alphaGetObjectUploadURLResponse: - type: object - properties: - uploadUrl: - type: string - title: upload url - urlExpireAt: - type: string - format: date-time - title: expire at in UTC (UTC+0) - object: - title: object - allOf: - - $ref: '#/definitions/v1alphaObject' - title: GetObjectUploadURLResponse - v1alphaGetRepositoryTagResponse: - type: object - properties: - tag: - description: The created tag. - allOf: - - $ref: '#/definitions/v1alphaRepositoryTag' - description: GetRepositoryTagResponse contains the created tag. - v1alphaGetSourceFileResponse: - type: object - properties: - sourceFile: - title: source file(either original file or converted file) - allOf: - - $ref: '#/definitions/v1alphaSourceFile' - title: get source file response - v1alphaListCatalogFilesFilter: - type: object - properties: - fileUids: - type: array - items: - type: string - description: The file uids. - title: |- - list file filter - todo: support more parameters - v1alphaListCatalogFilesResponse: - type: object - properties: - files: - type: array - items: - type: object - $ref: '#/definitions/v1alphaFile' - description: The list of files. - totalSize: - type: integer - format: int32 - description: The total number of files. - pageSize: - type: integer - format: int32 - description: The requested page size. - nextPageToken: - type: string - title: next page token - filter: - description: The filter. - allOf: - - $ref: '#/definitions/v1alphaListCatalogFilesFilter' - title: list files response - v1alphaListCatalogRunsResponse: - type: object - properties: - catalogRuns: - type: array - items: - type: object - $ref: '#/definitions/v1alphaCatalogRun' - description: The list of runs. - readOnly: true - totalSize: - type: string - format: int64 - description: The total number of runs matching the request. - readOnly: true - page: - type: integer - format: int32 - description: The current page number. - readOnly: true - pageSize: - type: integer - format: int32 - description: The number of items per page. - readOnly: true - description: ListCatalogRunsResponse is the response message for ListCatalogRuns. - v1alphaListCatalogsResponse: - type: object - properties: - catalogs: - type: array - items: - type: object - $ref: '#/definitions/v1alphaCatalog' - description: The catalogs container. - description: GetCatalogsResponse represents a response for getting all catalogs from users. - v1alphaListChunksResponse: - type: object - properties: - chunks: - type: array - items: - type: object - $ref: '#/definitions/artifactv1alphaChunk' - title: repeated chunks - description: The ListChunksResponse message represents a response containing a list of chunks in the artifact system. - v1alphaListRepositoryTagsResponse: - type: object - properties: - tags: - type: array - items: - type: object - $ref: '#/definitions/v1alphaRepositoryTag' - description: A list of repository tags. - totalSize: - type: integer - format: int32 - description: Total number of tags. - pageSize: - type: integer - format: int32 - description: The requested page size. - page: - type: integer - format: int32 - description: The requested page offset. - description: ListRepositoryTagsResponse contains a list of container image tags. - v1alphaObject: - type: object - properties: - uid: - type: string - title: uid - name: - type: string - title: name of the object - size: - type: string - format: int64 - title: size in bytes - contentType: - type: string - title: |- - content type - this is mime type from content-type header of http request or from file extension - namespaceUid: - type: string - title: namespace uid - creator: - type: string - title: creator - isUploaded: - type: boolean - title: if file is uploaded - path: - type: string - title: object path(optional) - objectExpireDays: - type: integer - format: int32 - title: |- - object live time in days - if set to 0, the object will not be deleted automatically - lastModifiedTime: - type: string - format: date-time - title: last modified time - createdTime: - type: string - format: date-time - title: created time - updatedTime: - type: string - format: date-time - title: updated time - title: Object - v1alphaObjectURL: - type: object - properties: - uid: - type: string - title: The unique identifier of the ObjectURL - namespaceUid: - type: string - title: The namespace UID associated with this ObjectURL - objectUid: - type: string - title: The object UID associated with this ObjectURL - urlExpireAt: - type: string - format: date-time - title: The expiration time of the URL - minioUrlPath: - type: string - title: The MinIO URL path - encodedUrlPath: - type: string - title: The encoded URL path - type: - type: string - title: The type of URL (download or upload) - createTime: - type: string - format: date-time - title: The creation time of the ObjectURL - updateTime: - type: string - format: date-time - title: The last update time of the ObjectURL - deleteTime: - type: string - format: date-time - title: The deletion time of the ObjectURL, if applicable - title: ObjectUploadURL - v1alphaProcessCatalogFilesRequest: - type: object - properties: - fileUids: - type: array - items: - type: string - description: The file uid. - title: Process Catalog File Request - required: - - fileUids - v1alphaProcessCatalogFilesResponse: - type: object - properties: - files: - type: array - items: - type: object - $ref: '#/definitions/v1alphaFile' - description: The file uid. - title: Process Catalog File Response - v1alphaQuestionAnsweringResponse: - type: object - properties: - answer: - type: string - title: answer to the question - similarChunks: - type: array - items: - type: object - $ref: '#/definitions/v1alphaSimilarityChunk' - title: chunks - title: QuestionAnsweringResponse - v1alphaRepositoryTag: - type: object - properties: - name: - type: string - description: |- - The name of the tag, defined by its parent repository and ID. - - Format: `repositories/{repository.id}/tags/{tag.id}`. - id: - type: string - description: The tag identifier. - digest: - type: string - description: Unique identifier, computed from the manifest the tag refers to. - updateTime: - type: string - format: date-time - description: Tag update time, i.e. timestamp of the last push. - readOnly: true - description: |- - RepositoryTag contains information about the version of some content in a - repository. - v1alphaRunSource: - type: string - enum: - - RUN_SOURCE_CONSOLE - - RUN_SOURCE_API - description: |- - RunSource defines the source of a pipeline or model run. - - - RUN_SOURCE_CONSOLE: Run from frontend UI. - - RUN_SOURCE_API: Run from API or SDK. - v1alphaRunStatus: - type: string - enum: - - RUN_STATUS_PROCESSING - - RUN_STATUS_COMPLETED - - RUN_STATUS_FAILED - - RUN_STATUS_QUEUED - description: |- - RunStatus defines the status of a pipeline or model run. - - - RUN_STATUS_PROCESSING: Run in progress. - - RUN_STATUS_COMPLETED: Run succeeded. - - RUN_STATUS_FAILED: Run failed. - - RUN_STATUS_QUEUED: Run is waiting to be executed. - v1alphaSimilarityChunk: - type: object - properties: - chunkUid: - type: string - title: chunk uid - similarityScore: - type: number - format: float - title: similarity score - textContent: - type: string - title: content - sourceFile: - type: string - title: source file's name - chunkMetadata: - title: chunk - allOf: - - $ref: '#/definitions/artifactv1alphaChunk' - title: similarity chunks - v1alphaSimilarityChunksSearchResponse: - type: object - properties: - similarChunks: - type: array - items: - type: object - $ref: '#/definitions/v1alphaSimilarityChunk' - title: chunks - title: Similar chunk search response - v1alphaSourceFile: - type: object - properties: - originalFileUid: - type: string - title: original file unique identifier - content: - type: string - title: content - createTime: - type: string - format: date-time - title: creation time of the source file - updateTime: - type: string - format: date-time - title: update time of the source file - description: The SourceFile message represents a source file in the artifact system. - v1alphaUpdateCatalogResponse: - type: object - properties: - catalog: - description: The updated catalog. - allOf: - - $ref: '#/definitions/v1alphaCatalog' - description: UpdateCatalogResponse represents a response for updating a catalog. - v1alphaUpdateChunkResponse: - type: object - properties: - chunk: - title: chunk - allOf: - - $ref: '#/definitions/artifactv1alphaChunk' - title: update chunk response - v1alphaUpdateObjectResponse: - type: object - properties: - object: - title: object - allOf: - - $ref: '#/definitions/v1alphaObject' - title: UpdateObjectResponse - v1alphaUploadCatalogFileResponse: - type: object - properties: - file: - title: file - allOf: - - $ref: '#/definitions/v1alphaFile' - title: upload file response -securityDefinitions: - Bearer: - type: apiKey - description: Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345` - name: Authorization - in: header - x-default: Bearer instill_sk_*** -security: - - Bearer: [] -externalDocs: - description: More about Instill AI - url: https://www.instill.tech/docs diff --git a/openapiv2/core/service.swagger.yaml b/openapiv2/core/service.swagger.yaml deleted file mode 100644 index 32c65f49..00000000 --- a/openapiv2/core/service.swagger.yaml +++ /dev/null @@ -1,2193 +0,0 @@ -swagger: "2.0" -info: - title: "\U0001F52E Core" - description: Core endpoints to manage user resources - version: v0.44.1-beta - contact: - name: Instill AI - url: https://github.com/instill-ai - email: hello@instill.tech - license: - name: Elastic License 2.0 (ELv2) - url: https://github.com/instill-ai/protobufs/blob/main/LICENSE -tags: - - name: User - description: User endpoints - - name: Organization - description: Organization endpoints - - name: Membership - description: Membership endpoints - - name: Token - description: Token endpoints - - name: Subscription - description: Subscription endpoints - - name: Credit - description: Credit endpoints - - name: Metric - description: Metric endpoints - - name: Utils - description: Util endpoints -host: api.instill.tech -schemes: - - https - - http -consumes: - - application/json -produces: - - application/json -paths: - /v1beta/user: - get: - summary: Get the authenticated user - description: Returns the details of the authenticated user. - operationId: MgmtPublicService_GetAuthenticatedUser - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetAuthenticatedUserResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - tags: - - User - patch: - summary: Update the authenticated user - description: |- - Updates the information of the authenticated user. - - In REST requests, only the supplied user fields will be taken into account - when updating the resource. - operationId: MgmtPublicService_PatchAuthenticatedUser - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaPatchAuthenticatedUserResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: user - description: The user fields that will replace the existing ones. - in: body - required: true - schema: - $ref: '#/definitions/v1betaAuthenticatedUser' - required: - - user - tags: - - User - /v1beta/users: - get: - summary: List users - description: Returns a paginated list of users. - operationId: MgmtPublicService_ListUsers - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListUsersResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of users to return. If this parameter is unspecified, - at most 10 pipelines will be returned. The cap value for this parameter is - 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - tags: - - User - /v1beta/users/{userId}: - get: - summary: Get a user - description: Returns the details of a user by their ID. - operationId: MgmtPublicService_GetUser - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetUserResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: userId - description: User ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - User - /v1beta/organizations: - get: - summary: List organizations - description: Returns a paginated list of organizations. - operationId: MgmtPublicService_ListOrganizations - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListOrganizationsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of organizations to return. If this parameter is - unspecified, at most 10 pipelines will be returned. The cap value for this - parameter is 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - tags: - - Organization - post: - summary: Create an organization - description: Creates an organization. - operationId: MgmtPublicService_CreateOrganization - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCreateOrganizationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organization - description: The properties of the organization to be created. - in: body - required: true - schema: - $ref: '#/definitions/v1betaOrganization' - tags: - - Organization - /v1beta/organizations/{organizationId}: - get: - summary: Get an organization - description: Returns the organization details by its ID. - operationId: MgmtPublicService_GetOrganization - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetOrganizationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Organization ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Organization - delete: - summary: Delete an organization - description: Accesses and deletes an organization by ID. - operationId: MgmtPublicService_DeleteOrganization - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteOrganizationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Organization ID - in: path - required: true - type: string - tags: - - Organization - patch: - summary: Update an organization - description: |- - Accesses and updates an organization by ID. - - In REST requests, only the supplied organization fields will be taken into - account when updating the resource. - operationId: MgmtPublicService_UpdateOrganization - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaUpdateOrganizationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Organization ID - in: path - required: true - type: string - - name: organization - description: The organization fields that will replace the existing ones. - in: body - required: true - schema: - $ref: '#/definitions/v1betaOrganization' - tags: - - Organization - /v1beta/users/{userId}/memberships: - get: - summary: List user memberships - description: Returns the memberships of a user. - operationId: MgmtPublicService_ListUserMemberships - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListUserMembershipsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: userId - description: User ID - in: path - required: true - type: string - tags: - - Membership - /v1beta/users/{userId}/memberships/{organizationId}: - get: - summary: Get a user membership - description: |- - Returns the details of the relationship between a user and an - organization. The authenticated must match the membership parent. - operationId: MgmtPublicService_GetUserMembership - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetUserMembershipResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: userId - description: User ID - in: path - required: true - type: string - - name: organizationId - description: Organization ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Membership - delete: - summary: Delete a user membership - description: Accesses and deletes a user membership by parent and membership IDs. - operationId: MgmtPublicService_DeleteUserMembership - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteUserMembershipResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: userId - description: User ID - in: path - required: true - type: string - - name: organizationId - description: Organization ID - in: path - required: true - type: string - tags: - - Membership - put: - summary: Update a user membership - description: Accesses and updates a user membership by parent and membership IDs. - operationId: MgmtPublicService_UpdateUserMembership - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaUpdateUserMembershipResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: userId - description: User ID - in: path - required: true - type: string - - name: organizationId - description: Organization ID - in: path - required: true - type: string - - name: membership - description: The membership fields to update. - in: body - required: true - schema: - $ref: '#/definitions/v1betaUserMembership' - required: - - membership - - name: updateMask - description: |- - The update mask specifies the subset of fields that should be modified. - - For more information about this field, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#field-mask. - in: query - required: true - type: string - tags: - - Membership - /v1beta/organizations/{organizationId}/memberships: - get: - summary: List organization memberships - description: Returns a paginated list of the user memberships in an organization. - operationId: MgmtPublicService_ListOrganizationMemberships - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListOrganizationMembershipsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Organization ID - in: path - required: true - type: string - tags: - - Membership - /v1beta/organizations/{organizationId}/memberships/{userId}: - get: - summary: Get a an organization membership - description: Returns the details of a user membership within an organization. - operationId: MgmtPublicService_GetOrganizationMembership - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetOrganizationMembershipResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Organization ID - in: path - required: true - type: string - - name: userId - description: User ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Membership - delete: - summary: Delete an organization membership - description: Deletes a user membership within an organization. - operationId: MgmtPublicService_DeleteOrganizationMembership - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteOrganizationMembershipResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Organization ID - in: path - required: true - type: string - - name: userId - description: User ID - in: path - required: true - type: string - tags: - - Membership - put: - summary: Uppdate an organization membership - description: Updates a user membership within an organization. - operationId: MgmtPublicService_UpdateOrganizationMembership - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaUpdateOrganizationMembershipResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Organization ID - in: path - required: true - type: string - - name: userId - description: User ID - in: path - required: true - type: string - - name: membership - description: The membership fields to update. - in: body - required: true - schema: - $ref: '#/definitions/v1betaOrganizationMembership' - required: - - membership - - name: updateMask - description: |- - The update mask specifies the subset of fields that should be modified. - - For more information about this field, see - https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#field-mask. - in: query - required: true - type: string - tags: - - Membership - /v1beta/user/subscription: - get: - summary: Get the subscription of the authenticated user - description: Returns the subscription details of the authenticated user. - operationId: MgmtPublicService_GetAuthenticatedUserSubscription - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetAuthenticatedUserSubscriptionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - tags: - - Subscription - /v1beta/organizations/{organizationId}/subscription: - get: - summary: Get the subscription of an organization - description: Returns the subscription details of an organization. - operationId: MgmtPublicService_GetOrganizationSubscription - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetOrganizationSubscriptionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: organizationId - description: Oragnization ID - in: path - required: true - type: string - tags: - - Subscription - /v1beta/tokens: - get: - summary: List API tokens - description: Returns a paginated list of the API tokens of the authenticated user. - operationId: MgmtPublicService_ListTokens - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListTokensResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of tokens to return. If this parameter is unspecified, - at most 10 pipelines will be returned. The cap value for this parameter is - 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - tags: - - Token - post: - summary: Create an API token - description: Creates an API token for the authenticated user. - operationId: MgmtPublicService_CreateToken - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCreateTokenResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: token - description: The properties of the token to be created. - in: body - required: true - schema: - $ref: '#/definitions/v1betaApiToken' - tags: - - Token - /v1beta/tokens/{tokenId}: - get: - summary: Get an API token - description: Returns the details of an API token. - operationId: MgmtPublicService_GetToken - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetTokenResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: tokenId - description: Token ID - in: path - required: true - type: string - tags: - - Token - delete: - summary: Delete an API token - description: Deletes an API token. - operationId: MgmtPublicService_DeleteToken - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteTokenResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: tokenId - description: Token ID - in: path - required: true - type: string - tags: - - Token - /v1beta/validate_token: - post: - summary: Validate an API token - description: Validates an API token. - operationId: MgmtPublicService_ValidateToken - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaValidateTokenResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - tags: - - Token - /v1beta/namespaces/{namespaceId}/credit: - get: - summary: Get the remaining Instill Credit - description: |- - This endpoint returns the remaining [Instill Credit](https://www.instill.tech/docs/vdp/credit) of a given user or - organization. The requested credit owner must be either the authenticated - user or an organization they belong to. - - On Instill Core, this endpoint will return a 404 Not Found status. - operationId: MgmtPublicService_GetRemainingCredit - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetRemainingCreditResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - tags: - - Credit - /v1beta/check-namespace: - post: - summary: Check if a namespace is in use - description: |- - Returns the availability of a namespace or, alternatively, the type of - resource that is using it. - operationId: MgmtPublicService_CheckNamespace - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCheckNamespaceResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: body - description: |- - CheckNamespaceRequest represents a request to verify if a namespace is - available. - in: body - required: true - schema: - $ref: '#/definitions/v1betaCheckNamespaceRequest' - tags: - - Utils - /v1beta/metrics/vdp/pipeline/triggers: - get: - summary: List pipeline triggers - description: Returns a paginated list of pipeline executions. - operationId: MgmtPublicService_ListPipelineTriggerRecords - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListPipelineTriggerRecordsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of triggers to return. If this parameter is unspecified, - at most 100 pipelines will be returned. The cap value for this parameter is - 1000 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - tags: - - Metric - /v1beta/metrics/vdp/pipeline/charts: - get: - summary: List pipeline trigger time charts - description: |- - Returns a timeline of pipline trigger counts for the pipelines of a given - owner. - NOTE: This method will soon return the trigger counts of a given requester. - operationId: MgmtPublicService_ListPipelineTriggerChartRecords - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListPipelineTriggerChartRecordsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: aggregationWindow - description: Aggregation window in nanoseconds. - in: query - required: false - type: integer - format: int32 - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - tags: - - Metric - /v1beta/metrics/credit/charts: - get: - summary: List Instill Credit consumption time charts - description: |- - Returns a timeline of Instill Credit consumption for a given owner. The - response will contain one set of records (datapoints) per consumption - source (e.g. "pipeline", "model"). Each datapoint represents the amount - consumed in a time bucket. - operationId: MgmtPublicService_ListCreditConsumptionChartRecords - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListCreditConsumptionChartRecordsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: The ID of the namespace that owns the credit. - in: query - required: true - type: string - - name: aggregationWindow - description: |- - Aggregation window. The value is a positive duration string, i.e. a - sequence of decimal numbers, each with optional fraction and a unit - suffix, such as "300ms", "1.5h" or "2h45m". - The minimum (and default) window is 1h. - in: query - required: false - type: string - - name: start - description: |- - Beginning of the time range from which the records will be fetched. - The default value is the beginning of the current day, in UTC. - in: query - required: false - type: string - format: date-time - - name: stop - description: |- - End of the time range from which the records will be fetched. - The default value is the current timestamp. - in: query - required: false - type: string - format: date-time - tags: - - Metric -definitions: - ApiTokenState: - type: string - enum: - - STATE_INACTIVE - - STATE_ACTIVE - - STATE_EXPIRED - description: |- - State describes the state of an API token. - - - STATE_INACTIVE: Inactive. - - STATE_ACTIVE: Active. - - STATE_EXPIRED: Expired. - googlerpcStatus: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - $ref: '#/definitions/protobufAny' - mgmtv1betaStatus: - type: string - enum: - - STATUS_COMPLETED - - STATUS_ERRORED - description: |- - Status describes the output of an execution. - - - STATUS_COMPLETED: Successfully completed. - - STATUS_ERRORED: Finished with error. - protobufAny: - type: object - properties: - '@type': - type: string - additionalProperties: {} - v1betaApiToken: - type: object - properties: - lastUseTime: - type: string - format: date-time - description: |- - When users trigger a pipeline which uses an API token, the token is - updated with the current time. This field is used to track the last time - the token was used. - name: - type: string - description: |- - The name of the token, define by its ID. - - Format: `tokens/{token.id}`. - readOnly: true - uid: - type: string - description: API token UUID. - readOnly: true - id: - type: string - description: |- - API token resource ID (used in `name` as the last segment). This conforms - to RFC-1034, which restricts to letters, numbers, and hyphen, with the - first character a letter, the last a letter or a number, and a 63 - character maximum. - - This field can reflect the client(s) that will use the token. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - accessToken: - type: string - description: |- - An opaque access token representing the API token string. - - To validate the token, the recipient of the token needs to call the server - that issued the token. - readOnly: true - state: - description: State. - readOnly: true - allOf: - - $ref: '#/definitions/ApiTokenState' - tokenType: - type: string - description: Token type. Value is fixed to "Bearer". - readOnly: true - ttl: - type: integer - format: int32 - description: The time-to-live in seconds for this resource. - expireTime: - type: string - format: date-time - description: Expiration time. - description: API tokens allow users to make requests to the Instill AI API. - v1betaAuthenticatedUser: - type: object - properties: - name: - type: string - description: |- - The name of the user, defined by its ID. - - Format: `users/{user.id}`. - readOnly: true - uid: - type: string - description: |- - User UUID. This field is optionally set by users on creation (it will be - server-generated if unspecified). - id: - type: string - description: |- - Resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - - Note that the ID can be updated. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - email: - type: string - description: Email. - customerId: - type: string - description: Stripe customer ID. This field is used in Instill Cloud. - readOnly: true - role: - type: string - description: |- - Role. - - It must be one of the following allowed roles: - - `manager` - - `ai-researcher` - - `ai-engineer` - - `data-engineer` - - `data-scientist` - - `analytics-engineer` - - `hobbyist` - newsletterSubscription: - type: boolean - description: This defines whether the user is subscribed to Instill AI's newsletter. - cookieToken: - type: string - description: Console cookie token. - onboardingStatus: - description: Onboarding Status. - allOf: - - $ref: '#/definitions/v1betaOnboardingStatus' - profile: - description: Profile. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUserProfile' - description: |- - AuthenticatedUser contains the information of an authenticated user, i.e., - the public user information plus some fields that should only be accessed by - the user themselves. - required: - - id - - email - - newsletterSubscription - v1betaCheckNamespaceAdminResponse: - type: object - properties: - type: - description: Namespace type. - allOf: - - $ref: '#/definitions/v1betaCheckNamespaceAdminResponseNamespace' - uid: - type: string - description: Namespace UID. - user: - description: User. - allOf: - - $ref: '#/definitions/v1betaUser' - organization: - description: Organization. - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: |- - CheckNamespaceAdminResponse contains the availability of a namespace or the type - of resource that's using it. - v1betaCheckNamespaceAdminResponseNamespace: - type: string - enum: - - NAMESPACE_AVAILABLE - - NAMESPACE_USER - - NAMESPACE_ORGANIZATION - - NAMESPACE_RESERVED - description: |- - Namespace contains information about the availability of a namespace. - - - NAMESPACE_AVAILABLE: Available. - - NAMESPACE_USER: Namespace belongs to a user. - - NAMESPACE_ORGANIZATION: Namespace belongs to an organization. - - NAMESPACE_RESERVED: Reserved. - v1betaCheckNamespaceByUIDAdminResponse: - type: object - properties: - type: - description: Namespace type. - allOf: - - $ref: '#/definitions/v1betaCheckNamespaceByUIDAdminResponseNamespace' - id: - type: string - description: Namespace ID. - user: - description: User. - allOf: - - $ref: '#/definitions/v1betaUser' - organization: - description: Organization. - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: |- - CheckNamespaceByUIDAdminResponse contains the availability of a namespace or the type - of resource that's using it. - v1betaCheckNamespaceByUIDAdminResponseNamespace: - type: string - enum: - - NAMESPACE_AVAILABLE - - NAMESPACE_USER - - NAMESPACE_ORGANIZATION - - NAMESPACE_RESERVED - description: |- - Namespace contains information about the availability of a namespace. - - - NAMESPACE_AVAILABLE: Available. - - NAMESPACE_USER: Namespace belongs to a user. - - NAMESPACE_ORGANIZATION: Namespace belongs to an organization. - - NAMESPACE_RESERVED: Reserved. - v1betaCheckNamespaceRequest: - type: object - properties: - id: - type: string - description: The namespace ID to be checked. - description: |- - CheckNamespaceRequest represents a request to verify if a namespace is - available. - required: - - id - v1betaCheckNamespaceResponse: - type: object - properties: - type: - description: Namespace type. - allOf: - - $ref: '#/definitions/v1betaCheckNamespaceResponseNamespace' - description: |- - CheckNamespaceResponse contains the availability of a namespace or the type - of resource that's using it. - v1betaCheckNamespaceResponseNamespace: - type: string - enum: - - NAMESPACE_AVAILABLE - - NAMESPACE_USER - - NAMESPACE_ORGANIZATION - - NAMESPACE_RESERVED - description: |- - Namespace contains information about the availability of a namespace. - - - NAMESPACE_AVAILABLE: Available. - - NAMESPACE_USER: Namespace belongs to a user. - - NAMESPACE_ORGANIZATION: Namespace belongs to an organization. - - NAMESPACE_RESERVED: Reserved. - v1betaCreateOrganizationResponse: - type: object - properties: - organization: - description: The organization resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: CreateOrganizationResponse contains the created organization. - v1betaCreateTokenResponse: - type: object - properties: - token: - description: The created API token resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaApiToken' - description: CreateTokenResponse contains the created token. - v1betaCreditConsumptionChartRecord: - type: object - properties: - namespaceId: - type: string - description: The ID of the namespace that owns the credit. - timeBuckets: - type: array - items: - type: string - format: date-time - description: Time buckets. - readOnly: true - amount: - type: array - items: - type: number - format: float - description: Total credit consumed in each time bucket. - readOnly: true - source: - type: string - description: Credit consumption source (e.g. "pipeline", "model"). - readOnly: true - description: |- - CreditConsumptionChartRecord represents a timeline of Instill Credit - consumption. It contains a collection of (timestamp, amount) pairs that - represent the total credit consumption in a given time bucket. - required: - - namespaceId - v1betaDeleteOrganizationMembershipResponse: - type: object - description: DeleteOrganizationMembershipResponse is an empty response. - v1betaDeleteOrganizationResponse: - type: object - description: DeleteOrganizationResponse is an empty response. - v1betaDeleteTokenResponse: - type: object - description: DeleteTokenResponse is an empty response. - v1betaDeleteUserMembershipResponse: - type: object - description: DeleteUserMembershipResponse is an empty response. - v1betaGetAuthenticatedUserResponse: - type: object - properties: - user: - description: The authenticated user resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaAuthenticatedUser' - description: GetAuthenticatedUserResponse contains the requested authenticated user. - v1betaGetAuthenticatedUserSubscriptionResponse: - type: object - properties: - subscription: - description: The subscription resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUserSubscription' - description: GetAuthenticatedUserSubscriptionResponse contains the requested subscription. - v1betaGetOrganizationAdminResponse: - type: object - properties: - organization: - title: A organization resource - allOf: - - $ref: '#/definitions/v1betaOrganization' - title: GetOrganizationAdminResponse represents a response for a organization resource - v1betaGetOrganizationMembershipResponse: - type: object - properties: - membership: - description: The requested organization membership. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganizationMembership' - description: GetOrganizationMembershipResponse contains the organization membership. - v1betaGetOrganizationResponse: - type: object - properties: - organization: - description: The organization resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: GetOrganizationResponse contains the requested organization. - v1betaGetOrganizationSubscriptionAdminResponse: - type: object - properties: - subscription: - title: Subscription - allOf: - - $ref: '#/definitions/v1betaOrganizationSubscription' - title: GetOrganizationSubscriptionAdminResponse - v1betaGetOrganizationSubscriptionResponse: - type: object - properties: - subscription: - description: The subscription resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganizationSubscription' - description: GetOrganizationSubscriptionResponse contains the requested subscription. - v1betaGetRemainingCreditAdminResponse: - type: object - properties: - amount: - type: number - format: float - description: The requested credit. - description: |- - GetRemainingCreditAdminResponse contains the remaining credit of a user or - organization. - v1betaGetRemainingCreditResponse: - type: object - properties: - perishable: - type: number - format: float - description: Amount of perishable credit, i.e. credit with an expiration date. - readOnly: true - imperishable: - type: number - format: float - description: |- - Amount of imperishable credit, e.g. purchased credit, which doesn't - expire. - readOnly: true - total: - type: number - format: float - description: Total remaining credit. - readOnly: true - description: |- - GetRemainingCreditResponse contains the remaining credit of a user or - organization. - v1betaGetTokenResponse: - type: object - properties: - token: - description: The API token resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaApiToken' - description: GetTokenResponse contains the requested token. - v1betaGetUserAdminResponse: - type: object - properties: - user: - title: A user resource - allOf: - - $ref: '#/definitions/v1betaUser' - title: GetUserAdminResponse represents a response for a user resource - v1betaGetUserMembershipResponse: - type: object - properties: - membership: - description: The requested user membership. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUserMembership' - description: GetUserMembershipResponse contains the user membership. - v1betaGetUserResponse: - type: object - properties: - user: - description: The user resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUser' - description: GetUserResponse contains the requested user. - v1betaGetUserSubscriptionAdminResponse: - type: object - properties: - subscription: - title: Subscription - allOf: - - $ref: '#/definitions/v1betaUserSubscription' - title: GetUserSubscriptionAdminResponse - v1betaListCreditConsumptionChartRecordsResponse: - type: object - properties: - creditConsumptionChartRecords: - type: array - items: - type: object - $ref: '#/definitions/v1betaCreditConsumptionChartRecord' - description: Credit consumption timelines, aggregated by source. - description: |- - ListCreditConsumptionChartRecordsResponse contains a list of credit consumption - chart records. - v1betaListOrganizationMembershipsResponse: - type: object - properties: - memberships: - type: array - items: - type: object - $ref: '#/definitions/v1betaOrganizationMembership' - description: |- - The organization memberships, i.e., the users that belong to the - organization. - readOnly: true - description: ListOrganizationMembershipsResponse contains a list of memberships. - v1betaListOrganizationsAdminResponse: - type: object - properties: - organizations: - type: array - items: - type: object - $ref: '#/definitions/v1betaOrganization' - title: A list of organizations - nextPageToken: - type: string - description: Next page token. - totalSize: - type: integer - format: int32 - description: Total number of organizations. - title: ListOrganizationsAdminResponse represents a response for a list of organizations - v1betaListOrganizationsResponse: - type: object - properties: - organizations: - type: array - items: - type: object - $ref: '#/definitions/v1betaOrganization' - title: A list of organizations - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of organizations. - readOnly: true - title: ListOrganizationsResponse represents a response for a list of organizations - v1betaListPipelineTriggerChartRecordsResponse: - type: object - properties: - pipelineTriggerChartRecords: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipelineTriggerChartRecord' - description: A list of pipeline trigger records. - description: |- - ListPipelineTriggerChartRecordsResponse contains a list of pipeline trigger - chart records. - v1betaListPipelineTriggerRecordsResponse: - type: object - properties: - pipelineTriggerRecords: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipelineTriggerRecord' - description: A list of pipeline triggers. - nextPageToken: - type: string - description: Next page token. - totalSize: - type: integer - format: int32 - description: Total number of pipeline triggers. - description: ListPipelineTriggerRecordsResponse contains a list of pipeline triggers. - v1betaListTokensResponse: - type: object - properties: - tokens: - type: array - items: - type: object - $ref: '#/definitions/v1betaApiToken' - description: A list of API token resources. - nextPageToken: - type: string - description: Next page token. - totalSize: - type: integer - format: int32 - description: Total number of API token resources. - description: ListTokensResponse contains a list of API tokens. - v1betaListUserMembershipsResponse: - type: object - properties: - memberships: - type: array - items: - type: object - $ref: '#/definitions/v1betaUserMembership' - description: The user memberships, i.e., the organizations the user belongs to. - readOnly: true - description: ListUserMembershipsResponse contains a list of memberships. - v1betaListUsersAdminResponse: - type: object - properties: - users: - type: array - items: - type: object - $ref: '#/definitions/v1betaUser' - title: A list of users - nextPageToken: - type: string - description: Next page token. - totalSize: - type: integer - format: int32 - description: Total number of users. - title: ListUsersAdminResponse represents a response for a list of users - v1betaListUsersResponse: - type: object - properties: - users: - type: array - items: - type: object - $ref: '#/definitions/v1betaUser' - description: A list of user resources. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of users. - readOnly: true - description: ListUsersResponse contains a list of users. - v1betaLookUpOrganizationAdminResponse: - type: object - properties: - organization: - title: A organization resource - allOf: - - $ref: '#/definitions/v1betaOrganization' - title: LookUpOrganizationAdminResponse represents a response for a organization resource by admin - v1betaLookUpUserAdminResponse: - type: object - properties: - user: - title: A user resource - allOf: - - $ref: '#/definitions/v1betaUser' - title: LookUpUserAdminResponse represents a response for a user resource by admin - v1betaMembershipState: - type: string - enum: - - MEMBERSHIP_STATE_ACTIVE - - MEMBERSHIP_STATE_PENDING - description: |- - MembershipState describes the state of a user membership to an organization. - - - MEMBERSHIP_STATE_ACTIVE: Active. - - MEMBERSHIP_STATE_PENDING: Pending, i.e., a request has been sent to the user to join an - organization. - v1betaMode: - type: string - enum: - - MODE_SYNC - - MODE_ASYNC - description: |- - Mode describes the execution mode of the pipeline (sync or async). - - - MODE_SYNC: Synchronous (result is returned in the response). - - MODE_ASYNC: Asynchronous (response only contains acknowledgement). - v1betaOnboardingStatus: - type: string - enum: - - ONBOARDING_STATUS_IN_PROGRESS - - ONBOARDING_STATUS_COMPLETED - description: |- - OnboardingStatus describes the status of the user onboarding process. - - - ONBOARDING_STATUS_IN_PROGRESS: In progress, i.e., the user has initiated the onboarding process - but has not yet completed it. - - ONBOARDING_STATUS_COMPLETED: Completed. - v1betaOrganization: - type: object - properties: - name: - type: string - description: |- - The name of the organization, defined by its ID. - - Format: `organization/{organization.id}`. - readOnly: true - uid: - type: string - description: Organization UUID. - readOnly: true - id: - type: string - description: |- - Resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - - Note that the ID can be updated. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - owner: - description: The user that owns the organization. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUser' - profile: - description: Profile. - allOf: - - $ref: '#/definitions/v1betaOrganizationProfile' - permission: - title: Permission - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPermission' - description: |- - Organizations group several users. As entities, they can own resources such - as pipelines or releases. - required: - - profile - v1betaOrganizationMembership: - type: object - properties: - name: - type: string - description: |- - The resource name of the membership, which allows its access by - organization and user ID. - - Format: `organizations/{organization.id}/memberships/{user.id}`. - readOnly: true - role: - type: string - description: Role of the user in the organization. - state: - description: State of the membership. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaMembershipState' - user: - description: User information. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUser' - organization: - description: Organization information. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: |- - An organization membership defines the relationship between an organization - and a user that is attached to it. - required: - - role - v1betaOrganizationProfile: - type: object - properties: - displayName: - type: string - description: Display name. - bio: - type: string - description: Biography. - avatar: - type: string - description: Avatar in base64 format. - publicEmail: - type: string - description: Public email. - socialProfileLinks: - type: object - additionalProperties: - type: string - description: |- - Social profile links list the links to the organization's social profiles. - The key represents the provider, and the value is the corresponding URL. - description: OrganizationProfile describes the public data of an organization. - v1betaOrganizationSubscription: - type: object - properties: - plan: - description: Plan identifier. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganizationSubscriptionPlan' - detail: - description: Details of the associated Stripe subscription. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaStripeSubscriptionDetail' - usedSeats: - type: integer - format: int32 - description: Number of used seats within the organization subscription. - readOnly: true - description: OrganizationSubscription details describe the plan (i.e., features) an organization has access to. - v1betaOrganizationSubscriptionPlan: - type: string - enum: - - PLAN_FREE - - PLAN_TEAM - - PLAN_ENTERPRISE - description: |- - Enumerates the plan types for the organization subscription. - - - PLAN_FREE: Free plan. - - PLAN_TEAM: Team plan. - - PLAN_ENTERPRISE: Enterprise plan. - v1betaPatchAuthenticatedUserResponse: - type: object - properties: - user: - description: The updated user resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaAuthenticatedUser' - title: |- - PatchAuthenticatedUserResponse contains the updated user. - the authenticated user resource - v1betaPermission: - type: object - properties: - canEdit: - type: boolean - description: Defines whether the resource can be modified. - readOnly: true - description: Permission defines how a resource can be used. - v1betaPipelineTriggerChartRecord: - type: object - properties: - pipelineId: - type: string - description: Pipeline ID. - pipelineUid: - type: string - description: Pipeline UUID. - triggerMode: - description: Trigger mode. - allOf: - - $ref: '#/definitions/v1betaMode' - status: - description: Final status. - readOnly: true - allOf: - - $ref: '#/definitions/mgmtv1betaStatus' - timeBuckets: - type: array - items: - type: string - format: date-time - description: Time buckets. - readOnly: true - triggerCounts: - type: array - items: - type: integer - format: int32 - description: Aggregated trigger count in each time bucket. - readOnly: true - computeTimeDuration: - type: array - items: - type: number - format: float - description: Total computation time duration in each time bucket. - readOnly: true - pipelineReleaseId: - type: string - description: Version for the triggered pipeline if it is a release pipeline. - readOnly: true - pipelineReleaseUid: - type: string - description: Release UUID for the triggered pipeline if it is a release pipeline. - readOnly: true - description: |- - PipelineTriggerChartRecord contains pipeline trigger metrics, aggregated by - pipeline ID and time frame. - v1betaPipelineTriggerRecord: - type: object - properties: - triggerTime: - type: string - format: date-time - description: The moment when the pipeline was triggered. - pipelineTriggerId: - type: string - description: UUID of the trigger. - pipelineId: - type: string - description: Pipeline ID. - pipelineUid: - type: string - description: Pipeline UUID. - triggerMode: - description: Trigger mode. - allOf: - - $ref: '#/definitions/v1betaMode' - computeTimeDuration: - type: number - format: float - description: Total execution duration. - readOnly: true - status: - description: Final status. - readOnly: true - allOf: - - $ref: '#/definitions/mgmtv1betaStatus' - pipelineReleaseId: - type: string - description: If a release of the pipeline was triggered, pipeline version. - readOnly: true - pipelineReleaseUid: - type: string - description: If a release of the pipeline was triggered, release UUID. - readOnly: true - description: PipelineTriggerRecord represents a pipeline execution event. - v1betaStripeSubscriptionDetail: - type: object - properties: - productName: - type: string - description: Product name associated with the subscription in Stripe. - readOnly: true - id: - type: string - description: Unique identifier for the subscription. - readOnly: true - itemId: - type: string - description: Identifier for the specific item within the subscription. - readOnly: true - price: - type: number - format: float - description: Price of the subscription. - readOnly: true - canceledAt: - type: integer - format: int32 - description: Optional timestamp indicating when the subscription was canceled, if applicable. - readOnly: true - trialEnd: - type: integer - format: int32 - description: Optional timestamp indicating when the trial ended, if applicable. - readOnly: true - status: - description: Status of the subscription. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaStripeSubscriptionDetailStatus' - description: - type: string - description: Description of the subscription. - readOnly: true - description: StripeSubscriptionDetail describes the details of a subscription in Stripe. - v1betaStripeSubscriptionDetailStatus: - type: string - enum: - - STATUS_INCOMPLETE - - STATUS_INCOMPLETE_EXPIRED - - STATUS_TRIALING - - STATUS_ACTIVE - - STATUS_PAST_DUE - - STATUS_CANCELED - - STATUS_UNPAID - - STATUS_PAUSED - description: |- - Enumerates the status types for the user's subscription. - - - STATUS_INCOMPLETE: Incomplete. - - STATUS_INCOMPLETE_EXPIRED: Incomplete Expired. - - STATUS_TRIALING: Trialing. - - STATUS_ACTIVE: Active. - - STATUS_PAST_DUE: Past due. - - STATUS_CANCELED: Canceled. - - STATUS_UNPAID: Unpaid. - - STATUS_PAUSED: Paused. - v1betaSubtractCreditAdminResponse: - type: object - properties: - amount: - type: number - format: float - description: The remaining credit. - description: |- - SubtractCreditResponse contains the remaining credit of an account after the - subtraction. - v1betaUpdateOrganizationMembershipResponse: - type: object - properties: - membership: - description: The updated membership resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganizationMembership' - description: UpdateOrganizationMembershipResponse contains the updated membership. - v1betaUpdateOrganizationResponse: - type: object - properties: - organization: - description: The organization resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: UpdateOrganizationResponse contains the updated organization. - v1betaUpdateUserMembershipResponse: - type: object - properties: - membership: - description: The updated membership resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUserMembership' - description: UpdateUserMembershipResponse contains the updated membership. - v1betaUser: - type: object - properties: - name: - type: string - description: |- - The name of the user, defined by its ID. - - Format: `users/{user.id}`. - readOnly: true - uid: - type: string - description: |- - User UUID. This field is optionally set by users on creation (it will be - server-generated if unspecified). - readOnly: true - id: - type: string - description: |- - Resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - - Note that the ID can be updated. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - profile: - description: Profile. - allOf: - - $ref: '#/definitions/v1betaUserProfile' - description: |- - User describes an individual that interacts with Instill AI. It doesn't - contain any private information about the user. - v1betaUserMembership: - type: object - properties: - name: - type: string - description: |- - The resource name of the membership, which allows its access by user and - organization ID. - - Format: `users/{user.id}/memberships/{organization.id}`. - readOnly: true - role: - type: string - description: Role of the user in the organization. - readOnly: true - state: - description: State of the membership. - allOf: - - $ref: '#/definitions/v1betaMembershipState' - user: - description: User information. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUser' - organization: - description: Organization information. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: |- - A user membership defines the relationship between a user and an - organization they belong to. - required: - - state - v1betaUserProfile: - type: object - properties: - displayName: - type: string - description: Display name. - bio: - type: string - description: Biography. - avatar: - type: string - description: Avatar in base64 format. - publicEmail: - type: string - description: Public email. - companyName: - type: string - description: Company name. - socialProfileLinks: - type: object - additionalProperties: - type: string - description: |- - Social profile links list the links to the user's social profiles. - The key represents the provider, and the value is the corresponding URL. - description: UserProfile describes the public data of a user. - v1betaUserSubscription: - type: object - properties: - plan: - description: Plan identifier. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUserSubscriptionPlan' - detail: - description: Details of the associated Stripe subscription. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaStripeSubscriptionDetail' - description: UserSubscription details describe the plan (i.e., features) a user has access to. - v1betaUserSubscriptionPlan: - type: string - enum: - - PLAN_FREE - - PLAN_PRO - description: |- - Enumerates the plan types for the user subscription. - - - PLAN_FREE: Free plan. - - PLAN_PRO: Pro plan. - v1betaValidateTokenResponse: - type: object - properties: - userUid: - type: string - description: If token is valid, UUID of the user that owns it. - readOnly: true - description: ValidateTokenResponse contains the validation of a token. - v1betaView: - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - description: |- - View defines how a resource is presented. It can be used as a parameter in a - method request to allow clients to select the amount of information they - want in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. -securityDefinitions: - Bearer: - type: apiKey - description: Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345` - name: Authorization - in: header - x-default: Bearer instill_sk_*** -security: - - Bearer: [] -externalDocs: - description: More about Instill AI - url: https://www.instill.tech/docs diff --git a/openapiv2/model/service.swagger.yaml b/openapiv2/model/service.swagger.yaml deleted file mode 100644 index 1eb5a3b2..00000000 --- a/openapiv2/model/service.swagger.yaml +++ /dev/null @@ -1,2373 +0,0 @@ -swagger: "2.0" -info: - title: ⚗️ Model - description: Endpoints to manage the AI model-related resources and features working with Instill VDP. - version: v0.44.1-beta - contact: - name: Instill AI - url: https://github.com/instill-ai - email: hello@instill.tech - license: - name: Elastic License 2.0 (ELv2) - url: https://github.com/instill-ai/protobufs/blob/main/LICENSE -tags: - - name: Model Definition - description: Model definition endpoints - - name: Model - description: Model endpoints - - name: Version - description: Model version endpoints - - name: Trigger - description: Model trigger endpoints - - name: Region - description: Model region endpoints -host: api.instill.tech -schemes: - - https - - http -consumes: - - application/json -produces: - - application/json -paths: - /v1alpha/model-definitions: - get: - summary: List model definitions - description: Returns a paginated list of model definitions. - operationId: ModelPublicService_ListModelDefinitions - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListModelDefinitionsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of model definitions to return. If this parameter - is unspecified, at most 10 definitions will be returned. The cap value for - this parameter is 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Model Definition - /v1alpha/available-regions: - get: - summary: List available regions - description: Returns a paginated list of available regions. - operationId: ModelPublicService_ListAvailableRegions - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListAvailableRegionsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - tags: - - Region - /v1alpha/model-definitions/{modelDefinitionId}: - get: - summary: Get a model definition - description: Returns the details of a model definition. - operationId: ModelPublicService_GetModelDefinition - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetModelDefinitionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: modelDefinitionId - description: |- - The resource name of the model definition, which allows its access by ID. - - Format: `model-definitions/{id}`. - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Model Definition - /v1alpha/models: - get: - summary: List models - description: Returns a paginated list of models. - operationId: ModelPublicService_ListModels - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListModelsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of models to return. If this parameter is unspecified, - at most 10 models will be returned. The cap value for this parameter is - 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired model view in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - name: showDeleted - description: Include soft-deleted models in the result. - in: query - required: false - type: boolean - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - - name: visibility - description: |- - Limit results to pipelines with the specified visibility. - - - VISIBILITY_PRIVATE: Only the owner can see the model. - - VISIBILITY_PUBLIC: Other users can see the model. - in: query - required: false - type: string - enum: - - VISIBILITY_PRIVATE - - VISIBILITY_PUBLIC - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - tags: - - Model - /v1alpha/namespaces/{namespaceId}/models: - get: - summary: List namespace models - description: Returns a paginated list of models. - operationId: ModelPublicService_ListNamespaceModels - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListNamespaceModelsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pageSize - description: |- - The maximum number of models to return. If this parameter is unspecified, - at most 10 models will be returned. The cap value for this parameter is - 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired model view in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - name: showDeleted - description: Include soft-deleted models in the result. - in: query - required: false - type: boolean - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - - name: visibility - description: |- - Limit results to pipelines with the specified visibility. - - - VISIBILITY_PRIVATE: Only the owner can see the model. - - VISIBILITY_PUBLIC: Other users can see the model. - in: query - required: false - type: string - enum: - - VISIBILITY_PRIVATE - - VISIBILITY_PUBLIC - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - tags: - - Model - post: - summary: Create a new model - description: |- - Creates a new model under the parenthood of a namespace. This is an - asynchronous endpoint, i.e., the server will not wait for the model to be - created in order to respond. Instead, it will return a response with the - necessary information to access the result and status of the creation - operation. - operationId: ModelPublicService_CreateNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaCreateNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: model - description: The properties of the model to be created. - in: body - required: true - schema: - $ref: '#/definitions/v1alphaModel' - tags: - - Model - /v1alpha/namespaces/{namespaceId}/models/{modelId}: - get: - summary: Get a model - description: Returns the detail of a model, accessing it by the model ID and its parent namespace. - operationId: ModelPublicService_GetNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired model view in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Model - delete: - summary: Delete a model - description: |- - Deletes a model, accesing it by its resource name, which is defined by the - parent namespace and the ID of the model. - operationId: ModelPublicService_DeleteNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaDeleteNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - tags: - - Model - patch: - summary: Update a model - description: |- - Updates a model, accessing it by its resource name, which is defined by - the parent namespace and the ID of the model. - - In REST requests, only the supplied model fields will be taken into - account when updating the resource. - operationId: ModelPublicService_UpdateNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaUpdateNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: model - description: The model to update - in: body - required: true - schema: - $ref: '#/definitions/v1alphaModel' - required: - - model - tags: - - Model - /v1alpha/namespaces/{namespaceId}/models/{modelId}/rename: - post: - summary: Rename a model - description: |- - Renames a model, accesing it by its resource name, which is defined by the - parent namespace and the ID of the model. - operationId: ModelPublicService_RenameNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaRenameNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ModelPublicServiceRenameNamespaceModelBody' - tags: - - Model - /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/watch: - get: - summary: Watch the state of a model version - description: |- - Returns the state of a model. The model resource allocation and scaling actions take some - time, during which a model will be in various state. This endpoint - allows clients to track the state. - operationId: ModelPublicService_WatchNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaWatchNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: version - description: Model version - in: path - required: true - type: string - tags: - - Version - /v1alpha/namespaces/{namespaceId}/models/{modelId}/watch: - get: - summary: Watch the state of the latest model version - description: |- - Returns the state of the latest model version. The model resource allocation and scaling actions - take some time, during which a model will be in various state. This endpoint - allows clients to track the state. - operationId: ModelPublicService_WatchNamespaceLatestModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaWatchNamespaceLatestModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - tags: - - Model - /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions: - get: - summary: List namespace model versions - description: |- - Returns a paginated list of version of a model namespace that belong to the specified namespace. - Contains model version and digest. - operationId: ModelPublicService_ListNamespaceModelVersions - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListNamespaceModelVersionsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: pageSize - description: |- - The maximum number of versions to return. The default and cap values are 10 - and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: page - description: Page number. - in: query - required: false - type: integer - format: int32 - tags: - - Version - /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}: - delete: - summary: Delete a model version - description: |- - Deletes a model version, accesing it by its resource name, which is defined by the - parent namespace and the ID of the model, and version. - operationId: ModelPublicService_DeleteNamespaceModelVersion - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaDeleteNamespaceModelVersionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: version - description: Model version - in: path - required: true - type: string - tags: - - Version - /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/trigger: - post: - summary: Trigger model inference - description: |- - Triggers a deployed model to infer the result of a set of task or - questions. - operationId: ModelPublicService_TriggerNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaTriggerNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: version - description: Model version - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ModelPublicServiceTriggerNamespaceModelBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/trigger-async: - post: - summary: Trigger model inference asynchronously - description: |- - Triggers a deployed model to infer the result of a set of task or - questions. - operationId: ModelPublicService_TriggerAsyncNamespaceModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaTriggerAsyncNamespaceModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: version - description: Model version - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ModelPublicServiceTriggerAsyncNamespaceModelBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1alpha/namespaces/{namespaceId}/models/{modelId}/trigger: - post: - summary: Trigger model inference - description: |- - Triggers the latest deployed model version to infer the result of a set of task or - questions. - operationId: ModelPublicService_TriggerNamespaceLatestModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaTriggerNamespaceLatestModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ModelPublicServiceTriggerNamespaceLatestModelBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1alpha/namespaces/{namespaceId}/models/{modelId}/trigger-async: - post: - summary: Trigger model inference asynchronously - description: |- - Triggers the latest deployed model version to infer the result of a set of task or - questions. - operationId: ModelPublicService_TriggerAsyncNamespaceLatestModel - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaTriggerAsyncNamespaceLatestModelResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/ModelPublicServiceTriggerAsyncNamespaceLatestModelBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1alpha/namespaces/{namespaceId}/models/{modelId}/versions/{version}/operation: - get: - summary: |- - Get the details of the long-running operation from a namespace model - with a particular version - description: |- - This method allows requesters to request the status and outcome of - long-running operations in a model, such as trigger. - operationId: ModelPublicService_GetNamespaceModelOperation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetNamespaceModelOperationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: version - description: Model version - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired operation result in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Model - /v1alpha/namespaces/{namespaceId}/models/{modelId}/operation: - get: - summary: Get the details of the latest long-running operation from a namespace model - description: |- - This method allows requesters to request the status and outcome of - long-running operations in a model, such as trigger. - operationId: ModelPublicService_GetNamespaceLatestModelOperation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetNamespaceLatestModelOperationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: modelId - description: Model ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired operation result in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Model - /v1alpha/operations/{operationId}: - get: - summary: Get the details of a long-running operation - description: |- - This method allows requesters to request the status and outcome of - long-running operations in a model, such as trigger. - operationId: ModelPublicService_GetModelOperation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaGetModelOperationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: operationId - description: The resource name of the model, which allows its access ID. - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired model view in the response. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Model - /v1alpha/namespaces/{namespaceId}/models/{modelId}/runs: - get: - summary: List model runs - description: Returns a paginated list of model runs. - operationId: ModelPublicService_ListModelRuns - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListModelRunsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID. - in: path - required: true - type: string - - name: modelId - description: Model ID. - in: path - required: true - type: string - - name: pageSize - description: |- - The maximum number of runs to return. The default and cap values are 10 - and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: page - description: Page number. - in: query - required: false - type: integer - format: int32 - - name: orderBy - description: |- - Sort the results by the given expression. - Format: `field [ASC | DESC], where `field` can be: - - `create_time` - - `update_time` - By default, results are sorted by descending creation time. - in: query - required: false - type: string - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - The filter can be applied to the following fields: - - `create_time` - in: query - required: false - type: string - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1alpha/dashboard/models/runs: - get: - summary: List Model Runs of a Namespace (user or organization) - description: |- - Returns a paginated list of runs for 1 or more models. This is mainly used by dashboard. - The requester can view all the runs by the requester across different models. - operationId: ModelPublicService_ListModelRunsByRequester - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1alphaListModelRunsByRequesterResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of runs to return. The default and cap values are 10 - and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: page - description: Page number. - in: query - required: false - type: integer - format: int32 - - name: orderBy - description: |- - Sort the results by the given expression. - Format: `field [ASC | DESC], where `field` can be: - - `create_time` - - `update_time` - By default, results are sorted by descending creation time. - in: query - required: false - type: string - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `status="RUN_STATUS_COMPLETED"`. - The filter can be applied to the following fields: - - `status` - - `source` - in: query - required: false - type: string - - name: start - description: |- - Beginning of the time range from which the records will be fetched. - The default value is the beginning of the current day, in UTC. - in: query - required: false - type: string - format: date-time - - name: stop - description: |- - End of the time range from which the records will be fetched. - The default value is the current timestamp. - in: query - required: false - type: string - format: date-time - - name: requesterId - description: Requester ID. - in: query - required: true - type: string - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger -definitions: - ModelPublicServiceRenameNamespaceModelBody: - type: object - properties: - newModelId: - type: string - description: |- - The new resource ID. This will transform the resource name into - `namespaces/{namespace.id}/models/{new_model_id}`. - title: RenameNamespaceModelRequest represents a request to rename a model - required: - - newModelId - ModelPublicServiceTriggerAsyncNamespaceLatestModelBody: - type: object - properties: - taskInputs: - type: array - items: - type: object - description: Model inference inputs. - description: |- - TriggerAsyncNamespaceLatestModelRequest represents a request to trigger a model inference - asynchronously with the latest uploaded version. - required: - - taskInputs - ModelPublicServiceTriggerAsyncNamespaceModelBody: - type: object - properties: - taskInputs: - type: array - items: - type: object - description: Model inference inputs. - description: |- - TriggerAsyncNamespaceModelRequest represents a request to trigger a model inference - asynchronously. - required: - - taskInputs - ModelPublicServiceTriggerNamespaceLatestModelBody: - type: object - properties: - taskInputs: - type: array - items: - type: object - description: Model inference inputs. - description: |- - TriggerNamespaceLatestModelRequest represents a request to trigger a model inference - with the latest uploaded version. - required: - - taskInputs - ModelPublicServiceTriggerNamespaceModelBody: - type: object - properties: - taskInputs: - type: array - items: - type: object - description: Model inference inputs. - description: TriggerNamespaceModelRequest represents a request to trigger a model inference. - required: - - taskInputs - ModelStats: - type: object - properties: - numberOfRuns: - type: integer - format: int32 - description: Number of model runs. - readOnly: true - lastRunTime: - type: string - format: date-time - description: Last run time. - readOnly: true - title: Statistic data - googlelongrunningOperation: - type: object - properties: - name: - type: string - description: |- - The server-assigned name, which is only unique within the same service that - originally returns it. If you use the default HTTP mapping, the - `name` should be a resource name ending with `operations/{unique_id}`. - metadata: - description: |- - Service-specific metadata associated with the operation. It typically - contains progress information and common metadata such as create time. - Some services might not provide such metadata. Any method that returns a - long-running operation should document the metadata type, if any. - allOf: - - $ref: '#/definitions/protobufAny' - done: - type: boolean - description: |- - If the value is `false`, it means the operation is still in progress. - If `true`, the operation is completed, and either `error` or `response` is - available. - error: - description: The error result of the operation in case of failure or cancellation. - allOf: - - $ref: '#/definitions/googlerpcStatus' - response: - description: |- - The normal response of the operation in case of success. If the original - method returns no data on success, such as `Delete`, the response is - `google.protobuf.Empty`. If the original method is standard - `Get`/`Create`/`Update`, the response should be the resource. For other - methods, the response should have the type `XxxResponse`, where `Xxx` - is the original method name. For example, if the original method name - is `TakeSnapshot()`, the inferred response type is - `TakeSnapshotResponse`. - allOf: - - $ref: '#/definitions/protobufAny' - description: |- - This resource represents a long-running operation that is the result of a - network API call. - googlerpcStatus: - type: object - properties: - code: - type: integer - format: int32 - description: |- - The status code, which should be an enum value of - [google.rpc.Code][google.rpc.Code]. - message: - type: string - description: |- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - [google.rpc.Status.details][google.rpc.Status.details] field, or localized - by the client. - details: - type: array - items: - type: object - $ref: '#/definitions/protobufAny' - description: |- - A list of messages that carry the error details. There is a common set of - message types for APIs to use. - description: |- - The `Status` type defines a logical error model that is suitable for - different programming environments, including REST APIs and RPC APIs. It is - used by [gRPC](https://github.com/grpc). Each `Status` message contains - three pieces of data: error code, error message, and error details. - - You can find out more about this error model and how to work with it in the - [API Design Guide](https://cloud.google.com/apis/design/errors). - mgmtv1betaPermission: - type: object - properties: - canEdit: - type: boolean - description: Defines whether the resource can be modified. - readOnly: true - description: Permission defines how a resource can be used. - modelv1alphaPermission: - type: object - properties: - canEdit: - type: boolean - description: Defines whether the pipeline can be modified. - canTrigger: - type: boolean - description: Defines whether the pipeline can be executed. - description: Permission defines how a pipeline can be used. - modelv1alphaState: - type: string - enum: - - STATE_OFFLINE - - STATE_ACTIVE - - STATE_IDLE - - STATE_ERROR - - STATE_STARTING - - STATE_SCALING_UP - - STATE_SCALING_DOWN - description: |- - State describes the state of a model. See [Deploy - Models](https://www.instill.tech/docs/latest/model/deploy) for more - information. - - - STATE_OFFLINE: Offline is the state when the model instance number is 0. - - STATE_ACTIVE: Active is the state when a model is processing requests. - - STATE_IDLE: Idle is the state when a model is alive but not processing requests. - - STATE_ERROR: Error is the state when the model is undeployable. - - STATE_STARTING: Starting is the state when the system is provisioning the necessary - resources for the model - - STATE_SCALING_UP: Scaling Up is the transition state when the system is provisioning compute resource for this model instance. - - STATE_SCALING_DOWN: Scaling is the transition state when the system is releasing compute resource for this model instance. - modelv1alphaView: - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - description: |- - View defines how a model definition is presented. - - - VIEW_BASIC: Default view, only includes basic information (omits `model_spec`). - - VIEW_FULL: Full representation. - protobufAny: - type: object - properties: - '@type': - type: string - description: |- - A URL/resource name that uniquely identifies the type of the serialized - protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must represent - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a canonical form - (e.g., leading "." is not accepted). - - In practice, teams usually precompile into the binary all types that they - expect it to use in the context of Any. However, for URLs which use the - scheme `http`, `https`, or no scheme, one can optionally set up a type - server that maps type URLs to message definitions as follows: - - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the official - protobuf release, and it is not used for type URLs beginning with - type.googleapis.com. As of May 2023, there are no widely used type server - implementations and no plans to implement one. - - Schemes other than `http`, `https` (or the empty scheme) might be - used with implementation specific semantics. - additionalProperties: {} - description: |- - `Any` contains an arbitrary serialized protocol buffer message along with a - URL that describes the type of the serialized message. - - Protobuf library provides support to pack/unpack Any values in the form - of utility functions or additional generated methods of the Any type. - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the unpack - methods only use the fully qualified type name after the last '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". - - JSON - ==== - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - protobufNullValue: - type: string - description: |- - `NullValue` is a singleton enumeration to represent the null value for the - `Value` type union. - - The JSON representation for `NullValue` is JSON `null`. - v1alphaCreateNamespaceModelResponse: - type: object - properties: - model: - description: The created model resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaModel' - description: CreateNamespaceModelResponse contains the created model. - v1alphaDeleteNamespaceModelResponse: - type: object - description: DeleteNamespaceModelResponse is an empty response. - v1alphaDeleteNamespaceModelVersionResponse: - type: object - description: DeleteNamespaceModelVersionResponse is an empty response. - v1alphaDeployNamespaceModelAdminResponse: - type: object - title: DeployNamespaceModelAdminResponse represents a response for a deployed model - v1alphaDeployOrganizationModelAdminResponse: - type: object - title: DeployOrganizationModelAdminResponse represents a response for a deployed model - v1alphaDeployUserModelAdminResponse: - type: object - title: DeployUserModelAdminResponse represents a response for a deployed model - v1alphaGetModelDefinitionResponse: - type: object - properties: - modelDefinition: - description: The model definition resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaModelDefinition' - description: GetModelDefinitionResponse contains the requested model definition. - v1alphaGetModelOperationResponse: - type: object - properties: - operation: - description: The long-running operation. - readOnly: true - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: |- - GetModelOperationRequest represents a request to query a long-running - operation. - v1alphaGetNamespaceLatestModelOperationResponse: - type: object - properties: - operation: - description: The long-running operation. - readOnly: true - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: |- - GetNamespaceLatestModelOperationResponse represents a response to query a long-running - operation. - v1alphaGetNamespaceModelOperationResponse: - type: object - properties: - operation: - description: The long-running operation. - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: |- - GetNamespaceModelOperationResponse represents a response to query a long-running - operation. - v1alphaGetNamespaceModelResponse: - type: object - properties: - model: - description: The model resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaModel' - description: GetNamespaceModelResponse contains the requested model. - v1alphaListAvailableRegionsResponse: - type: object - properties: - regions: - type: array - items: - type: object - $ref: '#/definitions/v1alphaRegion' - title: A list of available region - readOnly: true - description: |- - ListAvailableRegionsResponse contains a list of available - regions and hardware types a model can be deployed on. - v1alphaListModelDefinitionsResponse: - type: object - properties: - modelDefinitions: - type: array - items: - type: object - $ref: '#/definitions/v1alphaModelDefinition' - description: A list of model definition resources. - nextPageToken: - type: string - description: Next page token. - totalSize: - type: integer - format: int32 - description: Total number of model definitions. - description: ListModelDefinitionsResponse contains a list of model definitions. - v1alphaListModelRunsByRequesterResponse: - type: object - properties: - runs: - type: array - items: - type: object - $ref: '#/definitions/v1alphaModelRun' - description: A list of runs resources. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of runs. - readOnly: true - pageSize: - type: integer - format: int32 - description: The requested page size. - readOnly: true - page: - type: integer - format: int32 - description: The requested page offset. - readOnly: true - description: ListModelRunsByRequesterResponse is the request message for ListModelRunsByRequester. - v1alphaListModelRunsResponse: - type: object - properties: - runs: - type: array - items: - type: object - $ref: '#/definitions/v1alphaModelRun' - description: A list of runs resources. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of runs. - readOnly: true - pageSize: - type: integer - format: int32 - description: The requested page size. - readOnly: true - page: - type: integer - format: int32 - description: The requested page offset. - readOnly: true - description: ListModelRunsResponse contains a list of model runs. - v1alphaListModelsAdminResponse: - type: object - properties: - models: - type: array - items: - type: object - $ref: '#/definitions/v1alphaModel' - title: a list of Models - nextPageToken: - type: string - title: Next page token - totalSize: - type: integer - format: int32 - description: Total number of models. - title: ListModelsAdminResponse represents a response for a list of models - v1alphaListModelsResponse: - type: object - properties: - models: - type: array - items: - type: object - $ref: '#/definitions/v1alphaModel' - description: A list of model resources. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of models. - readOnly: true - description: ListModelsResponse contains a list of models. - v1alphaListNamespaceModelVersionsResponse: - type: object - properties: - versions: - type: array - items: - type: object - $ref: '#/definitions/v1alphaModelVersion' - description: A list of model resources. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of versions. - readOnly: true - pageSize: - type: integer - format: int32 - description: The requested page size. - readOnly: true - page: - type: integer - format: int32 - description: The requested page offset. - readOnly: true - description: ListNamespaceModelVersionsResponse contains a list of models. - v1alphaListNamespaceModelsResponse: - type: object - properties: - models: - type: array - items: - type: object - $ref: '#/definitions/v1alphaModel' - description: A list of model resources. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of models. - readOnly: true - description: ListNamespaceModelsResponse contains a list of models. - v1alphaLookUpModelAdminResponse: - type: object - properties: - model: - title: A model resource - allOf: - - $ref: '#/definitions/v1alphaModel' - title: LookUpModelResponse represents a response for a model - v1alphaModel: - type: object - properties: - name: - type: string - description: |- - The resource name of the model, which allows its access by owner and ID. - - Format: `users/{user.id}/models/{model.id}`. - readOnly: true - uid: - type: string - description: Model UUID. - readOnly: true - id: - type: string - description: |- - Model resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - description: - type: string - description: Model description. - modelDefinition: - type: string - description: The model definition that has been used to import the model. - configuration: - type: object - description: |- - Model configuration. This field is validated against the model - specification in the model definition (i.e. the `model_spec` field in the - model definition). - task: - description: Model task. - allOf: - - $ref: '#/definitions/v1alphaTask' - visibility: - description: Model visibility. - allOf: - - $ref: '#/definitions/v1alphaModelVisibility' - createTime: - type: string - format: date-time - description: Model creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Model update time. - readOnly: true - deleteTime: - type: string - format: date-time - description: Model deletion time. - readOnly: true - ownerName: - type: string - description: Resource name of the owner. - readOnly: true - owner: - description: Model owner. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOwner' - region: - type: string - description: Region of choice for the particular provider to host the model. - hardware: - type: string - description: Hardware of choice to serve the model. - readme: - type: string - description: README holds the model documentation. - sourceUrl: - type: string - description: A link to the source code of the model (e.g. to a GitHub repository). - documentationUrl: - type: string - description: A link to any extra information. - license: - type: string - description: License under which the model is distributed. - profileImage: - type: string - description: Model profile image in base64 format. - permission: - description: Permission defines how a pipeline can be used. - readOnly: true - allOf: - - $ref: '#/definitions/modelv1alphaPermission' - inputSchema: - type: object - title: Input schema for the model - readOnly: true - outputSchema: - type: object - title: Output schema for the model - readOnly: true - tags: - type: array - items: - type: string - description: Tags. - readOnly: true - versions: - type: array - items: - type: string - description: Version names. - readOnly: true - stats: - description: Statistic data. - readOnly: true - allOf: - - $ref: '#/definitions/ModelStats' - title: |- - Model represents an AI model, i.e. a program that performs tasks as decision - making or or pattern recognition based on its training data - required: - - id - - modelDefinition - - configuration - - task - - visibility - - region - - hardware - v1alphaModelDefinition: - type: object - properties: - name: - type: string - description: |- - The resource name of the model, which allows its access by ID. - - Format: `model-definitions/{id}`. - readOnly: true - uid: - type: string - description: Model definition UUID. - readOnly: true - id: - type: string - description: |- - Model definition resource ID (used in `name` as the last segment). This - conforms to RFC-1034, which restricts to letters, numbers, and hyphen, - with the first character a letter, the last a letter or a number, and a 63 - character maximum. - readOnly: true - title: - type: string - description: Official display title. - readOnly: true - documentationUrl: - type: string - description: Documentation URL. - readOnly: true - icon: - type: string - description: Display icon. - readOnly: true - releaseStage: - description: Release stage. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaReleaseStage' - modelSpec: - type: object - description: |- - The model specification represented by a JSON schema. It is used to - validate the JSON configurations of a model created from a specific model - source, and the resource spec which the model is desired to be deployed on. - It must be a valid JSON that includes what fields are needed to - create or display a model. - readOnly: true - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - description: ModelDefinition defines how to configure and import a model. - v1alphaModelRun: - type: object - properties: - uid: - type: string - description: Model Run UUID. - readOnly: true - modelUid: - type: string - description: Model UUID. - readOnly: true - status: - description: Model run status. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaRunStatus' - source: - description: Run source. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaRunSource' - totalDuration: - type: integer - format: int32 - description: Run total duration in milliseconds. - readOnly: true - endTime: - type: string - format: date-time - description: Run end time. - readOnly: true - runnerId: - type: string - description: Runner ID. If current viewing requester does not have enough permission, it will return null. - readOnly: true - creditAmount: - type: number - format: float - description: The amount of Instill Credit consumed by the run. This field will only be present on Instill Cloud. - readOnly: true - error: - type: string - description: Error message occurred during model run. - readOnly: true - createTime: - type: string - format: date-time - description: Model run created time. - readOnly: true - updateTime: - type: string - format: date-time - description: Model run updated time. - readOnly: true - version: - type: string - description: The model version identifier, which is same as image tag. - readOnly: true - taskInputs: - type: array - items: - type: object - description: Model inference input. - readOnly: true - taskOutputs: - type: array - items: - type: object - description: Model inference outputs. - readOnly: true - modelId: - type: string - description: Model ID. - readOnly: true - requesterId: - type: string - description: |- - Requester ID. This field might be empty if the model run belongs to a - deleted namespace. - readOnly: true - description: ModelRun contains information about a run of models. - v1alphaModelVersion: - type: object - properties: - name: - type: string - description: |- - The parent resource, i.e., the user that created the models. - - Format: `users/{user.id}`. - The resource name of the model, which allows its access by parent user - and ID. - - Format: `users/{user.id}/models/{model.id}`. - The name of the Version. - - Format: `users/{user.id}/models/{model.id}/versions/{version.id}`. - version: - type: string - description: The model version identifier, which is equal to image tag. - digest: - type: string - description: Unique identifier, computed from the manifest the Version refers to. - state: - description: Current state of this model version. - readOnly: true - allOf: - - $ref: '#/definitions/modelv1alphaState' - updateTime: - type: string - format: date-time - description: Version update time, i.e. timestamp of the last push. - readOnly: true - description: ModelVersion contains information about the version of a model. - v1alphaModelVisibility: - type: string - enum: - - VISIBILITY_PRIVATE - - VISIBILITY_PUBLIC - description: |- - Visibility defines who can access the model. - - - VISIBILITY_PRIVATE: Only the owner can see the model. - - VISIBILITY_PUBLIC: Other users can see the model. - v1alphaRegion: - type: object - properties: - regionName: - type: string - title: Concate name of provider and region - hardware: - type: array - items: - type: string - title: Hardware describes the available hardware types in this region - description: |- - Region describes the supported cloud provider and regions, with - their supported GPU respectively. - v1alphaReleaseStage: - type: string - enum: - - RELEASE_STAGE_ALPHA - - RELEASE_STAGE_BETA - - RELEASE_STAGE_GENERALLY_AVAILABLE - - RELEASE_STAGE_CUSTOM - description: |- - ReleaseStage defines the stage of a release. - - - RELEASE_STAGE_ALPHA: Alpha. - - RELEASE_STAGE_BETA: Beta. - - RELEASE_STAGE_GENERALLY_AVAILABLE: Generally available. - - RELEASE_STAGE_CUSTOM: Custom. - v1alphaRenameNamespaceModelResponse: - type: object - properties: - model: - description: The renamed model resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaModel' - description: RenameNamespaceModelResponse contains a renamed model. - v1alphaRunSource: - type: string - enum: - - RUN_SOURCE_CONSOLE - - RUN_SOURCE_API - description: |- - RunSource defines the source of a pipeline or model run. - - - RUN_SOURCE_CONSOLE: Run from frontend UI. - - RUN_SOURCE_API: Run from API or SDK. - v1alphaRunStatus: - type: string - enum: - - RUN_STATUS_PROCESSING - - RUN_STATUS_COMPLETED - - RUN_STATUS_FAILED - - RUN_STATUS_QUEUED - description: |- - RunStatus defines the status of a pipeline or model run. - - - RUN_STATUS_PROCESSING: Run in progress. - - RUN_STATUS_COMPLETED: Run succeeded. - - RUN_STATUS_FAILED: Run failed. - - RUN_STATUS_QUEUED: Run is waiting to be executed. - v1alphaTask: - type: string - enum: - - TASK_CLASSIFICATION - - TASK_DETECTION - - TASK_KEYPOINT - - TASK_OCR - - TASK_INSTANCE_SEGMENTATION - - TASK_SEMANTIC_SEGMENTATION - - TASK_TEXT_TO_IMAGE - - TASK_IMAGE_TO_IMAGE - - TASK_EMBEDDING - - TASK_SPEECH_RECOGNITION - - TASK_CHAT - - TASK_COMPLETION - - TASK_CUSTOM - description: |- - Task enumerates the AI task that a model is designed to solve. - - - TASK_CLASSIFICATION: Image Classification - classify images into predefined categories. - - TASK_DETECTION: Object Detection - detect and localize multiple objects in images. - - TASK_KEYPOINT: Keypoint Detection - detect and localize multiple keypoints of objects in images. - - TASK_OCR: OCR (Optical Character Recognition) - detect and recognize text in images. - - TASK_INSTANCE_SEGMENTATION: Instance Segmentation - detect, localize and delineate multiple objects in images. - - TASK_SEMANTIC_SEGMENTATION: Semantic Segmentation - classify image pixels into predefined categories. - - TASK_TEXT_TO_IMAGE: Text to Image - generate images from input text prompts. - - TASK_IMAGE_TO_IMAGE: Image to Image - generate an image from another image. - - TASK_EMBEDDING: Embedding - generate an embedding (a representation as coordinates) from a multimodal input. - - TASK_SPEECH_RECOGNITION: Speech Recognition - transcribe the words in an audio input. - - TASK_CHAT: Conversational Text Generation - generate text as responses to a dialog input. - - TASK_COMPLETION: Completion Text Generation - generate text following the input prompt. - - TASK_CUSTOM: Custom - custom task type for free form input/output. - v1alphaTriggerAsyncNamespaceLatestModelResponse: - type: object - properties: - operation: - description: Long-running operation information. - readOnly: true - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: |- - TriggerAsyncNamespaceLatestModelResponse contains the information to access the - status of an asynchronous model inference. - v1alphaTriggerAsyncNamespaceModelResponse: - type: object - properties: - operation: - description: Long-running operation information. - readOnly: true - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: |- - TriggerAsyncNamespaceModelResponse contains the information to access the - status of an asynchronous model inference. - v1alphaTriggerNamespaceLatestModelBinaryFileUploadResponse: - type: object - properties: - task: - description: Task type. - allOf: - - $ref: '#/definitions/v1alphaTask' - taskOutputs: - type: array - items: - type: object - description: |- - Deleteted field. - Model inference outputs. - readOnly: true - description: TriggerNamespaceLatestModelBinaryFileUploadResponse contains the model inference results. - required: - - task - v1alphaTriggerNamespaceLatestModelResponse: - type: object - properties: - task: - description: Task type. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaTask' - taskOutputs: - type: array - items: - type: object - description: Model inference outputs. - readOnly: true - description: TriggerNamespaceLatestModelResponse contains the model inference results. - v1alphaTriggerNamespaceModelBinaryFileUploadResponse: - type: object - properties: - task: - description: Task type. - allOf: - - $ref: '#/definitions/v1alphaTask' - taskOutputs: - type: array - items: - type: object - description: Model inference outputs. - readOnly: true - description: TriggerNamespaceModelBinaryFileUploadResponse contains the model inference results. - required: - - task - v1alphaTriggerNamespaceModelResponse: - type: object - properties: - task: - description: Task type. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaTask' - taskOutputs: - type: array - items: - type: object - description: Model inference outputs. - readOnly: true - description: TriggerNamespaceModelResponse contains the model inference results. - v1alphaUndeployNamespaceModelAdminResponse: - type: object - title: UndeployNamespaceModelAdminResponse represents a response for a undeployed model - v1alphaUndeployOrganizationModelAdminResponse: - type: object - title: UndeployOrganizationModelAdminResponse represents a response for a undeployed model - v1alphaUndeployUserModelAdminResponse: - type: object - title: UndeployUserModelAdminResponse represents a response for a undeployed model - v1alphaUpdateNamespaceModelResponse: - type: object - properties: - model: - description: The updated model resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaModel' - description: UpdateNamespaceModelResponse contains the updated model. - v1alphaWatchNamespaceLatestModelResponse: - type: object - properties: - state: - description: State. - readOnly: true - allOf: - - $ref: '#/definitions/modelv1alphaState' - message: - type: string - title: Detail description of the state - readOnly: true - description: WatchNamespaceLatestModelResponse contains the state of the latest model version. - v1alphaWatchNamespaceModelResponse: - type: object - properties: - state: - description: State. - readOnly: true - allOf: - - $ref: '#/definitions/modelv1alphaState' - message: - type: string - title: Detail description of the state - readOnly: true - description: WatchNamespaceModelResponse contains the state of a model. - v1betaOrganization: - type: object - properties: - name: - type: string - description: |- - The name of the organization, defined by its ID. - - Format: `organization/{organization.id}`. - readOnly: true - uid: - type: string - description: Organization UUID. - readOnly: true - id: - type: string - description: |- - Resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - - Note that the ID can be updated. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - owner: - description: The user that owns the organization. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUser' - profile: - description: Profile. - allOf: - - $ref: '#/definitions/v1betaOrganizationProfile' - permission: - title: Permission - readOnly: true - allOf: - - $ref: '#/definitions/mgmtv1betaPermission' - description: |- - Organizations group several users. As entities, they can own resources such - as pipelines or releases. - required: - - profile - v1betaOrganizationProfile: - type: object - properties: - displayName: - type: string - description: Display name. - bio: - type: string - description: Biography. - avatar: - type: string - description: Avatar in base64 format. - publicEmail: - type: string - description: Public email. - socialProfileLinks: - type: object - additionalProperties: - type: string - description: |- - Social profile links list the links to the organization's social profiles. - The key represents the provider, and the value is the corresponding URL. - description: OrganizationProfile describes the public data of an organization. - v1betaOwner: - type: object - properties: - user: - description: User. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaUser' - organization: - description: Organization. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: Owner is a wrapper for User and Organization, used to embed owner information in other resources. - v1betaUser: - type: object - properties: - name: - type: string - description: |- - The name of the user, defined by its ID. - - Format: `users/{user.id}`. - readOnly: true - uid: - type: string - description: |- - User UUID. This field is optionally set by users on creation (it will be - server-generated if unspecified). - readOnly: true - id: - type: string - description: |- - Resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - - Note that the ID can be updated. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - profile: - description: Profile. - allOf: - - $ref: '#/definitions/v1betaUserProfile' - description: |- - User describes an individual that interacts with Instill AI. It doesn't - contain any private information about the user. - v1betaUserProfile: - type: object - properties: - displayName: - type: string - description: Display name. - bio: - type: string - description: Biography. - avatar: - type: string - description: Avatar in base64 format. - publicEmail: - type: string - description: Public email. - companyName: - type: string - description: Company name. - socialProfileLinks: - type: object - additionalProperties: - type: string - description: |- - Social profile links list the links to the user's social profiles. - The key represents the provider, and the value is the corresponding URL. - description: UserProfile describes the public data of a user. -securityDefinitions: - Bearer: - type: apiKey - description: Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345` - name: Authorization - in: header - x-default: Bearer instill_sk_*** -security: - - Bearer: [] -externalDocs: - description: More about Instill AI - url: https://www.instill.tech/docs diff --git a/openapiv2/vdp/service.swagger.yaml b/openapiv2/vdp/service.swagger.yaml deleted file mode 100644 index a7ab38d9..00000000 --- a/openapiv2/vdp/service.swagger.yaml +++ /dev/null @@ -1,4190 +0,0 @@ -swagger: "2.0" -info: - title: "\U0001F4A7 VDP" - description: VDP endpoints to manage pipeline resources - version: v0.44.1-beta - contact: - name: Instill AI - url: https://github.com/instill-ai - email: hello@instill.tech - license: - name: Elastic License 2.0 (ELv2) - url: https://github.com/instill-ai/protobufs/blob/main/LICENSE -tags: - - name: Component - description: Component endpoints - - name: Pipeline - description: Pipeline endpoints - - name: Release - description: Pipeline Release endpoints - - name: Trigger - description: Pipeline Trigger endpoints - - name: Secret - description: Namespace Secret endpoints - - name: Integration - description: Namespace Integration endpoints - - name: Utils - description: Utils endpoints -host: api.instill.tech -schemes: - - https - - http -consumes: - - application/json -produces: - - application/json -paths: - /v1beta/pipelines: - get: - summary: List accessible pipelines - description: Returns a paginated list of pipelines that are visible to the requester. - operationId: PipelinePublicService_ListPipelines - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListPipelinesResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of pipelines to return. If this parameter is - unspecified, at most 10 pipelines will be returned. The cap value for this - parameter is 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired pipeline view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - - VIEW_RECIPE: Contains the recipe of the resource. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - VIEW_RECIPE - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - - Example: - `recipe.components.definition_name:"operator-definitions/2ac8be70-0f7a-4b61-a33d-098b8acfa6f3"`. - in: query - required: false - type: string - - name: showDeleted - description: Include soft-deleted pipelines in the result. - in: query - required: false - type: boolean - - name: visibility - description: |- - Limit results to pipelines with the specified visibility. - - - VISIBILITY_PRIVATE: Only the user can see the pipeline. - - VISIBILITY_PUBLIC: Other users can see the pipeline. - in: query - required: false - type: string - enum: - - VISIBILITY_PRIVATE - - VISIBILITY_PUBLIC - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - tags: - - Pipeline - /v1beta/namespaces/{namespaceId}/pipelines: - get: - summary: List namespace pipelines - description: Returns a paginated list of pipelines of a namespace - operationId: PipelinePublicService_ListNamespacePipelines - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListNamespacePipelinesResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pageSize - description: |- - The maximum number of pipelines to return. If this parameter is - unspecified, at most 10 pipelines will be returned. The cap value for this - parameter is 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired pipeline view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - - VIEW_RECIPE: Contains the recipe of the resource. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - VIEW_RECIPE - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - - Example: - `recipe.components.definition_name:"operator-definitions/2ac8be70-0f7a-4b61-a33d-098b8acfa6f3"`. - in: query - required: false - type: string - - name: showDeleted - description: Include soft-deleted pipelines in the result. - in: query - required: false - type: boolean - - name: visibility - description: |- - Limit results to pipelines with the specified visibility. - - - VISIBILITY_PRIVATE: Only the user can see the pipeline. - - VISIBILITY_PUBLIC: Other users can see the pipeline. - in: query - required: false - type: string - enum: - - VISIBILITY_PRIVATE - - VISIBILITY_PUBLIC - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - tags: - - Pipeline - post: - summary: Create a new pipeline - description: Creates a new pipeline under a namespace. - operationId: PipelinePublicService_CreateNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCreateNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: The namespace that creates the pipeline. - in: path - required: true - type: string - - name: pipeline - description: The properties of the pipeline to be created. - in: body - required: true - schema: - $ref: '#/definitions/v1betaPipeline' - tags: - - Pipeline - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}: - get: - summary: Get a pipeline - description: Returns the details of a pipeline. - operationId: PipelinePublicService_GetNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired pipeline view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - - VIEW_RECIPE: Contains the recipe of the resource. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - VIEW_RECIPE - tags: - - Pipeline - delete: - summary: Delete a pipeline - description: |- - Deletes a pipeline, accesing it by its resource name, which is defined by - the parent namespace and the ID of the pipeline. The authenticated namespace must be - the parent of the pipeline in order to delete it. - operationId: PipelinePublicService_DeleteNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - tags: - - Pipeline - patch: - summary: Update a pipeline - description: |- - Udpates a pipeline, accessing it by its resource name, which is defined by - the parent namespace and the ID of the pipeline. The authenticated namespace must be - the parent of the pipeline in order to modify it. - - In REST requests, only the supplied pipeline fields will be taken into - account when updating the resource. - operationId: PipelinePublicService_UpdateNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaUpdateNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: pipeline - description: The pipeline fields that will replace the existing ones. - in: body - required: true - schema: - $ref: '#/definitions/v1betaPipeline' - tags: - - Pipeline - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/validate: - post: - summary: Validate a pipeline - description: |- - Validates a pipeline by its resource name, which is defined by the parent - namespace and the ID of the pipeline. - - Validation checks the recipe of the pipeline and the status of its components. - operationId: PipelinePublicService_ValidateNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaValidateNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceValidateNamespacePipelineBody' - tags: - - Pipeline - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/rename: - post: - summary: Rename a pipeline - description: |- - Updates the ID of a pipeline. Since this is an output-only field, a custom - method is required to modify it. - - The pipeline name will be updated accordingly, as it is composed by the - parent namespace and ID of the pipeline (e.g. - `namespaces/luigi/pipelines/pizza-recipe-generator`). - - The authenticated namespace must be the parent of the pipeline in order to - perform this action. - operationId: PipelinePublicService_RenameNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaRenameNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceRenameNamespacePipelineBody' - tags: - - Pipeline - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/clone: - post: - summary: Clone a pipeline - description: |- - Clones a pipeline owned by a namespace. The new pipeline may have a different - parent, and this can be either a namespace or an organization. - operationId: PipelinePublicService_CloneNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCloneNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceCloneNamespacePipelineBody' - tags: - - Pipeline - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/trigger: - post: - summary: Trigger a pipeline - description: |- - Triggers the execution of a pipeline synchronously, i.e., the result is - sent back to the namespace right after the data is processed. This method is - intended for real-time inference when low latency is of concern. - - The pipeline is identified by its resource name, formed by the parent namespace - and ID of the pipeline. - - For more information, see [Run NamespacePipeline](https://www.instill.tech/docs/vdp/run). - operationId: PipelinePublicService_TriggerNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaTriggerNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceTriggerNamespacePipelineBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/trigger-stream: - post: - summary: Trigger a pipeline via streaming - description: |- - Triggers the execution of a pipeline asynchronously and streams back the response. - This method is intended for real-time inference when low latency is of concern - and the response needs to be processed incrementally. - - The pipeline is identified by its resource name, formed by the parent namespace - and ID of the pipeline. - operationId: PipelinePublicService_TriggerNamespacePipelineWithStream - responses: - "200": - description: A successful response.(streaming responses) - schema: - type: object - properties: - result: - $ref: '#/definitions/v1betaTriggerNamespacePipelineWithStreamResponse' - error: - $ref: '#/definitions/googlerpcStatus' - title: Stream result of v1betaTriggerNamespacePipelineWithStreamResponse - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceTriggerNamespacePipelineWithStreamBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/trigger-async: - post: - summary: Trigger a pipeline asynchronously - description: |- - Triggers the execution of a pipeline asynchronously, i.e., the result - contains the necessary information to access the result and status of the - operation. This method is intended for cases that require long-running - workloads. - - The pipeline is identified by its resource name, formed by the parent namespace - and ID of the pipeline. - - For more information, see [Run NamespacePipeline](https://www.instill.tech/docs/vdp/run). - operationId: PipelinePublicService_TriggerAsyncNamespacePipeline - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaTriggerAsyncNamespacePipelineResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceTriggerAsyncNamespacePipelineBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases: - get: - summary: List the releases in a pipeline - description: |- - Lists the commited versions of a pipeline, identified by its resource - name, which is formed by the parent namespace and ID of the pipeline. - operationId: PipelinePublicService_ListNamespacePipelineReleases - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListNamespacePipelineReleasesResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: pageSize - description: |- - The maximum number of releases to return. If this parameter is - unspecified, at most 10 pipelines will be returned. The cap value for this - parameter is 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired pipeline view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - - VIEW_RECIPE: Contains the recipe of the resource. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - VIEW_RECIPE - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - - name: showDeleted - description: Include soft-deleted pipelines in the result. - in: query - required: false - type: boolean - tags: - - Release - post: - summary: Create a pipeline release - description: |- - Commits the version of a pipeline, identified by its resource name, which - is formed by the parent namespace and ID of the pipeline. - - The authenticated namespace must be the parent of the pipeline in order to - perform this action. - operationId: PipelinePublicService_CreateNamespacePipelineRelease - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCreateNamespacePipelineReleaseResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: release - description: The release information. - in: body - required: true - schema: - $ref: '#/definitions/v1betaPipelineRelease' - tags: - - Release - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}: - get: - summary: Get a pipeline release - description: |- - Gets the details of a pipeline release, where the pipeline is identified - by its resource name, formed by its parent namespace and ID. - operationId: PipelinePublicService_GetNamespacePipelineRelease - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetNamespacePipelineReleaseResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: releaseId - description: Release ID - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired pipeline view in the response. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - - VIEW_RECIPE: Contains the recipe of the resource. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - VIEW_RECIPE - tags: - - Release - delete: - summary: Delete a pipeline release - description: |- - Deletes a pipeline release, where the pipeline is identified by its - resource name, formed by its parent namespace and ID. - - The authenticated namespace must be the parent of the pipeline in order to - perform this action. - operationId: PipelinePublicService_DeleteNamespacePipelineRelease - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteNamespacePipelineReleaseResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: releaseId - description: Release ID - in: path - required: true - type: string - tags: - - Release - patch: - summary: Update a pipeline release - description: |- - Updates the details of a pipeline release, where the pipeline is - identified by its resource name, formed by its parent namespace and ID. - - The authenticated namespace must be the parent of the pipeline in order to - perform this action. - operationId: PipelinePublicService_UpdateNamespacePipelineRelease - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaUpdateNamespacePipelineReleaseResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: releaseId - description: Release ID - in: path - required: true - type: string - - name: release - description: |- - The pipeline release fields that will replace the existing ones. - A pipeline release resource to update - in: body - required: true - schema: - $ref: '#/definitions/v1betaPipelineRelease' - tags: - - Release - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}/clone: - post: - summary: Clone a pipeline release - description: |- - Clones a pipeline release owned by a namespace. The new pipeline may have a different - parent, and this can be either a namespace or an organization. - operationId: PipelinePublicService_CloneNamespacePipelineRelease - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCloneNamespacePipelineReleaseResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: releaseId - description: Release ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceCloneNamespacePipelineReleaseBody' - tags: - - Release - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}/trigger: - post: - summary: Trigger a pipeline release - description: |- - Triggers the synchronous execution of of a pipeline. While the trigger - endpoint (where the release version isn't specified) triggers the pipeline - at its latest release, this method allows the client to specified any - committed release. - - The pipeline is identified by its resource name, formed by its parent namespace - and ID. - operationId: PipelinePublicService_TriggerNamespacePipelineRelease - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaTriggerNamespacePipelineReleaseResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: releaseId - description: Release ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceTriggerNamespacePipelineReleaseBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/releases/{releaseId}/trigger-async: - post: - summary: Trigger a pipeline release asynchronously - description: |- - Triggers the asynchronous execution of of a pipeline. While the trigger - endpoint (where the release version isn't specified) triggers the pipeline - at its latest release, this method allows the client to specified any - committed release. - - The pipeline is identified by its resource name, formed by its parent namespace - and ID. - operationId: PipelinePublicService_TriggerAsyncNamespacePipelineRelease - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaTriggerAsyncNamespacePipelineReleaseResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pipelineId - description: Pipeline ID - in: path - required: true - type: string - - name: releaseId - description: Release ID - in: path - required: true - type: string - - name: body - in: body - required: true - schema: - $ref: '#/definitions/PipelinePublicServiceTriggerAsyncNamespacePipelineReleaseBody' - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/namespaces/{namespaceId}/secrets: - get: - summary: List secrets - description: |- - Returns a paginated list of secrets that belong to the specified - namespace. - operationId: PipelinePublicService_ListNamespaceSecrets - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListNamespaceSecretsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: pageSize - description: |- - The maximum number of secrets to return. If this parameter is unspecified, - at most 10 pipelines will be returned. The cap value for this parameter is - 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page secret. - in: query - required: false - type: string - tags: - - Secret - post: - summary: Create a secret - description: Creates a new secret under the parenthood of an namespace. - operationId: PipelinePublicService_CreateNamespaceSecret - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCreateNamespaceSecretResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: secret - description: The properties of the secret to be created. - in: body - required: true - schema: - $ref: '#/definitions/v1betaSecret' - tags: - - Secret - /v1beta/namespaces/{namespaceId}/secrets/{secretId}: - get: - summary: Get a secret - description: |- - Returns the details of an namespace-owned secret by its resource name, - which is defined by the parent namespace and the ID of the secret. - operationId: PipelinePublicService_GetNamespaceSecret - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetNamespaceSecretResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: secretId - description: Secret ID - in: path - required: true - type: string - tags: - - Secret - delete: - summary: Delete a secret - description: |- - Deletes a secret, accesing it by its resource name, which is defined by - the parent namespace and the ID of the secret. - operationId: PipelinePublicService_DeleteNamespaceSecret - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteNamespaceSecretResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: secretId - description: Secret ID - in: path - required: true - type: string - tags: - - Secret - patch: - summary: Update a secret - description: |- - Udpates a secret, accessing it by its resource name, which is defined by - - In REST requests, only the supplied secret fields will be taken into - account when updating the resource. - operationId: PipelinePublicService_UpdateNamespaceSecret - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaUpdateNamespaceSecretResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID - in: path - required: true - type: string - - name: secretId - description: Secret ID - in: path - required: true - type: string - - name: secret - description: The secret fields to update. - in: body - required: true - schema: - $ref: '#/definitions/v1betaSecret' - tags: - - Secret - /v1beta/component-definitions: - get: - summary: List component definitions - description: |- - Returns a paginated list of component definitions, regardless their type. - This offers a single source of truth, with pagination and filter - capabilities, for the components that might be used in a VDP pipeline. - operationId: PipelinePublicService_ListComponentDefinitions - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListComponentDefinitionsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: |- - The maximum number of component definitions to return. If this parameter - is unspecified, at most 10 definitions will be returned. The cap value for - this parameter is 100 (i.e. any value above that will be coerced to 100). - in: query - required: false - type: integer - format: int32 - - name: view - description: |- - View allows clients to specify the desired resource view in the response. - - - VIEW_BASIC: Default view, only includes basic information (removes the `spec` - field). - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `component_type="COMPONENT_TYPE_AI"`. - - Example: `tasks:"TASK_TEXT_GENERATION"`. - in: query - required: false - type: string - - name: page - description: Page number. - in: query - required: false - type: integer - format: int32 - tags: - - Component - /v1beta/operations/{operationId}: - get: - summary: Get the details of a long-running operation - description: |- - This method allows requesters to request the status and outcome of - long-running operations such as asynchronous pipeline triggers. - operationId: PipelinePublicService_GetOperation - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetOperationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: operationId - description: |- - The name of the operation resource. Asynchronous methods will contain this - information in their response. - in: path - required: true - type: string - - name: Instill-Requester-Uid - description: Indicates the authenticated user is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/namespaces/{namespaceId}/pipelines/{pipelineId}/runs: - get: - summary: List Pipeline Runs - description: |- - Returns a paginated list of runs for a given pipeline. When the requester - is the owner of the pipeline, they will be able to all the pipeline runs, - regardless the requester. Other requesters will only be able to see the - runs requested by themselves. - operationId: PipelinePublicService_ListPipelineRuns - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListPipelineRunsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: The ID of the owner of the pipeline. - in: path - required: true - type: string - - name: pipelineId - description: The ID of the pipeline for which the runs will be listed. - in: path - required: true - type: string - - name: page - description: The page number to retrieve. - in: query - required: false - type: integer - format: int32 - - name: pageSize - description: |- - The maximum number of items per page to return. The default and cap values - are 10 and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/pipeline-runs/{pipelineRunId}/component-runs: - get: - summary: List Component runs - description: Returns the information of each component execution within a pipeline run. - operationId: PipelinePublicService_ListComponentRuns - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListComponentRunsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pipelineRunId - description: The unique identifier of the pipeline run to list component runs for. - in: path - required: true - type: string - - name: page - description: The page number to retrieve. - in: query - required: false - type: integer - format: int32 - - name: pageSize - description: |- - The maximum number of items per page to return. The default and cap values - are 10 and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`. - in: query - required: false - type: string - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - - name: view - description: |- - View allows clients to specify the desired run view in the response. - The basic view excludes input / output data. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - - VIEW_RECIPE: Contains the recipe of the resource. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - VIEW_RECIPE - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/dashboard/pipelines/runs: - get: - summary: List Pipeline Runs of a Namespace (user or organization) - description: |- - Returns a paginated list of runs for 1 or more pipelines. This is mainly used by dashboard. - The requester can view all the runs by the requester across different pipelines. - operationId: PipelinePublicService_ListPipelineRunsByRequester - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListPipelineRunsByRequesterResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: page - description: The page number to retrieve. - in: query - required: false - type: integer - format: int32 - - name: pageSize - description: |- - The maximum number of items per page to return. The default and cap values - are 10 and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter - expression. - The following filters are supported: - - `status` - - `source` - - **Example**: `status="RUN_STATUS_COMPLETED"`. - in: query - required: false - type: string - - name: orderBy - description: |- - Order by field, with options for ordering by `id`, `create_time` or `update_time`. - Format: `order_by=id` or `order_by=create_time desc`, default is `asc`. - in: query - required: false - type: string - - name: start - description: |- - Beginning of the time range from which the records will be fetched. - The default value is the beginning of the current day, in UTC. - in: query - required: false - type: string - format: date-time - - name: stop - description: |- - End of the time range from which the records will be fetched. - The default value is the current timestamp. - in: query - required: false - type: string - format: date-time - - name: requesterId - description: Requester ID. - in: query - required: true - type: string - - name: Instill-Requester-Uid - description: Indicates the authenticated namespace is making the request on behalf of another entity, typically an organization they belong to - in: header - required: false - type: string - tags: - - Trigger - /v1beta/namespaces/{namespaceId}/connections: - get: - summary: List namespace connections - description: Returns a paginated list of connections created by a namespace. - operationId: PipelinePublicService_ListNamespaceConnections - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListNamespaceConnectionsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID. - in: path - required: true - type: string - - name: pageSize - description: The maximum number of items to return. The default and cap values are 10 and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. By default, the first page will be returned. - in: query - required: false - type: string - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. - The following filters are supported: - - `integrationId` - - `qConnection` (fuzzy search on connection ID, integration title or vendor) - - **Examples**: - - List connections where app name, vendor or connection ID match `googl`: `q="googl"`. - - List connections where the component type is `openai` (e.g. to setup a connector within a pipeline): `integrationId="openai"`. - in: query - required: false - type: string - tags: - - Integration - /v1beta/namespaces/{namespaceId}/connections/{connectionId}: - get: - summary: Get a namespace connection - description: Returns the details of a connection. - operationId: PipelinePublicService_GetNamespaceConnection - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetNamespaceConnectionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID. - in: path - required: true - type: string - - name: connectionId - description: Connection ID. - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired view in the response. - - - VIEW_BASIC: Default view. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Integration - delete: - summary: Delete a connection - description: Deletes a connection. - operationId: PipelinePublicService_DeleteNamespaceConnection - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaDeleteNamespaceConnectionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID. - in: path - required: true - type: string - - name: connectionId - description: Connection ID. - in: path - required: true - type: string - tags: - - Integration - /v1beta/namespaces/{connection.namespaceId}/connections: - post: - summary: Create a connection - description: Creates a connection under the ownership of a namespace. - operationId: PipelinePublicService_CreateNamespaceConnection - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaCreateNamespaceConnectionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: connection.namespaceId - description: ID of the namespace owning the connection. - in: path - required: true - type: string - - name: connection - description: Properties of the connection to be created. - in: body - required: true - schema: - type: object - properties: - uid: - type: string - description: UUID-formatted unique identifier. - readOnly: true - id: - type: string - description: ID. - integrationId: - type: string - description: |- - Integration ID. It determines for which type of components can reference - this connection. - integrationTitle: - type: string - description: |- - Integration title. This helps the console display the results grouped by - integration ID without needing an extra call to fetch title by integration - ID. - readOnly: true - method: - description: |- - Connection method. It references the setup schema provided by the - integration. - allOf: - - $ref: '#/definitions/ConnectionMethod' - setup: - type: object - description: |- - Connection details. This field is required on creation, optional on view. - When viewing the connection details, the setup values will be redacted. - scopes: - type: array - items: - type: string - description: |- - A list of scopes that identify the resources that the connection will be - able to access on the user's behalf. This is typically passed on creation - when the setup has been generated through an OAuth flow with a limited set - of scopes. - identity: - type: string - description: |- - When the connection method is METHOD_OAUTH, this field will hold the - identity (e.g., email, username) with which the access token has been - generated. - oAuthAccessDetails: - type: object - description: |- - When the connection method is METHOD_OAUTH, the access token might come - with some extra information that might vary across vendors. This - information is passed as connection metadata. - view: - title: |- - View defines how the connection is presented. The following fields are - only shown in the FULL view: - - setup - - scopes - - oAuthAccessDetails - readOnly: true - allOf: - - $ref: '#/definitions/vdppipelinev1betaView' - createTime: - type: string - format: date-time - description: Creation timestamp. - readOnly: true - updateTime: - type: string - format: date-time - description: Last update timestamp. - readOnly: true - title: Properties of the connection to be created. - required: - - id - - integrationId - - method - - setup - tags: - - Integration - /v1beta/namespaces/{connection.namespaceId}/connections/{connectionId}: - patch: - summary: Update a connection - description: Updates a connection with the supplied connection fields. - operationId: PipelinePublicService_UpdateNamespaceConnection - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaUpdateNamespaceConnectionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: connection.namespaceId - description: ID of the namespace owning the connection. - in: path - required: true - type: string - - name: connectionId - description: ID of the connection to be updated, as present in the database. - in: path - required: true - type: string - - name: connection - description: |- - Connection object with the new properties to be updated. Immutable and - output-only fields will be ignored. The Setup property must be updated - in block (no partial update is supported). - in: body - required: true - schema: - type: object - properties: - uid: - type: string - description: UUID-formatted unique identifier. - readOnly: true - id: - type: string - description: ID. - integrationId: - type: string - description: |- - Integration ID. It determines for which type of components can reference - this connection. - integrationTitle: - type: string - description: |- - Integration title. This helps the console display the results grouped by - integration ID without needing an extra call to fetch title by integration - ID. - readOnly: true - method: - description: |- - Connection method. It references the setup schema provided by the - integration. - allOf: - - $ref: '#/definitions/ConnectionMethod' - setup: - type: object - description: |- - Connection details. This field is required on creation, optional on view. - When viewing the connection details, the setup values will be redacted. - scopes: - type: array - items: - type: string - description: |- - A list of scopes that identify the resources that the connection will be - able to access on the user's behalf. This is typically passed on creation - when the setup has been generated through an OAuth flow with a limited set - of scopes. - identity: - type: string - description: |- - When the connection method is METHOD_OAUTH, this field will hold the - identity (e.g., email, username) with which the access token has been - generated. - oAuthAccessDetails: - type: object - description: |- - When the connection method is METHOD_OAUTH, the access token might come - with some extra information that might vary across vendors. This - information is passed as connection metadata. - view: - title: |- - View defines how the connection is presented. The following fields are - only shown in the FULL view: - - setup - - scopes - - oAuthAccessDetails - readOnly: true - allOf: - - $ref: '#/definitions/vdppipelinev1betaView' - createTime: - type: string - format: date-time - description: Creation timestamp. - readOnly: true - updateTime: - type: string - format: date-time - description: Last update timestamp. - readOnly: true - title: |- - Connection object with the new properties to be updated. Immutable and - output-only fields will be ignored. The Setup property must be updated - in block (no partial update is supported). - required: - - id - - integrationId - - method - - setup - tags: - - Integration - /v1beta/namespaces/{namespaceId}/connections/{connectionId}/test: - post: - summary: Test a connection - description: |- - Makes a request to the 3rd party app that the connection is configured to - communicate with, and checks the result of the call. If the test fails, - the response status and error message will provide more information about - the failure. - - Note that this action might affect the quota or billing of the integrated - account in the 3rd party app. - operationId: PipelinePublicService_TestNamespaceConnection - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaTestNamespaceConnectionResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID. - in: path - required: true - type: string - - name: connectionId - description: Connection ID. - in: path - required: true - type: string - tags: - - Integration - /v1beta/namespaces/{namespaceId}/connections/{connectionId}/referenced-pipelines: - get: - summary: List pipelines that reference a connection - description: |- - Returns a paginated list with the IDs of the pipelines that reference a - given connection. All the pipelines will belong to the same namespace as - the connection. - operationId: PipelinePublicService_ListPipelineIDsByConnectionID - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListPipelineIDsByConnectionIDResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: namespaceId - description: Namespace ID. - in: path - required: true - type: string - - name: connectionId - description: Connection ID. - in: path - required: true - type: string - - name: pageSize - description: The maximum number of items to return. The default and cap values are 10 and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. By default, the first page will be returned. - in: query - required: false - type: string - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. - The following filters are supported: - - `q` (fuzzy search on pipeline ID) - in: query - required: false - type: string - tags: - - Integration - /v1beta/integrations: - get: - summary: List integrations - description: Returns a paginated list of available integrations. - operationId: PipelinePublicService_ListIntegrations - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaListIntegrationsResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: pageSize - description: The maximum number of items to return. The default and cap values are 10 and 100, respectively. - in: query - required: false - type: integer - format: int32 - - name: pageToken - description: Page token. By default, the first page will be returned. - in: query - required: false - type: string - - name: filter - description: |- - Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. - The following filters are supported: - - `qIntegration` (fuzzy search on title or vendor) - - **Examples**: - - List integrations where app name or vendor match `googl`: `q="googl"`. - in: query - required: false - type: string - tags: - - Integration - /v1beta/integrations/{integrationId}: - get: - summary: Get an integration - description: Returns the details of an integration. - operationId: PipelinePublicService_GetIntegration - responses: - "200": - description: A successful response. - schema: - $ref: '#/definitions/v1betaGetIntegrationResponse' - "401": - description: Returned when the client credentials are not valid. - schema: {} - default: - description: An unexpected error response. - schema: - $ref: '#/definitions/googlerpcStatus' - parameters: - - name: integrationId - description: Integration ID. - in: path - required: true - type: string - - name: view - description: |- - View allows clients to specify the desired view in the response. - - - VIEW_BASIC: Default view. - - VIEW_FULL: Full representation. - in: query - required: false - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - tags: - - Integration -definitions: - ComponentDefinitionReleaseStage: - type: string - enum: - - RELEASE_STAGE_OPEN_FOR_CONTRIBUTION - - RELEASE_STAGE_COMING_SOON - - RELEASE_STAGE_ALPHA - - RELEASE_STAGE_BETA - - RELEASE_STAGE_GA - description: |- - - RELEASE_STAGE_OPEN_FOR_CONTRIBUTION: This component is unimplemented and community contributions are welcome - for this component. - - It is recommended that the major and minor versions for definitions at - this release stage is kept at 0, e.g., `0.0.1`, `0.0.4`, etc. - - RELEASE_STAGE_COMING_SOON: The implementation of this component is planned and will be tackled by - the Instill AI team. - - It is recommended that the major and minor versions for definitions at - this release stage is kept at 0, e.g., `0.0.1`, `0.0.4`, etc. - - RELEASE_STAGE_ALPHA: Initial implementation intended to gather feedback and issues from early - adopters. Alpha releases are discouraged for production use cases. - - The `version` field in the definition must have `alpha` as its first - pre-release identifier, e.g., `0.1.0-alpha`, `0.1.3-alpha.1`. - - RELEASE_STAGE_BETA: The component has reached stability and no backwards incompatible - changes are expected. Before reaching general availability, it should be - validated by a broader group of users. Some fixes might be added during - this process. - - The `version` field in the definition must have `beta` as its first - pre-release identifier, e.g., `0.1.0-beta`, `0.1.3-beta.1`. - - RELEASE_STAGE_GA: Generally available - ready for use in production and fully supported by - Instill AI. - title: |- - ReleaseStage defines the release stage of a component. This is used to - group components with the same pre-relase groups (e.g. `0.1.0-beta`, - `0.1.0-beta.1` -> `RELEASE_STAGE_BETA`) and to include other "in progress" - (i.e. coming soon, open for contributions) stages that may not be relevant - within semantic versioning. - See the documentation of each value for potential constraints between - `version` and `release_stage` fields.` - ComponentDefinitionSpec: - type: object - properties: - componentSpecification: - type: object - description: Component specification. - dataSpecifications: - type: object - additionalProperties: - $ref: '#/definitions/v1betaDataSpecification' - description: |- - Data specifications. - The key represents the task, and the value is the corresponding data_specification. - description: Spec represents a specification data model. - required: - - componentSpecification - - dataSpecifications - ConnectionMethod: - type: string - enum: - - METHOD_DICTIONARY - - METHOD_OAUTH - description: |- - Method defines how the connection is set up. - - - METHOD_DICTIONARY: Key-value collection. The user is responsible of fetching the connection - details from the 3rd party service. - - METHOD_OAUTH: Access token created via OAuth 2.0 authorization. - EndpointsWebhookEndpoint: - type: object - properties: - url: - type: string - description: Webhook URL. - readOnly: true - description: - type: string - description: Description. - readOnly: true - description: WebhookEndpoint describe a webhook endpoint. - IntegrationLink: - type: object - properties: - text: - type: string - description: Text contains the message to display. - readOnly: true - url: - type: string - description: URL contains the reference the link will redirect to. - readOnly: true - description: Link contains the information to display an reference to an external URL. - IntegrationOAuthConfig: - type: object - properties: - authUrl: - type: string - description: |- - The URL of the OAuth server to initiate the authentication and - authorization process. - readOnly: true - accessUrl: - type: string - description: |- - The URL of the OAuth server to exchange the authorization code for an - access token. - readOnly: true - scopes: - type: array - items: - type: string - description: |- - A list of scopes that identify the resources that the connection will be - able to access on the user's behalf. - readOnly: true - description: |- - OAuthConfig contains the configuration parameters for fetching an access - token via an OAuth 2.0 flow. - IntegrationSetupSchema: - type: object - properties: - method: - description: The connection method, which will define the fields in the schema. - readOnly: true - allOf: - - $ref: '#/definitions/ConnectionMethod' - schema: - type: object - description: |- - The connection setup field definitions. Each integration will require - different data to connect to the 3rd party app. - readOnly: true - description: |- - SetupSchema defines the schema for a connection setup. - This message is deprecated. - PipelinePublicServiceCloneNamespacePipelineBody: - type: object - properties: - description: - type: string - description: Pipeline description. - sharing: - description: Pipeline sharing information. - allOf: - - $ref: '#/definitions/v1betaSharing' - targetNamespaceId: - type: string - description: Target Namespace ID. - targetPipelineId: - type: string - description: Target Pipeline ID. - description: |- - CloneNamespacePipelineRequest represents a request to clone a pipeline owned by a - user. - required: - - targetNamespaceId - - targetPipelineId - PipelinePublicServiceCloneNamespacePipelineReleaseBody: - type: object - properties: - description: - type: string - description: Pipeline description. - sharing: - description: Pipeline sharing information. - allOf: - - $ref: '#/definitions/v1betaSharing' - targetNamespaceId: - type: string - description: Target Namespace ID. - targetPipelineId: - type: string - description: Target Pipeline ID. - description: |- - CloneNamespacePipelineReleaseRequest represents a request to clone a pipeline - release owned by a user. - required: - - targetNamespaceId - - targetPipelineId - PipelinePublicServiceRenameNamespacePipelineBody: - type: object - properties: - newPipelineId: - type: string - description: |- - The new resource ID. This will transform the resource name into - `namespaces/{namespace.id}/pipelines/{new_pipeline_id}`. - description: |- - RenameNamespacePipelineRequest represents a request to rename the name of a - pipeline owned by a namespace. - required: - - newPipelineId - PipelinePublicServiceTriggerAsyncNamespacePipelineBody: - type: object - properties: - inputs: - type: array - items: - type: object - description: Pipeline input parameters, it will be deprecated soon. - data: - type: array - items: - type: object - $ref: '#/definitions/v1betaTriggerData' - title: Data - description: |- - TriggerNamespacePipelineRequest represents a request to trigger a user-owned - pipeline synchronously. - PipelinePublicServiceTriggerAsyncNamespacePipelineReleaseBody: - type: object - properties: - inputs: - type: array - items: - type: object - description: Pipeline input parameters, it will be deprecated soon. - data: - type: array - items: - type: object - $ref: '#/definitions/v1betaTriggerData' - title: Data - description: |- - TriggerNamespacePipelineReleaseRequest represents a request to trigger a pinned - release of a user-owned pipeline asynchronously. - PipelinePublicServiceTriggerNamespacePipelineBody: - type: object - properties: - inputs: - type: array - items: - type: object - description: Pipeline input parameters, it will be deprecated soon. - data: - type: array - items: - type: object - $ref: '#/definitions/v1betaTriggerData' - title: Data - description: |- - TriggerNamespacePipelineRequest represents a request to trigger a user-owned - pipeline synchronously. - required: - - inputs - - data - PipelinePublicServiceTriggerNamespacePipelineReleaseBody: - type: object - properties: - inputs: - type: array - items: - type: object - description: Pipeline input parameters, it will be deprecated soon. - data: - type: array - items: - type: object - $ref: '#/definitions/v1betaTriggerData' - title: Data - description: |- - TriggerNamespacePipelineReleaseRequest represents a request to trigger a pinned - release of a user-owned pipeline. - PipelinePublicServiceTriggerNamespacePipelineWithStreamBody: - type: object - properties: - inputs: - type: array - items: - type: object - description: Pipeline input parameters, it will be deprecated soon. - data: - type: array - items: - type: object - $ref: '#/definitions/v1betaTriggerData' - title: Data - description: |- - TriggerNamespacePipelineWithStreamRequest represents a request to trigger a user-owned - pipeline synchronously and streams back the results. - PipelinePublicServiceValidateNamespacePipelineBody: - type: object - description: |- - ValidateNamespacePipelineRequest represents a request to validate a pipeline - owned by a user. - PipelineStats: - type: object - properties: - numberOfRuns: - type: integer - format: int32 - description: Number of pipeline runs. - readOnly: true - lastRunTime: - type: string - format: date-time - description: Last run time. - readOnly: true - numberOfClones: - type: integer - format: int32 - description: Number of times this pipeline has been cloned. - readOnly: true - title: Statistic data - SharingShareCode: - type: object - properties: - user: - type: string - description: |- - Defines which users will be able to access the resource through the - code. This is a pattern that will be checked against user names. - - For now, the only accepted value is `*/*`. - code: - type: string - description: The public URL that allows users to access the resource. - enabled: - type: boolean - description: Defines whether the sharing option via link is enabled. - role: - description: Defines the role users will have over the resource. - allOf: - - $ref: '#/definitions/v1betaRole' - description: ShareCode describes a sharing configuration through a link. - coremgmtv1betaPermission: - type: object - properties: - canEdit: - type: boolean - description: Defines whether the resource can be modified. - readOnly: true - description: Permission defines how a resource can be used. - googlelongrunningOperation: - type: object - properties: - name: - type: string - description: |- - The server-assigned name, which is only unique within the same service that - originally returns it. If you use the default HTTP mapping, the - `name` should be a resource name ending with `operations/{unique_id}`. - metadata: - description: |- - Service-specific metadata associated with the operation. It typically - contains progress information and common metadata such as create time. - Some services might not provide such metadata. Any method that returns a - long-running operation should document the metadata type, if any. - allOf: - - $ref: '#/definitions/protobufAny' - done: - type: boolean - description: |- - If the value is `false`, it means the operation is still in progress. - If `true`, the operation is completed, and either `error` or `response` is - available. - error: - description: The error result of the operation in case of failure or cancellation. - allOf: - - $ref: '#/definitions/googlerpcStatus' - response: - description: |- - The normal response of the operation in case of success. If the original - method returns no data on success, such as `Delete`, the response is - `google.protobuf.Empty`. If the original method is standard - `Get`/`Create`/`Update`, the response should be the resource. For other - methods, the response should have the type `XxxResponse`, where `Xxx` - is the original method name. For example, if the original method name - is `TakeSnapshot()`, the inferred response type is - `TakeSnapshotResponse`. - allOf: - - $ref: '#/definitions/protobufAny' - description: |- - This resource represents a long-running operation that is the result of a - network API call. - googlerpcStatus: - type: object - properties: - code: - type: integer - format: int32 - description: |- - The status code, which should be an enum value of - [google.rpc.Code][google.rpc.Code]. - message: - type: string - description: |- - A developer-facing error message, which should be in English. Any - user-facing error message should be localized and sent in the - [google.rpc.Status.details][google.rpc.Status.details] field, or localized - by the client. - details: - type: array - items: - type: object - $ref: '#/definitions/protobufAny' - description: |- - A list of messages that carry the error details. There is a common set of - message types for APIs to use. - description: |- - The `Status` type defines a logical error model that is suitable for - different programming environments, including REST APIs and RPC APIs. It is - used by [gRPC](https://github.com/grpc). Each `Status` message contains - three pieces of data: error code, error message, and error details. - - You can find out more about this error model and how to work with it in the - [API Design Guide](https://cloud.google.com/apis/design/errors). - mgmtv1betaUser: - type: object - properties: - name: - type: string - description: |- - The name of the user, defined by its ID. - - Format: `users/{user.id}`. - readOnly: true - uid: - type: string - description: |- - User UUID. This field is optionally set by users on creation (it will be - server-generated if unspecified). - readOnly: true - id: - type: string - description: |- - Resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - - Note that the ID can be updated. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - profile: - description: Profile. - allOf: - - $ref: '#/definitions/v1betaUserProfile' - description: |- - User describes an individual that interacts with Instill AI. It doesn't - contain any private information about the user. - protobufAny: - type: object - properties: - '@type': - type: string - description: |- - A URL/resource name that uniquely identifies the type of the serialized - protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must represent - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a canonical form - (e.g., leading "." is not accepted). - - In practice, teams usually precompile into the binary all types that they - expect it to use in the context of Any. However, for URLs which use the - scheme `http`, `https`, or no scheme, one can optionally set up a type - server that maps type URLs to message definitions as follows: - - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the official - protobuf release, and it is not used for type URLs beginning with - type.googleapis.com. As of May 2023, there are no widely used type server - implementations and no plans to implement one. - - Schemes other than `http`, `https` (or the empty scheme) might be - used with implementation specific semantics. - additionalProperties: {} - description: |- - `Any` contains an arbitrary serialized protocol buffer message along with a - URL that describes the type of the serialized message. - - Protobuf library provides support to pack/unpack Any values in the form - of utility functions or additional generated methods of the Any type. - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the unpack - methods only use the fully qualified type name after the last '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". - - JSON - ==== - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - protobufNullValue: - type: string - description: |- - `NullValue` is a singleton enumeration to represent the null value for the - `Value` type union. - - The JSON representation for `NullValue` is JSON `null`. - v1alphaRunSource: - type: string - enum: - - RUN_SOURCE_CONSOLE - - RUN_SOURCE_API - description: |- - RunSource defines the source of a pipeline or model run. - - - RUN_SOURCE_CONSOLE: Run from frontend UI. - - RUN_SOURCE_API: Run from API or SDK. - v1alphaRunStatus: - type: string - enum: - - RUN_STATUS_PROCESSING - - RUN_STATUS_COMPLETED - - RUN_STATUS_FAILED - - RUN_STATUS_QUEUED - description: |- - RunStatus defines the status of a pipeline or model run. - - - RUN_STATUS_PROCESSING: Run in progress. - - RUN_STATUS_COMPLETED: Run succeeded. - - RUN_STATUS_FAILED: Run failed. - - RUN_STATUS_QUEUED: Run is waiting to be executed. - v1betaCloneNamespacePipelineReleaseResponse: - type: object - description: CloneNamespacePipelineReleaseResponse contains a cloned pipeline. - v1betaCloneNamespacePipelineResponse: - type: object - description: CloneNamespacePipelineResponse contains a cloned pipeline. - v1betaComponentDefinition: - type: object - properties: - name: - type: string - title: |- - The name of the component definition, defined by its ID. - - Format: `component-definitions/{id}` - readOnly: true - uid: - type: string - description: Component definition UUID. - readOnly: true - id: - type: string - description: |- - Component definition resource ID (used in `name` as the last segment). This - conforms to RFC-1034, which restricts to letters, numbers, and hyphen, - with the first character a letter, the last a letter or a number, and a 63 - character maximum. - title: - type: string - description: Component definition title. - readOnly: true - documentationUrl: - type: string - description: Component definition documentation URL. - readOnly: true - icon: - type: string - description: |- - Component definition icon. This is a path that's relative to the root of - the component implementation (see `source_url`) and that allows - frontend applications to pull and locate the icons. - readOnly: true - spec: - description: Component definition specification. - readOnly: true - allOf: - - $ref: '#/definitions/ComponentDefinitionSpec' - type: - description: Component definition type. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaComponentType' - tombstone: - type: boolean - description: |- - Component definition tombstone. If true, this configuration is permanently - off. Otherwise, the configuration is active. - readOnly: true - public: - type: boolean - description: |- - The public flag determines whether this connector definition is available - to all workspaces. - readOnly: true - custom: - type: boolean - description: |- - Component definition custom flag, i.e., whether this is a custom - component definition. - readOnly: true - vendor: - type: string - description: Component definition vendor name. - readOnly: true - vendorAttributes: - type: object - description: Vendor-specific attributes. - readOnly: true - sourceUrl: - type: string - description: |- - Source code URL. This points to the source code where the component is - implemented. - readOnly: true - version: - type: string - description: |- - Component definition version. This is a string that fulfills the SemVer - specification (e.g. `1.0.0-beta`). - readOnly: true - tasks: - type: array - items: - type: object - $ref: '#/definitions/v1betaComponentTask' - description: List of tasks that can be executed by the component. - readOnly: true - description: - type: string - description: Short description of the component. - readOnly: true - releaseStage: - description: Release stage. - readOnly: true - allOf: - - $ref: '#/definitions/ComponentDefinitionReleaseStage' - description: ComponentDefinition describes a certain type of Component. - v1betaComponentDefinitionView: - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - description: |- - View defines how a component definition is presented. - - - VIEW_BASIC: Default view, only includes basic information (removes the `spec` - field). - - VIEW_FULL: Full representation. - v1betaComponentRun: - type: object - properties: - pipelineRunUid: - type: string - description: Links to the parent PipelineRun. - readOnly: true - componentId: - type: string - description: Unique identifier for each pipeline component. - readOnly: true - status: - description: Completion status of the component. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaRunStatus' - totalDuration: - type: integer - format: int32 - description: Time taken to execute the component in milliseconds. - readOnly: true - startTime: - type: string - format: date-time - description: Time when the component started execution. - readOnly: true - completeTime: - type: string - format: date-time - description: Time when the component finished execution. - readOnly: true - error: - type: string - description: Error message if the component failed. - readOnly: true - inputsReference: - type: array - items: - type: object - $ref: '#/definitions/v1betaFileReference' - description: Input files for the run. - readOnly: true - inputs: - type: array - items: - type: object - description: Component input parameters. - readOnly: true - outputsReference: - type: array - items: - type: object - $ref: '#/definitions/v1betaFileReference' - description: Output files from the run. - readOnly: true - outputs: - type: array - items: - type: object - description: Component inference outputs. - readOnly: true - creditAmount: - type: number - format: float - description: Credits used of internal accounting metric. - readOnly: true - description: ComponentRun represents the execution details of a single component within a pipeline run. - v1betaComponentTask: - type: object - properties: - name: - type: string - description: The task name, e.g. `TASK_TEXT_GENERATION`. - readOnly: true - title: - type: string - description: Title is the task name in a human-friendly format. - readOnly: true - description: - type: string - description: Description contains information about the task. - readOnly: true - description: |- - ComponentTask contains information about a task that a component can - perform. - v1betaComponentType: - type: string - enum: - - COMPONENT_TYPE_AI - - COMPONENT_TYPE_DATA - - COMPONENT_TYPE_OPERATOR - - COMPONENT_TYPE_APPLICATION - - COMPONENT_TYPE_GENERIC - description: |- - ComponentType defines the component type based on its task features. - - - COMPONENT_TYPE_AI: Connect with an AI model. - - COMPONENT_TYPE_DATA: Connect with a remote data source. - - COMPONENT_TYPE_OPERATOR: Manipulate data. - - COMPONENT_TYPE_APPLICATION: Connect with an external application. - - COMPONENT_TYPE_GENERIC: Generic. - v1betaConnection: - type: object - properties: - uid: - type: string - description: UUID-formatted unique identifier. - readOnly: true - id: - type: string - description: ID. - namespaceId: - type: string - description: ID of the namespace owning the connection. - integrationId: - type: string - description: |- - Integration ID. It determines for which type of components can reference - this connection. - integrationTitle: - type: string - description: |- - Integration title. This helps the console display the results grouped by - integration ID without needing an extra call to fetch title by integration - ID. - readOnly: true - method: - description: |- - Connection method. It references the setup schema provided by the - integration. - allOf: - - $ref: '#/definitions/ConnectionMethod' - setup: - type: object - description: |- - Connection details. This field is required on creation, optional on view. - When viewing the connection details, the setup values will be redacted. - scopes: - type: array - items: - type: string - description: |- - A list of scopes that identify the resources that the connection will be - able to access on the user's behalf. This is typically passed on creation - when the setup has been generated through an OAuth flow with a limited set - of scopes. - identity: - type: string - description: |- - When the connection method is METHOD_OAUTH, this field will hold the - identity (e.g., email, username) with which the access token has been - generated. - oAuthAccessDetails: - type: object - description: |- - When the connection method is METHOD_OAUTH, the access token might come - with some extra information that might vary across vendors. This - information is passed as connection metadata. - view: - title: |- - View defines how the connection is presented. The following fields are - only shown in the FULL view: - - setup - - scopes - - oAuthAccessDetails - readOnly: true - allOf: - - $ref: '#/definitions/vdppipelinev1betaView' - createTime: - type: string - format: date-time - description: Creation timestamp. - readOnly: true - updateTime: - type: string - format: date-time - description: Last update timestamp. - readOnly: true - description: |- - Connection contains the parameters to communicate with a 3rd party app. A - component may reference a connection in their setup. One connection may be - used by several components and pipelines. - required: - - id - - namespaceId - - integrationId - - method - - setup - v1betaCreateNamespaceConnectionResponse: - type: object - properties: - connection: - description: The created connection. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaConnection' - description: CreateNamespaceConnectionResponse contains the created connection. - v1betaCreateNamespacePipelineReleaseResponse: - type: object - properties: - release: - description: The created pipeline release object. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipelineRelease' - description: CreateNamespacePipelineReleaseResponse contains the created release. - v1betaCreateNamespacePipelineResponse: - type: object - properties: - pipeline: - description: The created pipeline resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipeline' - description: CreateNamespacePipelineResponse contains the created pipeline. - v1betaCreateNamespaceSecretResponse: - type: object - properties: - secret: - description: The created secret resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaSecret' - description: CreateNamespaceSecretResponse contains the created secret. - v1betaDataSpecification: - type: object - properties: - input: - type: object - description: JSON schema describing the component input data. - readOnly: true - output: - type: object - description: JSON schema describing the component output data. - readOnly: true - description: DataSpecification describes the JSON schema of component input and output. - v1betaDeleteNamespaceConnectionResponse: - type: object - description: DeleteNamespaceConnectionResponse is an empty response. - v1betaDeleteNamespacePipelineReleaseResponse: - type: object - description: DeleteNamespacePipelineReleaseResponse is an empty response. - v1betaDeleteNamespacePipelineResponse: - type: object - description: DeleteNamespacePipelineResponse is an empty response. - v1betaDeleteNamespaceSecretResponse: - type: object - description: DeleteNamespaceSecretResponse is an empty response. - v1betaEndpoints: - type: object - properties: - webhooks: - type: object - additionalProperties: - $ref: '#/definitions/EndpointsWebhookEndpoint' - description: Webhook endpoints. - readOnly: true - description: Endpoints describe the endpoints of a pipeline. - v1betaErrPipelineValidation: - type: object - properties: - location: - type: string - title: Location - error: - type: string - title: error - description: |- - ErrPipelineValidation contains information about a failed pipeline - validation. - v1betaFileReference: - type: object - properties: - name: - type: string - description: Name of the file. - type: - type: string - description: Format of the file (e.g., PDF, TXT, JPG). - size: - type: string - format: int64 - description: Size of the file in bytes. - url: - type: string - description: URL of the file (e.g., S3 URL). - description: FileReference represents metadata for a file. - required: - - name - - type - - size - - url - v1betaGetIntegrationResponse: - type: object - properties: - integration: - description: The requested integration. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaIntegration' - description: GetIntegrationResponse contains the requested integration. - v1betaGetNamespaceConnectionResponse: - type: object - properties: - connection: - description: The requested connection. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaConnection' - description: GetNamespaceConnectionResponse contains the requested connection. - v1betaGetNamespacePipelineReleaseResponse: - type: object - properties: - release: - description: The pipeline release resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipelineRelease' - description: GetNamespacePipelineReleaseResponse contains the requested pipeline release. - v1betaGetNamespacePipelineResponse: - type: object - properties: - pipeline: - description: The pipeline resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipeline' - description: GetNamespacePipelineResponse contains the requested pipeline. - v1betaGetNamespaceSecretResponse: - type: object - properties: - secret: - description: The secret resource. - allOf: - - $ref: '#/definitions/v1betaSecret' - description: GetNamespaceSecretResponse contains the requested secret. - v1betaGetOperationResponse: - type: object - properties: - operation: - description: The long-running operation. - readOnly: true - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: GetOperationResponse contains the long-running operation details. - v1betaIntegration: - type: object - properties: - uid: - type: string - description: UUID-formatted unique identifier. It references a component definition. - readOnly: true - id: - type: string - description: |- - Identifier of the integration, which references a component definition. - Components with that definition ID will be able to use the connections - produced by this integration. - readOnly: true - title: - type: string - description: Title, reflects the app name. - readOnly: true - description: - type: string - description: Short description of the integrated app. - readOnly: true - vendor: - type: string - description: Integrated app vendor name. - readOnly: true - icon: - type: string - description: |- - Integration icon. This is a path that's relative to the root of - the component implementation and that allows frontend applications to pull - and locate the icons. - See the `icon` field in the `ComponentDefinition` entity for more - information. - readOnly: true - helpLink: - description: Reference to the vendor's documentation to expand the integration details. - readOnly: true - allOf: - - $ref: '#/definitions/IntegrationLink' - setupSchema: - type: object - description: |- - The connection setup field definitions. Each integration will require - different data to connect to the 3rd party app. - readOnly: true - oAuthConfig: - description: |- - Configuration parameters required for the OAuth setup flow. This field - will be present only if the integration supports OAuth 2.0. - readOnly: true - allOf: - - $ref: '#/definitions/IntegrationOAuthConfig' - view: - title: |- - View defines how the integration is presented. The following fields are - only shown in the FULL view: - - schemas - - setupSchema - - oAuthConfig - readOnly: true - allOf: - - $ref: '#/definitions/vdppipelinev1betaView' - schemas: - type: array - items: - type: object - $ref: '#/definitions/IntegrationSetupSchema' - description: |- - Schemas defines the supported schemas for the connection setup. - We haven't found a case for a schema that changes on the connection method - (components don't care about how the connection was built), so the schema - will be provided in the setupSchema field and the OAuth support and - configuration will be provided in oAuthConfig. - readOnly: true - description: |- - Integration contains the parameters to create a connection between - components and 3rd party apps. - v1betaListComponentDefinitionsResponse: - type: object - properties: - componentDefinitions: - type: array - items: - type: object - $ref: '#/definitions/v1betaComponentDefinition' - description: A list of component definition resources. - totalSize: - type: integer - format: int32 - description: Total number of component definitions. - pageSize: - type: integer - format: int32 - description: The requested page size. - page: - type: integer - format: int32 - description: The requested page offset. - description: ListComponentDefinitionsResponse contains a list of component definitions. - v1betaListComponentRunsResponse: - type: object - properties: - componentRuns: - type: array - items: - type: object - $ref: '#/definitions/v1betaComponentRun' - description: The list of component runs. - readOnly: true - totalSize: - type: integer - format: int32 - description: The total number of component runs matching the request. - readOnly: true - page: - type: integer - format: int32 - description: The current page number. - readOnly: true - pageSize: - type: integer - format: int32 - description: The number of items per page. - readOnly: true - description: ListComponentRunsResponse is the response message for ListComponentRuns. - v1betaListIntegrationsResponse: - type: object - properties: - integrations: - type: array - items: - type: object - $ref: '#/definitions/v1betaIntegration' - description: A list of integrations matching the request parameters. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of items. - readOnly: true - description: ListIntegrationsResponse contains a paginated list of integrations. - v1betaListNamespaceConnectionsResponse: - type: object - properties: - connections: - type: array - items: - type: object - $ref: '#/definitions/v1betaConnection' - description: A list of connections matching the request parameters. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of items. - readOnly: true - description: ListNamespaceConnectionsResponse contains a paginated list of connections. - v1betaListNamespacePipelineReleasesResponse: - type: object - properties: - releases: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipelineRelease' - description: A list of pipeline release resources. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of pipeline releases. - readOnly: true - description: ListNamespacePipelineReleasesResponse contains a list of pipeline releases. - v1betaListNamespacePipelinesResponse: - type: object - properties: - pipelines: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipeline' - description: A list of pipeline resources. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of pipelines. - readOnly: true - description: ListNamespacePipelinesResponse contains a list of pipelines. - v1betaListNamespaceSecretsResponse: - type: object - properties: - secrets: - type: array - items: - type: object - $ref: '#/definitions/v1betaSecret' - description: A list of secret resources. - readOnly: true - nextPageToken: - type: string - description: Next page secret. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of secret resources. - readOnly: true - description: ListNamespaceSecretsResponse contains a list of secrets. - v1betaListPipelineIDsByConnectionIDResponse: - type: object - properties: - pipelineIds: - type: array - items: - type: string - description: A list of pipeline IDs matching the request parameters. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of items. - readOnly: true - description: ListPipelineIDsByConnectionIDResponse contains a paginated list of integrations. - v1betaListPipelineReleasesAdminResponse: - type: object - properties: - releases: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipelineRelease' - description: A list of pipeline releases. - nextPageToken: - type: string - description: Next page token. - totalSize: - type: integer - format: int32 - description: Total number of pipeline releases. - description: |- - ListPipelineReleasesAdminResponse contains a list of pipeline releases - requested by an admin user. - For the moment, the pipeline recipes will be UID-based (permalink) instead - of name-based. This is a temporary solution. - v1betaListPipelineRunsByRequesterResponse: - type: object - properties: - pipelineRuns: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipelineRun' - description: The list of pipeline runs. - readOnly: true - totalSize: - type: integer - format: int32 - description: The total number of pipeline runs matching the request. - readOnly: true - page: - type: integer - format: int32 - description: The current page number. - readOnly: true - pageSize: - type: integer - format: int32 - description: The number of items per page. - readOnly: true - description: ListPipelineRunsByRequesterResponse is the response message for ListPipelineRunsByRequester. - v1betaListPipelineRunsResponse: - type: object - properties: - pipelineRuns: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipelineRun' - description: The list of pipeline runs. - readOnly: true - totalSize: - type: integer - format: int32 - description: The total number of pipeline runs matching the request. - readOnly: true - page: - type: integer - format: int32 - description: The current page number. - readOnly: true - pageSize: - type: integer - format: int32 - description: The number of items per page. - readOnly: true - description: ListPipelineRunsResponse is the response message for ListPipelineRuns. - v1betaListPipelinesAdminResponse: - type: object - properties: - pipelines: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipeline' - description: A list of pipeline resources. - nextPageToken: - type: string - description: Next page token. - totalSize: - type: integer - format: int32 - description: Total number of pipelines. - description: |- - ListPipelinesAdminResponse contains a list of pipelines requested by an - admin user. - For the moment, the pipeline recipes will be UID-based (permalink) instead - of name-based. This is a temporary solution. - v1betaListPipelinesResponse: - type: object - properties: - pipelines: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipeline' - description: A list of pipeline resources. - readOnly: true - nextPageToken: - type: string - description: Next page token. - readOnly: true - totalSize: - type: integer - format: int32 - description: Total number of pipelines. - readOnly: true - description: ListPipelinesResponse contains a list of pipelines. - v1betaLookUpPipelineAdminResponse: - type: object - properties: - pipeline: - description: The requested pipeline. - allOf: - - $ref: '#/definitions/v1betaPipeline' - description: LookUpPipelineAdminResponse contains the requested pipeline. - v1betaOrganization: - type: object - properties: - name: - type: string - description: |- - The name of the organization, defined by its ID. - - Format: `organization/{organization.id}`. - readOnly: true - uid: - type: string - description: Organization UUID. - readOnly: true - id: - type: string - description: |- - Resource ID (used in `name` as the last segment). This conforms to - RFC-1034, which restricts to letters, numbers, and hyphen, with the first - character a letter, the last a letter or a number, and a 63 character - maximum. - - Note that the ID can be updated. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - owner: - description: The user that owns the organization. - readOnly: true - allOf: - - $ref: '#/definitions/mgmtv1betaUser' - profile: - description: Profile. - allOf: - - $ref: '#/definitions/v1betaOrganizationProfile' - permission: - title: Permission - readOnly: true - allOf: - - $ref: '#/definitions/coremgmtv1betaPermission' - description: |- - Organizations group several users. As entities, they can own resources such - as pipelines or releases. - required: - - profile - v1betaOrganizationProfile: - type: object - properties: - displayName: - type: string - description: Display name. - bio: - type: string - description: Biography. - avatar: - type: string - description: Avatar in base64 format. - publicEmail: - type: string - description: Public email. - socialProfileLinks: - type: object - additionalProperties: - type: string - description: |- - Social profile links list the links to the organization's social profiles. - The key represents the provider, and the value is the corresponding URL. - description: OrganizationProfile describes the public data of an organization. - v1betaOwner: - type: object - properties: - user: - description: User. - readOnly: true - allOf: - - $ref: '#/definitions/mgmtv1betaUser' - organization: - description: Organization. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOrganization' - description: Owner is a wrapper for User and Organization, used to embed owner information in other resources. - v1betaPipeline: - type: object - properties: - name: - type: string - description: |- - The name of the pipeline, defined by its parent and ID. - - Format: `{parent_type}/{parent.id}/pipelines/{pipeline.id}`. - readOnly: true - uid: - type: string - description: Pipeline UUID. - readOnly: true - id: - type: string - description: |- - Pipeline resource ID (used in `name` as the last segment). This conforms - to RFC-1034, which restricts to letters, numbers, and hyphen, with the - first character a letter, the last a letter or a number, and a 63 - character maximum. - description: - type: string - description: Pipeline description. - recipe: - type: object - description: Recipe describes the components of a Pipeline and how they are connected. - createTime: - type: string - format: date-time - description: Pipeline creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Pipeline update time. - readOnly: true - deleteTime: - type: string - format: date-time - description: Pipeline delete time. - readOnly: true - sharing: - description: Pipeline sharing information. - allOf: - - $ref: '#/definitions/v1betaSharing' - metadata: - type: object - description: Metadata holds console-related data such as the pipeline builder layout. - ownerName: - type: string - description: Owner Name. - readOnly: true - releases: - type: array - items: - type: object - $ref: '#/definitions/v1betaPipelineRelease' - description: Releases holds the history of pipeline versions. - readOnly: true - readme: - type: string - description: README holds the pipeline documentation. - permission: - description: Permission defines how a pipeline can be used. - readOnly: true - allOf: - - $ref: '#/definitions/vdppipelinev1betaPermission' - visibility: - description: Pipeline visibility. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipelineVisibility' - owner: - description: Pipeline owner. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaOwner' - dataSpecification: - description: Data specifications. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaDataSpecification' - tags: - type: array - items: - type: string - description: Tags. - stats: - description: Statistic data. - readOnly: true - allOf: - - $ref: '#/definitions/PipelineStats' - rawRecipe: - type: string - description: |- - Recipe in YAML format describes the components of a pipeline and how they - are connected. - sourceUrl: - type: string - description: A link to the source code of the pipeline (e.g. to a GitHub repository). - documentationUrl: - type: string - description: A link to any extra information. - license: - type: string - description: License under which the pipeline is distributed. - profileImage: - type: string - description: Pipeline profile image in base64 format. - endpoints: - description: Pipeline endpoints. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaEndpoints' - description: |- - A Pipeline is an end-to-end workflow that automates a sequence of components - to process data. - - For more information, see [Pipeline](https://www.instill.tech/docs/vdp/introduction) in - the official documentation. - required: - - recipe - v1betaPipelineRelease: - type: object - properties: - name: - type: string - description: |- - The name of the release, defined by its parent and ID. - - Format: `{parent_type}/{parent.id}/pipelines/{pipeline.id}/releases/{release.id}`. - readOnly: true - uid: - type: string - description: Release UUID. - readOnly: true - id: - type: string - description: |- - Release resource ID (used in `name` as the last segment). It must be a - sematic version vX.Y.Z. - description: - type: string - description: Release description. - recipe: - type: object - description: Recipe of the versioned pipeline. - readOnly: true - createTime: - type: string - format: date-time - description: Pipeline creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Pipeline update time. - readOnly: true - deleteTime: - type: string - format: date-time - description: Pipeline deletion time. - readOnly: true - alias: - type: string - description: Alias. - readOnly: true - metadata: - type: object - description: |- - Key-value object with console-related data such as the pipeline builder - layout. - readme: - type: string - description: README. - dataSpecification: - description: Data specifications. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaDataSpecification' - rawRecipe: - type: string - description: |- - Recipe in YAML format describes the components of a pipeline and how they - are connected. - endpoints: - description: Pipeline endpoints. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaEndpoints' - description: |- - Pipeline releases contain the version control information of a pipeline. - This allows users to track changes in the pipeline over time. - v1betaPipelineRun: - type: object - properties: - pipelineUid: - type: string - description: Unique identifier for the pipeline. - readOnly: true - pipelineRunUid: - type: string - description: Unique identifier for each run. - readOnly: true - pipelineVersion: - type: string - description: Pipeline version used in the run. - readOnly: true - status: - description: Current status of the run. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaRunStatus' - source: - description: Origin of the run. - readOnly: true - allOf: - - $ref: '#/definitions/v1alphaRunSource' - totalDuration: - type: integer - format: int32 - description: Time taken to complete the run in milliseconds. - readOnly: true - runnerId: - type: string - description: Runner ID. If current viewing requester does not have enough permission, it will return null. - readOnly: true - inputs: - type: array - items: - type: object - description: Pipeline input parameters. - readOnly: true - outputs: - type: array - items: - type: object - description: Pipeline inference outputs. - readOnly: true - recipeSnapshot: - type: object - description: Snapshot of the pipeline recipe used for this run. - readOnly: true - startTime: - type: string - format: date-time - description: Time when the run started execution. - readOnly: true - completeTime: - type: string - format: date-time - description: Time when the run completed. - readOnly: true - error: - type: string - description: Error message if the run failed. - readOnly: true - creditAmount: - type: number - format: float - description: Credits used of internal accounting metric. - readOnly: true - dataSpecification: - description: Data specifications. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaDataSpecification' - pipelineId: - type: string - title: The ID of the pipeline - readOnly: true - requesterId: - type: string - description: |- - Requester ID. This field might be empty if the pipeline run belongs to a - deleted namespace. - readOnly: true - description: PipelineRun represents a single execution of a pipeline. - v1betaPipelineView: - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - - VIEW_RECIPE - description: |- - View defines how a Pipeline is presented. - - - VIEW_BASIC: Default view, only includes basic information. - - VIEW_FULL: Full representation. - - VIEW_RECIPE: Contains the recipe of the resource. - v1betaPipelineVisibility: - type: string - enum: - - VISIBILITY_PRIVATE - - VISIBILITY_PUBLIC - description: |- - Visibility defines who can access the pipeline. - - - VISIBILITY_PRIVATE: Only the user can see the pipeline. - - VISIBILITY_PUBLIC: Other users can see the pipeline. - v1betaRenameNamespacePipelineResponse: - type: object - properties: - pipeline: - description: The renamed pipeline resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipeline' - description: RenameNamespacePipelineResponse contains a renamed pipeline. - v1betaRole: - type: string - enum: - - ROLE_VIEWER - - ROLE_EXECUTOR - description: |- - Role describes the permissions a user has over a resource. - - - ROLE_VIEWER: Viewers can see the resource properties. - - ROLE_EXECUTOR: Executors can execute the resource (e.g. trigger a pipeline). - v1betaSecret: - type: object - properties: - name: - type: string - description: |- - The name of the secret, define by its ID. - - Format: `secrets/{secret.id}`. - readOnly: true - uid: - type: string - description: Secret UUID. - readOnly: true - id: - type: string - description: |- - Secret resource ID (used in `name` as the last segment). This conforms - to RFC-1034, which restricts to letters, numbers, and hyphen, with the - first character a letter, the last a letter or a number, and a 63 - character maximum. - createTime: - type: string - format: date-time - description: Creation time. - readOnly: true - updateTime: - type: string - format: date-time - description: Update time. - readOnly: true - value: - type: string - description: The value of the secret, which is input-only and will never be returned in API responses. - description: - type: string - title: Description - description: API secrets allow users to make requests to the Instill AI API. - v1betaSharing: - type: object - properties: - users: - type: object - additionalProperties: - $ref: '#/definitions/v1betaSharingUser' - description: |- - Defines sharing rules for a set of user resource names. - - Each key in this object should contain a pattern that can be matched - against user names. - - Each value is a user sharing configuration. - - **NOTE**: For now, the only accepted key is `*/*`. - shareCode: - description: Defines the configuration to share a resource via link. - allOf: - - $ref: '#/definitions/SharingShareCode' - description: |- - Sharing contains the information to share a resource with other users. - - For more information, see [Share Pipelines](https://www.instill.tech/docs/vdp/share). - v1betaSharingUser: - type: object - properties: - enabled: - type: boolean - description: Defines whether the sharing option with this user is enabled. - role: - description: Defines the role the user will have over the resource. - allOf: - - $ref: '#/definitions/v1betaRole' - description: Describes the sharing configuration with a given user. - v1betaTestNamespaceConnectionResponse: - type: object - description: TestNamespaceConnectionResponse is an empty response. - v1betaTrace: - type: object - properties: - statuses: - type: array - items: - $ref: '#/definitions/v1betaTraceStatus' - description: Statuses contains an execution status per input. - readOnly: true - inputs: - type: array - items: - type: object - description: Component inputs. - readOnly: true - outputs: - type: array - items: - type: object - description: Component outputs. - readOnly: true - error: - type: object - description: Error details. - readOnly: true - computeTimeInSeconds: - type: number - format: float - description: Computation time in seconds. - readOnly: true - description: Trace contains the execution details of a component. - v1betaTraceStatus: - type: string - enum: - - STATUS_COMPLETED - - STATUS_SKIPPED - - STATUS_ERROR - description: |- - Status holds the the component execution outcome. - - - STATUS_COMPLETED: Successfully completed. - - STATUS_SKIPPED: Skipped. - - STATUS_ERROR: Aborted with error. - v1betaTriggerAsyncNamespacePipelineReleaseResponse: - type: object - properties: - operation: - description: Long-running operation information. - readOnly: true - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: |- - TriggerAsyncNamespacePipelineReleaseResponse contains the information to access - the status of an asynchronous pipeline execution. - v1betaTriggerAsyncNamespacePipelineResponse: - type: object - properties: - operation: - description: Long-running operation information. - readOnly: true - allOf: - - $ref: '#/definitions/googlelongrunningOperation' - description: |- - TriggerAsyncNamespacePipelineResponse contains the information to access the - status of an asynchronous pipeline execution. - v1betaTriggerData: - type: object - properties: - variable: - type: object - title: Variables - secret: - type: object - additionalProperties: - type: string - title: Variables - title: Data - v1betaTriggerMetadata: - type: object - properties: - traces: - type: object - additionalProperties: - $ref: '#/definitions/v1betaTrace' - description: |- - Each key in the `traces` object is a component ID. The value is a Trace - object containing the execution details. - readOnly: true - description: TriggerMetadata contains the traces of the pipeline inference. - v1betaTriggerNamespacePipelineReleaseResponse: - type: object - properties: - outputs: - type: array - items: - type: object - description: Model inference outputs. - readOnly: true - metadata: - description: Traces of the pipeline inference. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaTriggerMetadata' - description: |- - TriggerNamespacePipelineReleaseResponse contains the pipeline execution results, - i.e., the multiple model inference outputs. - v1betaTriggerNamespacePipelineResponse: - type: object - properties: - outputs: - type: array - items: - type: object - description: Model inference outputs. - readOnly: true - metadata: - description: Traces of the pipeline inference. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaTriggerMetadata' - description: |- - TriggerNamespacePipelineResponse contains the pipeline execution results, i.e., - the multiple model inference outputs. - v1betaTriggerNamespacePipelineWithStreamResponse: - type: object - properties: - outputs: - type: array - items: - type: object - description: Model inference outputs. - readOnly: true - metadata: - description: Traces of the pipeline inference. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaTriggerMetadata' - description: |- - TriggerNamespacePipelineWithStreamResponse contains the pipeline execution results, i.e., - the multiple model inference outputs. - v1betaUpdateNamespaceConnectionResponse: - type: object - properties: - connection: - description: The created connection. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaConnection' - description: UpdateNamespaceConnectionResponse contains the updated connection. - v1betaUpdateNamespacePipelineReleaseResponse: - type: object - properties: - release: - description: The updated pipeline release resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipelineRelease' - description: UpdateNamespacePipelineReleaseResponse contains the updated pipeline release. - v1betaUpdateNamespacePipelineResponse: - type: object - properties: - pipeline: - description: The updated pipeline resource. - readOnly: true - allOf: - - $ref: '#/definitions/v1betaPipeline' - description: UpdateNamespacePipelineResponse contains the updated pipeline. - v1betaUpdateNamespaceSecretResponse: - type: object - properties: - secret: - description: The updated secret resource. - allOf: - - $ref: '#/definitions/v1betaSecret' - description: UpdateNamespaceSecretResponse contains the updated secret. - v1betaUserProfile: - type: object - properties: - displayName: - type: string - description: Display name. - bio: - type: string - description: Biography. - avatar: - type: string - description: Avatar in base64 format. - publicEmail: - type: string - description: Public email. - companyName: - type: string - description: Company name. - socialProfileLinks: - type: object - additionalProperties: - type: string - description: |- - Social profile links list the links to the user's social profiles. - The key represents the provider, and the value is the corresponding URL. - description: UserProfile describes the public data of a user. - v1betaValidateNamespacePipelineResponse: - type: object - properties: - success: - type: boolean - title: Success - readOnly: true - errors: - type: array - items: - type: object - $ref: '#/definitions/v1betaErrPipelineValidation' - description: The validated pipeline resource. - readOnly: true - description: ValidateNamespacePipelineResponse contains a validated pipeline. - vdppipelinev1betaPermission: - type: object - properties: - canEdit: - type: boolean - description: Defines whether the pipeline can be modified. - canTrigger: - type: boolean - description: Defines whether the pipeline can be executed. - canRelease: - type: boolean - description: Defines whether the pipeline can be released. - description: Permission defines how a pipeline can be used. - vdppipelinev1betaView: - type: string - enum: - - VIEW_BASIC - - VIEW_FULL - description: |- - View defines how a resource is presented. Most resources can share this view - definition, the particular meaning of each value should be defined in the - resource itself. Certain resources might have their own View definition if - they need to implement more than 2 (basic / full) views. - - - VIEW_BASIC: Default view. - - VIEW_FULL: Full representation. -securityDefinitions: - Bearer: - type: apiKey - description: Enter the token with the `Bearer ` prefix, e.g. `Bearer abcde12345` - name: Authorization - in: header - x-default: Bearer instill_sk_*** -security: - - Bearer: [] -externalDocs: - description: More about Instill AI - url: https://www.instill.tech/docs diff --git a/scripts/generate-openapi-doc-info.sh b/scripts/generate-openapi-doc-info.sh deleted file mode 100755 index 775de658..00000000 --- a/scripts/generate-openapi-doc-info.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -set -eo pipefail - -# The goal of this script is generating the OpenAPI info for the different -# backend servers (e.g. model, vdp, core). -# -# In order to have different base paths, each backend has a different OpenAPI -# document. Most of the API info is common, so only the particular information -# is documented in an `openapi.proto.templ` file within each domain. The common -# information will be read from a common document and injected into these -# files. - -# We'll replace the {{$info}} and {{$conf}} patterns using the sed command. In -# order to use it, we need to escape special characters such as newlines and -# slashes (present in URLs). -ESCAPE_SLASHES='s/\//\\\//g' -ESCAPE_NEWLINES='s/$/\\n/g' - -PATTERN_INFO='{{\$info}}' -PATTERN_CONF='{{\$conf}}' - -ESCAPED_INFO=$(sed $ESCAPE_SLASHES common/openapi/v1beta/api_info.conf | sed $ESCAPE_NEWLINES | tr -d '\n' | sed 's/..$//') -ESCAPED_CONF=$(sed $ESCAPE_SLASHES common/openapi/v1beta/api_config.conf | sed $ESCAPE_NEWLINES | tr -d '\n' | sed 's/..$//') - -# For each template file, insert the configuration in the pattern and save it -# as an openapi.proto file. -for templ in $(find . -name 'openapi.proto.templ' | cut -d'/' -f 1-4); do - sed "s/$PATTERN_INFO/$ESCAPED_INFO/g" ${templ}/openapi.proto.templ | sed "s/$PATTERN_CONF/$ESCAPED_CONF/g" >| ${templ}/openapi.proto -done diff --git a/vdp/pipeline/v1beta/integration.proto b/vdp/pipeline/v1beta/integration.proto index 1d72489d..317da0b8 100644 --- a/vdp/pipeline/v1beta/integration.proto +++ b/vdp/pipeline/v1beta/integration.proto @@ -125,6 +125,8 @@ message GetNamespaceConnectionResponse { // CreateNamespaceConnectionRequest represents a request to create a // connection. message CreateNamespaceConnectionRequest { + // ID of the namespace that owns the connection. + string namespace_id = 2 [(google.api.field_behavior) = REQUIRED]; // Properties of the connection to be created. Connection connection = 1 [(google.api.field_behavior) = REQUIRED]; } @@ -140,6 +142,8 @@ message CreateNamespaceConnectionResponse { message UpdateNamespaceConnectionRequest { // ID of the connection to be updated, as present in the database. string connection_id = 1 [(google.api.field_behavior) = REQUIRED]; + // ID of the namespace that owns the connection. + string namespace_id = 4 [(google.api.field_behavior) = REQUIRED]; // Connection object with the new properties to be updated. Immutable and // output-only fields will be ignored. The Setup property must be updated // in block (no partial update is supported). diff --git a/vdp/pipeline/v1beta/openapi.proto.templ b/vdp/pipeline/v1beta/openapi.proto.templ deleted file mode 100644 index 54812b92..00000000 --- a/vdp/pipeline/v1beta/openapi.proto.templ +++ /dev/null @@ -1,45 +0,0 @@ -syntax = "proto3"; - -package vdp.pipeline.v1beta; - -import "protoc-gen-openapiv2/options/annotations.proto"; - -// These options define the OpenAPI definition document information. -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: { - title: "💧 VDP" - description: "VDP endpoints to manage pipeline resources" -{{$info}} - } - tags: [ - { - name: "Component" - description: "Component endpoints" - }, - { - name: "Pipeline" - description: "Pipeline endpoints" - }, - { - name: "Release" - description: "Pipeline Release endpoints" - }, - { - name: "Trigger" - description: "Pipeline Trigger endpoints" - }, - { - name: "Secret" - description: "Namespace Secret endpoints" - }, - { - name: "Integration" - description: "Namespace Integration endpoints" - }, - { - name: "Utils" - description: "Utils endpoints" - } - ] -{{$conf}} -}; diff --git a/vdp/pipeline/v1beta/pipeline_public_service.proto b/vdp/pipeline/v1beta/pipeline_public_service.proto index cd95d406..a499e10f 100644 --- a/vdp/pipeline/v1beta/pipeline_public_service.proto +++ b/vdp/pipeline/v1beta/pipeline_public_service.proto @@ -46,7 +46,7 @@ service PipelinePublicService { // Return the stats of the hub rpc GetHubStats(GetHubStatsRequest) returns (GetHubStatsResponse) { option (google.api.http) = {get: "/v1beta/hub-stats"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; option (google.api.method_visibility).restriction = "INTERNAL"; } @@ -55,7 +55,7 @@ service PipelinePublicService { // Returns a paginated list of pipelines that are visible to the requester. rpc ListPipelines(ListPipelinesRequest) returns (ListPipelinesResponse) { option (google.api.http) = {get: "/v1beta/pipelines"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Get a pipeline by UID @@ -64,7 +64,7 @@ service PipelinePublicService { // UID. rpc LookUpPipeline(LookUpPipelineRequest) returns (LookUpPipelineResponse) { option (google.api.http) = {get: "/v1beta/{permalink=pipelines/*}/lookUp"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; option (google.api.method_visibility).restriction = "INTERNAL"; } @@ -73,7 +73,7 @@ service PipelinePublicService { // Returns a paginated list of pipelines of a namespace rpc ListNamespacePipelines(ListNamespacePipelinesRequest) returns (ListNamespacePipelinesResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/pipelines"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Create a new pipeline @@ -84,7 +84,7 @@ service PipelinePublicService { post: "/v1beta/namespaces/{namespace_id}/pipelines" body: "pipeline" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Get a pipeline @@ -92,7 +92,7 @@ service PipelinePublicService { // Returns the details of a pipeline. rpc GetNamespacePipeline(GetNamespacePipelineRequest) returns (GetNamespacePipelineResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Update a pipeline @@ -108,7 +108,7 @@ service PipelinePublicService { patch: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}" body: "pipeline" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Delete a pipeline @@ -118,7 +118,7 @@ service PipelinePublicService { // the parent of the pipeline in order to delete it. rpc DeleteNamespacePipeline(DeleteNamespacePipelineRequest) returns (DeleteNamespacePipelineResponse) { option (google.api.http) = {delete: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Validate a pipeline @@ -132,7 +132,7 @@ service PipelinePublicService { post: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/validate" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Rename a pipeline @@ -151,7 +151,7 @@ service PipelinePublicService { post: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/rename" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Clone a pipeline @@ -163,7 +163,7 @@ service PipelinePublicService { post: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/clone" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Pipeline"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // SendNamespacePipelineEvent @@ -202,7 +202,7 @@ service PipelinePublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -227,7 +227,7 @@ service PipelinePublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -255,7 +255,7 @@ service PipelinePublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -278,7 +278,7 @@ service PipelinePublicService { post: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/releases" body: "release" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Release"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // List the releases in a pipeline @@ -287,7 +287,7 @@ service PipelinePublicService { // name, which is formed by the parent namespace and ID of the pipeline. rpc ListNamespacePipelineReleases(ListNamespacePipelineReleasesRequest) returns (ListNamespacePipelineReleasesResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/releases"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Release"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Get a pipeline release @@ -296,7 +296,7 @@ service PipelinePublicService { // by its resource name, formed by its parent namespace and ID. rpc GetNamespacePipelineRelease(GetNamespacePipelineReleaseRequest) returns (GetNamespacePipelineReleaseResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/releases/{release_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Release"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Update a pipeline release @@ -311,7 +311,7 @@ service PipelinePublicService { patch: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/releases/{release_id}" body: "release" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Release"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Delete a pipeline release @@ -323,7 +323,7 @@ service PipelinePublicService { // perform this action. rpc DeleteNamespacePipelineRelease(DeleteNamespacePipelineReleaseRequest) returns (DeleteNamespacePipelineReleaseResponse) { option (google.api.http) = {delete: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/releases/{release_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Release"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Clone a pipeline release @@ -335,7 +335,7 @@ service PipelinePublicService { post: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/releases/{release_id}/clone" body: "*" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Release"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Trigger a pipeline release @@ -353,7 +353,7 @@ service PipelinePublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -379,7 +379,7 @@ service PipelinePublicService { body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -398,7 +398,7 @@ service PipelinePublicService { post: "/v1beta/namespaces/{namespace_id}/secrets" body: "secret" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Secret"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // List secrets @@ -407,7 +407,7 @@ service PipelinePublicService { // namespace. rpc ListNamespaceSecrets(ListNamespaceSecretsRequest) returns (ListNamespaceSecretsResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/secrets"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Secret"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Get a secret @@ -416,7 +416,7 @@ service PipelinePublicService { // which is defined by the parent namespace and the ID of the secret. rpc GetNamespaceSecret(GetNamespaceSecretRequest) returns (GetNamespaceSecretResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/secrets/{secret_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Secret"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Update a secret @@ -430,7 +430,7 @@ service PipelinePublicService { patch: "/v1beta/namespaces/{namespace_id}/secrets/{secret_id}" body: "secret" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Secret"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Delete a secret @@ -439,7 +439,7 @@ service PipelinePublicService { // the parent namespace and the ID of the secret. rpc DeleteNamespaceSecret(DeleteNamespaceSecretRequest) returns (DeleteNamespaceSecretResponse) { option (google.api.http) = {delete: "/v1beta/namespaces/{namespace_id}/secrets/{secret_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Secret"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // List component definitions @@ -449,7 +449,7 @@ service PipelinePublicService { // capabilities, for the components that might be used in a VDP pipeline. rpc ListComponentDefinitions(ListComponentDefinitionsRequest) returns (ListComponentDefinitionsResponse) { option (google.api.http) = {get: "/v1beta/component-definitions"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Component"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Get the details of a long-running operation @@ -459,7 +459,7 @@ service PipelinePublicService { rpc GetOperation(GetOperationRequest) returns (GetOperationResponse) { option (google.api.http) = {get: "/v1beta/operations/{operation_id}"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -1206,7 +1206,7 @@ service PipelinePublicService { rpc ListPipelineRuns(ListPipelineRunsRequest) returns (ListPipelineRunsResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/pipelines/{pipeline_id}/runs"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -1223,7 +1223,7 @@ service PipelinePublicService { rpc ListComponentRuns(ListComponentRunsRequest) returns (ListComponentRunsResponse) { option (google.api.http) = {get: "/v1beta/pipeline-runs/{pipeline_run_id}/component-runs"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -1241,7 +1241,7 @@ service PipelinePublicService { rpc ListPipelineRunsByRequester(ListPipelineRunsByRequesterRequest) returns (ListPipelineRunsByRequesterResponse) { option (google.api.http) = {get: "/v1beta/dashboard/pipelines/runs"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - tags: "Trigger" + tags: "💧 VDP" parameters: { headers: { name: "Instill-Requester-Uid" @@ -1257,7 +1257,7 @@ service PipelinePublicService { // Returns a paginated list of connections created by a namespace. rpc ListNamespaceConnections(ListNamespaceConnectionsRequest) returns (ListNamespaceConnectionsResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/connections"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Get a namespace connection @@ -1265,7 +1265,7 @@ service PipelinePublicService { // Returns the details of a connection. rpc GetNamespaceConnection(GetNamespaceConnectionRequest) returns (GetNamespaceConnectionResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/connections/{connection_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Create a connection @@ -1273,10 +1273,10 @@ service PipelinePublicService { // Creates a connection under the ownership of a namespace. rpc CreateNamespaceConnection(CreateNamespaceConnectionRequest) returns (CreateNamespaceConnectionResponse) { option (google.api.http) = { - post: "/v1beta/namespaces/{connection.namespace_id}/connections" + post: "/v1beta/namespaces/{namespace_id}/connections" body: "connection" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Update a connection @@ -1284,10 +1284,10 @@ service PipelinePublicService { // Updates a connection with the supplied connection fields. rpc UpdateNamespaceConnection(UpdateNamespaceConnectionRequest) returns (UpdateNamespaceConnectionResponse) { option (google.api.http) = { - patch: "/v1beta/namespaces/{connection.namespace_id}/connections/{connection_id}" + patch: "/v1beta/namespaces/{namespace_id}/connections/{connection_id}" body: "connection" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Delete a connection @@ -1295,7 +1295,7 @@ service PipelinePublicService { // Deletes a connection. rpc DeleteNamespaceConnection(DeleteNamespaceConnectionRequest) returns (DeleteNamespaceConnectionResponse) { option (google.api.http) = {delete: "/v1beta/namespaces/{namespace_id}/connections/{connection_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Test a connection @@ -1309,7 +1309,7 @@ service PipelinePublicService { // account in the 3rd party app. rpc TestNamespaceConnection(TestNamespaceConnectionRequest) returns (TestNamespaceConnectionResponse) { option (google.api.http) = {post: "/v1beta/namespaces/{namespace_id}/connections/{connection_id}/test"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // List pipelines that reference a connection @@ -1319,7 +1319,7 @@ service PipelinePublicService { // the connection. rpc ListPipelineIDsByConnectionID(ListPipelineIDsByConnectionIDRequest) returns (ListPipelineIDsByConnectionIDResponse) { option (google.api.http) = {get: "/v1beta/namespaces/{namespace_id}/connections/{connection_id}/referenced-pipelines"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // List integrations @@ -1327,7 +1327,7 @@ service PipelinePublicService { // Returns a paginated list of available integrations. rpc ListIntegrations(ListIntegrationsRequest) returns (ListIntegrationsResponse) { option (google.api.http) = {get: "/v1beta/integrations"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } // Get an integration @@ -1335,6 +1335,6 @@ service PipelinePublicService { // Returns the details of an integration. rpc GetIntegration(GetIntegrationRequest) returns (GetIntegrationResponse) { option (google.api.http) = {get: "/v1beta/integrations/{integration_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "Integration"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {tags: "💧 VDP"}; } }