openapi: 3.1.0 info: title: Split Admin Change Requests API description: The Split Admin API is a REST API that enables programmatic management of workspaces (projects), environments, traffic types, attributes, users, groups, API keys, and change requests within the Split platform (now Harness Feature Management and Experimentation). The API uses resource-oriented URLs, returns JSON responses, and requires Admin API keys for authentication. All endpoints are prefixed with /internal/api/v2 on the api.split.io host. version: '2.0' contact: name: Split Support url: https://help.split.io termsOfService: https://www.split.io/terms-of-service/ servers: - url: https://api.split.io/internal/api/v2 description: Production Server security: - bearerAuth: [] tags: - name: Change Requests description: Manage change requests for controlled approval workflows when modifying feature flag definitions. paths: /changeRequests: get: operationId: listChangeRequests summary: List change requests description: Retrieves all change requests, which represent pending modifications to feature flag definitions that require approval before being applied. tags: - Change Requests parameters: - $ref: '#/components/parameters/limitParam' - $ref: '#/components/parameters/offsetParam' - name: status in: query description: Filter by change request status schema: type: string enum: - OPEN - APPROVED - DECLINED - APPLIED - CANCELLED responses: '200': description: Successful response containing list of change requests content: application/json: schema: $ref: '#/components/schemas/ChangeRequestList' '401': description: Unauthorized - invalid or missing API key /changeRequests/{changeRequestId}/approve: put: operationId: approveChangeRequest summary: Approve change request description: Approves a pending change request, allowing the proposed feature flag definition changes to be applied. tags: - Change Requests parameters: - name: changeRequestId in: path required: true description: The unique identifier of the change request schema: type: string requestBody: content: application/json: schema: type: object properties: comment: type: string description: Optional approval comment responses: '200': description: Change request approved successfully '401': description: Unauthorized - invalid or missing API key '404': description: Change request not found components: schemas: User: type: object description: A user within the Split account properties: id: type: string description: Unique identifier for the user email: type: string format: email description: Email address of the user name: type: string description: Full name of the user status: type: string description: Current status of the user enum: - ACTIVE - DEACTIVATED - PENDING type: type: string description: User type or role groups: type: array description: Groups the user belongs to items: $ref: '#/components/schemas/GroupRef' ChangeRequestList: type: object description: Paginated list of change requests properties: objects: type: array items: $ref: '#/components/schemas/ChangeRequest' offset: type: integer description: Current offset in the result set limit: type: integer description: Maximum number of results returned totalCount: type: integer description: Total number of change requests available ChangeRequest: type: object description: A change request representing a pending modification to a feature flag definition that requires approval. properties: id: type: string description: Unique identifier for the change request status: type: string description: Current status of the change request enum: - OPEN - APPROVED - DECLINED - APPLIED - CANCELLED title: type: string description: Title of the change request comment: type: string description: Comment describing the proposed change split: type: string description: Name of the feature flag being modified environment: type: string description: Environment in which the change is proposed operationType: type: string description: Type of operation being requested createdAt: type: integer format: int64 description: Timestamp of when the change request was created approvers: type: array description: Users who can approve the change request items: $ref: '#/components/schemas/User' GroupRef: type: object description: A reference to a group properties: id: type: string description: Unique identifier of the referenced group type: type: string description: Type of the group reference parameters: limitParam: name: limit in: query description: Maximum number of results to return per page schema: type: integer minimum: 1 maximum: 200 default: 20 offsetParam: name: offset in: query description: Number of results to skip for pagination schema: type: integer minimum: 0 default: 0 securitySchemes: bearerAuth: type: http scheme: bearer description: Admin API key passed as a Bearer token in the Authorization header. externalDocs: description: Split Admin API Documentation url: https://docs.split.io/reference/introduction