openapi: 3.2.0 info: title: SendPulse Web Push Websites API description: 'The SendPulse Web Push API allows you to send browser notifications to your website visitors. It supports subscriber management, advanced segmentation, and detailed tracking of delivery and clicks. ' version: 1.0.0 x-ai-description: 'High-engagement browser notification service. This API enables real-time communication with website subscribers across desktop and mobile browsers, featuring advanced segmentation, scheduled broadcasts, and interactive elements like buttons and custom icons. ' license: name: Apache 2.0 identifier: Apache-2.0 servers: - url: https://api.sendpulse.com security: - apiKey: [] - oauth2: [] tags: - name: Websites paths: /push/websites/total: get: summary: Get total number of websites operationId: getWebPushWebsitesTotal tags: - Websites x-ai-role: web_engagement_specialist x-ai-description: 'Returns the count of websites currently configured for web push in the account. ' x-ai-capabilities: confirmation: type: None responses: '200': description: Total count content: application/json: schema: type: object properties: total: type: integer '401': description: Unauthorized '403': description: Forbidden /push/websites: get: summary: Get a list of websites operationId: getWebPushWebsites tags: - Websites x-ai-role: web_engagement_specialist x-ai-description: 'Retrieves all websites integrated with the web push service, including their verification status and integration date. ' x-ai-capabilities: confirmation: type: None parameters: - name: limit in: query schema: type: integer - name: offset in: query schema: type: integer responses: '200': description: List of websites content: application/json: schema: type: array items: type: object properties: id: type: integer url: type: string add_date: type: string status: type: integer '401': description: Unauthorized '403': description: Forbidden /push/websites/{id}/variables: parameters: - name: id in: path required: true schema: type: integer get: summary: Get a list of variables for a website operationId: getWebPushVariables tags: - Websites parameters: [] x-ai-role: marketing_automation_specialist x-ai-description: 'Lists all custom data fields (variables) defined for a specific website. These variables are used for advanced segmentation of the subscriber base. ' x-ai-responding-instructions: - List the available variables and their data types. x-ai-suggestions: - Check these variables before constructing a `filter` for a new campaign. x-ai-capabilities: confirmation: type: None responses: '200': description: List of variables content: application/json: schema: type: array items: type: object properties: id: type: integer name: type: string type: type: string '401': description: Unauthorized '403': description: Forbidden /push/websites/info/{id}: parameters: - name: id in: path required: true schema: type: integer get: summary: Get information about a website operationId: getWebPushWebsiteInfo tags: - Websites parameters: [] x-ai-role: web_engagement_specialist x-ai-description: 'Retrieves comprehensive metadata for a website property, including daily subscriber growth and active vs. inactive counts. ' x-ai-capabilities: confirmation: type: None responses: '200': description: Website information content: application/json: schema: type: object properties: id: type: integer url: type: string status: type: string total_subscribers: type: integer active_subscribers: type: integer '401': description: Unauthorized '403': description: Forbidden components: securitySchemes: apiKey: type: http scheme: bearer bearerFormat: API Key description: 'Static API Key authentication. A long-lived token generated manually in the SendPulse account settings. ' x-ai-description: 'Permanent authentication token. Ideal for simple integrations without token refresh logic. ' oauth2: type: oauth2 description: OAuth 2.0 Client Credentials flow for temporary access tokens. flows: clientCredentials: tokenUrl: https://api.sendpulse.com/oauth/access_token scopes: {} x-ai-description: 'Standard OAuth 2.0 flow using Client ID and Client Secret. Provides temporary tokens (valid for 1 hour) for enhanced security. '