---
title: "Batch upload posts"
method: POST
path: "/api/v1/posts/batch"
tags: ["Posts"]
---

# Batch upload posts

`POST /api/v1/posts/batch`

## Request

- Base URL: `https://postal.nesohq.org`
- URL: `https://postal.nesohq.org/api/v1/posts/batch`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nesohq/apis/postal-post-management-service-apis/docs/api/v1/posts/batch/post.ts> (a function with typed inputs; its response is checked against the schema)

Upload a CSV file to create posts in bulk

## Request body `multipart/form-data`

- object
  - `file` string, binary, required: CSV file

## Response `201`

Posts created successfully

## Other responses

- `400`: Invalid CSV or validation error
- `401`: Unauthorized
- `500`: Internal server error

## Changes

- **2026-02-11** `ff7cef7aaf88`: 1 info
  - endpoint added
- **2026-02-06** `3d17f189af69`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/nesohq/apis/postal-post-management-service-apis/changes/api/v1/posts/batch/post.md)

---

[API](https://skmtc.dev/nesohq/apis/postal-post-management-service-apis.md) - [All operations](https://skmtc.dev/nesohq/apis/postal-post-management-service-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/nesohq/apis/postal-post-management-service-apis/revisions/64a3f9ff2411?raw)
