diff --git a/fern/openapi.json b/fern/openapi.json index 5b5af81f..78e85da4 100644 --- a/fern/openapi.json +++ b/fern/openapi.json @@ -24388,6 +24388,291 @@ } } }, + "/v1/pipelines/{pipeline_id}/config": { + "patch": { + "description": "Update the producer configuration for a pipeline (e.g., Slack channels)", + "summary": "Update Pipeline Producer Config", + "tags": ["pipelines"], + "parameters": [ + { + "name": "pipeline_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "operationId": "pipelines.updatePipelineProducerConfig", + "requestBody": { + "description": "Body", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "producer_config": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["slack_channel_reader"] + }, + "data": { + "type": "object", + "properties": { + "channels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "channel_id": { + "type": "string" + }, + "channel_name": { + "type": "string" + }, + "last_message_ts": { + "type": "string" + } + }, + "required": ["channel_id"] + }, + "minItems": 1, + "maxItems": 100 + }, + "max_messages_per_poll": { + "type": "number" + } + }, + "required": ["channels"] + } + }, + "required": ["type", "data"] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["custom_webhook"] + }, + "data": { + "type": "object", + "properties": {} + } + }, + "required": ["type", "data"] + } + ] + } + }, + "required": ["producer_config"] + } + } + } + }, + "responses": { + "200": { + "description": "200", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "pipeline": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string" + }, + "project_id": { + "type": "string" + }, + "integration_id": { + "type": "string", + "nullable": true + }, + "integration_type": { + "type": "string", + "enum": ["slack", "custom_webhook"] + }, + "feed_id": { + "type": "string" + }, + "config": { + "discriminator": { + "propertyName": "type" + }, + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["slack_channel_reader"] + }, + "data": { + "type": "object", + "properties": { + "channels": { + "type": "array", + "items": { + "type": "object", + "properties": { + "channel_id": { + "type": "string" + }, + "channel_name": { + "type": "string" + }, + "last_message_ts": { + "type": "string" + } + }, + "required": ["channel_id"] + }, + "minItems": 1, + "maxItems": 100 + }, + "max_messages_per_poll": { + "type": "number" + } + }, + "required": ["channels"] + } + }, + "required": ["type", "data"] + }, + { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["custom_webhook"] + }, + "data": { + "type": "object", + "properties": {} + } + }, + "required": ["type", "data"] + } + ] + }, + "next_scheduled_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_run_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "disabled_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "integration_display_name": { + "type": "string", + "nullable": true + }, + "feed_name": { + "type": "string" + }, + "subscriber_count": { + "type": "number" + }, + "error_count": { + "type": "number" + } + }, + "required": [ + "id", + "name", + "organization_id", + "project_id", + "integration_id", + "integration_type", + "feed_id", + "config", + "next_scheduled_at", + "last_run_at", + "disabled_at", + "created_at", + "updated_at" + ] + } + }, + "required": ["pipeline"] + } + } + } + }, + "400": { + "description": "400", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "errorCode": { + "type": "string", + "enum": ["invalidProducerConfig", "configTypeMismatch"] + } + }, + "required": ["message", "errorCode"] + } + } + } + }, + "404": { + "description": "404", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "errorCode": { + "type": "string", + "enum": ["pipelineNotFound"] + } + }, + "required": ["message", "errorCode"] + } + } + } + } + } + } + }, "/v1/pipelines/preview": { "post": { "description": "Fetch sample messages from integration to preview what agents will receive",