NetSuite Rest API
NetSuite REST API provides comprehensive access to NetSuite's cloud-based ERP and business management platform, enabling seamless integration with financial data, customer records, inventory management, and business processes for enterprise resource planning and automation.

Power end-to-end data operations for your NetSuite Rest API API with Nexla. Our bi-directional NetSuite Rest API connector is purpose-built for NetSuite Rest API, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to NetSuite Rest API or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your NetSuite Rest API workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Before creating a NetSuite REST API credential, you need to obtain your OAuth1 credentials from your NetSuite account. NetSuite uses OAuth1 2-legged authentication for all API requests, which requires a Consumer Key, Consumer Secret, Access Token, Access Token Secret, Realm (Account ID), and Account ID.
To obtain your NetSuite OAuth1 credentials, follow these steps:
-
Sign in to your NetSuite account using your administrator credentials.
-
Navigate to Setup > Company > Enable Features and ensure that REST Web Services is enabled.
-
Navigate to Setup > Integration > Manage Integrations > New to create a new integration.
-
Configure your integration settings:
- Enter a name for the integration (e.g., "Nexla Integration")
- Select Token-Based Authentication as the authentication method
- Review and select the permissions or roles for the integration
-
Click Save to create the integration.
-
After the integration is created, you will see the Consumer Key and Consumer Secret. Copy these values immediately.
-
Navigate to Setup > Users/Roles > Access Tokens > New to create a new access token.
-
Configure your access token settings:
- Select the integration you created in step 4
- Select the user and role for the access token
- Enter a name for the access token (e.g., "Nexla Access Token")
-
Click Save to create the access token.
-
After the access token is created, you will see the Token ID (Access Token) and Token Secret (Access Token Secret). Copy these values immediately, as the Token Secret may not be accessible again after you navigate away from the page.
-
Identify your Account ID. This is part of your NetSuite REST API domain name and is typically found in your NetSuite URL (e.g., if your URL is
https://1234567.suitetalk.api.netsuite.com, your Account ID is1234567). -
Identify your Realm. This is typically the same as your Account ID (Company Identifier).
-
Store all credentials securely, as you will need them to configure your Nexla credential. The Consumer Secret, Access Token, and Access Token Secret are sensitive information and should be kept confidential.
The OAuth1 credentials are used to sign all API requests to the NetSuite REST API using HMAC-SHA256 signature method. The Account ID is used to construct API endpoint URLs specific to your NetSuite instance (e.g., https://{account_id}.suitetalk.api.netsuite.com/services/rest/record/v1/metadata-catalog/account). The Realm is used as an OAuth1 parameter. If your credentials are compromised, you should immediately revoke them in your NetSuite account settings and generate new ones. For detailed information about OAuth1 authentication, available endpoints, and API access, refer to the NetSuite REST API documentation.
Restrict access with a dedicated NetSuite role
Instead of granting Nexla the integration's full default access, you can scope token-based access to a dedicated role. This is also required if you intend to use this connector to connect to NetSuite Analytics Warehouse (NSAW).
- Under Setup > Company > Enable Features, enable REST Web Services (SuiteCloud category); if you will also query NSAW, enable SuiteAnalytics Workbook (Analytics category) and Client SuiteScript / Server SuiteScript (SuiteCloud category).

- Under Setup > Users/Roles > Manage Roles > New, create a role for token-based access. Under Subsidiary Restrictions, check User Subsidiary; under Permissions > Setup, add REST Web Services and Log in using Access Tokens. If connecting to NSAW, also add the Reports > SuiteAnalytics Workbook permission and any Lists permissions (e.g., Departments, Locations, Customers) needed for the endpoints your role should access.

The records and transactions that employees can view and edit for subsidiaries are limited by the complete set of permissions defined for their assigned roles. By default, employees can view and edit data only for their own subsidiary; checking Allow Cross-Subsidiary Record Viewing allows the role to view data for all listed subsidiaries. See Oracle's documentation on Subsidiary Restrictions for more information.

- Under Lists > Employees, edit each user who will connect via token-based authentication, select Access > Roles, ensure Give Access is checked, and add the new role.
Authenticate
Credentials required
| Field | Required | Secret | Description |
|---|---|---|---|
| Netsuite Account Id | Yes | No | Account Id is part of your Rest API domain name. |
| OAuth1 Consumer Key | Yes | No | Netsuite OAuth1 Consumer Key |
| OAuth1 Consumer Secret | Yes | Yes | Netsuite OAuth1 Consumer Secret |
| OAuth1 Access Token | Yes | Yes | Netsuite OAuth1 Access Token |
| OAuth1 Access Token Secret | Yes | Yes | Netsuite OAuth1 Token Secret |
| OAuth1 Realm (Account ID/Company Identifier) | Yes | No | Netsuite OAuth1 Realm. This might be your Netsuite Account ID |
Create a credential in Nexla
- After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
New Credential Overlay – NetSuite REST API

-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter your NetSuite Account ID in the Netsuite Account Id field. This is part of your NetSuite REST API domain name and is typically found in your NetSuite URL (e.g., if your URL is
https://1234567.suitetalk.api.netsuite.com, your Account ID is1234567). The Account ID is used to construct API endpoint URLs specific to your NetSuite instance. -
Enter your OAuth1 Consumer Key in the OAuth1 Consumer Key field. This is the Consumer Key you obtained from your NetSuite integration settings (Setup > Integration > Manage Integrations). The Consumer Key is used to sign API requests.
-
Enter your OAuth1 Consumer Secret in the OAuth1 Consumer Secret field. This is the Consumer Secret you obtained from your NetSuite integration settings. The Consumer Secret is used to sign API requests and is sensitive information that must be kept confidential.
-
Enter your OAuth1 Access Token in the OAuth1 Access Token field. This is the Token ID you obtained from your NetSuite access token settings (Setup > Users/Roles > Access Tokens). The Access Token is used to sign API requests and is sensitive information that must be kept confidential.
-
Enter your OAuth1 Access Token Secret in the OAuth1 Access Token Secret field. This is the Token Secret you obtained from your NetSuite access token settings. The Access Token Secret is used to sign API requests and is sensitive information that must be kept confidential.
-
Enter your OAuth1 Realm in the OAuth1 Realm (Account ID/Company Identifier) field. This is typically the same as your Account ID (Company Identifier). The Realm is used as an OAuth1 parameter in API request signing.
Your NetSuite OAuth1 credentials can be found in your NetSuite account settings. The Consumer Key and Consumer Secret are obtained from your integration settings (Setup > Integration > Manage Integrations). The Access Token and Access Token Secret are obtained from your access token settings (Setup > Users/Roles > Access Tokens). The Account ID is part of your NetSuite REST API domain name, and the Realm is typically the same as your Account ID.
Capitalize all letters in the Account ID when entering it. Your account ID may include a hyphen and other characters — for example,
12345-sb1should be entered as12345-SB1. If you enter a Realm, capitalize all letters and replace hyphens with underscores — for example,12345-sb1should be entered as12345_SB1.OAuth1 authentication uses HMAC-SHA256 signature method to sign all API requests. The credentials are used together to authenticate and authorize API requests to your NetSuite account.
If your credentials are compromised, you should immediately revoke them in your NetSuite account settings and generate new ones. The Consumer Secret, Access Token, and Access Token Secret provide access to your NetSuite account data and should be treated as sensitive information. Keep your credentials secure and do not share them publicly.
For detailed information about OAuth1 authentication, available endpoints, and API access, see the NetSuite REST API documentation.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the NetSuite REST API connector tile, then select the credential that will be used to connect to your NetSuite account, and click Next; or, create a new NetSuite REST API credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common NetSuite REST API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
NetSuite REST API data sources can also be manually configured to ingest data from any valid NetSuite REST API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom query parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
NetSuite REST API endpoint URLs follow the format https://{account_id}.suitetalk.api.netsuite.com/services/rest/record/v1/{object} (e.g., .../record/v1/customer), where {account_id} matches the Account ID used in your credential. NetSuite REST API typically uses the GET method to retrieve records and POST to execute SuiteQL queries; SuiteQL request bodies use the format {"q": "{your_suiteql_query}"}. Most endpoints use offset-based pagination (an offset parameter starting at 0 and a limit page-size parameter), and the Response Data Path for record-list responses is typically $.items[*].
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new NetSuite REST API data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the NetSuite REST API destination, and select the Send to Destination option from the menu. Select the NetSuite REST API connector from the list of available destination connectors, then select the credential that will be used to connect to your NetSuite account, and click Next; or, create a new NetSuite REST API credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common NetSuite REST API endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Manual configuration
NetSuite REST API destinations can also be manually configured to send data to any valid NetSuite REST API endpoint. Using manual configuration, you can also configure Nexla to automatically send the response received from the NetSuite REST API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
NetSuite REST API typically uses POST to create records, PATCH to update records, and PUT to upsert records, and expects JSON request bodies (e.g., {message.json} to send the entire Nexset record, or a custom JSON structure mapping specific fields) with field names matching the target object's NetSuite record schema. Endpoint URLs follow the format https://{account_id}.suitetalk.api.netsuite.com/services/rest/record/v1/{object} (e.g., .../record/v1/customer).
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured NetSuite REST API endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the NetSuite REST API endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.