Language roadmap · SuiteScript 2.1
Shape the language.
Explore SuiteScript APIs, suggest better syntax, and help decide what Mynt should support next.
- SuiteScript methods
- 24 of 651 documented SuiteScript methods21 published on npm · 3 in the compiler only
- Language areas
- 94 published on npm · 5 in the compiler only
- Under consideration
- 0
- Community proposals
- –
Coverage map
Mynt syntax In progress Not yet One mark per method Oracle documents for SuiteScript 2.1, module by module. 4% have Mynt syntax of their own. This counts methods only, not the objects, properties and enums around them, and not methods the compiler calls inside another construct, so it is not a measure of complete SuiteScript coverage.
Results update as you type. Use the arrow keys to move through them and Enter to open one.
- N/action Execute business logic to update the state of records in view mode. 0/7 0% · 7
- N/auth Change your NetSuite login credentials. 0/2 0% · 2
- N/cache Enable temporary, short-term storage of data. 0/4 0% · 4
- N/certificateControl Enable scripting access to the Digital Certificates list found in the UI at Setup > Company > Certificates . 0/8 0% · 8
- N/compress Compress and decompress files. 0/5 0% · 5
- N/config Access NetSuite configuration settings. 0/1 0% · 1
- N/crypto Perform hashing, hash-based message authentication (hmac), and symmetrical encryption functions. 0/14 0% · 14
- N/crypto/certificate Sign XML documents or strings with digital certificates using asymmetric cryptography. 0/11 0% · 11
- N/crypto/random The N/crypto/random module is available for both client and server scripts, but server scripts need to use SuiteScript 2.1. 0/3 0% · 3
- N/currency Work with exchange rates within your NetSuite account. 0/1 0% · 1
- N/currentRecord Access the record that is active in the current client context. 0/44 0% · 44
- N/dataset Create, load, list, or save datasets. 0/13 0% · 13
- N/documentCapture Extract text content from supported documents. 0/7 0% · 7
- N/email Send email messages from within NetSuite. 0/3 0% · 3
- N/encode Convert a string to another type of encoding. 0/1 0% · 1
- N/error Create custom SuiteScript errors that you can use in try-catch statements to abort script execution. 0/1 0% · 1
- N/file Work with files within NetSuite. 1/13 8% · 12
- N/format Parse formatted data into strings and to convert strings into a specified format. 0/2 0% · 2
- N/http Make HTTP calls from server or client scripts. 0/17 0% · 17
- N/https Manage content sent to a third party using HTTPS calls. 0/28 0% · 28
- N/https/clientCertificate Send SSL requests with a digital certificate. 0/5 0% · 5
- N/keyControl Use SSH keys and access key storage. 0/7 0% · 7
- N/llm The N/llm module supports generative artificial intelligence (AI) capabilities in SuiteScript. 0/13 0% · 13
- N/log Manually access methods for logging script execution details. 4/4 100% · 0
- N/machineTranslation Translate text into supported languages using generative AI. 0/2 0% · 2
- N/manufacturing/productionCharges Update unit costs of manufacturing charges on Assembly Build, Work Order Close, Work Order Completion transactions. 0/3 0% · 3
- N/pgp Enable secure messaging, file encryption, and document signing. 0/14 0% · 14
- N/piremoval Remove personal information (PI) from system notes, workflow history, and specific field values. 0/7 0% · 7
- N/plugin Load custom plug-in implementations. 0/2 0% · 2
- N/portlet Resize or refresh a form portlet. 0/2 0% · 2
- N/query Create and run queries using the SuiteAnalytics Workbook query process. 1/36 3% · 35
- N/record Work with NetSuite records. 13/62 21% · 49
- N/recordContext Get all the available context types of the record, such as localization . 0/1 0% · 1
- N/redirect Customize navigation within NetSuite by setting up a redirect URL that resolves to a NetSuite resource or external URL. 2/9 22% · 7
- N/render Use the N/render module for printing, PDF creation, form creation from templates, and email creation from templates. 0/18 0% · 18
- N/runtime View runtime settings for the script, the session, or the user. 0/11 0% · 11
- N/scriptTypes/restlet Create custom HTTP responses for your RESTlet script. 0/1 0% · 1
- N/search Create and run on-demand or saved searches, then analyze and work through the results.. 3/20 15% · 17
- N/sftp Manage folders and upload or download files from external SSH file transfer (SFTP) servers. 0/8 0% · 8
- N/suiteAppInfo Access information related to SuiteApps and Bundles. 0/6 0% · 6
- N/task Create tasks and place them in the internal NetSuite scheduling or task queue. 0/27 0% · 27
- N/task/accounting/recognition Merge revenue arrangements or revenue elements. 0/4 0% · 4
- N/transaction Void transactions. 0/1 0% · 1
- N/translation Allow SuiteScript developers to interact with NetSuite Translation Collections programmatically. 0/3 0% · 3
- N/ui/dialog Create a modal dialog that persists until a button on the dialog is pressed. 0/3 0% · 3
- N/ui/message Display a message at the top of the screen under the menu bar. 0/3 0% · 3
- N/ui/serverWidget Work with the user interface within NetSuite. 0/79 0% · 79
- N/url Determine URL navigation paths within NetSuite and format URL strings. 0/5 0% · 5
- N/util Manually access methods that verify object and primitive types in a SuiteScript 2.x script. 0/11 0% · 11
- N/workbook Create new workbooks, load existing ones, or list all available workbooks. 0/49 0% · 49
- N/workflow Initiate new workflow instances or trigger existing workflow instances. 0/2 0% · 2
- N/xml Validate, parse, read, and modify XML documents. 0/48 0% · 48
Inventory generated from Oracle NetSuite Help Center, SuiteScript 2.1 Modules on 10 Oct 2026. Mynt status verified against the compiler on 13 Oct 2026.
SuiteScript calls so far.
Every construct on the right is in the compiler and was checked with mynt build. Each one is the accepted syntax for the SuiteScript method it becomes, and each can still take new proposals.
Examples show the compiler as it is now. A version tag means the construct is in that npm release; unreleased means it is only in the compiler so far. Where an earlier release spelled it differently, the method's page says how.
-
load File(id)file.load(options) unreleased -
log.emergency(message)log.emergency(options) v0.0.1 -
log.audit(message)log.audit(options) v0.0.1 -
log.debug(message)log.debug(options) v0.0.1 -
log.error(message)log.error(options) v0.0.1 -
query T where ...query.create(options) v0.0.1* -
copy T(id)record.copy(options) v0.0.1* -
create Trecord.create(options) v0.0.1 -
delete rrecord.delete(options) v0.0.1* -
load T(id)record.load(options) v0.0.1* -
transform T(id) to Urecord.transform(options) v0.0.1* -
for line in r.sublistRecord.getLineCount(options) v0.0.1 -
line.fieldRecord.getSublistValue(options) v0.0.1 -
r.fieldRecord.getValue(options) v0.0.1 -
add r.sublist { ... }Record.insertLine(options) v0.0.1 -
remove lineRecord.removeLine(options) v0.0.1 -
save rRecord.save(options) v0.0.1 -
line.field = valueRecord.setSublistValue(options) v0.0.1 -
r.field = valueRecord.setValue(options) v0.0.1 -
redirect [edit] recordredirect.toRecord(options) unreleased -
redirect Suitelet(script, deployment)redirect.toSuitelet(options) unreleased -
search T where ...search.create(options) v0.1.0 -
load Search("id")search.load(options) v0.1.0* -
Ref[field, ...]search.lookupFields(options) v0.1.0*
The language.
What Mynt can say beyond a single SuiteScript call: handling errors and absence, shaping searches, strings and bindings. Each area groups related syntax; areas are counted on their own, never against the methods above.
9 tracked language areas · 4 published on npm · 5 in the compiler only
All language areasControl flow
Absence
Searches
-
Ordering and cardinality
npm 0.1.0
order by, limit and first say how many rows a search returns and in which order, so the search fetches no more than that.
order by field [desc]limit nfirst -
Summary searches
npm 0.1.0
group by and named aggregates such as total = sum(amount) turn a search into a summary, with typed rows that carry exactly the groups and totals.
group by fieldselect name = sum(field) -
Summary criteria
compiler only
where can test aggregates as well as fields, such as sum(amount) > 10000, and Mynt filters rows before grouping and groups after it.
where field === x && sum(field) > n
Strings
Bindings
Records
Platform objects
How syntax gets decided.
- 1Find the API. Pick any SuiteScript method above and see what Mynt does with it today.
- 2Suggest syntax. Write the Mynt you would want to read, the SuiteScript it becomes, and why it is clearer.
- 3Discuss and vote in Language Proposals on GitHub. Votes are advisory: they show interest, not a decision.
- 4The maintainer decides and records a short reason. Accepted syntax is tracked separately from whether it is implemented.
Recent activity
- redirect.toRecord accepted: edit is written before the target, redirect edit customer, because it qualifies where the redirect goes; the earlier redirect customer edit is now a syntax error (compiler commit 2bed5c9).
-
Language, new in the compiler, not yet released: Summary criteria, Operation modifiers
where field === x && sum(field) > nload T(id) dynamic - Language, Summary criteria accepted: Aggregates are tested in where, each criterion evaluated at its own stage, rather than in a separate having clause (compiler commit fa3fc6d).
- Language, Operation modifiers accepted: A modifier is one word for a behaviour, placed where its meaning attaches; it never mirrors a SuiteScript option name or takes a boolean, and defaults have no word (compiler commit 2bed5c9).
-
SuiteScript methods new in the compiler, not yet released: file.load, redirect.toRecord, redirect.toSuitelet
load File(id)redirect [edit] recordredirect Suitelet(script, deployment) - search.load accepted: Saved searches are loaded by script id with load Search(...), replacing search saved. load is the one verb for retrieving platform objects, and the type decides what it lowers to (compiler commit e0a8114).
-
Language, new in the compiler, not yet released: Strings and interpolation, Lookups and destructuring, load for platform types
'text'lookup Ref select a, bload Customer(id) -
Mynt 0.1.0 published to npm with syntax for 3 SuiteScript methods
Ref[field, ...]search T where ...search saved "id"
No syntax proposals yet. Find an API you use every day, and suggest the first one.