eXtendFiles API (1.0.0)

Download OpenAPI specification:

This API provides a backend service for performing eXtendFiles file uploads integrated with NetSuite. Prerequisites:

  • eXtendFiles must be fully configured in the target NetSuite account.
  • A "Public Upload" configuration must be active for the target record type(s).

File Upload

Endpoints for uploading files.

Direct File Upload (< 5MB)

Uploads a complete file in a single request. Use this method for files smaller than 5MB. The request body must be multipart/form-data. Dynamic metadata for the NetSuite record can be passed via custom headers formatted as x-{netsuite_field_id}.

Authorizations:
ApiKeyAuth

Responses

Multi-Part File Upload (> 5MB)

Handles large file uploads by breaking them into parts. Use this method for files larger than 5MB. The process is stateful:

  1. Upload Chunks: Send each part as application/octet-stream. The first request initiates the upload and returns an uploadId and filePath. Subsequent requests must include these values.
  2. Commit Upload: After all parts are sent, make a final request with the x-commit-upload: 1 header. The body of this final request must be application/json and contain an array of the partUploadResponse objects received in the previous steps.
Authorizations:
ApiKeyAuth

Responses

File Operations

Endpoints for generating signed URLs for uploaded files.

Get a Pre-signed URL

Generates a temporary, pre-signed URL for a file in storage.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

You must provide either fileUrl or both bucket and path.

fileUrl
string <uri>

The full URL of the file in storage. If provided, bucket and path are ignored

bucket
string

The name of the storage bucket/container. Required if fileUrl is not provided

path
string

The path or key of the file within the storage bucket/container. Required if fileUrl is not provided

expiration
integer
Default: 3600

The expiration time in seconds. Defaults to 3600 (1 hour)

Responses

Request samples

Content type
application/json
{}