openapi: 3.1.0 info: title: Customer.io App Activities Segments API description: The Customer.io App API enables developers to manage workspace resources and send messages programmatically. It provides endpoints for sending transactional messages, triggering broadcasts, managing customers and segments, retrieving campaign and newsletter data, and exporting customer information. The API uses bearer token authentication with an App API key and is designed for operations that go beyond data ingestion, such as retrieving metrics, managing message templates, and automating outbound communications from Customer.io. version: 1.0.0 contact: name: Customer.io Support url: https://customer.io/contact termsOfService: https://customer.io/legal/terms-of-service servers: - url: https://api.customer.io/v1 description: US Production Server - url: https://api-eu.customer.io/v1 description: EU Production Server security: - bearerAuth: [] tags: - name: Segments description: Create and manage manual segments, and retrieve segment membership information. paths: /segments: get: operationId: listSegments summary: List segments description: Returns a list of segments in your workspace. tags: - Segments responses: '200': description: A list of segments. content: application/json: schema: type: object properties: segments: type: array items: $ref: '#/components/schemas/Segment' '401': description: Unauthorized. Invalid App API key. post: operationId: createSegment summary: Create a manual segment description: Creates a new manual segment. Manual segments allow you to group customers by explicitly adding or removing them rather than using automatic filter criteria. tags: - Segments requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateSegmentRequest' responses: '200': description: Segment created successfully. content: application/json: schema: type: object properties: segment: $ref: '#/components/schemas/Segment' '400': description: Bad request. Invalid segment data. '401': description: Unauthorized. Invalid App API key. /segments/{segment_id}: get: operationId: getSegment summary: Get a segment description: Returns detailed information about a specific segment including its type and customer count. tags: - Segments parameters: - $ref: '#/components/parameters/SegmentId' responses: '200': description: Segment details. content: application/json: schema: type: object properties: segment: $ref: '#/components/schemas/Segment' '401': description: Unauthorized. Invalid App API key. '404': description: Segment not found. /segments/{segment_id}/membership: get: operationId: getSegmentMembership summary: Get segment membership description: Returns customer identifiers that are members of a specific segment. tags: - Segments parameters: - $ref: '#/components/parameters/SegmentId' responses: '200': description: Segment membership list. content: application/json: schema: type: object properties: ids: type: array items: type: string description: An array of customer identifiers in the segment. '401': description: Unauthorized. Invalid App API key. '404': description: Segment not found. components: schemas: Segment: type: object description: A customer segment in Customer.io. properties: id: type: integer description: The unique segment identifier. name: type: string description: The segment name. description: type: string description: A description of the segment. type: type: string description: The segment type (manual or data-driven). enum: - manual - data_driven state: type: string description: The current state of the segment. CreateSegmentRequest: type: object required: - segment description: A request to create a manual segment. properties: segment: type: object required: - name properties: name: type: string description: The segment name. description: type: string description: A description of the segment. parameters: SegmentId: name: segment_id in: path required: true description: The unique identifier for the segment. schema: type: integer securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token authentication using your App API key. Pass the key in the Authorization header as Bearer {app_api_key}. externalDocs: description: App API Documentation url: https://docs.customer.io/integrations/api/app/