---
title: "Batch create up to 25 services; the whole batch is validated before any service is created"
method: POST
path: "/services/batch"
tags: ["services"]
---

# Batch create up to 25 services; the whole batch is validated before any service is created

`POST /services/batch`

Requires the privilege [`SERVICES_WRITE`](https://www.gremlin.com/docs/user-management/access-control/#privileges)

## Query parameters

- `teamId` string, required

## Request body

- BatchCreateServicesRequest
  - `services` UserDefinedServiceRequest[], required
    - `name` string, required
    - `description` string
    - `targetingStrategy` TargetingStrategy
      - `type` string, required
    - `applicationSelector` ApplicationSelector
      - `applicationName` string, required
    - `statusCheckIds` string[]
    - `scheduleSettings` ScheduleSettings
      - `enabled` boolean
      - `scheduleType` 'OnlyOnce' | 'Random'
      - `triggerType` 'Passed' | 'RunOnce' | 'Always'
      - `triggers` Trigger[]
        - `dayOfWeek` 'M' | 'T' | 'W' | 'Th' | 'F' | 'S' | 'Su', required
        - `scheduleWindows` ScheduleWindow[], required
          - `start` string, required — Time in HH:mm format (24-hour)
          - `end` string, required — Time in HH:mm format (24-hour)
    - `tags` object
    - `multiSelectTags` object
    - `serviceOwner` ServiceOwner
      - `identifier` string
    - `startBaselineRequest` StartBaselineRequest — Represents a request to run all tests
      - `tests` string[]
    - `awsTargetsArn` string[]
    - `gcpTargetResourceIds` string[]
    - `azureTargetResourceIds` string[]
    - `intelligentHealthCheckTargetIds` string[]
    - `enabledGremlinAwsStatusCheck` boolean
    - `originatingScenarioId` string

## Response `200`

Validation passed and creation was attempted for every service. Inspect each result for success or error

## Other responses

- `400` — At least one item failed validation; nothing in the batch was created. See /services/batch/validate for a structured, per-item error report.
- `401` — Authorization header missing or malformed. Please provide proper credentials in the authorization header.
- `403` — User requires privilege for target team: SERVICES_WRITE

## Changes

- **2026-09-29** `7bd565f001b3` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/gremlin/apis/gremlin-api/changes/services/batch/post.md)

---

[API](https://skmtc.dev/gremlin/apis/gremlin-api.md) · [All operations](https://skmtc.dev/gremlin/apis/gremlin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gremlin/apis/gremlin-api/revisions/7bd565f001b3?raw)
