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-datarequest - 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