openapi: 3.0.3 info: title: Delighted Autopilot Unsubscribes API description: REST API for the Delighted customer satisfaction platform. Enables sending surveys, retrieving and adding survey responses, accessing NPS and CSAT metrics, managing Autopilot drip campaigns, handling webhooks for real-time events, and managing people records including unsubscribes and bounces. Authentication is via HTTP Basic Auth using per-project API keys. version: v1 contact: name: Delighted Support url: https://app.delighted.com/docs/api termsOfService: https://delighted.com/terms license: name: Proprietary url: https://delighted.com/terms servers: - url: https://api.delighted.com/v1 description: Delighted API v1 security: - basicAuth: [] tags: - name: Unsubscribes description: Manage unsubscribe lists paths: /unsubscribes.json: post: operationId: unsubscribePerson summary: Unsubscribe person description: Adds a person to the unsubscribe list, preventing them from receiving further survey emails. Does not remove their previous survey responses. tags: - Unsubscribes requestBody: required: true content: application/json: schema: type: object required: - person_email properties: person_email: type: string format: email description: Email of the person to unsubscribe. responses: '200': description: Person unsubscribed successfully content: application/json: schema: $ref: '#/components/schemas/OkResponse' '401': description: Unauthorized '404': description: Person not found '429': description: Rate limit exceeded get: operationId: listUnsubscribedPeople summary: List unsubscribed people description: Returns a paginated list of people who have unsubscribed from surveys. tags: - Unsubscribes parameters: - name: per_page in: query description: Number of results per page. Default is 20, maximum is 100. schema: type: integer default: 20 maximum: 100 - name: page in: query description: Page number to return. Default is 1. schema: type: integer default: 1 - name: since in: query description: Unix timestamp to filter unsubscribes on or after this date. schema: type: integer - name: until in: query description: Unix timestamp to filter unsubscribes on or before this date. schema: type: integer responses: '200': description: List of unsubscribed people content: application/json: schema: type: array items: $ref: '#/components/schemas/UnsubscribedPerson' '401': description: Unauthorized '429': description: Rate limit exceeded components: schemas: UnsubscribedPerson: type: object description: A person who has unsubscribed from surveys. properties: person_id: type: string description: Unique identifier for the person. email: type: string format: email description: Email address of the unsubscribed person. name: type: string nullable: true description: Name of the person. unsubscribed_at: type: integer description: Unix timestamp when the unsubscription occurred. OkResponse: type: object description: Simple success response. properties: ok: type: boolean description: Indicates the operation was successful. example: true securitySchemes: basicAuth: type: http scheme: basic description: Use your Delighted API key as the username. Leave the password empty. The API key is found in your project settings.