Nurama Developers
Projects

Create assets and signed upload links for a project.

Creates assets in the project's creator tree and returns signed upload links. Requires `canCreateAsset`. When a submitted file's checksum matches an asset already in the project, no bytes are transferred: the platform adds another FileSystem reference to the existing asset and reports `status: success` with `referencesExistingAsset: true` and no signed URLs. In that case the response's `name` is the EXISTING asset's name, because that is what the new reference carries — `FileSystem.resourceName` is a denormalized copy of `Asset.name`, so the submitted name never lands. The submitted name is returned as `originalName`. Correlate results with requests positionally or by your own upload id, not by `name`. Returns `uploadRequestExceedsSubscription` (400) when the request would exceed the workspace's subscribed storage.

POST
/projects/{projectId}

Creates assets in the project's creator tree and returns signed upload links. Requires canCreateAsset. When a submitted file's checksum matches an asset already in the project, no bytes are transferred: the platform adds another FileSystem reference to the existing asset and reports status: success with referencesExistingAsset: true and no signed URLs. In that case the response's name is the EXISTING asset's name, because that is what the new reference carries — FileSystem.resourceName is a denormalized copy of Asset.name, so the submitted name never lands. The submitted name is returned as originalName. Correlate results with requests positionally or by your own upload id, not by name. Returns uploadRequestExceedsSubscription (400) when the request would exceed the workspace's subscribed storage.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

projectId*string

Unique ID of the project.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/projects/string" \  -H "Content-Type: application/json" \  -d '{}'
[  {    "id": 1,    "name": "file1.png",    "hash": "d9729feb74992cc3482b350163a1a010",    "type": "image",    "asset": {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "ownerResourceId": "7d5ad1db-89f9-42df-868c-86a72347ae1c",      "ownerResourceType": "workspace",      "creatorId": "688ebf54-d343-4104-8711-82c2feac534a",      "creator": {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "firstName": "string",        "lastName": "string",        "displayName": "string",        "avatar": "01d8bd6c-6014-46aa-b5b1-14d337c9c779",        "color": "string",        "awards": [          "staff"        ],        "accountType": "standard"      },      "fileSystemPaths": [        "string"      ],      "basePath": "string",      "noFileSystem": false,      "keyPath": "string",      "checksum": "string",      "checksumAlgorithm": "md5",      "name": "string",      "slug": "string",      "functionType": "attachment",      "mediaType": "image",      "tags": [],      "files": [        {          "assetId": "9179b887-04ef-4ce5-ab3a-b5bbd39ea3c8",          "keyPath": "/project/asset/file123.jpg",          "checksum": "string",          "checksumAlgorithm": "md5",          "name": "string",          "functionType": "original",          "sizeInBytes": 0,          "status": "active",          "meta": {},          "createdAt": 1678886400000,          "updatedAt": 1678886400000        }      ],      "chats": {        "creatorLastMessageAt": "2019-08-24T14:15:22Z",        "reviewerLastMessageAt": "2019-08-24T14:15:22Z",        "creator": "1dccd4a6-75d2-43aa-a088-76d941f1b60a",        "reviewer": "a4b7b7a3-a1d0-4e27-9161-fa5679d1e0d6"      },      "expectedUploadSizeInMB": 0,      "sizeInBytes": 0,      "visibility": [        "creator"      ],      "publishedOn": 1678886400000,      "publisherId": "f1ba8124-cabe-46cd-b4f9-1189594ff7b3",      "publisher": {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "firstName": "string",        "lastName": "string",        "displayName": "string",        "avatar": "01d8bd6c-6014-46aa-b5b1-14d337c9c779",        "color": "string",        "awards": [          "staff"        ],        "accountType": "standard"      },      "hasActivePublicLink": false,      "hasActivePublicFileSystem": false,      "everPublic": false,      "publicFileSystemIds": [        "3a3392f6-5ad7-429c-8b57-759911bd1423"      ],      "publicAssetLinkIds": [        "35788e46-f1b0-471c-b8ec-69afab5a9e64"      ],      "submissionFileSystemIds": [        "c658ae43-33f0-4032-85f0-ea3242de6509"      ],      "aiGenerated": false,      "promotedFromAssetId": "c833ed16-de04-406f-a750-9ed1e24820b3",      "contentSnippet": "string",      "status": "active",      "meta": {},      "inheritanceId": "09c886ac-e6e5-4263-a494-a6e14f7e4f46",      "inheritance": {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",        "resourceType": "string",        "inheritance": {          "0192a3b4-5c6d-7e8f-9a0b-1c2d3e4f5a6b": "workspace",          "0192a3b4-5c6d-7e8f-9a0b-1c2d3e4f5a6c": "project"        },        "inheritanceInverted": {          "property1": "497f6eca-6276-4993-bfeb-53cbbbba6f08",          "property2": "497f6eca-6276-4993-bfeb-53cbbbba6f08"        },        "path": "string",        "createdAt": "2019-08-24T14:15:22Z",        "updatedAt": "2019-08-24T14:15:22Z"      },      "createdAt": 1678886400000,      "updatedAt": 1678886400000    },    "signedUrlData": {      "fileName": "file1.png",      "ownerAssetId": "65af4c7b22ac19c0b1648241",      "key": "/workspaces/ws-65af4c7b22ac19c0b1648226/projects/pr...",      "urls": [        "https://s3.eu-west-1.amazonaws.com/files-test.nurama.io..."      ],      "mimeType": "image/png",      "expires": 1705988395,      "status": "success"    },    "status": "success"  }]