openapi: 3.1.0 info: title: Split Admin Evaluation 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: Evaluation description: Endpoints for evaluating feature flags and retrieving treatment values for given keys and feature flag names. paths: /client/get-treatment: get: operationId: getTreatment summary: Get treatment for a feature flag description: Evaluates a single feature flag for the given key and returns the treatment value. Optionally includes dynamic configuration associated with the treatment. This is the primary endpoint for feature flag evaluation. tags: - Evaluation parameters: - name: key in: query required: true description: The customer key to evaluate the feature flag against schema: type: string - name: split-name in: query required: true description: The name of the feature flag to evaluate schema: type: string - name: bucketing-key in: query description: Optional bucketing key used for consistent percentage-based treatment assignments schema: type: string - name: attributes in: query description: JSON string of attributes used in targeting rule evaluation schema: type: string - name: impressions-disabled in: query description: When set to true, disables impression logging for this evaluation schema: type: boolean responses: '200': description: Successful evaluation response content: application/json: schema: $ref: '#/components/schemas/TreatmentResult' '400': description: Missing or invalid parameters '500': description: Internal server error during evaluation post: operationId: getTreatmentWithAttributes summary: Get treatment with attributes description: Evaluates a single feature flag for the given key with attributes passed in the request body. This is preferred over the GET method when attributes contain complex or large data structures. tags: - Evaluation parameters: - name: key in: query required: true description: The customer key to evaluate the feature flag against schema: type: string - name: split-name in: query required: true description: The name of the feature flag to evaluate schema: type: string - name: bucketing-key in: query description: Optional bucketing key for consistent assignments schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationAttributes' responses: '200': description: Successful evaluation response content: application/json: schema: $ref: '#/components/schemas/TreatmentResult' '400': description: Missing or invalid parameters '500': description: Internal server error during evaluation /client/get-treatments: get: operationId: getTreatments summary: Get treatments for multiple feature flags description: Evaluates multiple feature flags for the given key in a single request and returns the treatment values for each. More efficient than making individual get-treatment calls. tags: - Evaluation parameters: - name: key in: query required: true description: The customer key to evaluate feature flags against schema: type: string - name: split-names in: query required: true description: Comma-separated list of feature flag names to evaluate schema: type: string - name: bucketing-key in: query description: Optional bucketing key for consistent assignments schema: type: string - name: attributes in: query description: JSON string of attributes for targeting rule evaluation schema: type: string - name: impressions-disabled in: query description: When set to true, disables impression logging for these evaluations schema: type: boolean responses: '200': description: Successful evaluation response with multiple treatments content: application/json: schema: $ref: '#/components/schemas/TreatmentsResult' '400': description: Missing or invalid parameters '500': description: Internal server error during evaluation post: operationId: getTreatmentsWithAttributes summary: Get treatments with attributes description: Evaluates multiple feature flags for the given key with attributes passed in the request body. tags: - Evaluation parameters: - name: key in: query required: true description: The customer key to evaluate feature flags against schema: type: string - name: split-names in: query required: true description: Comma-separated list of feature flag names to evaluate schema: type: string - name: bucketing-key in: query description: Optional bucketing key for consistent assignments schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationAttributes' responses: '200': description: Successful evaluation response with multiple treatments content: application/json: schema: $ref: '#/components/schemas/TreatmentsResult' '400': description: Missing or invalid parameters '500': description: Internal server error during evaluation /client/get-all-treatments: get: operationId: getAllTreatments summary: Get all treatments for a key description: Evaluates all available feature flags for the given keys and traffic types and returns the treatment values. Useful for retrieving a complete set of flag evaluations for a user session. tags: - Evaluation parameters: - name: keys in: query required: true description: JSON string containing an array of key objects with matchingKey and trafficType properties, and optionally a bucketingKey schema: type: string - name: attributes in: query description: JSON string of attributes for targeting rule evaluation schema: type: string - name: impressions-disabled in: query description: When set to true, disables impression logging for these evaluations schema: type: boolean responses: '200': description: Successful response with treatments for all feature flags content: application/json: schema: $ref: '#/components/schemas/AllTreatmentsResult' '400': description: Missing or invalid parameters '500': description: Internal server error during evaluation post: operationId: getAllTreatmentsWithAttributes summary: Get all treatments with attributes description: Evaluates all available feature flags for the given keys with attributes passed in the request body. tags: - Evaluation parameters: - name: keys in: query required: true description: JSON string containing an array of key objects schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EvaluationAttributes' responses: '200': description: Successful response with treatments for all feature flags content: application/json: schema: $ref: '#/components/schemas/AllTreatmentsResult' '400': description: Missing or invalid parameters '500': description: Internal server error during evaluation components: schemas: TreatmentsResult: type: object description: The result of evaluating multiple feature flags for a given key. Keys are feature flag names and values are treatment results. additionalProperties: $ref: '#/components/schemas/TreatmentResult' TreatmentResult: type: object description: The result of evaluating a single feature flag for a given key. properties: splitName: type: string description: Name of the evaluated feature flag treatment: type: string description: The treatment value returned by the evaluation (e.g., on, off) config: type: string nullable: true description: JSON string of dynamic configuration associated with the treatment, or null if no configuration is defined EvaluationAttributes: type: object description: Attributes passed in the request body for use in targeting rule evaluation. Attributes can be strings, numbers, booleans, or sets. properties: attributes: type: object description: Key-value pairs of attribute names and their values additionalProperties: true impressionsDisabled: type: boolean description: When set to true, disables impression logging for the evaluation AllTreatmentsResult: type: object description: The result of evaluating all feature flags for the given keys. Keyed by feature flag name with treatment result values. additionalProperties: $ref: '#/components/schemas/TreatmentResult' 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