Uploads

Upload files to netiks cloud, get the files from your account or using APIs in Assets

Upload Single file

Developer Upload Single File

post
Header parameters
Content-TypestringOptionalExample: multipart/form-data
x-api-keystringRequiredExample: ne-zwpVh1idj6InYwTWk866n1qrf
Body
filestring · binaryRequired
Responses
201

Developer Upload Single File

application/json
post
POST /api/v1/assets/developer-upload-file/ HTTP/1.1
Host: prod.backend.netikscloud.com
x-api-key: text
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
{
  "message": "text",
  "asset": {
    "id": "text",
    "asset_name": "text",
    "storage_url": "text",
    "location": null,
    "location_name": null,
    "format": "text",
    "file_size": 1,
    "dimensions": null,
    "access": "text",
    "created_by": "text",
    "last_updated_by": "text",
    "created_at": "2025-10-08T12:51:16.390Z",
    "last_updated": "2025-10-08T12:51:16.390Z"
  }
}

Bulk Upload

This is a three step process

Generate Presigned URL

For bulk uploads, it's best to do so by client—start by generating a presigned URL.

Developer Generate Presigned URLs

post
Header parameters
Content-TypestringOptionalExample: application/json
x-api-keystringRequiredExample: ne-zwpVh1idj6InYwTWk866n1qrf
Body
Responses
200

Developer Generate Presigned URLs

application/json
post
POST /api/v1/assets/developer-generate-presigned-url/ HTTP/1.1
Host: prod.backend.netikscloud.com
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 67

{
  "files": [
    {
      "name": "test-image.jpg",
      "type": "image/jpeg",
      "size": 32
    }
  ]
}
{
  "presigned_urls": [
    {
      "file_name": "text",
      "presigned_url": "https://example.com",
      "storage_url": "text",
      "s3_path": "text",
      "content_type": "text"
    }
  ]
}

Upload File using Presigned URL

Next, you will upload the actual files by making a PUT request to the generated presigned URL you got in the previous API - POST /api/v1/assets/developer-generate-presigned-url/. This URL is a secure, 15 minutes limited link that allows you to send the file directly to the storage server.

Upload File to S3 using Presigned URL

put
Query parameters
X-Amz-AlgorithmstringRequired
X-Amz-CredentialstringRequired
X-Amz-DatestringRequired
X-Amz-ExpiresintegerRequired
X-Amz-SignedHeadersstringRequired
X-Amz-SignaturestringRequired
Header parameters
Content-TypestringOptionalExample: image/jpeg
Body
string · binaryOptional
Responses
200

Upload File to S3 using Presigned URL

put
PUT /generated_presigned_url?X-Amz-Algorithm=text&X-Amz-Credential=text&X-Amz-Date=text&X-Amz-Expires=1&X-Amz-SignedHeaders=text&X-Amz-Signature=text HTTP/1.1
Host: prod.backend.netikscloud.com
Content-Type: image/jpeg
Accept: */*
Content-Length: 28

"(binary JPEG file content)"
200

Upload File to S3 using Presigned URL

No content

Confirm Upload

Lastly, confirm the upload by sending the details obtained from the Generate Presigned URL API. This step ensures that the system registers the uploaded file

Confirm Upload Presigned File

post
Header parameters
Content-TypestringOptionalExample: application/json
x-api-keystringRequiredExample: ne-zwpVh1idj6InYwTWk866n1qrf
Body
is_presignedbooleanRequired
storage_urlstringRequired
file_namestringRequired
s3_pathstringRequired
content_typestringRequired
Responses
201

Confirm Upload Presigned File

application/json
post
POST /api/v1/assets/developer-upload-file HTTP/1.1
Host: prod.backend.netikscloud.com
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 248

{
  "is_presigned": true,
  "storage_url": "shullyd7@gmail.com_1746587379/6978f84f-abe5-445e-94ca-9785b4996c95.jpg",
  "file_name": "test-image.jpg",
  "s3_path": "shullyd7@gmail.com_1746587379/6978f84f-abe5-445e-94ca-9785b4996c95.jpg",
  "content_type": "image/jpeg"
}
{
  "message": "text",
  "asset": {
    "id": "text",
    "asset_name": "text",
    "storage_url": "text",
    "location": null,
    "location_name": null,
    "format": "text",
    "file_size": 1,
    "dimensions": null,
    "access": "text",
    "created_by": "text",
    "last_updated_by": "text",
    "created_at": "2025-10-08T12:51:16.390Z",
    "last_updated": "2025-10-08T12:51:16.390Z"
  }
}

Last updated