From a695d31ca90924f0929e17d903a0b9ae11be9228 Mon Sep 17 00:00:00 2001 From: AmandaYao00 Date: Mon, 15 Jun 2026 10:25:37 -0700 Subject: [PATCH 1/2] "subscribe.create.error notif" --- notifications/notifications.yaml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/notifications/notifications.yaml b/notifications/notifications.yaml index 0c6403a..83cf5e4 100644 --- a/notifications/notifications.yaml +++ b/notifications/notifications.yaml @@ -270,6 +270,19 @@ components: type: string example: ["field validation failed", "duplicate record"] + # Subscribe create error event data + SubscribeCreateErrorData: + title: Subscribe Create Error Data + description: Data payload for subscribe.create.error notifications. + allOf: + - $ref: '#/components/schemas/InstallationFields' + - type: object + properties: + error: + type: string + description: The error that occurred while setting up the subscribe action. + example: "Failed to create subscription" + # Connection event data ConnectionData: title: Connection Data @@ -490,6 +503,22 @@ components: data: $ref: '#/components/schemas/WriteAsyncDoneData' + SubscribeCreateErrorNotificationPayload: + title: Subscribe Create Error Notification Payload + description: | + Payload structure for subscribe.create.error notifications sent to webhook destinations. + For Kinesis destinations, only the `data` object is sent. + type: object + required: + - notificationType + - data + properties: + notificationType: + type: string + enum: [subscribe.create.error] + data: + $ref: '#/components/schemas/SubscribeCreateErrorData' + ConnectionCreatedNotificationPayload: title: Connection Created Notification Payload description: | From 891878939db1cf22b44c16553e67836088f83d63 Mon Sep 17 00:00:00 2001 From: AmandaYao00 Date: Mon, 15 Jun 2026 10:31:31 -0700 Subject: [PATCH 2/2] update endpoint with notif types --- api/api.yaml | 16 +- api/generated/api.json | 10 +- notifications/generated/notifications.json | 187 +++++++++++++++++++++ 3 files changed, 198 insertions(+), 15 deletions(-) diff --git a/api/api.yaml b/api/api.yaml index 5780819..02fc574 100644 --- a/api/api.yaml +++ b/api/api.yaml @@ -4008,20 +4008,7 @@ paths: - topicId properties: eventType: - type: string - description: The type of notification event. - enum: - - "read.backfill.done" - - "connection.created" - - "connection.error" - - "connection.refreshed" - - "connection.deleted" - - "installation.created" - - "installation.updated" - - "installation.deleted" - - "read.schedule.paused" - - "write.async.done" - - "destination.webhook.disabled" + $ref: "#/components/schemas/NotificationEventType" topicId: type: string description: The ID of the topic to route events to. @@ -6541,6 +6528,7 @@ components: - "read.triggered.done" - "read.triggered.error" - "write.async.done" + - "subscribe.create.error" - "destination.webhook.disabled" TopicDestinationRoute: title: Topic Destination Route diff --git a/api/generated/api.json b/api/generated/api.json index 56ba5c2..0b64b5d 100644 --- a/api/generated/api.json +++ b/api/generated/api.json @@ -59410,7 +59410,6 @@ "type": "string", "description": "The type of notification event.", "enum": [ - "read.backfill.done", "connection.created", "connection.error", "connection.refreshed", @@ -59419,7 +59418,11 @@ "installation.updated", "installation.deleted", "read.schedule.paused", + "read.backfill.done", + "read.triggered.done", + "read.triggered.error", "write.async.done", + "subscribe.create.error", "destination.webhook.disabled" ] }, @@ -59477,6 +59480,7 @@ "read.triggered.done", "read.triggered.error", "write.async.done", + "subscribe.create.error", "destination.webhook.disabled" ] }, @@ -60146,6 +60150,7 @@ "read.triggered.done", "read.triggered.error", "write.async.done", + "subscribe.create.error", "destination.webhook.disabled" ] } @@ -60189,6 +60194,7 @@ "read.triggered.done", "read.triggered.error", "write.async.done", + "subscribe.create.error", "destination.webhook.disabled" ] }, @@ -74921,6 +74927,7 @@ "read.triggered.done", "read.triggered.error", "write.async.done", + "subscribe.create.error", "destination.webhook.disabled" ] }, @@ -74960,6 +74967,7 @@ "read.triggered.done", "read.triggered.error", "write.async.done", + "subscribe.create.error", "destination.webhook.disabled" ] }, diff --git a/notifications/generated/notifications.json b/notifications/generated/notifications.json index c84a217..f0431cc 100644 --- a/notifications/generated/notifications.json +++ b/notifications/generated/notifications.json @@ -919,6 +919,91 @@ } ] }, + "SubscribeCreateErrorData": { + "title": "Subscribe Create Error Data", + "description": "Data payload for subscribe.create.error notifications.", + "allOf": [ + { + "title": "Installation Fields", + "type": "object", + "description": "Common fields present in installation-related notifications.", + "required": [ + "projectId", + "provider", + "integrationId", + "integrationName", + "installationId", + "groupRef", + "groupName", + "connectionId", + "consumerRef", + "consumerName" + ], + "properties": { + "projectId": { + "type": "string", + "description": "The Ampersand Project ID.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "provider": { + "type": "string", + "description": "The SaaS API that we are integrating with.", + "example": "salesforce" + }, + "integrationId": { + "type": "string", + "description": "The ID of the integration.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "integrationName": { + "type": "string", + "description": "The name of the integration.", + "example": "Salesforce Integration" + }, + "installationId": { + "type": "string", + "description": "The ID of the Ampersand installation.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "connectionId": { + "type": "string", + "description": "The ID of the connection.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "groupRef": { + "type": "string", + "description": "The ID that your app uses to identify the group of users.", + "example": "customer-group-ref" + }, + "groupName": { + "type": "string", + "description": "The display name of the group of users.", + "example": "Customer Name" + }, + "consumerRef": { + "type": "string", + "description": "The reference ID of the consumer that triggered the notification.", + "example": "user-123" + }, + "consumerName": { + "type": "string", + "description": "The name of the consumer that triggered the notification.", + "example": "John Doe" + } + } + }, + { + "type": "object", + "properties": { + "error": { + "type": "string", + "description": "The error that occurred while setting up the subscribe action.", + "example": "Failed to create subscription" + } + } + } + ] + }, "ConnectionData": { "title": "Connection Data", "description": "Data payload for connection.created, connection.refreshed, and connection.deleted notifications.", @@ -2050,6 +2135,108 @@ } } }, + "SubscribeCreateErrorNotificationPayload": { + "title": "Subscribe Create Error Notification Payload", + "description": "Payload structure for subscribe.create.error notifications sent to webhook destinations.\nFor Kinesis destinations, only the `data` object is sent.\n", + "type": "object", + "required": [ + "notificationType", + "data" + ], + "properties": { + "notificationType": { + "type": "string", + "enum": [ + "subscribe.create.error" + ] + }, + "data": { + "title": "Subscribe Create Error Data", + "description": "Data payload for subscribe.create.error notifications.", + "allOf": [ + { + "title": "Installation Fields", + "type": "object", + "description": "Common fields present in installation-related notifications.", + "required": [ + "projectId", + "provider", + "integrationId", + "integrationName", + "installationId", + "groupRef", + "groupName", + "connectionId", + "consumerRef", + "consumerName" + ], + "properties": { + "projectId": { + "type": "string", + "description": "The Ampersand Project ID.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "provider": { + "type": "string", + "description": "The SaaS API that we are integrating with.", + "example": "salesforce" + }, + "integrationId": { + "type": "string", + "description": "The ID of the integration.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "integrationName": { + "type": "string", + "description": "The name of the integration.", + "example": "Salesforce Integration" + }, + "installationId": { + "type": "string", + "description": "The ID of the Ampersand installation.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "connectionId": { + "type": "string", + "description": "The ID of the connection.", + "example": "550e8400-e29b-41d4-a716-446655440000" + }, + "groupRef": { + "type": "string", + "description": "The ID that your app uses to identify the group of users.", + "example": "customer-group-ref" + }, + "groupName": { + "type": "string", + "description": "The display name of the group of users.", + "example": "Customer Name" + }, + "consumerRef": { + "type": "string", + "description": "The reference ID of the consumer that triggered the notification.", + "example": "user-123" + }, + "consumerName": { + "type": "string", + "description": "The name of the consumer that triggered the notification.", + "example": "John Doe" + } + } + }, + { + "type": "object", + "properties": { + "error": { + "type": "string", + "description": "The error that occurred while setting up the subscribe action.", + "example": "Failed to create subscription" + } + } + } + ] + } + } + }, "ConnectionCreatedNotificationPayload": { "title": "Connection Created Notification Payload", "description": "Payload structure for connection.created notifications sent to webhook destinations.\nFor Kinesis destinations, only the `data` object is sent.\n",