openapi: 3.2.0 info: title: MoEngage Segments Manage Segments API description: 'Use the MoEngage Segments API to create, update, and manage your file and filter segments. - **v2 API:** Manage File Segments and segment lifecycle (Archive/Unarchive). - **v3 API:** Create, read, update, and list filter-based Segments. ' version: '3.0' servers: - url: https://api-{dc}.moengage.com description: MoEngage API Endpoint variables: dc: description: The ‘dc’ in the API Endpoint URL refers to the MoEngage Data Center (DC). MoEngage hosts each customer in a different DC. You can find your DC number and replace the value of ‘dc’ in the URL by referring to the DC and API endpoint mapping [here](/api/introduction#data-centers). Your MoEngage Data Center (DC) can be 01, 02, 03, 04, 05, 06, or 101. default: '01' security: - basicAuth: [] tags: - name: Manage Segments description: 'Archiving and unarchiving through APIs makes it easy to retrieve and reuse segments whenever required for purposes such as A/B testing, maintaining regulatory compliance, and improving system performance. You can access the archived segments and utilize them to analyze and market campaigns without the need to recreate them from scratch. ' x-mint: content: "\n\n Archived segments will not be shown beyond 180 days.\n\n" paths: /v2/custom-segments/archive: patch: tags: - Manage Segments summary: Archive Segment description: This API archives an existing segment (File or Filter). Archiving and unarchiving through APIs makes it easy to retrieve and reuse segments whenever required for purposes such as A/B testing, maintaining regulatory compliance, and improving system performance. You can access the archived segments and utilize them to analyze and market campaigns without the need to recreate them from scratch. operationId: archiveCustomSegment x-mint: content: "\n Archived segments will not be shown beyond 180 days.\n\n\n This API endpoint does not currently support Team-level scoping. All segments generated using this call will be assigned to the Default Team automatically.\n\n" requestBody: description: The name of the segment to be archived. required: true content: application/json: schema: $ref: '#/components/schemas/SegmentNameRequestV2' example: name: custom_segment_unique_name cs_id: responses: '202': description: Segment archive request accepted. content: application/json: schema: $ref: '#/components/schemas/ApiResponseSuccessV2' example: message: Successfully archived the custom segment success: true cs_name: custom_segment_unique_name cs_id: '400': $ref: '#/components/responses/400_FileSegmentError' '401': $ref: '#/components/responses/401_FileSegmentError' '404': $ref: '#/components/responses/404_FileSegmentNotFound' '500': $ref: '#/components/responses/5XX_FileSegmentError' /v2/custom-segments/unarchive: patch: tags: - Manage Segments summary: Unarchive Segment description: This API unarchives an existing segment, making it active again. operationId: unarchiveCustomSegment x-mint: content: ' This API endpoint does not currently support Team-level scoping. All segments generated using this call will be assigned to the Default Team automatically. ' requestBody: description: The name of the segment to be unarchived. required: true content: application/json: schema: $ref: '#/components/schemas/SegmentNameRequestV2' example: name: custom_segment_unique_name cs_id: responses: '202': description: Segment unarchive request accepted. content: application/json: schema: $ref: '#/components/schemas/ApiResponseSuccessV2' example: message: Successfully unarchived the custom segment success: true cs_name: custom_segment_unique_name cs_id: '400': $ref: '#/components/responses/400_FileSegmentError' '401': $ref: '#/components/responses/401_FileSegmentError' '404': $ref: '#/components/responses/404_FileSegmentNotFound' '500': $ref: '#/components/responses/5XX_FileSegmentError' components: responses: 400_FileSegmentError: description: Bad Request. Invalid payload format. content: application/json: schema: $ref: '#/components/schemas/ApiErrorV2' example: title: Invalid Request description: 404_FileSegmentNotFound: description: Entity Not Found. The segment name does not exist. content: application/json: schema: $ref: '#/components/schemas/ApiErrorV2' example: title: Entity Not Found description: 'Segment not found with the given name: ' 5XX_FileSegmentError: description: Server Errors. Something went wrong on MoEngage. content: application/json: schema: $ref: '#/components/schemas/ApiErrorV2' example: title: Internal Server Error 401_FileSegmentError: description: Unauthorized. Authentication or Authorization Failure. content: application/json: schema: $ref: '#/components/schemas/ApiErrorV2' example: title: Authentication required description: schemas: ApiResponseSuccessV2: type: object properties: message: type: string description: The status message of the request. success: type: boolean example: true description: Indicates if the request was accepted. cs_name: type: string description: The unique name of the segment being processed. cs_id: type: string description: The unique identifier of the segment. SegmentNameRequestV2: description: Schema for requests that only require the segment name. type: object properties: name: type: string description: The name of the segment. cs_id: type: string description: 'Unique identifier corresponding to the target segment. When both `cs_id` and `name` are populated, the system prioritizes `cs_id`. ' required: - name ApiErrorV2: type: object properties: title: type: string description: A short title for the error. description: type: string description: A detailed, human-readable explanation of the error. securitySchemes: basicAuth: type: http scheme: basic description: 'Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format ''username:password''. - **Username**: Use your MoEngage workspace ID (also known as the App ID). You can find it in the MoEngage dashboard at **Settings** > **Account** > **APIs** > **Workspace ID (earlier app id)**. - **Password**: Use your API Key, which you can find within the **Data** tile. For more information on authentication and getting your credentials, refer [here](https://www.moengage.com/docs/api/introduction#getting-your-credentials).'