Split Groups API

Manage groups for organizing users and assigning permissions.

OpenAPI Specification

split-groups-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Split Admin Groups 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: Groups
  description: Manage groups for organizing users and assigning permissions.
paths:
  /groups:
    get:
      operationId: listGroups
      summary: List groups
      description: Retrieves all active groups in the account. Groups are used to organize users and assign permissions collectively.
      tags:
      - Groups
      responses:
        '200':
          description: Successful response containing list of groups
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Group'
        '401':
          description: Unauthorized - invalid or missing API key
    post:
      operationId: createGroup
      summary: Create group
      description: Creates a new group with a name and description. Group names are unique within an account.
      tags:
      - Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupCreate'
      responses:
        '200':
          description: Group created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '400':
          description: Invalid request body or group name already exists
        '401':
          description: Unauthorized - invalid or missing API key
  /groups/{groupId}:
    get:
      operationId: getGroup
      summary: Get group
      description: Retrieves a single group by its unique identifier.
      tags:
      - Groups
      parameters:
      - name: groupId
        in: path
        required: true
        description: The unique identifier of the group
        schema:
          type: string
      responses:
        '200':
          description: Successful response containing the group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Group not found
    delete:
      operationId: deleteGroup
      summary: Delete group
      description: Deletes a group from the account.
      tags:
      - Groups
      parameters:
      - name: groupId
        in: path
        required: true
        description: The unique identifier of the group
        schema:
          type: string
      responses:
        '200':
          description: Group deleted successfully
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Group not found
components:
  schemas:
    GroupCreate:
      type: object
      description: Request body for creating a new group
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the new group (must be unique)
        description:
          type: string
          description: Description of the new group
    Group:
      type: object
      description: A group used to organize users and assign permissions
      properties:
        id:
          type: string
          description: Unique identifier for the group
        name:
          type: string
          description: Name of the group (unique within an account)
        description:
          type: string
          description: Description of the group
        type:
          type: string
          description: Group type
  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