---
title: "Step 1: Create an upload transaction"
method: POST
path: "/transaction/24_v1"
---

# Step 1: Create an upload transaction

`POST /transaction/24_v1`

Create an upload transaction ID and begin an upload session

## Request body

- object
  - `targetFolderID` string — The <a href="https://developer.orangelogic.com/reference/assets#record-id">Record ID</a> of the folder you want to upload to.
  - `keepFolderStructure` boolean — Whether to retain your folder structure. When <code>true</code>, the assets are uploaded with their original local folder structure.
  - `mappingTemplateId` string — The Orange Logic Import Mapping Template API ID. <br> <strong>Note</strong>: <ul> <li>To find the API ID of an import mapping template, go to <strong>Admin</strong> > <strong>Archives</strong> > <strong>Manage Import Mapping Templates</strong> and open the template. The <strong>API ID</strong> is in the <strong>Edit import mapping template</strong> window. </li> </ul>
  - `noMappingTemplate` boolean — When <code>true</code>, you are using a mapping template. </br> When <code>false</code>, you are not using a mapping template.
  - `metadata` object — Metadata to apply to all assets included in the upload transaction.
    - `RecordID` string — Include an asset’s <a href="https://developer.orangelogic.com/reference/assets#record-id">Record ID</a> to upload a new version of an existing Orange Logic asset. </br> <strong>Notes</strong>: <ul> <li>This field is optional; if it is not included, Orange Logic will upload the asset as a new file.</li> <li>This field applies to all assets you upload in this transaction. Therefore, if you include a RecordID, limit your upload to a single asset.</li> </ul>
    - `[CustomMetadata]` string — You can add other metadata fields with the syntax <code>"FieldAPIname": "value"</code>. (Other fields are not required; use this as a placeholder for other metadata you might want to add to the asset.) </br> Go to the <a href="https://developer.orangelogic.com/reference/metadata-field-identifiers#api-name">API name</a> section of the Metadata field identifiers page to learn more.
  - `uploadMethod` 'CortexTools' | 'Web' | 'Agent' | 'DropBox' | 'Ftp' | 'Getty' — Used to categorize the upload requests and pass them to the client uploader app you want to use. The options are: CortexTools, Web, Agent, DropBox, Ftp, and Getty. However, your organization may not have all of these upload options.
  - `useCache` boolean — If available, use a cached transaction.
  - `clearanceLevel` integer — The security clearance that will be added to the created asset’s Security Clearance field. Security clearances are an optional layer of asset protection in addition to permissions. Orange Logic users with a Link account can go to the <a href="https://link.orangelogic.com/CMS4/Permalinks/2P7YOHNZQ04H" target="_blank">security clearance</a> article to learn more.

## Response `200`

200

- object
  - `transactionId` string

---

[API](https://skmtc.net/orangelogic/apis/security.md) · [All operations](https://skmtc.net/orangelogic/apis/security/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/orangelogic/security/revisions/c8e945426c5e/schema)
