> ## Documentation Index > Fetch the complete documentation index at: https://docs.vastdata.com/llms.txt > Use this file to discover all available pages before exploring further. # List all Triggers > **Deprecated**: Use GET /triggers/all instead, which returns fully typed trigger responses with type-specific fields as a discriminated union. ## OpenAPI ````json GET /triggers { "openapi": "3.0.3", "info": { "title": "VAST DataEngine API", "description": "Combined OpenAPI specification for Document360: Provisioning, Telemetries Query, Telemetries Collector, and shared common components.", "version": "1.4.0" }, "servers": [ { "url": "http://localhost:3000", "description": "Provisioning Service (Local development server)" }, { "url": "http://localhost:8080/query_telemetries", "description": "Telemetries Query Service (Local development server)" }, { "url": "http://localhost:8080/telemetries", "description": "Telemetries Collector Service (Local development server)" } ], "tags": [ { "name": "Provisioning Service v1.4.0", "description": "Provisioning Service API" }, { "name": "Provisioning Service v1.4.0 > dataEngine", "description": "Data Engine lifecycle" }, { "name": "Provisioning Service v1.4.0 > setup_provisioning", "description": "Deprecated provisioning setup" }, { "name": "Provisioning Service v1.4.0 > pipelines", "description": "Pipelines" }, { "name": "Provisioning Service v1.4.0 > pipelineRevisions", "description": "Pipeline revisions" }, { "name": "Provisioning Service v1.4.0 > functions", "description": "Functions" }, { "name": "Provisioning Service v1.4.0 > functionRevisions", "description": "Function revisions" }, { "name": "Provisioning Service v1.4.0 > functionRevisionsDeprecated", "description": "Deprecated function revision endpoints" }, { "name": "Provisioning Service v1.4.0 > triggers", "description": "Triggers" }, { "name": "Provisioning Service v1.4.0 > topics", "description": "Topics" }, { "name": "Provisioning Service v1.4.0 > containerRegistries", "description": "Container registries" }, { "name": "Provisioning Service v1.4.0 > kubernetesClusters", "description": "Kubernetes clusters" }, { "name": "Provisioning Service v1.4.0 > kubernetesSecrets", "description": "Kubernetes secrets" }, { "name": "Provisioning Service v1.4.0 > mtlsAuthenticationCredentials", "description": "mTLS authentication credentials" }, { "name": "Provisioning Service v1.4.0 > dashboard", "description": "Dashboard" }, { "name": "Provisioning Service v1.4.0 > reports", "description": "Saved reports" }, { "name": "Telemetries Collector Service v1.4.0", "description": "API for collecting OTEL signals (traces, logs and metrics)" }, { "name": "Telemetries Collector Service v1.4.0 > collect_telemetries", "description": "Collect OTEL signals" }, { "name": "Telemetries Query Service v1.4.0", "description": "API for querying traces, logs and metrics" }, { "name": "Telemetries Query Service v1.4.0 > query_telemetries", "description": "Query traces and logs" }, { "name": "Telemetries Query Service v1.4.0 > metrics", "description": "Query metrics" }, { "name": "Telemetries Query Service v1.4.0 > reports", "description": "Saved reports" } ], "paths": { "/triggers": { "get": { "summary": "List all Triggers", "description": "**Deprecated**: Use GET /triggers/all instead, which returns fully typed trigger responses\nwith type-specific fields as a discriminated union.\n", "deprecated": true, "operationId": "listTriggers", "tags": [ "Provisioning Service v1.4.0 > triggers" ], "parameters": [ { "$ref": "#/components/parameters/Cursor" }, { "$ref": "#/components/parameters/Limit" }, { "$ref": "#/components/parameters/OrderBy" }, { "name": "guid", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by trigger GUID" }, { "name": "vrn", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by trigger VRN" }, { "name": "name", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by trigger name" }, { "name": "owner_name", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by owner name" }, { "name": "type", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/TriggerType" }, "description": "Filter by trigger type" }, { "name": "topic", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by topic VRN" }, { "name": "source_bucket_name", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by source bucket name (for Element triggers)" }, { "name": "status", "in": "query", "required": false, "schema": { "type": "string" }, "description": "Filter by trigger status" }, { "name": "created_after", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64" }, "description": "Filter triggers created after this timestamp (microseconds since epoch)" }, { "name": "created_before", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64" }, "description": "Filter triggers created before this timestamp (microseconds since epoch)" }, { "name": "updated_after", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64" }, "description": "Filter triggers updated after this timestamp (microseconds since epoch)" }, { "name": "updated_before", "in": "query", "required": false, "schema": { "type": "integer", "format": "int64" }, "description": "Filter triggers updated before this timestamp (microseconds since epoch)" } ], "responses": { "200": { "description": "A list of Triggers", "content": { "application/json": { "schema": { "type": "object", "properties": { "pagination": { "$ref": "#/components/schemas/Pagination" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/TriggerGetResponse" } } } } } } } } } } }, "components": { "parameters": { "Cursor": { "name": "cursor", "in": "query", "required": false, "schema": { "type": "string" } }, "Limit": { "name": "limit", "in": "query", "required": false, "schema": { "default": 100, "type": "integer" } }, "OrderBy": { "name": "order_by", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "asc" }, "description": "Sort order - ascending (asc) or descending (desc)" } }, "schemas": { "TriggerType": { "type": "string", "enum": [ "Element", "Schedule" ] }, "Pagination": { "allOf": [ { "type": "object", "properties": { "next_cursor": { "type": "string", "description": "The cursor for the next page" }, "previous_cursor": { "type": "string", "description": "The cursor for the last page" } } } ] }, "TriggerGetResponse": { "allOf": [ { "$ref": "#/components/schemas/Resource" }, { "$ref": "#/components/schemas/CommonTrigger" }, { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/TriggerType" }, "events": { "type": "array", "minItems": 1, "items": { "$ref": "#/components/schemas/TriggerEvent" } }, "source_bucket_name": { "type": "string", "description": "The bucket name of a VMS View. Relevant for Element Trigger", "example": "my-bucket" }, "config": { "description": "Configuration specific to the trigger type (schema-less to avoid oneOf deserialization issues)", "nullable": true }, "topic": { "$ref": "#/components/schemas/VastRN" }, "status": { "$ref": "#/components/schemas/Status" } }, "description": "Response schema for get/list trigger operations with schema-less config to avoid oneOf deserialization issues." } ] }, "Resource": { "allOf": [ { "$ref": "#/components/schemas/ResourceCreate" }, { "type": "object", "properties": { "id": { "$ref": "#/components/schemas/ReadOnlyID" }, "guid": { "$ref": "#/components/schemas/ReadOnlyGUID" }, "tenant_guid": { "$ref": "#/components/schemas/TenantID" }, "owner": { "$ref": "#/components/schemas/UserID" }, "created_at": { "type": "string", "readOnly": true, "format": "date-time", "description": "Timestamp when the resource was created.", "example": "2024-12-25 15:30:00+00:00" }, "updated_at": { "type": "string", "readOnly": true, "format": "date-time", "description": "Timestamp when the resource was last updated.", "example": "2024-12-28 18:00:00+00:00" }, "vrn": { "$ref": "#/components/schemas/VastRN" } } } ], "description": "Extends ResourceCreate with read-only fields." }, "CommonTrigger": { "allOf": [ { "$ref": "#/components/schemas/ResourceCreate" }, { "type": "object", "properties": { "name": { "type": "string", "pattern": "^[a-z0-9-]+$", "description": "A name for the trigger. Must contain only lowercase letters, numbers, and hyphens.", "example": "my-trigger-name" }, "broker": { "$ref": "#/components/schemas/Broker" }, "topic_name": { "type": "string", "description": "The name of the topic in the broker. Used with broker field for automatic topic creation.", "example": "my-topic" }, "custom_extensions": { "type": "object", "description": "Custom key/value pairs to be passed as event output extensions. custom key must contain only lowercase letters and digits, start with a letter, and be 1-20 characters long" } }, "description": "Common properties for all trigger types." } ] }, "TriggerEvent": { "type": "string", "description": "action the trigger listens to", "enum": [ "ObjectCreated:*", "ObjectRemoved:*", "ObjectTagging:Put", "ObjectTagging:Delete" ] }, "VastRN": { "type": "string", "description": "A logical path for resource grouping and policy assignment. The structure of the logical path is: vast:dataengine::\nwhere resource type is one of: triggers / functions / pipelines / topics / kubernetes-clusters / container-registries / mtls-authentication-credentials.\n", "example": "vast:dataengine:functions:foo" }, "Status": { "type": "string", "readOnly": true, "enum": [ "Ready", "InProgress", "Error", "Draft", "Deleting" ], "description": "Operational status of the object.", "example": "Ready" }, "ResourceCreate": { "allOf": [ { "$ref": "#/components/schemas/ResourceUpdate" } ], "required": [ "name" ] }, "ReadOnlyID": { "type": "integer", "format": "int64", "readOnly": true, "description": "A globally unique identifier (ID) for the resource." }, "ReadOnlyGUID": { "type": "string", "readOnly": true, "format": "uuid", "description": "A globally unique identifier (GUID) for the resource.", "example": "a7f4aa24-a00d-4dc5-a113-2031eb8c2c79" }, "TenantID": { "$ref": "#/components/schemas/ReadOnlyGUID" }, "UserID": { "type": "object", "readOnly": true, "properties": { "id": { "type": "string", "description": "The unique identifier for the owner." }, "id_type": { "type": "string", "description": "The type of identifier for the owner.", "enum": [ "uid", "vid", "sid", "access_key", "sid_str", "login_name", "username" ] }, "name": { "type": "string", "description": "The presentable name of the owner" } }, "required": [ "id", "id_type" ], "description": "Represents the owner of the resource." }, "Broker": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/BrokerType" }, "url": { "type": "string", "deprecated": true, "description": "Deprecated. The broker URL is now resolved from VMS by broker name. This field is ignored for VMS-registered brokers and only used as a legacy fallback for brokers not yet registered in VMS. It will be removed in a future release.", "example": "https://kafka.example.com:6969" }, "name": { "type": "string", "description": "Broker name for external or Bucket (View) name for internal.", "example": "my-kafka-broker", "maxLength": 40 }, "is_accessible_to_data_engine": { "type": "boolean", "default": true, "description": "When true (default), the Data Engine will periodically validate that the broker is accessible. Set to false if the broker is not reachable from the Data Engine (e.g., external brokers behind firewalls)." } }, "required": [ "type", "name" ] }, "ResourceUpdate": { "additionalProperties": false, "type": "object", "properties": { "name": { "type": "string", "description": "A name for the resource.", "example": "naomis-resource" }, "description": { "type": "string", "description": "A description of the resource.", "example": "A good and detailed description that makes everyone understand." }, "tags": { "type": "array", "maxItems": 32, "description": "Custom tags for organizing and categorizing resources in the GUI.", "items": { "type": "string" }, "example": [ "tagA", "tagB", "tagC" ] } }, "description": "Defines a shared group of attributes to be found in all API resources." }, "BrokerType": { "type": "string", "enum": [ "External", "Internal" ] } } } } ````