---
title: "Push bundle to environments"
method: POST
path: "/api/v1/publishing/push/{bundleId}"
tags: ["Publishing"]
---

# Push bundle to environments

`POST /api/v1/publishing/push/{bundleId}`

## Request

- Base URL: `https://docs.anzworldline-solutions.com.au`
- URL: `https://docs.anzworldline-solutions.com.au/api/v1/publishing/push/{bundleId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/docs/api/v1/publishing/push/:bundleId/post.ts> (a function with typed inputs; its response is checked against the schema)

Queues an existing bundle for publishing to specified environments. The bundle must exist and have assets already added. Supports publish, expire, and publishexpire operations with ISO 8601 date/time format.

## Path parameters

- `bundleId` string, required

## Request body

- PushBundleForm: Form for pushing a bundle to environments
  - `operation` 'publish' | 'expire' | 'publishexpire', required: Operation type: publish, expire, or publishexpire. Case-insensitive (PUBLISH, Publish, publish all accepted).
  - `publishDate` string, date-time: Scheduled publish date in ISO 8601 format with timezone offset (required for publish/publishexpire). Dates without timezone offset are rejected.
  - `expireDate` string, date-time: Scheduled expire date in ISO 8601 format with timezone offset (required for expire/publishexpire). Dates without timezone offset are rejected.
  - `environments` string[], required: List of environment IDs to push the bundle to
  - `filterKey` string, required: Push publishing filter key

## Response `200`

Bundle successfully queued for publishing

- ResponseEntityPushBundleResultView
  - `errors` ErrorEntity[]
    - `errorCode` string
    - `message` string
    - `fieldName` string
  - `entity` PushBundleResultView
    - `bundleId` string, required: Bundle identifier
    - `operation` string, required: Operation type performed
    - `publishDate` string: Scheduled publish date in ISO 8601 format
    - `expireDate` string: Scheduled expire date in ISO 8601 format
    - `environments` string[], required: List of environment IDs the bundle was pushed to
    - `filterKey` string, required: Filter key used for publishing
  - `messages` MessageEntity[]
    - `message` string
  - `i18nMessagesMap` object
  - `permissions` string[]
  - `pagination` Pagination
    - `currentPage` integer
    - `perPage` integer
    - `totalEntries` integer

## Other responses

- `400`: Invalid request (missing required fields, invalid operation, invalid date format)
- `401`: Unauthorized - authentication required
- `403`: Forbidden - no permission to use specified environments
- `404`: Bundle or environment not found

## Changes

- **2026-10-30** `4fd8e917d458`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/changes/api/v1/publishing/push/:bundleId/post.md)

---

[API](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api.md) - [All operations](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/anzworldline-solutions/apis/dotcms-rest-api/revisions/4fd8e917d458?raw)
