Get desktop application:
View/edit binary Protocol Buffers messages
PipelinePrivateService defines private methods to interact with Pipeline resources.
List pipeline releases (admin only) This *private* method allows admin users to list *all* pipeline releases.
ListPipelinesReleaseAdminRequest represents a request by an admin to list all pipeline releases. Admin users have access to pipelines from any user.
The maximum number of releases to return. If this parameter is unspecified, at most 10 releases will be returned. The cap value for this parameter is 100 (i.e. any value above that will be coerced to 100).
Page token.
View allows clients to specify the desired pipeline view in the response.
Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`.
Include soft-deleted pipelines in the result.
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.
A list of pipeline releases.
Next page token.
Total number of pipeline releases.
List pipelines (admin only) This *private* method allows internal clients to list *all* pipeline resources.
ListPipelinesAdminRequest represents a request by an admin to list all the pipelines. Admin users have access to pipelines from any user.
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).
Page token.
View allows clients to specify the desired pipeline view in the response.
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"`.
Include soft-deleted pipelines in the result.
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.
A list of pipeline resources.
Next page token.
Total number of pipelines.
Get a connection by UID (admin only) This *private* method allows internal clients to access any connection resource by UID.
LookUpConnectionAdminRequest represents a request to fetch the details of a connection by permalink.
The permalink of the connection, which allows its access by UID. - Format: `connections/{connection.uid}`.
View allows clients to specify the desired view in the response. It defaults to `VIEW_BASIC`.
LookUpConnectionAdminResponse contains the requested connection.
The requested connection.
Get a pipeline by UID (admin only) This *private* method allows internal clients to access any pipeline resource by UID.
LookUpPipelineAdminRequest represents a request by an admin to query a pipeline by its UID.
The permalink of the pipeline, which allows its access by UID. - Format: `pipelines/{pipeline.uid}`.
View allows clients to specify the desired pipeline view in the response.
LookUpPipelineAdminResponse contains the requested pipeline.
The requested pipeline.
Pipeline PipelinePublicService exposes the public endpoints that allow clients to manage pipelines.
Clone a pipeline 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.
ClonePipelineRequest represents a request to clone a pipeline owned by a user.
The resource name of the source pipeline to clone. Format: namespaces/{namespace}/pipelines/{pipeline}
The resource name of the target pipeline. Format: namespaces/{namespace}/pipelines/{pipeline}
Pipeline description.
Pipeline sharing information.
ClonePipelineResponse contains a cloned pipeline.
(message has no fields)
Clone a pipeline release 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.
ClonePipelineReleaseRequest represents a request to clone a pipeline release owned by a user.
The resource name of the pipeline release to clone. Format: namespaces/{namespace}/pipelines/{pipeline}/releases/{release}
Pipeline description.
Pipeline sharing information.
The target pipeline resource name. Format: namespaces/{namespace}/pipelines/{pipeline}
ClonePipelineReleaseResponse contains a cloned pipeline.
(message has no fields)
Create a connection Creates a connection under the ownership of a namespace.
CreateNamespaceConnectionRequest represents a request to create a connection. Follows AIP-133: https://google.aip.dev/133
The parent resource name. Format: `namespaces/{namespace}`
Properties of the connection to be created.
CreateNamespaceConnectionResponse contains the created connection.
The created connection.
Create a secret Creates a new secret under the parenthood of an namespace.
CreateNamespaceSecretRequest represents a request to create a secret. Follows AIP-133: https://google.aip.dev/133
The parent resource name. Format: `namespaces/{namespace}`
The properties of the secret to be created.
CreateNamespaceSecretResponse contains the created secret.
The created secret resource.
Create a new pipeline Creates a new pipeline under a namespace.
CreatePipelineRequest represents a request from a namespace to create a pipeline. Follows AIP-133: https://google.aip.dev/133
The parent resource name. Format: `namespaces/{namespace}`
The properties of the pipeline to be created.
CreatePipelineResponse contains the created pipeline.
The created pipeline resource.
Create a pipeline release 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.
CreatePipelineReleaseRequest represents a request to release a version in a user-owned pipeline. Follows AIP-133: https://google.aip.dev/133
The parent resource name (pipeline). Format: `namespaces/{namespace}/pipelines/{pipeline}`
The release information.
CreatePipelineReleaseResponse contains the created release.
The created pipeline release object.
Delete a connection Deletes a connection.
DeleteNamespaceConnectionRequest represents a request to delete a connection. Follows AIP-135: https://google.aip.dev/135
The resource name of the connection to delete. Format: `namespaces/{namespace}/connections/{connection}`
DeleteNamespaceConnectionResponse is an empty response.
(message has no fields)
Delete a secret Deletes a secret, accesing it by its resource name, which is defined by the parent namespace and the ID of the secret.
DeleteNamespaceSecretRequest represents a request to delete a secret resource. Follows AIP-135: https://google.aip.dev/135
The resource name of the secret to delete. Format: `namespaces/{namespace}/secrets/{secret}`
DeleteNamespaceSecretResponse is an empty response.
(message has no fields)
Delete a pipeline 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.
DeletePipelineRequest represents a request to delete a pipeline owned by a namespace. Follows AIP-135: https://google.aip.dev/135
The resource name of the pipeline to delete. Format: `namespaces/{namespace}/pipelines/{pipeline}`
DeletePipelineResponse is an empty response.
(message has no fields)
Delete a pipeline release 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.
DeletePipelineReleaseRequest represents a request to delete a release in a user-owned pipeline. Follows AIP-135: https://google.aip.dev/135
The resource name of the release to delete. Format: `namespaces/{namespace}/pipelines/{pipeline}/releases/{release}`
DeletePipelineReleaseResponse is an empty response.
(message has no fields)
Dispatch Pipeline Webhook Event Handles webhook events by routing them to the appropriate pipeline based on the webhook type and message. The webhook type determines which component processes the event, while the message payload contains data that triggers pipeline execution. The pipeline processes the event using configured handlers and returns a response to the webhook sender.
DispatchPipelineWebhookEventRequest represents a request to dispatch webhook events for a pipeline. The request contains the webhook type and event message that will be processed by the event router and dispatched to the appropriate pipeline based on the webhook type and message. The event message contains the payload data that will be used to trigger pipeline execution.
Webhook Type
Event
DispatchPipelineWebhookEventResponse represents a response to dispatch webhook events for a pipeline. The response contains the response message that will be sent back to the webhook sender.
Response
Get hub status Return the stats of the hub
GetHubStatsRequest represents a request to get hub stats.
(message has no fields)
GetHubStatsResponse represents a response to get hub stats.
Total number of public pipelines.
Total number of featured pipelines.
Get an integration Returns the details of an integration.
GetIntegrationRequest represents a request to view the details of an integration.
Integration ID.
View allows clients to specify the desired view in the response.
GetIntegrationResponse contains the requested integration.
The requested integration.
Get a namespace connection Returns the details of a connection.
GetNamespaceConnectionRequest represents a request to view the details of a connection. Follows AIP-131: https://google.aip.dev/131
The resource name of the connection. Format: `namespaces/{namespace}/connections/{connection}`
View allows clients to specify the desired view in the response.
GetNamespaceConnectionResponse contains the requested connection.
The requested connection.
Get a secret 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.
GetNamespaceSecretRequest represents a request to fetch the details of a secret. Follows AIP-131: https://google.aip.dev/131
The resource name of the secret. Format: `namespaces/{namespace}/secrets/{secret}`
GetNamespaceSecretResponse contains the requested secret.
The secret resource.
Get the details of a long-running operation This method allows requesters to request the status and outcome of long-running operations such as asynchronous pipeline triggers.
GetOperationRequest represents a request to query a long-running operation.
The name of the operation resource. Asynchronous methods will contain this information in their response.
GetOperationResponse contains the long-running operation details.
The long-running operation.
Get a pipeline Returns the details of a pipeline.
GetPipelineRequest represents a request to fetch the details of a pipeline owned by a namespace. Follows AIP-131: https://google.aip.dev/131
The resource name of the pipeline. Format: `namespaces/{namespace}/pipelines/{pipeline}`
View allows clients to specify the desired pipeline view in the response.
GetPipelineResponse contains the requested pipeline.
The pipeline resource.
Get a pipeline release Gets the details of a pipeline release, where the pipeline is identified by its resource name, formed by its parent namespace and ID.
GetPipelineReleaseRequest represents a request to fetch the details of a release in a user-owned pipeline. Follows AIP-131: https://google.aip.dev/131
The resource name of the release. Format: `namespaces/{namespace}/pipelines/{pipeline}/releases/{release}`
View allows clients to specify the desired pipeline view in the response.
GetPipelineReleaseResponse contains the requested pipeline release.
The pipeline release resource.
List component definitions 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 pipeline.
ListComponentDefinitionsRequest represents a request to list component definitions.
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).
View allows clients to specify the desired resource view in the response.
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"`.
Page number.
ListComponentDefinitionsResponse contains a list of component definitions.
A list of component definition resources.
Total number of component definitions.
The requested page size.
The requested page offset.
List Component Runs Returns the information of each component execution within a pipeline run.
ListComponentRunsRequest is the request message for ListComponentRuns.
The parent pipeline run resource name. Format: namespaces/{namespace}/pipelines/{pipeline}/runs/{run}
The page number to retrieve.
The maximum number of items per page to return. The default and cap values are 10 and 100, respectively.
Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`.
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`.
View allows clients to specify the desired run view in the response. The basic view excludes input / output data.
ListComponentRunsResponse is the response message for ListComponentRuns.
The list of component runs.
The total number of component runs matching the request.
The current page number.
The number of items per page.
List integrations Returns a paginated list of available integrations.
ListIntegrationsRequest represents a request to list the available integrations.
The maximum number of items to return. The default and cap values are 10 and 100, respectively.
Page token. By default, the first page will be returned.
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"`.
ListIntegrationsResponse contains a paginated list of integrations.
A list of integrations matching the request parameters.
Next page token.
Total number of items.
List namespace connections Returns a paginated list of connections created by a namespace.
ListNamespaceConnectionsRequest represents a request to list the connections created by a namespace. Follows AIP-132: https://google.aip.dev/132
The parent resource name. Format: `namespaces/{namespace}`
The maximum number of items to return. The default and cap values are 10 and 100, respectively.
Page token. By default, the first page will be returned.
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"`.
ListNamespaceConnectionsResponse contains a paginated list of connections.
A list of connections matching the request parameters.
Next page token.
Total number of items.
List secrets Returns a paginated list of secrets that belong to the specified namespace.
ListNamespaceSecretsRequest represents a request to list the secrets of a namespace. Follows AIP-132: https://google.aip.dev/132
The parent resource name. Format: `namespaces/{namespace}`
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).
Page token.
ListNamespaceSecretsResponse contains a list of secrets.
A list of secret resources.
Next page token.
Total number of secret resources.
List pipelines that reference a connection 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.
ListPipelineIDsByConnectionIDRequest represents a request to list the pipelines that reference a connection.
Namespace ID.
Connection ID.
The maximum number of items to return. The default and cap values are 10 and 100, respectively.
Page token. By default, the first page will be returned.
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)
ListPipelineIDsByConnectionIDResponse contains a paginated list of integrations.
A list of pipeline IDs matching the request parameters.
Next page token.
Total number of items.
List the releases in a pipeline Lists the commited versions of a pipeline, identified by its resource name, which is formed by the parent namespace and ID of the pipeline.
ListPipelineReleasesRequest represents a request to list the releases in a user-owned pipeline. Follows AIP-132: https://google.aip.dev/132
The parent resource name (pipeline). Format: `namespaces/{namespace}/pipelines/{pipeline}`
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).
Page token.
View allows clients to specify the desired pipeline view in the response.
Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`.
Include soft-deleted pipelines in the result.
ListPipelineReleasesResponse contains a list of pipeline releases.
A list of pipeline release resources.
Next page token.
Total number of pipeline releases.
List Pipeline Runs 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 who requested the trigger (the view will be partial to hide sensitive data like e.g. the trigger input and output). Other requesters will only be able to see the runs requested by themselves.
ListPipelineRunsRequest is the request message for ListPipelineRuns.
The parent pipeline resource name. Format: namespaces/{namespace}/pipelines/{pipeline}
The page number to retrieve.
The maximum number of items per page to return. The default and cap values are 10 and 100, respectively.
Filter can hold an [AIP-160](https://google.aip.dev/160)-compliant filter expression. - Example: `create_time>timestamp("2000-06-19T23:31:08.657Z")`.
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`.
ListPipelineRunsResponse is the response message for ListPipelineRuns.
The list of pipeline runs.
The total number of pipeline runs matching the request.
The current page number.
The number of items per page.
List Pipeline Runs By Requester Returns a paginated list of runs for requested by a namespace. The response may contain runs from several pipelines.
ListPipelineRunsByRequesterRequest is the request message for ListPipelineRunsByRequester.
Requester namespace resource name. Format: namespaces/{namespace}
The page number to retrieve.
The maximum number of items per page to return. The default and cap values are 10 and 100, respectively.
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"`.
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`.
Beginning of the time range from which the records will be fetched. The default value is the beginning of the current day, in UTC.
End of the time range from which the records will be fetched. The default value is the current timestamp.
ListPipelineRunsByRequesterResponse is the response message for ListPipelineRunsByRequester.
The list of pipeline runs.
The total number of pipeline runs matching the request.
The current page number.
The number of items per page.
List namespace pipelines Returns a paginated list of pipelines of a namespace
ListPipelinesRequest represents a request to list pipelines. Follows AIP-132: https://google.aip.dev/132
The parent resource name. Format: `namespaces/{namespace}`
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).
Page token.
View allows clients to specify the desired pipeline view in the response.
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"`.
Include soft-deleted pipelines in the result.
Limit results to pipelines with the specified visibility.
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`.
ListPipelinesResponse contains a list of pipelines.
A list of pipeline resources.
Next page token.
Total number of pipelines.
List accessible pipelines Returns a paginated list of pipelines that are visible to the requester.
ListPublicPipelinesRequest represents a request to list public pipelines.
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).
Page token.
View allows clients to specify the desired pipeline view in the response.
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"`.
Include soft-deleted pipelines in the result.
Limit results to pipelines with the specified visibility.
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`.
ListPublicPipelinesResponse contains a list of public pipelines.
A list of pipeline resources.
Next page token.
Total number of pipelines.
Check if the pipeline server is alive See https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
LivenessRequest represents a request to check a service liveness status
HealthCheckRequest message
LivenessResponse represents a response for a service liveness status
HealthCheckResponse message
Get a pipeline by UID Returns the details of a pipeline by a permalink defined by the resource UID.
LookUpPipelineRequest represents a request to query a pipeline by its UID.
The permalink of the pipeline, which allows its access by UID. - Format: `pipelines/{pipeline.uid}`.
View allows clients to specify the desired pipeline view in the response.
LookUpPipelineResponse contains the requested pipeline.
The requested pipeline.
Check if the pipeline server is ready See https://github.com/grpc/grpc/blob/master/doc/health-checking.md
ReadinessRequest represents a request to check a service readiness status
HealthCheckRequest message
ReadinessResponse represents a response for a service readiness status
HealthCheckResponse message
Rename a pipeline 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.
RenamePipelineRequest represents a request to rename the name of a pipeline owned by a namespace.
The resource name of the pipeline to rename. Format: namespaces/{namespace}/pipelines/{pipeline}
The new resource ID. This will transform the resource name into `namespaces/{namespace}/pipelines/{new_pipeline_id}`.
RenamePipelineResponse contains a renamed pipeline.
The renamed pipeline resource.
Test a connection 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.
TestNamespaceConnectionRequest represents a request to test a connection.
The resource name of the connection to test. Format: `namespaces/{namespace}/connections/{connection}`
TestNamespaceConnectionResponse is an empty response.
(message has no fields)
Trigger a pipeline asynchronously 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 Pipeline](https://instill-ai.dev/docs/pipeline/run-pipeline).
TriggerPipelineRequest represents a request to trigger a user-owned pipeline synchronously.
The resource name of the pipeline to trigger. Format: namespaces/{namespace}/pipelines/{pipeline}
Pipeline input parameters, it will be deprecated soon.
Data
TriggerAsyncPipelineResponse contains the information to access the status of an asynchronous pipeline execution.
Long-running operation information.
Trigger a pipeline release asynchronously 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.
TriggerPipelineReleaseRequest represents a request to trigger a pinned release of a user-owned pipeline asynchronously.
The resource name of the pipeline release to trigger. Format: namespaces/{namespace}/pipelines/{pipeline}/releases/{release}
Pipeline input parameters, it will be deprecated soon.
Data
TriggerAsyncPipelineReleaseResponse contains the information to access the status of an asynchronous pipeline execution.
Long-running operation information.
Trigger a pipeline 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 Pipeline](https://instill-ai.dev/docs/pipeline/run-pipeline).
TriggerPipelineRequest represents a request to trigger a user-owned pipeline synchronously.
The resource name of the pipeline to trigger. Format: namespaces/{namespace}/pipelines/{pipeline}
Pipeline input parameters, it will be deprecated soon.
Data
TriggerPipelineResponse contains the pipeline execution results, i.e., the multiple model inference outputs.
Model inference outputs.
Traces of the pipeline inference.
Trigger a pipeline release 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.
TriggerPipelineReleaseRequest represents a request to trigger a pinned release of a user-owned pipeline.
The resource name of the pipeline release to trigger. Format: namespaces/{namespace}/pipelines/{pipeline}/releases/{release}
Pipeline input parameters, it will be deprecated soon.
Data
TriggerPipelineReleaseResponse contains the pipeline execution results, i.e., the multiple model inference outputs.
Model inference outputs.
Traces of the pipeline inference.
Trigger a pipeline via streaming 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.
TriggerPipelineWithStreamRequest represents a request to trigger a user-owned pipeline synchronously and streams back the results.
The resource name of the pipeline to trigger. Format: namespaces/{namespace}/pipelines/{pipeline}
Pipeline input parameters, it will be deprecated soon.
Data
TriggerPipelineWithStreamResponse contains the pipeline execution results, i.e., the multiple model inference outputs.
Model inference outputs.
Traces of the pipeline inference.
Update a connection Updates a connection with the supplied connection fields.
UpdateNamespaceConnectionRequest represents a request to update a connection. Follows AIP-134: https://google.aip.dev/134
Connection object with the new properties to be updated. The connection's `name` field identifies the resource. Format: `namespaces/{namespace}/connections/{connection}` Immutable and output-only fields will be ignored. The Setup property must be updated in block (no partial update is supported).
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.
UpdateNamespaceConnectionResponse contains the updated connection.
The created connection.
Update a secret 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.
UpdateNamespaceSecretRequest represents a request to update a namespace secret. Follows AIP-134: https://google.aip.dev/134
The secret resource to update. The secret's `name` field identifies the resource. Format: `namespaces/{namespace}/secrets/{secret}`
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.
UpdateNamespaceSecretResponse contains the updated secret.
The updated secret resource.
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.
UpdatePipelineRequest represents a request to update a pipeline owned by a namespace. Follows AIP-134: https://google.aip.dev/134
The pipeline resource to update. The pipeline's `name` field identifies the resource. Format: `namespaces/{namespace}/pipelines/{pipeline}`
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.
UpdatePipelineResponse contains the updated pipeline.
The updated pipeline resource.
Update a pipeline release 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.
UpdatePipelineReleaseRequest represents a request to update a user-owned pipeline release. Follows AIP-134: https://google.aip.dev/134
The pipeline release resource to update. The release's `name` field identifies the resource. Format: `namespaces/{namespace}/pipelines/{pipeline}/releases/{release}`
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.
UpdatePipelineReleaseResponse contains the updated pipeline release.
The updated pipeline release resource.
Validate a pipeline 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.
ValidatePipelineRequest represents a request to validate a pipeline owned by a user.
The resource name of the pipeline to validate. Format: namespaces/{namespace}/pipelines/{pipeline}
ValidatePipelineResponse contains a validated pipeline.
Success
The validated pipeline resource.
ComponentDefinition describes a certain type of Component.
Used in:
The name of the component definition, defined by its ID. - Format: `component-definitions/{id}`
Component definition UUID.
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.
Component definition title.
Component definition documentation URL.
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.
Component definition specification.
Component definition type.
Component definition tombstone. If true, this configuration is permanently off. Otherwise, the configuration is active.
The public flag determines whether this connector definition is available to all workspaces.
Component definition custom flag, i.e., whether this is a custom component definition.
Component definition vendor name.
Vendor-specific attributes.
Source code URL. This points to the source code where the component is implemented.
Component definition version. This is a string that fulfills the SemVer specification (e.g. `1.0.0-beta`).
List of tasks that can be executed by the component.
Short description of the component.
Release stage.
List of events that can be produced by the component.
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.`
Used in:
Unspecified.
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.
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.
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`.
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`.
Generally available - ready for use in production and fully supported by Instill AI.
Spec represents a specification data model.
Used in:
Component specification.
Data specifications. The key represents the task, and the value is the corresponding data_specification. Note: This field will be renamed to task_specifications in the future.
Event specifications. The key represents the event, and the value is the corresponding event_specification.
View defines how a component definition is presented.
Used in:
Unspecified, equivalent to BASIC.
Default view, only includes basic information (removes the `spec` field).
Full representation.
ComponentEvent contains information about an event that a component can produce.
Used in:
The event name, e.g. `EVENT_NEW`.
Title is the event name in a human-friendly format.
Description contains information about the event.
ComponentRun represents the execution details of a single component within a pipeline run.
Used in:
The resource name of the component run. Format: namespaces/{namespace}/pipelines/{pipeline}/runs/{run}/components/{component}
Unique identifier for the component within the pipeline.
Time when the component run was created.
Time when the component run was last updated.
Parent pipeline run resource name. Full resource name: namespaces/{namespace}/pipelines/{pipeline}/runs/{run}
Completion status of the component.
Time taken to execute the component in milliseconds.
Time when the component started execution.
Time when the component finished execution.
Error message if the component failed.
Input files for the run.
Component input parameters.
Output files from the run.
Component inference outputs.
Credits used of internal accounting metric.
Expiration time for the blob data associated with the component run.
ComponentTask contains information about a task that a component can perform.
Used in:
The task name, e.g. `TASK_TEXT_GENERATION`.
Title is the task name in a human-friendly format.
Description contains information about the task.
ComponentType defines the component type based on its task features.
Used in:
Unspecified.
Connect with an AI model.
Connect with a remote data source.
Manipulate data.
Connect with an external application.
Generic.
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. Field ordering follows AIP standard: name(1), id(2), display_name(3), slug(4), aliases(5), description(6)
Used in: , , , , , ,
Field 1: Canonical resource name. Format: `namespaces/{namespace}/connections/{connection}`.
Field 2: Immutable canonical resource ID (80-96 bits entropy, base62). Example: "con-8f3a2k9E7c1"
Field 3: Human-readable display name for UI.
Field 4: URL-friendly slug (NO prefix). If omitted, server generates from display_name. If provided, server validates and persists it. Slug is NOT part of resource identity. Example: "my-google-drive"
Field 5: Previous slugs for backward compatibility. When display_name changes, a new slug is generated and old slugs are stored here.
Field 6: Optional description.
Field 7: Creation time.
Field 8: Last update time.
Field 9: ID of the namespace owning the connection.
Field 10: Integration ID. It determines for which type of components can reference this connection.
Field 11: Integration title. This helps the console display the results grouped by integration ID without needing an extra call to fetch title by integration ID.
Field 12: Connection method. It references the setup schema provided by the integration.
Field 13: Connection details. This field is required on creation, optional on view. When viewing the connection details, the setup values will be redacted.
Field 14: View defines how the connection is presented. The following fields are only shown in the FULL view: - setup - scopes - oAuthAccessDetails
Field 15: 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.
Field 16: 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.
Field 17: 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.
Method defines how the connection is set up.
Used in:
Unspecified.
Key-value collection. The user is responsible of fetching the connection details from the 3rd party service.
Access token created via OAuth 2.0 authorization.
DataSpecification describes the JSON schema of component input and output. Note: This message will be renamed to TaskSpecifications in the future.
Used in: , , ,
JSON schema describing the component input data.
JSON schema describing the component output data.
Endpoints describe the endpoints of a pipeline.
Used in: ,
Webhook endpoints.
WebhookEndpoint describe a webhook endpoint.
Used in:
Webhook URL.
Description.
ErrPipelineValidation contains information about a failed pipeline validation.
Used in:
Location
error
EventSpecification describes the JSON schema of component event setup and examples.
Used in:
Event title.
Event description.
JSON schema describing the component event config data.
JSON schema describing the component event message data.
JSON schema describing the component event examples.
FileReference represents metadata for a file.
Used in:
Name of the file.
Format of the file (e.g., PDF, TXT, JPG).
Size of the file in bytes.
URL of the file (e.g., S3 URL).
HandlePipelineReleaseWebhookEventRequest
The resource name of the pipeline release. Format: namespaces/{namespace}/pipelines/{pipeline}/releases/{release}
Event
Code
Input data
HandlePipelineReleaseWebhookEventResponse
data
HandlePipelineWebhookEventRequest
The resource name of the pipeline. Format: namespaces/{namespace}/pipelines/{pipeline}
Event
Code
Input data
HandlePipelineWebhookEventResponse
data
Integration contains the parameters to create a connection between components and 3rd party apps.
Used in: ,
Field 1: 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.
Field 2: Title, reflects the app name.
Field 3: Short description of the integrated app.
Field 4: Integrated app vendor name.
Field 5: 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.
Field 6: Reference to the vendor's documentation to expand the integration details.
Field 7: The connection setup field definitions. Each integration will require different data to connect to the 3rd party app.
Field 8: Configuration parameters required for the OAuth setup flow. This field will be present only if the integration supports OAuth 2.0.
Field 9: View defines how the integration is presented. The following fields are only shown in the FULL view: - setupSchema - oAuthConfig
Link contains the information to display an reference to an external URL.
Used in:
Text contains the message to display.
URL contains the reference the link will redirect to.
OAuthConfig contains the configuration parameters for fetching an access token via an OAuth 2.0 flow.
Used in:
The URL of the OAuth server to initiate the authentication and authorization process.
The URL of the OAuth server to exchange the authorization code for an access token.
A list of scopes that identify the resources that the connection will be able to access on the user's behalf.
Permission defines how a pipeline can be used.
Used in:
Defines whether the pipeline can be modified.
Defines whether the pipeline can be executed.
Defines whether the pipeline can be released.
A Pipeline is an end-to-end workflow that automates a sequence of components to process data. For more information, see [Pipeline](https://instill-ai.dev/docs/pipeline/introduction) in the official documentation. Pipeline represents a data pipeline for AI/ML workflows. Field ordering follows AIP standard: name(1), id(2), display_name(3), slug(4), aliases(5), description(6)
Used in: , , , , , , , , , ,
Field 1: Canonical resource name. Format: `namespaces/{namespace}/pipelines/{pipeline}`.
Field 2: Immutable canonical resource ID (80-96 bits entropy, base62). Example: "pip-8f3a2k9E7c1"
Field 3: Human-readable display name for UI.
Field 4: URL-friendly slug (NO prefix). If omitted, server generates from display_name. Slug is NOT part of resource identity.
Field 5: Previous slugs for backward compatibility.
Field 6: Optional description.
Field 7: Creation time.
Field 8: Last update time.
Recipe describes the components of a Pipeline and how they are connected.
Recipe in YAML format.
Pipeline visibility.
Pipeline sharing information.
Permission defines how a pipeline can be used.
Data specifications.
Tags.
Statistic data.
Metadata holds console-related data such as the pipeline builder layout.
README holds the pipeline documentation.
Releases holds the history of pipeline versions.
Pipeline endpoints.
A link to the source code of the pipeline (e.g. to a GitHub repository).
A link to any extra information.
License under which the pipeline is distributed.
Pipeline profile image in base64 format.
Resource name of the owner namespace.
Pipeline owner (User or Organization).
Full resource name of the user who created this pipeline. Format: `users/{user}`
The user who created this pipeline.
Soft delete timestamp.
Statistic data
Used in:
Number of pipeline runs.
Last run time.
Number of times this pipeline has been cloned.
View defines how a Pipeline is presented.
Used in: , , , , , , , , ,
Unspecified, equivalent to BASIC.
Default view, only includes basic information.
Full representation.
Contains the recipe of the resource.
Visibility defines who can access the pipeline.
Used in: , ,
Unspecified, equivalent to PRIVATE.
Only the user can see the pipeline.
Other users can see the pipeline.
Pipeline releases contain the version control information of a pipeline. This allows users to track changes in the pipeline over time. Field ordering follows AIP standard: name (1), id (2), display_name (3), slug (4), aliases (5), description (6)
Used in: , , , , , , ,
Field 1: The name of the release. - Format: `namespaces/{namespace}/pipelines/{pipeline}/releases/{release}`.
Field 2: Release resource ID (used in `name` as the last segment). It must be a sematic version vX.Y.Z.
Field 3: Human-readable display name for UI.
Field 4: URL-friendly slug (alias for the release).
Field 5: Previous slugs for backward compatibility.
Field 6: Release description.
Recipe of the versioned pipeline.
Pipeline creation time.
Pipeline update time.
Pipeline deletion time.
Key-value object with console-related data such as the pipeline builder layout.
README.
Data specifications.
Recipe in YAML format describes the components of a pipeline and how they are connected.
Pipeline endpoints.
PipelineRun represents a single execution of a pipeline.
Used in: ,
The resource name of the pipeline run. Format: namespaces/{namespace}/pipelines/{pipeline}/runs/{run}
Unique identifier for each run (immutable).
Time when the run was created.
Time when the run was last updated.
Runner who triggered the run. Full resource name: users/{user}.
The pipeline resource name. Full resource name: namespaces/{namespace}/pipelines/{pipeline}
Requester namespace. Full resource name: namespaces/{namespace}.
Pipeline version used in the run.
Current status of the run.
Origin of the run.
Time taken to complete the run in milliseconds.
Pipeline input parameters.
Pipeline inference outputs.
Snapshot of the pipeline recipe used for this run.
Time when the run started execution.
Time when the run completed.
Error message if the run failed.
Credits used of internal accounting metric.
Data specifications.
Expiration time for the blob data associated with the pipeline run.
Role describes the permissions a user has over a resource.
Used in: ,
Unspecified, equivalent to VIEWER.
Viewers can see the resource properties.
Executors can execute the resource (e.g. trigger a pipeline).
API secrets allow users to make requests to the Instill AI API. Field ordering follows AIP standard: name(1), id(2), display_name(3), slug(4), aliases(5), description(6)
Used in: , , , , ,
Field 1: Canonical resource name. Format: `namespaces/{namespace}/secrets/{secret}`.
Field 2: Immutable canonical resource ID (80-96 bits entropy, base62). Example: "sec-8f3a2k9E7c1"
Field 3: Human-readable display name for UI.
Field 4: URL-friendly slug (NO prefix). If omitted, server generates from display_name. If provided, server validates and persists it. Slug is NOT part of resource identity. Example: "openai-api-key"
Field 5: Previous slugs for backward compatibility. When display_name changes, a new slug is generated and old slugs are stored here.
Field 6: Optional description.
Field 7: Creation time.
Field 8: Last update time.
Field 9: The value of the secret, which is input-only and will never be returned in API responses.
Sharing contains the information to share a resource with other users. For more information, see [Share Pipelines](https://instill-ai.dev/docs/pipeline/share-pipeline).
Used in: , ,
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 `*/*`.
Defines the configuration to share a resource via link.
ShareCode describes a sharing configuration through a link.
Used in:
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 `*/*`.
The public URL that allows users to access the resource.
Defines whether the sharing option via link is enabled.
Defines the role users will have over the resource.
Describes the sharing configuration with a given user.
Used in:
Defines whether the sharing option with this user is enabled.
Defines the role the user will have over the resource.
State describes the state of a pipeline.
Unspecified.
Inactive.
Active.
The pipeline has an error.
Trace contains the execution details of a component.
Used in:
Statuses contains an execution status per input.
Component inputs.
Component outputs.
Error details.
Computation time in seconds.
Status holds the the component execution outcome.
Used in:
Unspecified.
Successfully completed.
Skipped.
Aborted with error.
TriggerData contains the input data for a pipeline run.
Used in: , , , ,
The values of the pipeline variables.
A collection of secrets. By default, if a pipeline references any secret (`${secret.<id>}`), its value is read from the namespace's secrets. This object provides a way to override these secret values: if one of its keys matches the ID of a reference secret, its value will be read from here instead of from the namespace secret collection.
A collection of connection references. By default, connection references (`${connection.<id>}`) in a pipeline will be resolved by fetching the value from the requester's connections. Connections contain sensitive data and can't be shared across namespaces, so this means that, in order to successfully run a pipeline owned by another namespace, the requester will need to have a connection with the same ID. This object provides a way to override the connection references with connections that the requester owns. Each element in the object maps a connection ID present in the pipeline (key) to the ID of a connection owned by the requester (value). Note that, since only references are accepted (this object shouldn't contain connection **values**), the reference syntax shouldn't be used here.
TriggerMetadata contains the traces of the pipeline inference.
Used in: , ,
Each key in the `traces` object is a component ID. The value is a Trace object containing the execution details.
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.
Used in: , , , ,
Unspecified, equivalent to BASIC.
Default view.
Full representation.