disguise developers

Create Folder

The /folder endpoint of the Disguise Cloud Drive API allows you to create a new folder within a specified drive and parent folder. A folder represents a directory within a drive that can contain files and other folders.

Endpoints

POST
drive-api.disguise.cloud
/v1/drives/{{drive_id}}/content/{{content_id}}/folder
Create a new folder within the specified drive and parent folder. The content ID is the parent folder's unique identifier.

Response Structure

A successful response from the /folder endpoint will be the same as the Content endpoint, but without the pagination wrapper.

FieldTypeDescription
idstringThe unique identifier of the content.
drive_idstringThe unique identifier of the drive.
parent_idstringThe unique identifier of the parent content, if applicable. Root folders will be the only piece of content that is missing this field.
namestringThe name of the content.
versionsarrayA list of versions of the content. See the Versions table for more information.
is_lockedbooleanWhether the content is locked. When locked, the content can not be updated or deleted.
locked_by_idstringThe unique identifier of the user who locked the content, if applicable.
uploaded_by_idstringThe unique identifier of the user who uploaded the content, if applicable.
urlstringThe URL of the content, if applicable.
formatstringThe format of the content, if applicable.
thumbnailstringThe URL of the thumbnail image of the content, if applicable.
thumbnail_tinystringThe URL of the tiny thumbnail image of the content, if applicable.
typestringThe type of the content (e.g., folder, file, image, scene, video, previz).
lengthintegerThe length of the content, if applicable.
widthintegerThe width of the content, if applicable.
heightintegerThe height of the content, if applicable.
dimensionsstringThe dimensions of the content, if applicable.
size_bytesintegerThe size of the content in bytes. For folders, this will be the total size of all content in the folder.
statusstringThe status of the content (e.g., pending, ready). Refers to if the content has been finished processing (such as video encoding).
metaobjectAdditional metadata about the content, if applicable. Data structure is not guaranteed.
file_extensionstringThe file extension of the content, if applicable.
is_sharedbooleanWhether the content is shared.
share_slugstringThe share slug of the content, if applicable. Only applies if the content was shared previously.
share_urlstringThe share URL of the content, if applicable. Only applies if the content was shared previously.
descriptionstringThe description of the content, if applicable.
created_atdatetimeThe date and time when the content was created.
updated_atdatetimeThe date and time when the content was last updated.
childrenarrayA list of child content items see the Children table for more information.

Response Example

curl -X POST https://drive-api.disguise.cloud/v1/drives/{{drive_id}}/content/{{content_id}}/folder \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "name": "My Folder"
}'

Success

A successful response will return a 201 Created with the following JSON:

{
  "id": "1cb5e233-908b-4799-80d7-943b86d3916c",
  "drive_id": "3b5b9cab-073d-416a-bcf1-f2b3154fb0ee",
  "parent_id": null,
  "name": "My Folder",
  "versions": [],
  "is_locked": false,
  "locked_by_id": null,
  "uploaded_by_id": null,
  "url": null,
  "format": null,
  "thumbnail": null,
  "thumbnail_tiny": null,
  "type": "folder",
  "length": null,
  "width": null,
  "height": null,
  "dimensions": null,
  "size_bytes": 0,
  "status": "pending",
  "meta": null,
  "file_extension": null,
  "is_shared": false,
  "share_slug": null,
  "share_url": null,
  "description": null,
  "created_at": "2024-11-27T21:05:01.000000Z",
  "updated_at": "2024-11-27T21:05:01.000000Z",
  "children": []
}

Errors

If the drive is not found, the API will return a 404 Not Found status code and the following JSON:

{
  "error": {
    "message": "Drive not found",
    "details": "Drive not found"
  }
}

If the parent folder is not found, the API will return a 404 Not Found status code and the following JSON:

{
  "error": {
    "message": "Parent folder not found",
    "details": "Parent folder not found"
  }
}

If you try to create a folder not inside another folder, the API will return a 400 Bad Request status code and the following JSON:

{
  "error": {
    "message": "Cannot upload to selected location",
    "details": "Parent asset is not a folder"
  }
}

Request Parameters

The following parameters can be used with the /folder endpoint for POST requests:

ParameterTypeDescription
namestringThe name of the folder to be created.
descriptionstringA description of the folder.

Request Example

Below is an example of making a POST request to the /folder endpoint to create a new folder within a drive and parent folder:

curl -X POST https://drive-api.disguise.cloud/v1/drives/{{drive_id}}/content/{{content_id}}/folder \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "name": "New Folder",
  "description": "This is a new folder"
}'