---
title: "Copy Project from one organization to another"
method: POST
path: "/api/site/copy"
tags: ["Site"]
---

# Copy Project from one organization to another

`POST /api/site/copy`

## Request

- Base URL: `https://passivelogic.com` (the document declares no server; this is the origin it was published from)
- URL: `https://passivelogic.com/api/site/copy`
- Auth: one of:
  - API key in header `X-PL-AUTH`
  - API key in header `Authorization: PL-API-KEY`
  - API key in header `PL-API-KEY`
  - HTTP basic
- TypeScript: <https://skmtc.dev/passivelogic/apis/passivelogic-http-api/docs/api/site/copy/post.ts> (a function with typed inputs; its response is checked against the schema)

Copies Project from one organization to a target organization given a project Identifier.
All UUID's are created new for the copied project.
Returns a mapping of old identifiers and new identifiers of the given project.
History data is NOT copied unless startDate and endDate are provided.
History copy will take time to complete in the background and there will be no indication of success.

## Query parameters

- `targetOrganizationID` string, uuid, required
- `siteID` string, uuid, required
- `siteName` string, nullable
- `siteDirectory` string, nullable
- `startDate` string, nullable
- `endDate` string, nullable

## Response `200`

OK

- ObjectIdentifiers
  - `objectIdentifierMap` ObjectPair[], required
    - `type` 'Adjacency' | 'AllowedQuanta' | 'Analysis' | 'Animation' | 'ApiKey' | 'Artifact' | 'Asset' | 'AuthGroup' | 'Behavior' | 'Binding' | 'Building' | 'Campus' | 'CampusDirectory' | 'CompatibleQuanta' | 'ConnectionNet' | 'ConnectionNode' | 'ConstructionCategory' | 'ControlKnot' | 'Device' | 'DisplayRule' | 'EmailVerification' | 'Equation' | 'Equipment' | 'EquipmentComponent' | 'EquipmentComponentPropertyRouter' | 'EscalationGroup' | 'Event' | 'EventClass' | 'EventHistory' | 'EventRelation' | 'EventType' | 'Floor' | 'GraphVersion' | 'History' | 'Image' | 'ImportedModel' | 'InterfaceAlternate' | 'Invite' | 'Layer' | 'LayerSet' | 'LayerSetJoin' | 'Library' | 'Location' | 'LocationProperty' | 'Manufacturer' | 'Media' | 'MediaComponent' | 'Model' | 'MultifactorAuthentication' | 'NodeSet' | 'NodeSetConnectionNodeJoin' | 'Organization' | 'OrganizationAuthGroupPermission' | 'Prediction' | 'PredictionGroup' | 'Preference' | 'PreferenceGroup' | 'PrivilegeJoin' | 'Procedure' | 'Property' | 'PropertyTagRouter' | 'Quanta' | 'RefreshToken' | 'Relationship' | 'SelectedModel' | 'SessionBinding' | 'SessionEvent' | 'Shape' | 'Site' | 'Subsystem' | 'SubsystemCapability' | 'SubsystemSet' | 'Surface' | 'System' | 'Tag' | 'TagFamily' | 'TypicalConstruction' | 'UnitLookup' | 'UnitPreference' | 'User' | 'UserSession' | 'UserSessionHistory' | 'Vertex' | 'View' | 'WeatherSource' | 'Zone' | 'ZoneGroup' | 'ZoneSubsystem' | 'ZoneSubsystemSet', required
    - `newID` string, uuid, required
    - `oldID` string, uuid, required

---

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