Split Admin API

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.

OpenAPI Specification

split-admin-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Split Admin 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: Admin
paths:
  /admin/ping:
    get:
      operationId: ping
      summary: Ping service
      description: Checks whether the Split Evaluator service is running. If the service is running, it responds with the text pong and HTTP status code 200.
      tags:
      - Admin
      responses:
        '200':
          description: Service is running
          content:
            text/plain:
              schema:
                type: string
                example: pong
  /admin/version:
    get:
      operationId: getVersion
      summary: Get service version
      description: Returns the current version of the Split Evaluator service.
      tags:
      - Admin
      responses:
        '200':
          description: Service version information
          content:
            application/json:
              schema:
                type: object
                properties:
                  version:
                    type: string
                    description: Version string of the running Evaluator
  /admin/healthcheck:
    get:
      operationId: healthCheck
      summary: Health check
      description: Checks that the Split Evaluator is connected to Split servers and ready to process evaluation requests. Returns 200 if everything is working as expected or 500 if there is an issue, along with a message explaining the status.
      tags:
      - Admin
      responses:
        '200':
          description: Service is healthy and ready for evaluations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
        '500':
          description: Service is unhealthy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
components:
  schemas:
    HealthCheckResponse:
      type: object
      description: Health check response from the Split Evaluator
      properties:
        status:
          type: string
          description: Health status of the service
          enum:
          - ok
          - error
        message:
          type: string
          description: Detailed message about the health status
  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