---
title: "Duplicate Agent"
method: POST
path: "/api/agents/{agent_id}/duplicate"
tags: ["agents"]
---

# Duplicate Agent

`POST /api/agents/{agent_id}/duplicate`

## Request

- Base URL: `https://api.maritime.sh` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maritime.sh/api/agents/{agent_id}/duplicate`
- Auth: HTTP bearer

Stamp N fresh instances from this agent's definition (plan 18 Phase 1).

Instances copy the source's image/framework/env, never its volume,
memory, channels, or identity, and group under a shared project
(created implicitly on the first duplicate). Stamping goes through
project_service.spawn_project_instance, the same path the project
front door's `spawn` policy uses.

## Path parameters

- `agent_id` string, required

## Request body

- DuplicateAgentRequest
  - `count` integer
  - `namePrefix` string, nullable

## Response `200`

Successful Response

- DuplicateAgentResponse
  - `projectId` string, required
  - `created` AgentResponse[], required
    - `id` string, required
    - `name` string, required
    - `description` string, nullable
    - `instructions` string, nullable
    - `externalId` string, nullable
    - `framework` string, required
    - `tier` string, required
    - `status` string, required
    - `githubRepo` string, nullable
    - `autoPair` boolean
    - `exposedPort` integer, nullable
    - `healthCheckPath` string, nullable
    - `hasWebUi` boolean
    - `templateId` string, nullable
    - `publicPlay` boolean
    - `publicWeb` boolean
    - `publicUrl` string, nullable
    - `visibility` 'private' | 'public'
    - `webUrl` string, nullable
    - `desktopEnabled` boolean
    - `invocationCount` integer, required
    - `totalComputeSeconds` integer
    - `memMb` integer, nullable
    - `vcpus` number, nullable
    - `idleTtlSeconds` integer, nullable
    - `diskMb` integer, nullable
    - `computeMinutesLimit` number, nullable
    - `sleepPolicy` string
    - `lastStartedAt` string, date-time, nullable
    - `lastActiveAt` string, date-time, nullable
    - `statusChangedAt` string, date-time, nullable
    - `derivedImageTag` string, nullable
    - `browserbaseConfigured` boolean
    - `projectId` string, nullable
    - `projectRole` string, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `422`: Validation Error

---

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