---
title: "Bulk-create stop templates"
method: POST
path: "/api/templates/stop-templates/bulk"
tags: ["templates"]
---

# Bulk-create stop templates

`POST /api/templates/stop-templates/bulk`

## Request

- Base URL: `https://api.vepathos.com`
- URL: `https://api.vepathos.com/api/templates/stop-templates/bulk`
- Auth: HTTP bearer

Creates up to 1000 templates from `{ "items": [...] }`. When the batch exceeds your remaining plan quota, what fits is created and the rest is reported in `rejected`; the call does not fail on quota.

## Request body

- object
  - `items` StopTemplateInput[], required
    - `name` string, required
    - `description` string
    - `stop` StopTemplateStop, required: Stored as sent. Only `lat` and `lng` are validated; extra fields are kept.
      - `lat` number, required
      - `lng` number, required
      - `address` string
      - `milestoneId` string
      - `twStartMinutes` integer, nullable: Minutes since UTC midnight.
      - `twEndMinutes` integer, nullable: Minutes since UTC midnight.
      - `packages` object[]

## Response `200`

Bulk-create result.

- StopTemplateBulkResult
  - `created` StopTemplate[], required
    - `id` string, required
    - `name` string, required
    - `description` string
    - `stop` StopTemplateStop, required: Stored as sent. Only `lat` and `lng` are validated; extra fields are kept.
      - `lat` number, required
      - `lng` number, required
      - `address` string
      - `milestoneId` string
      - `twStartMinutes` integer, nullable: Minutes since UTC midnight.
      - `twEndMinutes` integer, nullable: Minutes since UTC midnight.
      - `packages` object[]
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `accepted` integer, required: Number of items actually created.
  - `rejected` integer, required: Number of items dropped because the plan quota was reached.
  - `limit` integer, nullable, required: Plan cap, or null when unlimited.
  - `used` integer, required: Template count before this bulk create.

## Other responses

- `400`: Invalid request body
- `401`: Not signed in

---

[API](https://skmtc.dev/vepathos/apis/vepathos-route-optimization-api.md) · [All operations](https://skmtc.dev/vepathos/apis/vepathos-route-optimization-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vepathos/apis/vepathos-route-optimization-api/revisions/00caa1ca62d9?raw)
