Overview

eXtendFiles supports file upload and signed link retrieval via a dedicated API when using compatible backend storage providers, including:

  • Amazon S3
  • Microsoft Azure
  • Google Cloud Storage

The eXtendFiles API is a separate service that needs to be purchased and provisioned independently.

API Documentation

API documentation for eXtendFiles is available at https://extendfiles-api.extendtech.net/. It includes endpoints and examples for file uploads, signed URL generation, and authentication.

When to Use the eXtendFiles API

The eXtendFiles API is only necessary in the following scenarios:

  • File upload to backend storage: When you want to create eXtendFiles records and submit a file to upload to the connected backend storage.
  • Signed link generation: When you want to create a signed link for an eXtendFiles record in your backend storage.

Use Case Examples

Example 1: Customer Portal File Upload

You're building a customer portal in an external system where clients can upload invoices or documents. You want to accept those files from an external system and need to store them in your connected eXtendFiles backend storage.

Example 2: Secure Document Sharing

Your sales team needs to share confidential contracts stored in your connected backend storage with clients from an external system. You want to generate temporary, expiring links to these files. Use the eXtendFiles API's signed URL generation to create secure links that expire after a set time period.

Using NetSuite's Native API

For other interactions with eXtendFiles records, NetSuite's own API can be used as if working with any other custom record in NetSuite. This includes:

  • Creating an eXtendFiles record and recording an already-existing URL
  • Retrieving record and field details from an eXtendFiles record
  • Changing field values on an eXtendFiles record

Use Case Examples

Example 1: Recording External URLs

You have product images hosted on a third-party CDN and simply want to track these URLs in NetSuite as eXtendFiles records. Since the files are already hosted elsewhere, you can use NetSuite's native API to create eXtendFiles records with the existing URLs—no file upload needed.

Example 2: Updating Metadata

You need to update the file type, record associations, or other metadata fields on existing eXtendFiles records. NetSuite's native API can handle these standard record updates without requiring the eXtendFiles API service.

Example 3: Reporting and Queries

You're building a dashboard that displays file counts, storage usage, or lists files by file type. NetSuite's native API or SuiteScript can query eXtendFiles records just like any other custom record type.

Available API Operations

File Upload Methods

The API provides two methods for uploading files:

  • Direct File Upload: For files smaller than 5MB, using a single multipart/form-data request
  • Multi-Part File Upload: For files larger than 5MB, breaking them into chunks sent as application/octet-stream

Signed URL Generation

The API can generate temporary, pre-signed URLs for files in the backend storage. You can provide either:

  • The full URL of the file in storage, or
  • Both the bucket name and file path

The default expiration time is 3600 seconds (1 hour), but this can be customized.

Prerequisites

Before using the eXtendFiles API, ensure that:

  • A "Public Upload" configuration is active for the target record type(s)
  • eXtendFiles is fully configured in your NetSuite account
  • The eXtendFiles API service has been purchased and provisioned