Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Latest updates made to this document
4 Apr 2025
Updated the Terms of Use
25 Feb 2025
Updated Default API Rate Limit to 10
18 Feb 2025
Restricted sensitive-normal data
10 Feb 2025
Details on blocking unsupported characters at the API layer Relevant API response error message
22 Jan 2025
What is load test and how can you book for load test
16 Jan 2025
Explanation of creatorId
string
Inserted creatorId
into new response payloads effective 24 Feb 2025
26 Dec 2024
How to delete campaigns
10 Dec 2024
How to identify your agency PIC(s)
26 Nov 2024
Postman's service status
Link to Policy Document - for users who need to identify root CAs
19 Nov 2024
Updated terminology Included more details on SLOs
14 Nov 2024
Updated our SLAs
12 Nov 2024
Campaign creation
Changed "full access" and "can send messages only" campaign role terms to "campaign owner" and "member" respectively
24 Oct 2024
Updates on retrying routing_error
30 Sep 2024
Updates on new estimated costs for SMS
18 Sep 2024
recipients
: changed from string to numeric
17 Sep 2024
Updated link to access Legacy Postman to send emails out
How to format messages to contain commas, line breaks and quotation marks
Detailing error codes with troubleshooting steps, and introducing message_expired
error code (release on 30 September 2024)
Book your TPS load test on Postman load test environment
Added "sent_at" and "delivered_at" fields to Retrieve Message API body.
21 Aug 2024
Updated consequence of using "fake" numbers
20 Aug 2024
Updated examples of successful and failed file uploads
2 Aug 2024
Adding and removing PIC(s)
Merged step 6 into step 4 as the information was repeated. Added some troubleshooting tips in step 5 .
2 Aug 2024
Removed 65 9999 9999 from example trigger conditions for recipient_invalid error code
24 Jul 2024
[25 Jul 2024] Fix deployed for Postman Policy guide. Please log in with your TechPass/agency email address to view.
16 Jul 2024
Updated with Postman's message segment calculator
4 Jul 2024
Updated SLA
2 Jul 2024
Do not use fake numbers to send SMSes for testing purposes
27 Jun 2024
Update on unsupported characters Update for corresponding status in dashboard
19 Jun 2024
success
definition under From 31 May had errors but has since been amended.
12 Jun 2024
Removed 。
from unsupported characters list.
12 Jun 2024
Provided updates for Rate Limits and SLAs. Added more unsupported characters.
10 Jun 2024
Provided updates for Rate Limits and SLAs.
5 Jun 2024
Updated variables where variable content should not start or end with a space.
4 Jun 2024
New page how to switch sender IDs
30 May 2024
Added `
(backtick) to list of unsupported characters.
Added list of unsupported characters to Message Content page
24 May 2024
Removal of Oracle guide on SSH Key generation
New commands to generate your SSH key pair Example of SSH keys
20 May 2024
Updated latest status
16 May 2024
Launch of Postman SFTP Production Site
Renamed Errors page to API Errors
Updated API response Updated status
New message objects for attempts
Updated with delivered
New page - errors
Updated API response
Updated API response
Updated API response
14 May 2024
Added Single and Batch Send Retry endpoints
Feature release: Campaign create access
3 May 2024
Removed Singpass login
Updated with Singpass login FAQ
26 Apr 2024
Updated criteria and examples where header name changes are permitted.
15 Apr 2024
8 Apr 2024
Added Terms & Condition and Privacy Policy
31 Mar 2024
Updated production base URL. Please note that message sending is currently unavailable.
SFTP is not available on Postman v2's production site until June 2024.
Updated conditions for agency's sender ID to appear under Postman v2's dropdown on production site.
21 Mar 2024
Created guide for admin portal users on sending internal messages
13 Mar 2024
Updated UI Training dates
8 Mar 2024
Do not conduct load testing on our test site
26 Feb 2024
General campaign creation guide for all users
Created message logs page
Created guide for admin portal users on sending messages
Updated FAQ
23 Feb 2024
SLAs for Postman v2.
Updated the SFTP documentation
FAQ updates
Added questions on SMS retry, priority tags, read statuses.
19 Feb 2024
Updated key types and info on IP address whitelisting
9 Feb 2024
Updated character count rules
Differences between admin and member access
Updated port number
29 Jan 2024
Actual rate limits will be released at a later date
Endpoints for API users
Updated full API payload for endpoints
Updated character count per message
23 Jan 2024
How to create line breaks in a message
Postman v2 Admin Portal for API users
Updated screens
22 Jan 2024
Created temporary sender name section
Updated production environment release dates
19 Jan 2024
Updated list of unsupported characters
Updated IP address whitelisting
16 Jan 2024
Updated SFTP Docs
11 Jan 2024
Training dates updated on MS Teams
8 Jan 2024
Postman API test environment is now live. This site is meant for API testing purpose only.
5 Jan 2024
Release of WOG BTN MS Teams channel
WOG BTN Teams channel set up for agency PICs
4 Jan 2024
Edited bulk
to batch
Edited endpoints containing word bulk
to batch
31 Dec 2023
Postman test environment
We will be migrating our test environment domain, URL release will be shifted from 31 Dec 2023 to 8 Jan 2024
recipient string - Removed the +
in front of the country code
Created the UI flow for API users - end goal for users to whitelist IP addresses and obtain API keys
20 Dec 2023
Updated workflow process
Removal of "Option 2"
Created page for updates to the API documents
Updated FAQ list
19 Dec 2023
18 Dec 2023
Updated FAQ list
16 Dec 2023
Released SFTP documentation
Updated FAQ list
No changes to the success
definiiton in the table.
Updated with
Updated with
Updated
If you are sending out messages in other languages, you can select the correct language
tab before you key in your message content.
Message Content
Content in the message body field of each language
is not automatically translated.
As a user, you will be required to input the correct language text into the message body field.
eg. If you select Malay as your language
, you should input your message in Malay into the message body field; messages will not be translated for you.
SMS Header
SMS header will always remain in English.
SMS Footer
The SMS Footer of each message changes with the language
selected.
eg. If you select Malay as your language,
the SMS footer will change to Malay.
Read this guide for integration and/or testing information with Postman v2. You will need to use Postman v2 for sending SMSes to external recipients using the authorised sender ID.
This site is for Postman v2, used for sending SMSes with the authorised sender ID only.
Postman API
Create campaign, whitelist IP addresses, generate API keys
Postman Admin Portal (UI)
Create campaign, send using UI
Postman SFTP
Postman API
Create campaign, whitelist IP addresses, generate API keys
Postman Admin Portal (UI)
Create campaign, send using UI
Postman SFTP
Postman can handle up to restricted sensitive-normal
data.
Non-sensitive to sensitivity low-normal
Transaction
Notification
Information broadcast
Receipts
Reminders
Masked NRIC
Normal sensitive
Personal details such as home address, mobile number, email ID, job roles
Full NRIC or FIN number
If you are a vendor with questions regarding our API documents, please indicate the contact details of the government officer-in-charge and their agency email address in your form response.
How do I start creating a campaign?
Campaign creators must log in with their .gov.sg
email address, and request for access to create campaigns from their agency PICs.
Users with no .gov.sg
email address are not allowed to create campaigns.
Campaign creation should be the first step for all users, regardless if they are Admin portal, API users or SFTP users.
In order for API users to obtain the API keys for system integration, you will need to
Create Campaign and obtain a Campaign ID
Postman will be implementing tighter access on creating campaigns.
From 20 May 2024, you will need to request for campaign create access from your agency person-in-charge (Agency PIC), before you can start creating campaigns. This change will be implemented on both our test and production platform.
You can idenfy your agency PICs by clicking on the ?
button on your Postman dashboard.
To start creating campaigns, select + Create campaigns
on your home page
Campaign creation will consist of 3 steps:
Upon clicking on + Create Campaign
you will be taken to the campaign creation page and asked to name your campaign.
Postman has 2 types of campaign channels available - Member of Public and Internal Staff
Member of Public: To send out messages to MOPs
Internal Staff - to send out with your own sender ID
You will need to provide your own Twilio credentials if you choose the Internal Staff
option
You will not be able to edit your campaign content after creating your campaign.
The campaign content is the content in the SMS that you will be sending out. You will be prompted to type out your campaign's message content.
There are different parts to the campaign content screen:
This is how your message will look like:
The Header
corresponds to the email account that you have logged into Postman with.
You may check on the email account that you've used to log into Postman by clicking on the avatar at the bottom right of the page. Refer to the image for more information
Header name changes are permitted in specific cases, and approved on a case-by-case basis. Some examples where header name changes are permitted.
Platform products
An agency sending on behalf of another agency
Cases where header name changes are not permitted
If your agency has a project that sends out surveys or information on welfare packages etc, these do not qualify for header name changes.
Login method for both admin portal users and API users are the same.
Please access the Postman Policy guide at Click "log in" and use your TechPass or agency email address to view the policy guide.
Subscribe to the Postman v2 status page at to receive automated email notifications when incidents happen. Users are also encouraged to regularly check this page for potential system degradations due to large campaigns or internal testing.
To continue using the old Postman (Postman Legacy) to send out email campaigns, please access Postman V1 (Postman Legacy) here:
Create campaign, whitelist Postman's IP addresses, generate API keys, then submit this .
Please submit your system's before using Postman v2's production site.
Create campaign, whitelist Postman's IP addresses, generate API keys, then submit this .
We use cloud infrastructure so we can handle up to Confidential (Cloud-Eligible) data. For more information, you may refer to the section of our guide on which requires 'gov.sg' email domain for login.
If you have any questions, please refer to our for a list of frequently asked questions.
If your questions have not been answered, you may fill up our form and our team will get back to you.
General enquiries related to BTN
Interest form to use SFTP for Postman test site *note that Production site is not up at the moment
Only for agency PICs to submit
Postman's message segment calculator
Book a time slot for your TPS load test
For agency users/vendors to submit before using Postman v2 Production Site
For agency users/vendors using SFTP to submit before using Postman v2 Production Site
Please log in with your TechPass/agency email address to view our policy guide.
More information can be found in our .
If you have more than 1 official email address belonging to different agencies, ensure that you have .
Some products are used by multiple agencies, and recognised by the product name rather than agency name e.g. "Singpass", and not "Government Technology Agency". If you need to change the name in the header, please with your use case.
If you are helping another agency send messages, the main agency should add your agency's users as members/admins to the campaign so they are able to send messages from the main agency's created campaign. Please if you need further clarification for your specific use case.
The following agencies without a gov.sg
email domain can access Postman and are given .
More information for users who require admin access can be found .
The training dates below are for using the Postman v2 UI.
13 Mar 2024
2.30pm-4.30pm
BTN UI Briefing 1
For meeting link, please contact the BTN team.
17 Apr 2024
2.30pm-4.30pm
BTN UI Briefing 2
For meeting link, please contact the BTN team.
20 May 2024
10am-11.30am
Briefing on Access Controls
For meeting link, please contact the BTN team.
How do I delete campaigns?
Only delete campaigns which are created for testing purposes.
Do not delete campaigns which are currently not in use.
You cannot retrieve a deleted campaign:
Campaign deletion is an irreversible process
No access to campaign
No message can be sent out via this campaign, whether through the admin portal, API or SFTP
No access to campaign logs - you will not be able to retrieve logs for this campaign
No access to campaign or settings by all users except the agency's PIC
This includes all members of the campaign that you have deleted
Unable to call the API endpoints with this campaign ID
No access to campaign's settings, including API keys and whitelisted IP addresses
Please synsure no one from your agency/vendors are using this campaign before deleting it
Agencies will still be charged for messages sent from this campaign before campaign deletion
Follows Postman billing
Paid for by MDDI before 1 July 2025
Paid for by your agency from 1 July 2025
Refer to our billing page in our policy guide for more information
Agency Person(s) In-charge (PICs) will still be able to view deleted campaigns by users in their agency
Able to do so via the Admin Dashboard
You have created a campaign to test out how to create a campaign, send a message and how to access the campaign settings.
No messages to MOPs were sent out through this campaign
You may delete this campaign as it is a campaign that you've created to try Postman out - the campaign was created for testing purposes.
For API users: Before deleting this campaign, you should make sure that no other user/vendor is using this campaign when calling Postman’s API endpoints.
If messages were sent out
Before 1 July 2025: messages paid for by MDDI
From 1 July 2025: messages paid for by your agency
It is now December. You have created this campaign for an event in August. Messages were sent out via Postman to MOPs in the month of August and you are not using the campaign now.
You are not planning to use this campaign now (December)
You should not delete this campaign as:
You will no longer be able to retrieve campaign logs once you have deleted this campaign
you may need the logs when your agency is doing reconciliation of messages sent out by your agency
This campaign is not being used now, but may be used again in the future.
Click on the campaign you wish to delete on Postman's admin portal
Click on Settings
Click on Delete campaign
This flow allows you to create your own message in Postman using an editor and can be used by both admin portal and API users.
You can create multiple {{variables}}
when typing out your message content. You can then input the values of each {{variable}}
when you send the message from the admin portal or via API.
Variables have to fulfil the following in order to be successfully created
Can only contain lowercase letters, numbers and _
Must start with a lowercase letter
If multiple languages are selected, the same variables must be present in all language
tabs.
Characters are within the GSM-7 character set. See section below on unsupported characters for more info.
It is recommended to NOT paste message content into Postman from another editor/MS word/Outlook etc., as this may convert characters into unsupported (non-GSM-7) characters. Please type the message content directly into Postman.
identify avoidable characters within your message content
identify non GSM characters within your message content
check the number of message segments
unsupported characters changes the message encoding and therefore, significantly increases the number of message segments per SMS.
besides cost, long messages with multiple segments will jam the send queue, affecting even the campaigns of other agencies besides your own.
Reliability of sending messages cannot be guaranteed beyond 7 message segments per SMS, a limitation imposed by telcos. Hence, we advise you to keep your messages below 7 segments.
Messages containing avoidable unsupported characters will be blocked from sending. Please make use of possible replacements before attempting to send your message.
Blocking unsupported characters at the UI and API layers [English language only]
Message content containing unsupported characters will be blocked from sending.
On the UI:
Campaign templates that contain unsupported characters cannot be created on the UI/Postman admin portal. This blocking has been implemented since June 2024.
On the API:
If your message content is created only at the API layer, we will implement blocking on the Postman production environment from 5 May 2025. This blocking will be available on the Postman test environment from 17 February 2025.
Error message if your message contains unsupported characters at the API layer:
This is the list of characters* that are not supported by Postman and need to be excluded in the values
.
All emojis
The following characters
*Note that \n
is a way of representing a newline, and so will not be blocked on the API level.
|
U+FF5C U+23B8 U+23B9 U+23D0 U+239C U+239F U+2223 U+20D3 U+20D2
vertical line and variants
I (uppercase i)
^
U+02C6 U+0302 U+FF3E U+1DCD
circumflex accent and variants
€
U+20AC
euro
EUR
{
U+2774 U+FE5B U+FF5B
left curly bracket and variants
(
}
U+2775 U+FE5C U+FF5D
right curly bracket and variants
)
[
U+FF3B
left square bracket
(
]
U+FF3D
right square bracket
)
~
U+02DC U+02F7 U+0303 U+0330 U+0334 U+223C U+FF5E
tilde and variants
-
\
U+29F9 U+29F5 U+20E5 U+FE68 U+FF3C
backslash and variants
'
`
U+0060 U+02CB U+0314 U+FE11 U+02BD U+201B U+0314 U+FE11
backtick (note that this is not an apostrophe '
. You can find it to the left of the "1" on your keyboard) and variants
"
‘
U+2018 U+2019 U+02BB U+02C8 U+02BC U+02B9 U+00B4 U+02CA U+0313 U+FE10
acute accent and variants
'
“
U+301E U+02BA U+201F
double prime quotation mark and variants
"
”
U+301D U+02EE
reversed double prime quotation mark and variants
"
¬
U+00AC
logical negation
-
«
U+00AB
left-pointing double angle quotation mark
"
»
U+00BB
right-pointing double angle quotation mark
"
❝ or ❛
U+275D U+275B
heavy double/single turned comma quotation mark ornament
"
❞ or ❜
U+275E U+275C
heavy double/single comma quotation mark ornament
"
÷
U+00F7
division sign
/
¼, ½
U+00BC U+00BD U+00BE
vulgar fractions and variants
1/4, 1/2 etc.
•
U+2022
bullet point
-
⊛, ✢, ✣, ✤, ✥, ✺, ❃, ⧆ etc
U+204E U+2217 U+229B U+2722 U+2723 U+2724 U+2725 U+2731 U+2732 U+2733 U+273A U+273B U+273C U+273D U+2743 U+2749 U+274A U+274B U+29C6 U+FE61 U+FF0A
asterisk and variants
*
Note that the content within your variables should not start nor end with a space, as this will trigger an error where your message will not be created (400 Bad Request).
eg. "Please report to Clinic A ."
In this example, contents in the variable are coloured, and the trailing spaces at the start/end of the variable content are highlighted in blue. The additional spaces will trigger an error where your message will not be created in Postman.
How do I download message logs for my campaign?
In the campaign dashboard, there are 2 categories:
Messages consists of all messages that you have sent out in a single campaign.
Messages may be sent out as a single message, or can be part of a batch of messages. You may identify this through the Job Type
column in the campaign dashboard.
(Please ignore the details under From column.)
You will then receive the logs in your email, and you may filter out the required logs you will need using excel.
Each message will have its own message ID, this message ID can be found in the message logs that you download.
Similarly, you will receive the logs in your email, and you may filter out the required logs you will need using excel.
Refer to the following pages to retrieve the message status for your campaigns
Visit https://message-segment-calculator.postman.gov.sg for message segment and character counts
Postman allows a maximum of 1000 characters for a message body, excluding the header (agency’s name) and footer.
Agencies are strongly encouraged to limit their message body to 320 characters (excluding the header and footer) to avoid potential delays with message deliverability. As a precautionary measure, a warning message will appear for messages beyond 320 characters.
If the message body exceeds 1000 characters, the system will disable the ability to send the message. Message parameters, such as {{variable}} are not counted as characters. However, when these parameters are populated with actual values, the character count of the populated value is added to the overall character count.
For example:
Message variable placeholder {{name}} is not included in the character count when crafting the message template.
Filling the {{name}} variable with “Jonathan” adds 8 characters to the count
The characters in a single text message include the following for "English" language*, with additional formatting details:
Header: Free text field in message segment tool to type your agency name
Line breaker (\n\n): 2 characters
Slash icon ( --- ): 3 characters to separate sections
Body: Free text field for your message content
Line breaker (\n\n): 2 characters
Slash icon ( --- ): 3 characters to separate sections
Footer: 62 characters* for standardised "English" text used across all WOG messages
*Do note that the character count is different for other languages such as Chinese and Tamil.
Enter your message template into the message segment tool to identify characters that are classified as GSM-7, non-GSM-7 and blocked characters in the "Underlying character codes" section.
The encoding used for other languages (Chinese and Tamil) is Unicode, where both the footer contains either Chinese or Tamil characters.
A message segment refers to a portion of a text message when the total length exceeds 160 GSM-7 characters. If a single message is longer than 160 characters (including header and footer), it is divided into multiple segments. Each segment contains up to 160 GSM characters, including the header and footer. However, when a message uses more than one segment, the character limit per segment is reduced to 153 characters.
If the text message contains a Unicode encoding character, the maximum character count for one segment is 70 characters. If the Unicode message is longer than 70 characters (including header and footer), the character limit per segment is reduced to 67 characters.
You will be able to view how the message is broken up to multiple segments (as shown below) in “Message Parsed” and “Underlying Character Codes”, based on the character count, and this ensures that the character limits for each segment are properly managed.
The character count applies only to the content typed in the free text box for the message template. The maximum number of characters Postman allows is 1000, excluding header and footer.
The total character count includes the entire messages including the agency name as the header, the body of the message and the standardised government text as the footer.
How do I whitelist my IP address and obtain my API keys?
Click on your campaign and the settings
icon, this will open up your settings
pop-up.
You will be able to view the following details
Campaign ID
Campaign Channel
Campaign Message
Download campaign logs
Learn about the three types of access rights to Postman campaigns.
Send messages with the campaign
Yes
Yes
Yes
Manage users and system integrations
Yes
No
No
View all messages sent
Yes
Yes
Only view messages sent by restricted member. Not able to view messages sent by other members in the campaign.
Non gov.sg
domains that are considered government entities
For now, this is limited to aic.sg
, synapxe.sg
, edu.sg
*By default, every user with this domains has member access rights.
Otherwise, all users with these domains can already log into Postman and view campaigns they have been added to (i.e. member access)
Vendors helping government entities with API integrations
In such cases, Postman will not be granting vendors access to the portal. This means vendors with non-whitelisted email domains cannot log into Postman.
Agency officers should log into Postman, create the campaign and craft the message, whitelist the IP addresses, generate the API keys and pass the API keys to the vendors for the necessary integration.
Vendors helping government entities send messages on Postman UI
Vendors will then be able to log in and send messages, but not create campaigns i.e. member access
Integrations are where you can whitelist your IP addresses and generate your API keys.
Provide your IP address for whitelisting. You will be able to provide up to 20 IP addresses.
Whitelist only
Static IP addresses
IP addresses that you are using to call the Postman API.
Connect to a VPN before calling the Postman APIs.
You will only be able to obtain your API keys after you have whitelisted your IP address.
One campaign can have up to 3 API keys.
The API keys have no expiry.
If you need to obtain a new API key, you can simply delete the old key and generate a new key.
Refer to our policy guide on how to navigate the
For API users who do not want to manage your message templates within Postman, click for more information.
You may make use of to
Details have been sent to you via email on 7 February 2025, and also available on the policy guide .
In order to download the message logs for this campaign, please click on the icon on the screen.
A batch consists of multiple messages that are sent out at the same time. Each batch will come with its own Batch ID, and each batch can be downloaded by clicking on the icon tagged to each batch.
Visit to use the Postman Message Segment Calculator tool to count your total characters.
The encoding used for Postman SMS messages is GSM-7 or UCS (Unicode). Postman will not be able to send messages that contain , and a warning message will appear below the calculator for using invalid characters.
Understand more about terminology
Use the message segment tool to estimate the cost for your SMS message. Do note that the cost is based on message segment which include header, body and footer. Refer to the on SMS charges and pricing.
You will be able to obtain your campaign API keys and whitelist your IP address from your campaign's settings
pop-up, under the integrations
tab. This part will be accessible after you have and saved your campaign.
Users with these domains who need admin access (i.e. can create campaigns, access and amend campaign settings) must request for specific email address whitelisting through the agency PIC using this
In such cases, agency PICs must for the Postman team to whitelist the vendor's domain. This will allow vendors to log into Postman, and view campaigns that the vendors have been added to by the agency admins.
Unlike Postman V1 (Legacy Postman), agencies will no longer need to submit the SMS onboarding form. Please directly apply for an account with Twilio.
Register your desired Sender ID with SGNIC - note that these sender IDs should be used only for internal-facing SMSes.
Sign up for a Twilio account
Set Up your Twilio account
Configure your Twilio account
Send a test message on Twilio
Fill in your Twilio credentials in your campaign in Postman.
Note: for internal-facing SMSes only.
Now that you've decided to use Postman for your internal SMS campaigns, first ensure your desired Sender ID is registered under the Full SSIR Regime.
Some large agencies might already have registered their Sender IDs. This is especially the case for generic agency-name Sender IDs like MSF
or MTI
. If you are unsure if the Sender ID you would like to use has already been registered by your agency, please do check internally before submitting your registration.
The details on this page pertain ONLY to messages sent using agencies' own sender IDs, to an internal/non-MOP audience. For details on MOP-facing SMSes, refer to the private guide on the BTN mandate.
Using the Postman platform itself to send the SMSes are free.
However, there are 2 other costs that will need to be borne by agencies:
Sender ID registration costs (IMDA)
This is charged by IMDA for the registration and maintenance of your sender ID, which is a nation-wide regulation.
Total costs - one-time set-up fee of $500 per organisation + $200 annually per sender ID.
This is charged regardless of which aggregator you use.
Twilio per-SMS costs (Twilio)
This is charged by Twilio for each SMS that you send, at USD$0.0415 per message segment of 160 characters to send to recipients with Singapore numbers. Do note that the cost may vary depending on the country code of your recipient's mobile number.
SLOs are Service Level Objectives, which provide you with insight on the goals and objectives that the Postman product holds itself to.
It is important to distinguish between the Service Level Objectives (SLOs) for Postman and the overall systems SLOs. Postman, as an integrated component within the larger system, has its own specific SLOs. Postman-specific SLOs focus on the performance, reliability, and efficiency of the Postman product itself. In other words, the Postman team is directly responsible for maintaining and monitoring these product-specific SLOs.
In contrast, the overall system SLOs encompass the end-to-end performance of the entire integrated system, including Postman and all downstream components such as Tier 1 SMS Aggregators and Telcos.
The Postman product contributes to the overall system performance. Therefore, our primary responsibilities and accountabilities lie with meeting and upholding the Postman-specific SLOs. The other individual players are held to their own SLOs and SLAs that are separate from Postman's SLOs with you.
We actively manage and optimise Postman to meet these objectives, thereby ensuring our component's optimal contribution to the broader system performance.
Postman aims to have an uptime of >99.5%. We have internal services to monitor Postman uptime 24/7. These services send alerts if the product is down to the engineer-on-call, so that we can respond as soon as possible.
No, we will inform all users if there is going to be a scheduled downtime.
Typically, we inform users of downtime only if resolution is expected to take longer than a day, or if your campaign is directly affected.
Please ensure your requests are submitted via this form, rather than through emailing the team, as we are unable to respond as promptly to individual emails.
Where a product update is significant and will affect your workflows, we will communicate this through email blasts to all users of the Postman v2 test and production environments.
We seek your understanding that as the product is still developing and the situation remains dynamic, changes may be made along the way, and may affect your current system set-ups. As far as possible, we will try our best to communicate this to you with significant heads-up for you to make the necessary preparations.
We apologise in advance for cases where we inform of changes in a short span of time.
If you're 1) sending to local numbers, 2) Using only GSM characters, 3) less than 6 message segments, you can expect:
Overall Systems SLOs
Terminal status (%)
Within 48 hours
95% of all messages will reach terminal status (success
or failure)
After 80 hours
All messages will reach terminal status (success
or failure
)
Time taken for your message to reach your recipient
Single Send 90% of messages will reach terminal status in under 2 minute Batch Send For batches of up to 1 Million messages, 90% of messages will reach terminal status under 24 hours
Postman System SLOs
Availability
Single Send 99.9% of requests per month have a successful response (Any HTTP response other than 500-599 is considered successful) Retrieve Single Send Messages 99.9% of requests per month have a successful response (Any HTTP response other than 500-599 is considered successful)
Batch Send 99.9% of requests per month have a successful response (Any HTTP response other than 500-599 is considered successful) Retrieve Batch Send Messages 99.9% of requests per month have a successful response (Any HTTP response other than 500-599 is considered successful)
Latency
Single Send 99.9% of requests per month, excluding network latency, have a response under 500ms Retrieve Single Send Messages 99.9% of requests per month, excluding network latency, have a response under 300ms Batch Send 95% of requests per month, excluding network latency, have a response under 3s 99.9% of requests per month, excluding network latency, have a response under 15s Retrieve Batch Send Messages 95% of requests per month, excluding network latency, have a response under 500ms 99.9% of requests per month, excluding network latency, have a response under 5s
1
A critical incident with very high impact
A user-facing service like Postman is down for all users.
Confidentiality or privacy is breached.
User data loss.
Within THREE (3) hours.
2
An incident with low impact
A user-facing service like Postman is unavailable for a subset of users.
Core functionality (e.g. sending messages, creating campaigns) is significantly impacted.
Within TWENTY FOUR (24) hours.
3
A small bug or issue affecting a single user
A minor inconvenience to users as workarounds are already available.
Usable performance degration.
Within THREE (3) working days.
As part of national scam prevention efforts to filter out non-legitimate SMSes to citizens, IMDA has necessitated the registration of SMS Sender IDs for all organisations in Singapore on the SMS Sender ID Registry (SSIR), including public agencies, from 31 January 2023. You can read more about this new policy . The Sender ID refers to the name that you see at the top of an SMS sent to you by an officially-registered organisation.
You will need to register via the SSIR portal . Approval will take a few days as the Singapore Network Information Centre (SGNIC) - a wholly-owned subsidiary of IMDA - will need to conduct specific name and homoglyphic checks on your desired Sender ID. More information on Sender IDs and fees imposed by IMDA .
Read more .
Read more .
For non-GSIB users please access this page via
For GSIB users, please access this page via , do ensure that you add https://safe.menlosecurity.com/
in front of your link.
If you are unable to access Postman services and would like to check if it is due to an unplanned downtime, check our status page .
If you are unable to access Postman services and would like to check if it is due to an unplanned downtime, check our status page . You can also subscribe yourself to email notifications.
We will get back to you on your submissions within 5 working days.
For more information on rate limits, please click .
Whenever we make an update to the product, it will be listed on our .
We will also communicate this on our BTN Microsoft Teams channel called "WOG Channel for BTN". If you are not in this channel, please let us know by submitting this . Note that only users with emails ending in ".gov.sg" can be added to the channel. Vendors cannot be added to the channel.
You will first need to configure your Twilio account to ensure that it is functioning and is mapped to your Sender ID.
Upon creating a campaign name, you will be taken to select the campaign channel type.
Select Internal Staff
and scroll down to key in your Twilio Credentials.
Upon configuring your Twilio account, you will be able to obtain the necessary Twilio credentials required for you to input into your Postman campaign. More information can be found in Step 6. Fill in your Twilio credentials in Postman
An account SID is the unique identifier assigned to your agency account, much like an NRIC number. This is immediately available on your dashboard once you log into your account console.
Insert your Account SID from your Twilio account console into Postman.
To set up your API key for Postman, select API keys & tokens
on the side dashboard under Accounts.
Then, create a new standard API key by selecting Create API key
.
Create a friendly name
for your API key so you can easily identify it in the future, and select Standard
as the API key type.
You can find your API key under the Auth Tokens & API keys page.
Insert your API Key SID from your Twilio account console into Postman.
When creating your API key, a secret key
associated with your API key will be shown.
Save your secret key
Once you lose this secret key or if you do not save it, you will NOT be able to retrieve it again after moving on to the next step
Make sure you copy and save these details somewhere safe
Check the box and click Done
.
Insert your API Secret Key from your Twilio account console into Postman.
This is the last detail you need to save before proceeding to Postman.
If you don't have a need to purchase a phone number, follow these steps to obtain your messaging service SID.
Go back to your Twilio home page, and select Set up a Messaging Service
.
On the side bar, click Develop
> Messaging
> Services
> Create Messaging Service.
Name your messaging service and indicate the purpose. This will help you better identify your use cases, especially if you have multiple, and will also help Twilio detect your specific use case quicker should you need their help for troubleshooting.
Set up your alphanumeric Sender ID
Configure your alphanumeric Sender ID by selecting Alpha Sender
under Add Senders
> Sender Type.
Click Continue
. You may ignore the notification indicating that Alphanumeric Sender is not enabled for this account.
Specify the Alphanumeric Sender ID you want to use in the text box.
If the Alphanumeric Sender ID you chose is protected, you will notice either of the two things below.
You encounter an error when setting it up on the Sender Pool page
You may not receive any message when you send a test SMS
This also means that this Sender ID has been registered by another entity and you will not be able to use it.
Once you have completed the step above, you may click the Skip Setup
button below.
After clicking "Skip setup" in the step above, you should be brought to the Properties page of this Messaging Service.
On this page, you should be able to find the Messaging Service ID.
Insert your Messaging Service SID into Postman.
Under your Expected Sender Name
, enter your registered Sender ID.
Log into Twilio to set up your profile and billing details.
To complete your set up, you will need to
This helps us and Twilio better identify your account should you need help, without having to go into your account itself, which we prefer in order to respect the privacy and security of your account.
Go to Account
> General settings
> Account details
> Account name.
Postman does not manage the billing of Twilio accounts on behalf of agencies.
Information about Twilio billing
Twilio works like a prepaid phone card. You will need to top up the credits in your Twilio account to start sending SMSes. We strongly recommend using your corporate credit card for this.
The alternative is direct invoicing, which is only available as an option if you send more than 25,000 SMSes a month (or meet the minimum spend of USD$12,000 annually). If this is your preferred option, please contact us so we can put you in touch with our Twilio account manager.
Note: if you do not upgrade your account, you will not be able to send SMSes with your registered alphanumeric Sender ID.
To set up your billing options, go to Billing
> Manage Billing
> Upgrade
.
You will need to prepare the following documents and submit them to Twilio via their application form.
As part of the Know-Your-Customer (KYC) processes, Twilio is required by IMDA to conduct checks on all approved Sender IDs submitted by organisations, before they can proceed to tag your SMSes with the Sender IDs after your campaign leaves the Postman gateway.
You will need to submit the following to Twilio, to get your sender IDs mapped:
ACRA BizFile Report
Bizfile Report should not be more than 3 months old
Proof of Registration with SSIR
Screenshot of confirmation that the Sender ID is registered with SSIR (Screenshot(s) should reflect Company Name and Sender ID approval)
Letter of Authorisation
Phone number purchase is necessary if you are sending SMSes to foreign numbers. Follow the steps here to purchase a number.
This step must be done before setting up your messaging service ID
On the left console, select Develop > Phone Numbers > Manage > Buy a number.
Select the phone number that you prefer.
You need to create a messaging service and tie the phone number that you bought to this messaging service before you can send SMSes.
Go back to your Twilio home page, and selectSet up a Messaging Service
.
On the side bar, click Develop > Messaging > Services > Create Messaging Service.
Name your messaging service and indicate the purpose. This will help you better identify your use cases if you have multiple, and will also help Twilio detect your specific use case quicker should you need their help for troubleshooting.
Add your Sender Pool
. Sender Pool is where you configure the sender details such as the phone number you bought, and input your alphanumeric Sender ID.
Click Add Senders.
Add the phone number you purchased to this service.
Select the number you want to associate with this messaging service (if you have more than one).
You can only start configuring your Twilio account after you have completed the .
(this is unretrievable once you proceed beyond this step, so make sure you have saved somewhere, or you will need to redo the set-up process to generate new keys).
If you are sending SMSes to foreign numbers, you will still need to purchase a phone number at USD$1.15. Otherwise, your messages will not be delivered. Find out how to purchase a phone number , and follow these to set up your messaging service ID. You can ignore the steps below if you are purchasing a phone number.
You have now completed the set up of your internal channel. Continue creating the campaign by typing in your .
For more information about billing, refer to Twilio's document .
For more information on how to submit Twilio's application form, refer to their documentation .
Then, go back to continue the set-up of your alphanumeric Sender ID.
How do I use the admin portal (Postman UI) to send out messages?
To start sending out messages, select the campaign that you wish to use. This will take you to the campaign dashboard page. You may choose to send to a single recipient or multiple recipients
Upon selecting single recipient
, a pop-up will prompt you to key in your recipient's details.
Recipient's phone number
Message language*
Message parameters
Once the details have been filled in, click send
to send out your message.
You may start entering fields into your message parameters.
Should there be a need to add commas or quotation marks in your message parameters, you may enter them in your message parameters.
Upon selecting multiple recipients, you will be prompted to upload a .csv file containing
message parameters
We highly recommend the following steps when formatting your .csv file to send out messages
Download campaign .csv template
Edit the .csv template and save it as a .csv file
Upload your .csv file
In the multiple recipients sending format, any errors in the CSV file rows will result in failure to upload your file. You will need to fix the error(s) before all messages in the batch before you are able to successfully upload your file.
This contains mobile phone number of the recipient, prefixed by the country code but without the leading +
. For example, when sending to a Singapore phone number, the value of recipient will be 6599999999.
eg. 6591234567
is a recipient string for a Singapore (65) phone number (91234567)
This column will need to be filled, even if there is only one available language that can be selected.
eg. If English
is the only language you can choose in your message creation, you will need to fill every single entry with English
.
You may start entering fields into each message parameter in your csv file.
Excel: Commas and quotation marks
Should there be a need to add commas or quotation marks in your message parameters, you may enter them in each cell within your excel file.
Excel: Line Breaks
Should there be a need for line breaks, you may add them in a single cell
Text Editor: Commas, line breaks, quotation marks
When formatting your messages in a text editor,
Ensure that all parameters are separated by commas
Should your content contain more than just letters, please encase them in quotations, see example above
Parameter containing more than just letters - highlighted in blue
Should your message content contain line breaks, please add the line breaks in your parameters within quotations, see image "Example csv in text editor".
Should your content contain quotation, encase the entire quote, including the quotation marks, within a set of quotations, see image "Example csv in text editor".
quote - highlighted in yellow
quotations used to encase quote - highlighted in pink
These steps will ensure that messages sent out can contain commas and quotation marks.
Postman's test site is meant for agency users to test out the platform. As such, you should test out the site like how you would send out messages to MOPs in a real scenario, where each number will only receive a single message.
If you send test messages with exact same content to the same person multiple times in 1 sitting in the same campaign:
eg. "Hi your appointment is on 1 Jan 2024" was sent to Tom 10 times within 1 batch send,
The telcos' automatic spam filter may be triggered . This means the message may not be delivered to Tom's phone at all, even though it will pass Postman’s send filters and status is reflected as delivered
. See screenshot below on how the batch .csv is formatted in this failed example.
Message language option is only available if the campaign admin has selected multiple languages during the . If no languages have been added, the default language will be English
and you will not be able to select other languages.
The header row will require to match the created, such as containing lowercase letters, numbers and _
.
We have our dedicated load test environment if you wish to conduct load test using these numbers. Book your time slot for load test . Please avoid sending messages to numbers that are not owned by you or your agency. Your agency PIC and CIO will also be informed. Click for more information.
Your API keys carry many privileges, so be sure to keep them secure. Don't share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
If you make a request without authentication, you will receive HTTP 401 and the following in your response body:
The Postman v2 API uses and static to authenticate incoming requests from your server.
Authentication to the API is performed with .
You will first need to on the admin portal before you can generate your campaignId
You must make all API calls over . Calls that you make over plain HTTP will fail. API requests without authentication will also fail.
A message represents a message sent through a campaign.
As each campaign is associated with one message template and has its own API key, you will need to keep track of your API keys if you wish to send messages in different campaigns.
You will not be able to send or retrieve a message in a campaign inaccessible to yourself, even if you know the relevant ID(s).
How do I send out messages if I want to call Postman's API Endpoints
Before calling Postman's API endpoints, please ensure
In this example, we will be using the following message content with multiple message parameters (variables).
CSV example for batch send
If you are an API user that
manages message templates within your own system
uses Postman solely for sending out the full text of your message
you may create a single variable, {{body}}
, and insert the message into the {{body}}
variable.
Request Body example - single variable {{body}}
CSV example for batch send - single variable {{body}}
When formatting line breaks in your request body, please note the differences between
Request Body example - {{body}}
and line breaks
For single message requests, you will be required to add the \n
in your request body.
Postman only accepts .csv files for batch message. Take note of the differences when creating messages in excel and in a text editor.
For batch messages, do not to use \n
to create line breaks, as the characters will be read as plain text and get sent out to MOPs
Text Editor
CSV example for batch send - {{body}}
and line breaks
Your message in the {{body}}
variable will need to be encased in ""
if you are creating messages from a text editor.
Excel
Excel automatically adds ""
to your file after you have saved it as a .csv file.
As such, do not encase the message in the {{body}}
variable in ""
.
DO NOT conduct load testing on our test site.
Postman's test site is meant for agency users to test out the platform. As such, you should test out the site like how you would send out messages to MOPs in a real scenario, where each number will only receive a single message.
Multiple messages to the same user
If you send test messages with exact same content to the same person multiple times in 1 sitting in the same campaign:
eg. "Hi your appointment is on 1 Jan 2024" was sent to Tom 10 times within 1 batch send.
The telcos' automatic spam filter may be triggered . This means the message may not be delivered to Tom's phone at all, even though it will pass Postman’s send filters and status is reflected as delivered
. See screenshot below on how the batch .csv is formatted in this failed example.
Please ensure that you have read the before reading this page.
You are connected to the .
You have entered the .
has a .csv file limit of 20 rows to ensure no load testing is done on this site. More information on load testing.
Phone Number
Postman's internal SMS set up is exactly the same as Postman Legacy SMS set up
Postman v2 connects with Twilio to send out messages within the agency.
Postman is a free multi-channel communications platform built by Open Government Products for all public service agencies. Postman provides a convenient interface for you to craft your message, upload your recipient list, and send your campaign. Using Postman itself is free.
Twilio is a commercial cloud communication service that allows users to send messages (including SMS) through an Application Program Interface (API). Twilio bills users directly for its services; in this case, any SMSes you send using the Postman interface will be billed to you directly by Twilio. Postman does not pay for the SMSes that you send, but neither does Postman charge you for sending SMSes using our interface.
We evaluated other cloud-based SMS service providers like Nexmo and AWS SNS before we chose Twilio. We chose Twilio for its simple user interface with an interactive debugger. Its API documentation is also well written, and its API easy to set up. The API also optimises the rate limit to send bulk messages, and allow for users to retry for messages with errors during the first attempted delivery.
Importantly, Twilio API's success rate is 99.999% & uptime is around 99.95% monthly.
Since inception, we have used Twilio for SMS sending services, such as NDP ticketing, Digital MCs, SGH's elective surgery appointment reminders, and quarantine ops by MOH and ICA during Covid-19.
Unlike Postman Legacy, Postman v2 does not offer users accounts with free demo campaigns.
You will need to have valid Twilio credentials, put them in Postman, and use this to send SMSes. You can send test SMSes to your own phone number, but this will be charged to your Twilio account directly.
Each error type is mapped to its corresponding code, as returned by the system, to diagnose delivery failures.
delivery_error
recipient_invalid
No
65 1111 1111
recipient_unavailable
Yes
65 1111 2222
content_invalid
No
65 1111 3333
routing_error
Maybe*
65 1111 4444
message_expired
Maybe*
65 1111 5555
delivery_unknown_error
Maybe*
65 1111 9999
server_error
server_unknown_error
Maybe*
65 2222 2222
recipient_invalid
error codeThe recipient’s mobile number is not recognised by the network operator and cannot receive your SMS.
recipient_invalid
: Deactivated or invalid number
The recipient’s number might have been deactivated or is no longer in use.
Incorrect number format
The mobile number may be incorrectly formatted when entering the number (e.g. wrong country code, missing digits).
Verify the mobile number.
Ensure your database is kept up to date by regularly validating the mobile numbers.
recipient_unavailable
error codeThe recipient’s device is not currently connected to the mobile network.
recipient_unavailable
: Out of network coverage
The recipient might be in an area with poor or no mobile network coverage, or there may be an ongoing issue with the telco operator.
SIM card issue
The recipient’s SIM card may be malfunctioning or damaged, causing the device to fail to connect to the network.
Device issue
There might be a technical issue with the handset, preventing it from connecting to the network.
Attempt to resend the message after some time.
Instruct the recipient to check if their SIM card is functioning properly. They can try inserting the SIM or testing it in another device to rule out SIM issues.
Ask the recipient to restart their device. If the problem persists, the recipient may need to reset their network settings, or consult their mobile operator for troubleshooting.
content_invalid
error codeThere is an issue with the message content, such as prohibited content or incorrect encoding.
content_invalid
:Prohibited or sensitive content
The message contains inappropriate keywords or phrases that are banned by the service provider.
Special characters or unsupported encoding
Certain characters or symbols in the message (e.g., non-GSM characters, emojis) are not supported by the declared message encoding.
routing_error
error codeThere is a failure in routing the messages to the recipient’s mobile network.
routing_error
:Mobile number is not released by the regulator
The mobile number is not approved for messaging by the country's telecom regulator.
Networking routing configuration issue
There is an issue with the mobile operator's routing infrastructure.
Confirm the mobile number is active and valid in the recipient's country.
message_expired
error code When a message from Postman is not delivered to the recipient handset within the 48-hour timeframe set by the SMS aggregators. This means that although the message was dispatched, it was not successfully delivered within the expected period, and its delivery status remains unknown.
message_expired
:Delivery time frame exceeded
Due to network delays, temporary issues with the aggregator's infrastructure may have caused delays in the message delivery.
It is unknown if the recipient has successfully received the message. You can consider resending critical messages.
delivery_unknown_error
error codeThe exact cause of the failure is not identifiable due to unknown configurations or issues on the recipient’s end. This means that while the message was sent successfully from Postman, the system cannot determine why it was not delivered.
delivery_unknown_error
:Recipient's device configuration
Unknown settings or configuration (e.g., third party mobile application, expired prepaid card) on the recipient's devices could affect the message delivery.
International restrictions
Certain countries or regions may have restrictions on SMS delivery to specific number ranges, or certain carries may block messages from external providers.
For international restrictions issue, raise it to btn-ops@open.gov.sg and provide us with the message_ID
of the affected messages.
server_unknown_error
error codeThis occurs when there is an internal error, typically due to an unknown issue with either Postman or the aggregator's server.
server_unknown_error
: Temporary server outages
One of the servers may experience temporary connectivity issues
For server issues, raise it to btn-ops@open.gov.sg immediately and provide us with the message_ID
of the affected messages.
Once we have fixed the issue with the server, you may resend the message after some time.
We are using a Cursor-based pagination, a method of pagination that uses a unique identifier (cursor) to keep track of the current position in the dataset.
Here's a general overview of how it works:
Cursor: The before
and after
parameters are used to specify the cursor for fetching the previous or next page of results. The cursor typically represents the position of a specific record in the dataset.
Sorting: The data is sorted by the createdAt
followed by id
Result: The response returns the paginated results along with cursors for the next and previous pages, allowing for easy navigation through the dataset.
For example:
hasNextPage
tells you if there's a next page in the queried data
object
To go to the next page, you can use the after
Query Parameter with the current page's endCursor
value.
hasPreviousPage
tells you if there's a previous page in the queried data
object
To go to the previous page, you can use the before
Query Parameter with the current page's startCursor
value.
List of Apis that has pagination
This page will answer your questions on rate limits imposed on agency campaigns. This applies to all agencies.
The default rate limit is 10 TPS per campaign ID.
-> This is defined as the number of API calls per second and not the number of messages sent per second.
This rate limit is shared across all APIs.
-> For instance, if within your campaign you call the following:
Single send at 6 TPS; and
Retrieve message at 2 TPS; and
Batch send at 4 TPS,
then, as this adds up to 12 TPS, you will hit the rate limit and will be given a 429
error.
In the form,
state your use case
state the ideal TPS needed, and reason needing this higher TPS.
If you're asking for greater than 15 TPS, please provide evidence:
You should provide us with internal logs of your actual historical cases on your old systems that you have hit that higher TPS before. Logs from testing on Postman are not considered proof.
For instance, you can send us historical logs of maximum TPS experienced anytime from Jan 2022 onwards.
The TPS limit applies only to messags entering the Postman system, not messages sent to the end recipients. Message delivery speeds may be slower than the TPS provided during peak periods, which occur from 8:00 am to 6:00 pm daily.
We will prioritise messages in the following manner:
OTP messages using Single Send
All other messages using Single Send
All messages using Batch Send
Understand the difference between single and batch sending:
If you're using single send, 1 TPS refers to 1 API call and 1 message to be sent out.
If you're using batch send and you have 20 rows in your file, 1 TPS refers to 1 API call and 20 messages to be sent out.
The Postman v2 API uses a number of safeguards against bursts of incoming traffic to help maximise its stability. If you send many requests in quick succession, you might see error responses that show up as status code 429
.
Note that we do not queue requests which arrive past the rate limit and such requests are dropped. As such, you will need to retry the same request(s) later.
id string
creatorID string
Creator ID - this is the ID of the user that created the message on the first attempt
recipient numeric (Mandatory field)
For messages sent through the sms
channel, the recipient will be the mobile phone number of the recipient, prefixed by the country code but without the leading +
. For example, when sending to a Singaporean phone number, the value of recipient will be 6599999999
eg. 6591234567
is a recipient string for a Singapore (65) phone number (91234567)
language string (Mandatory field)
This is the language of the message template used to send this message. One of english
, chinese
, malay
, or tamil
.
values object (Mandatory field)
The values that were inserted into the message template and form the complete message. The keys within values
will vary depending on the campaign’s template parameters.
In the example above, the message template that was used contained two parameters: recipient_name
and topic
.
Avoid using recipient
and language
as keywords as they are mandatory fields in the request payload.
fullMessage string
Contains the full message including the SMS Header and Footer.
campaignId string
Campaign identifier - this will inform you which campaign the message is tagged to.
unsupported characters
The GSM-7 character set is supported by Postman.
Otherwise, agencies should strictly abide by the unsupported character guidelines. This is the list of characters that are not supported by Postman and need to be excluded in the values
.
This is what happens if you include unsupported characters in your messages:
unsupported characters significantly increase the character count and therefore, the number of message segments per SMS.
besides cost, long messages with multiple segments will jam the send queue, affecting even the campaigns of other agencies besides your own.
Reliability of sending messages cannot be guaranteed beyond 7 message segments per SMS, a limitation imposed by telcos. Hence, we advise you to keep your messages below 7 segments.
Possible message statuses and what they mean
created
pending
Postman is aware of your request and has created the necessary records.
However, it has not yet made the request to the relevant messaging service provider to have the message sent.
enqueued
pending
Your message is now in our queue and in the process of getting sent to the relevant messaging service provider.
sending
pending
Your message has been taken out of the queue and in the process of getting sent to the relevant messaging service provider.
sent
sent
Postman has made the request to the relevant messaging service provider to have the message sent.
However, it has not yet received a notification from the provider on the request status.
sent_to_telco
sent
The relevant messaging service provider has sent an update to Postman saying that the message has been sent to the recipient's Telco.
Note: In this state, your message has reached the telco, but may or may not have been delivered to the recipient's phone. This could be because the recipient's phone is off or in airplane mode.
Beyond 48 hours, if the message status remains sent_to_telco
, it is unlikely that we will get a further status update from the telco. This is a telco limitation and is the expected behaviour. We recommend composing a new message within this campaign if you find it necessary, though do note that there is a possibility of the recipient receiving the same message twice.
success
success
The relevant messaging service provider has sent an update to Postman saying that the message has been delivered by the Telco to the recipient. Note: This is a terminal status meaning that the message has been delivered by the telco to the recipient.
failure
failure
This is a terminal status meaning that the message failed to send either due to an error in Postman or from the messaging service. More details in the error message available in delivery report download.
Shows an object containing the status
and createdAt
for each attempt. If the status
is failure
, there will be an additional error
object which includes:
type
- The error type
delivery_error
- Error with the delivery of the message
server_error
code
- The error code
recipient_invalid
recipient_unavailable
content_invalid
routing_error
delivery_unknown_error
server_unknown_error
The full description of each error code can be found in the Message delivery errors page
This information is meant for users who are only sending out messages to an internal/non-MOP audience.
If you are unable to obtain a corporate credit card, you can explore direct invoicing with Twilio. However, Twilio requires a minimum spend of US12,000 annual (or about 25,000 SMSes per month) to qualify for this mode of payment.
At this point of writing (March 2024), it costs USD$0.0415 per message segment of 160 characters to send to recipients with Singapore numbers. If your message is longer than 160 characters, you will be charged the cost of as many message segments.
How do I get started with Twilio?
You will need the following before signing up for a Twilio account:
Email address: This email address will be associated with the Twilio account that you are signing up for
Mobile Number: This number will be receiving security codes required when logging into your Twilio account.
Upon signing up for a free account on Twilio, you will be taken to your Twilio Console Dashboard Homepage.
We will be updating our response payload to include a creatorId
field from 24 Feb 2025. Please read the last section to find out where the amendment is and update your own systems if necessary, before 24 Feb 2025.
Retries a single failed message. The message will retain the same message ID.
The message retry will only go through if:
The message latestStatus
is failure
If the message belongs to a batch, the batch
status is either messages_enqueued
or messages_enqueuing_failed
After a message is retried, the message latestStatus
will be set to created
.
[Now to 26 Jan 2025] Example response body
[From 24 Feb 2025] The creatorId
field will be inserted in the response payload from 24 Feb 2025. Please amend your own code accordingly for
"creatorId": "<USER_ID_OF_MESSAGE_CREATOR>"
We will be updating our response payload to include a creatorId
field from 24 Feb 2025. Please read the last section to find out where the amendment is and update your own systems if necessary, before 24 Feb 2025.
If you are sending time-sensitive, critical SMSes like OTPs or weather alerts, please use the single send API.
The keys within the values object will vary depending on the campaign’s template parameters. To find out what the parameters for a template are, please refer to the template’s details in Postman’s web interface.
[Now to 26 Jan 2025] Example response body
[From 24 Feb 2025] The creatorId
field will be inserted in the response payload from 24 Feb 2025. Please amend your own code accordingly for
"creatorId": "<USER_ID_OF_MESSAGE_CREATOR>"
We will be updating our response payload to include a creatorId
field from 24 Feb 2025. Please read the last section to find out where the amendment is and update your own systems if necessary, before 24 Feb 2025.
limit
string (Mandatory)You can specify the number of messages to return per page using the limit
query parameter. The minimum value is 1, and the maximum value is 1000.
after
string (Optional)Find messages after the cursorId
before
string (Optional)Find messages before the cursorId
search
string (Optional)This supports searching by recipient phone number only.
It is a substring match, eg. a "11" would match with "91122233"
[Now to 26 Jan 2025] Example response body
[From 24 Feb 2025] The creatorId
field will be inserted in the response payload for each message object from 24 Feb 2025. In this above example it will be inserted once per message object i.e. total of 3 times. Please amend your own code accordingly for
"creatorId": "<USER_ID_OF_MESSAGE_CREATOR>"
Retrieves a single message and its delivery status.
We will be updating our response payload to include a creatorId
field from 24 Feb 2025. Please read the last section to find out where the amendment is and update your own systems if necessary, before 24 Feb 2025.
We currently do not support pushing delivery status to your server via webhooks when the status of a message changes.
[Now to 23 Feb 2025] Example response body
[From 24 Feb 2025] The creatorId
field will be inserted in the response payload from 24 Feb 2025. Please amend your own code accordingly for
"creatorId": "<USER_ID_OF_MESSAGE_CREATOR>"
Note that this step is done in Twilio, not Postman, yet.
Navigate back to the console and under Try it out, select Send an SMS. Insert your own phone number and select the messaging service that you set up earlier in step 4.
Type your message and click send to check if you receive the SMS and if the Sender ID is accurate.
If you encounter an error with sending a test SMS, it is likely that the Sender ID has yet to be mapped to Twilio. You may reach out to us so that we can link you up with our Twilio account manager.
If you don't receive your test SMS, it is likely that this Sender ID has been taken by another agency. You should use the Alphanumeric Sender ID that you have registered with SGNIC in this field.
Once you have successfully sent a test message on Twilio, you will be able to start sending messages on Postman.
Do ensure that you have completed configuration correctly before reattempting to send messages via Postman
The Postman v2 API uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx
range indicate success. Codes in the 4xx
range indicate a request that failed given the information provided (e.g., a required parameter was omitted, not having access to the campaign due to wrong API key, etc.). Codes in the 5xx
range indicate an error with Postman’s servers (these will be rare).
Some 4xx
errors that could be handled programmatically include an error code that briefly explains the error reported.
message string
A human-readable message providing more details about the error.
statusCode number
The HTTP status code of the error.
HTTP status code summary
**The test numbers are only available in the , as they are used to simulate different error messages. Do not use test numbers in the Postman production environment.
Recreate a new campaign after modifying your content. You can refer for the list of characters which Postman does not support.
Identify non-GSM characters using tool.
Contact the recipient to confirm if their device is active, properly configured, and connected to the network. If the problem persists, the recipient may need to reset their network settings, or consult their mobile operator for .
Usage: The takes in parameters such as limit
, search
,before
, and after
to control the pagination.
To optimise performance and reliability, Postman v2 has established rate limits and allocations for API endpoints ().
Postman API
Postman Admin Portal
Postman API Production Platform
Postman Admin Platform
If you need a higher TPS, please reach out to us via the contact form .
Message identifier - this can be used to retrieve a single message and its delivery status (). It can also be used to re-send a message in the event where the first attempt failed ()
See the full list of unsupported characters .
Check if your messages have any unsupported characters .
The content within your values object should not start nor end with a space, as this will trigger .
SMSes are sent by Twilio at a default of 10 messages per second.
SMS character
Each message segment is capped at 160 characters.
Beyond this character limit, the single SMS will consist of 2 or more message segments, depending on the length of your SMS.
You will be charged at a per-message-segment rate.
Resources
Each agency/department will need its own Twilio account set up before SMSes can be sent via Postman.
This is for billing and governance purposes.
Not to worry - we will guide you through the set up of this account!
Maximum number of SMSes
There is no limit to how many SMSes or recipients you can send using Postman's interface. Our record is 144,000 SMSes sent in 1 batch by a government agency.
1-way SMS
Postman only allows for sending of 1-way messages. This means that agencies can send mass SMSes to recipients using Postman, but there is currently no functionality on Postman for you to receive any responses that your recipients might send.
Twilio works on a pre-payment method - you will need to top up your account with credits before SMSes can be sent. can be set so that you don't have to manually top up these credits.
Billing is generally done using a corporate credit card. Read more about Twilio's billing methods .
You may refer to Twilio's for the latest rates. You will be charged the cost according to the destination handset i.e. you will be charged the US rate for sending to a US number, even if the recipient with this number is based in Singapore.
Refer to Twilio's documentation on how to to use their messaging service.
The Single Send - Retry feature behaves the same way as the feature.
Note that in your retry endpoint, the messageId
remains the same, and is generated from the original request in your .
Retrieves messages and their delivery statuses given a batch ID. Please refer to this table in and what they mean on what each message status means.
If you encounter an error with sending your first SMS on Postman (Internal SMS) but have no errors with a test message on Twilio, it is likely that you may not have .
How to generate your SSH keys
Upon completion of the SFTP integration, we will furnish you with the ipAddress
for the SFTP server. Users will use their campaignId
as their username to access the server.
A connection to our SFTP server can be established by executing the following command:
200 - OK
Everything worked as expected - you will get this status code for successful GET requests.
201 - Created
Everything worked as expected - your message(s) is/are created in our system. You will get this status code for successful POST requests that lead to the creation of messages.
400 - Bad Request
The request was unacceptable, often due to missing a required parameter.
401 - Unauthorized
No valid API key provided.
403 - Forbidden
404 - Not Found
The requested resource doesn't exist.
429 - Too Many Requests
Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500, 502, 503, 504 - Server Errors
Something went wrong on Postman’s end. (These will be rare.)
SFTP integration for campaigns is exclusively available on an opt-in basis and is not accessible through the admin portal.
We only accept RSA, ECDSA, and ED25519 keys. Keys must be in OpenSSH format.
Log into Postman and create a new campaign
this generates your campaign ID needed to fill in the form
Generate your campaign API key through the following steps
Access your Campaign Settings
Whitelist Postman's IP addresses as follows
Note: there is no need to whitelist your server's IP addresses. You will just need to whitelist Postman's IP addresses below.
Test Environment
18.136.33.127
52.77.196.100
test.sftp.postman.gov.sg
Production Environment
47.128.188.173
52.76.164.195 13.214.81.207
sftp.postman.gov.sg
Generate the API keys in your SFTP campaign
this is the API key associated with your campaign
whitelist the above mentioned two static IP addresses in the Postman Admin Portal
Fill in the details.
Notification email: this is the email address from which you wish to receive results of the file upload.
Submit the form. Our team will add your account and inform you once this is completed.
To send messages in bulk, you must prepare a CSV file where each column, in addition to recipient
and language
, represents a value corresponding to the campaign’s template parameter.
The examples below is based on the following campaign template:
An example CSV file for the above template can be found below, along with an explanation of the various fields in the file.
recipient string (Mandatory field)
For messages sent through the sms
channel, the recipient will be the mobile phone number of the recipient, together with the country code of the recipient without including +
in front.
eg. 6591234567
is a recipient string for a Singapore (65) phone number (91234567)
language string (Mandatory field)
This is the language of the message template used to send this message.
This are the possible values english
, chinese
, malay
, or tamil
.
recipient_name string (Optional field - depending on your message template content)
topic string (Optional field - depending on your message template content)
Subsequently, you will need to upload this file using the following command:
Please be aware that our system does not generate output files. The result of a file upload will be communicated to you via email.
We will be updating our response payload to include a creatorId
field from 24 Feb 2025. Please read the last section to find out where the amendment is and update your own systems if necessary, before 24 Feb 2025.
limit
string (Mandatory) You can specify the number of messages to return per page using the limit query parameter. The minimum value is 1, and the maximum value is 1000.
after
string (Optional) Find messages after the cursorId
before
string (Optional) Find messages before the cursorId
search
string (Optional) This supports searching by recipient phone number only. It is a substring match, eg. a "11" would match with "91122233"
[Now to 26 Jan 2025] Example response body
[From 24 Feb 2025] The creatorId
field will be inserted in the response payload for each message object from 24 Feb 2025. In this above example it will be inserted once per message object i.e. total of 4 times. Please amend your own code accordingly for
"creatorId": "<USER_ID_OF_MESSAGE_CREATOR>"
Retries all failed messages that belongs to a batch. All messages that are retried will retain their original message ID.
The batch retry endpoint will only return a HTTP 201
response if
the batch status
is messages_enqueued
or messages_enqueuing_failed
.
Note that batch retry will fail if any of the messages that belongs to the batch has latestStatus
of created
. In this case, batch status
will be set to messages_enqueuing_failed
.
Sends multiple messages in a single API request.
You will need to prepare a CSV file where, in addition to recipient and language, each column represents a value to the campaign’s template parameter.
You will then need to upload this file to this endpoint.
To upload your file, send a multipart/form-data
request to this endpoint.
The API key doesn't have permissions to perform the request. If you receive a HTTP response code 403 and error code 1010, please contact us .
For questions related to SFTP, you may submit your inquiries .
For agencies interested to use SFTP, follow the steps below, then submit this .
Go to the .
SSH Keys - Please refer to the guide on
to our server, fill in the CSV file, and it into our server
Please refer to on more information on creating a message on the admin portal.
Retrieves messages and their delivery statuses given a campaign ID, as well as information about the campaign template. Please refer to this table in on what each message status means.
The Batch Send - Retry feature behaves the same way as the feature.
Note that in your retry endpoint, the batchId
remains the same, and is generated from the original request in your .
has a .csv file limit of 20 rows to ensure no load testing is done on this site. More information on load testing.
If your client code is written in JavaScript, consider using a FormData
object to contain your file ().
We update this page regularly, please refer to API Documents latest updates for the last updated date.
Click on the relevant sub-sections to find the answers to your burning hot questions!
Does my institution have access to Postman to send messages to MOPs?
If your organisation/institution is excluded, you will not have access to use Postman.
Postman API FAQ link is currently only accessible by non-S laptop with internet access. Can change the FAQ to be accessible by S laptop with no internet access too?
NGEP users may access Postman’s FAQ, but not S-GSIB users; please use your GSIBs or switch to another device with internet connectivity.
NGEP users may access Postman’s FAQ, but not S-GSIB users; please use your GSIBs or switch to another device with internet connectivity.
Postman is currently not accessible on SE3 devices, any plans to allow access?
NGEP users may access Postman. S-GSIB users will not be able to access Postman on your device, please use your GSIBs or switch to another device with internet connectivity.
With the removal of Singpass login, how do we log in when we do not have access to our email inboxes (eg. we are on-the-go)
In the event of an invalid CSV file upload or failure to send, we will promptly notify you via email about the failure and its specific cause.
Users will be notified via email upon successful uploads of their file to Postman via SFTP.
Users will be notified via email for all failed file uploads to Postman via SFTP
All emails for failed file uploads will come with a URL to download your file with an additional column, Error Reason
.
This allows you to identify errors in your file to rectify before re-uploading the file.
To check the statuses of your messages, please refer to the admin portal.
If your SFTP file is not processed due to an error, the relevant SMS messages will not be created in the Postman server, and thus will not be reflected in that particular campaign.
You will receive an email response per file upload, to the email address which you specified in your SFTP form submission. This email will inform you if the messages were a success or failure.
You will only be able to specify 1 email address per SFTP form submission.
To conduct a TPS load test for your system:
Postman supports a maximum throughput of 200 TPS for load test environment only
The purpose of the load test is not to verify SMS delivery to recipients, but to evaluate your system’s capacity and performance.
SMS messages sent from the load test environment are processed only at the aggregator level and do not reach the telco level. This means they will not be delivered to actual mobile phones, and the status will remain “Pending” on Postman, not “success”.
The load test environment is designed solely for testing your system’s capabilities, allowing you to assess its performance under load conditions.
You are required to conduct your load test in the Postman load test environment only.
Do not conduct your load test at Postman production and test environment.
The Postman system will provide the correct request and response payloads to support your testing needs.
Complete the booking form
Fill in the required details, including the email addresses to be whitelisted and TPS and message segment required
Prepare for load test upon booking confirmation
Send the campaign ID
to the BTN team in advance so the team can increase the TPS*
* Do not perform load tests outside your booked time slot to prevent unexpected disruptions. Conducting load tests during unapproved timeframes can affect other scheduled activities, and hinder accurate test results
Day of the test
What is the security and sensitivity classification of Postman?
Can I share the API docs link with my vendors?
Currently, we do API post with long SMS text content. Our SMS vendor will automatically split the message into several SMS messages to the end user. Is Postman the same?
For long message content, it will be combined and will appear as a long message to the user.
If Postman is down, will there be a health check endpoint for agencies to check?
No, but the team will be considering this point.
How do I reach out if I have any issues with my API integration or questions regarding the documents?
When will my agency be able to test out your new Platform?
You can test out the following integration modes now: Admin Portal, API, SFTP
Will PMO/OGP grant agencies trial/test accounts for the pilot testing?
As long as you have a .gov.sg
email address, you will be able to log into Postman. No application for test accounts is needed.
Please submit a request to the PIC within your agency if it is necessary for you to create a campaign and obtain the API keys.
What if I have outsourced agents/vendors (e.g. DHL) who help me send out SMSes?
Upon logging in, they will only be able to see the campaigns in which they are added as collaborators by agency admins i.e. member
access
Can vendors/3rd party contractors apply for accounts on the test platform to create campaigns and obtain API keys?
Unfortunately, this is not allowed.
They will only be given member
access.
When will my agency be able to use your new Platform (API)?
When will my agency be able to use Postman?
We will inform when the site is ready.
Can we onboard onto your platform earlier as we need more time for system integration?
Postman production environment will be live from mid-April 2024. Agencies will need to undergo testing with OGP before they are allowed to use Postman in production. At this point, you will only be allowed to send messages to internal staff with your own sender IDs in production.
The deadline to onboard Postman to send out messages to MOPs is by 1 July 2024.
Where is Postman hosted?
The internet.
We have been whitelisted on SG Proxy, you may access Postman through Edge using your GSIB.
What web browsers are recommended for Postman?
Google Chrome
Microsoft Edge
If you are facing issues with other browsers, please switch to the recommended ones
We have previously used Postman to send emails to users. Where can we acces the previous site
You may continue using Legacy Postman to send out your email campaigns
I do not have campaign creation access. Who should I contact?
How can I add new agency administrators to Postman?
Agency administrator role is only granted upon receiving confirmation from your agency's CIO, as this is part of our requirement for adding new PIC(s).
How can I remove current PIC(s)?
Please send your request to btn-ops@open.gov.sg after ensuring there is a new PIC for your agency. We will then downgrade the PIC role from agency administrator to ops officer, where there will not be campaign creation access but will remain as a member in existing campaigns to send messages.
Every government officer has login access to the Postman admin portal. How do we remove the previous PIC's access from the existing campaigns?
Add the new PIC as Campaign Owner to campaigns if the previous PIC is the only member of campaigns that were created by the previous PIC.
How do we know what is the campaignID
?
How can I obtain my API keys earlier for testing?
When can agencies test out the Postman API endpoints?
You can now test Postman out on test.postman.gov.sg.
Regarding Authentication - can we have more information on bearer auth? Are we going to call a token API to get API keys or it will be generated from Postman Admin Portal?
Does each agency get 1 API key for all systems or each system can request to get their separate unique API key?
API keys are tied to each campaign, each campaigns can have up to 3 API keys. The number of keys will depend on the number of campaigns your agency has generated for your system.
What forms of authentication will you use for connecting via API?
We will issue API keys via the Admin portal for each campaign. We will also whitelist IP addresses of each agency.
When do we submit our IP addresses for whitelisting?
Is there any firewall that we need to open to allow our API gateway to reach postman API gateway ?
You will need to whitelist your IP addresses with us before you can obtain the API keys for integration.
Is whitelisting the source IP address sufficient for us to use Postman to send out SMSes?
Yes. In addition, you will only be able to obtain your API keys after you have whitelisted your IP address.
What is Postman’s IP address?
We do not provide our IP address, you can whitelist our domain name.
If you really need our IP address, you can resolve the domain to find the IP address, but you will be responsible for updating it if it changes.
For 5XX server errors, will the requests be queued on Postman’s side?
No.
You may check for the list of organisations/institutions that can use Postman to send messages to MOPs .
Similar to Postman Legacy (Postman v1), Postman allows users to log in on-the-go. Do refer to for more instructions on how to complete this set up.
If the email notification you receive comes with a support ID informing you to contact us, do fill up our for us to get in touch with you.
Successful upload of your file to Postman does not mean that your message was successfully sent to the recipient. You will still need to check for the .
Postman admin portal:
Postman API base URL:
You can find the expected endpoints for single send for instance in the documentation .
Submit your booking request at least one day in advance
Log in to and create a campaign
Reach out to for support
Postman can handle up to .
Yes, you may share this link with your vendors:
Please fill up our , we aim to get back to you in 5 working days.
The test platform is now live at
Load testing is not available for now, please refer to for more information.
Learn more about access rights , especially if you work with vendors or system integrators.
I am from an agency that does not have a email domain (healthcare/edu.sg user). How can I request for access to your test platform to create campaigns and obtain the API keys?
Read more about access rights .
To PICs: please read before submitting the request.
Please for whitelisting.
Read more about access rights .
Agencies calling the Postman API will be able to start testing on the now.
OGP conducted 2 technical Q&A sessions with WOG agencies and their vendors to address any questions regarding Postman. If your agency requires additional assistance, please write in to us through this .
Agencies can now test Postman out at . The production site will be ready from mid-April.
You can use the platform now to begin your system integrations.
Legacy Postman (Postman v1) with email sending capabilities has migrated to or acess the site by clicking Legacy Postman
(refer to image below).
Legacy Postman is not the same as Postman, for more information, refer to .
Reach out to your agency PIC(s) to request for campaign create access. Refer to our for more information.
Please obtain confirmation from your agency's CIO regarding the appointment of new PIC(s), and send your request to .
Should you wish to replace existing PIC(s), please send your replacement request, together with your CIO confirmation on the new PIC appointment, to .
Users with within the campaigns are to remove the previous PIC from campaigns
Refer to our for more information.
You can now obtain your API keys on . Read for more information on calling Postman’s SMS API.
API keys are generated from the
This will be done in the campaign creation flow. Refer to our for more information.
Will specific error codes be shown for SMS failures?
Yes, it will be in the delivery report that can be downloaded for each campaign. This will come in the form of a CSV file all messages ever sent for the batch or campaign. You should filter for the desired month within the CSV file itself.
How long will campaign logs be retained for?
They are stored indefinitely.
If a message is sent out in a batch and has an error, will there be individual error logs for the messages that failed to send?
Yes, individual error logs will be available.
The messages in the batch will be sent out except for those that have failed.
Are there any differences between Postman v1 and Postman v2
If messages fail to be delivered, will they be charged?
Yes.
The original Postman (now named “Postman v1”) will only serve the function of sending emails. Public healthcare institutions can still use Postman v1 to send SMSes. You may access Postman v1 via
The new Postman (”Postman v2”) will give users the functionalities of sending SMSes to MOP using the gov.sg
sender ID, or to internal staff using their own registered sender IDs. All other government agencies should use Postman v2 for SMS sending through gov.sg
or to internal staff. You may access Postman v2 test site via
How long will messages take to send if there is a queue?
Messages will be sent out once they are received by Postman, this should be completed typically within 10 seconds.
My agency is using Amazon Pinpoint SMS. Will there be any integration done for us?
No. For systems using Amazon Services, there will be no integration and you will need to switch to using Postman.
Can Postman be configured to only send SMSes during whitelisted hours?
Postman will send out SMSes once we have received the API call, a scheduling feature is not available.
Will there be a monthly report with a CSV file containing all the SMS sent for the month? Will it be emailed to us?
The delivery report can be downloaded directly from Postman by the user. This will come in the form of a CSV file all messages ever sent for the batch or campaign. You should filter for the desired month within the CSV file itself.
The is applicable for both admin portal and API users.
Can agencies use Postman for both external and internal messages?
What is the maximum length of the message in the SMS? We may need to include clickable links.
Usually, the message count for 1 sms is 160 characters. For the new format, are the header and footer counted as SMS characters?
Yes, it will be counted. When recipients receive the messages, the character blocks will be combined to form a single message.
Can I change the header of my Agency name?
No except for the following cases
you are sending messages on behalf of another agency.
your product sends out messages on behalf of various agencies.
What is the sender ID on your test site?
The sender ID on our test site is Postman
.
Your agency’s sender ID will be available for use on our production site, refer to our guide for more details.
My agency is currently using Postman v1. Do I need to switch over to using Postman v2?
Yes, unless you’re from a public healthcare institution.
How many SMSes can I trigger per day, are there restrictions?
No restrictions, however, please note
differences between batch and single send
the batch size requirements
or you may encounter a 429 error.
If the messages are sent out unsuccessfully, will there be an automatic retry from Postman’s end?
No, you will need to call our endpoints again as this will not be automatically done. UI users will need to re-send from the portal.
Is there a separate queue for time sensitive messages?
No.
Can I include an unsubscribe link in my SMSes?
No. The unsubscription option will not apply to SMSes sent in compliance with the mandate.
Additionally, API users can also call the to retrieve message status in real time.
Yes. The Sender ID for SMS to external MoPs will be '' and SMS to internal staff will be your own agency-registered sender ID.
Please refer to .
For such cases, please contact us .
Can I share the API docs link with my vendors?
Yes, please do so. The API docs are hosted on the Internet.
Currently, we do API post with long SMS text content. Our SMS vendor will automatically split the message into several SMS messages to the end user. Is Postman the same?
For long message content, it will be combined and will appear as a single message to the user.
Are .csv the only acceptable file types on Postman?
Yes, this applies to batches for Postman API and Admin Portal, and for sending messages in bulk via SFTP. We do not accept any other file types.
Does Postman support HTML encoding?
No, text only.
What's the typical and max time for a message latestStatus to move from created
to sent
to success?
?
As this is a brand new platform, the team does not have any data to release to agencies regarding typical and max time on the latestStatus
.
Note that the time taken for a message to be sent will also depend on the load at the point of creating and sending these messages.
How are SMS statuses charged?
SMSes with a failure
as the latestStatus
will not be charged.
Do you provide a webhook for checking the status?
No, that is not currently provided.
For LatestStatus
field, how long do we need to wait before message is sent? How long to wait before we know if it was success or failure?
We also currently do not support pushing delivery status to your server via webhooks when the status of a message changes.
Will Postman retry sending failed messages automatically?
No, you will need to manually re-send the failed messages.
How can I check if the message has been read by the recipient?
The response on whether the message was created will come in immediately. However, you will need to query to get the message latestStatus
.
Refer to our for more information.
Telcos do not provide read statuses. Please see the list of available statuses .
What is Postman’s IP address?
We do not provide our IP address, you can whitelist our domain name. If you really need our IP address, you can resolve the domain to find the IP address, but you will be responsible for updating it if it changes.
Does Postman allow me to bulk upload our IP addresses?
No, you will need to upload them individually.
What IP can be whitelisted (Internal or public)?
Static Public IP address, do note that you will be calling our API endpoints using this IP address that you have whitelisted.
When do we submit our IP addresses for whitelisting?
Does postman accept whitelisting of CIDR blocks?
No, you need to whitelist individual IP addresses. You can whitelist up to 10 IP address on the admin portal, if you need to whitelist more than 20 IP address, please reach out to us.
Is whitelisting the source IP address sufficient for us to use Postman to send out SMSes?
Is there any firewall that we need to open to allow our API gateway to reach postman API gateway ?
You will need to whitelist your IP addresses with us before you can obtain the API keys for integration.
Is there any throttling set for Postman?
No.
How many officers own a single campaign? Can we have more than 1 admin in case an officer leaves the organisation?
How can I obtain my API keys earlier for testing?
When can agencies test out the Postman API endpoints?
Regarding Authentication - can we have more information on bearer auth? Are we going to call a token API to get API keys or it will be generated from Postman? Admin Portal?
Does each agency get 1 API key for all systems or each system can request to get their separate unique API key?
API keys are tied to each campaign. Each campaign can have up to 3 API keys. The number of keys will depend on the number of campaigns your agency has generated for your system.
What forms of authentication will you use for connecting via API?
This will be done in the campaign creation flow. Refer to our for more information.
Yes. In addition, you will only be able to obtain your API keys after you have whitelisted your IP address. Read for more info.
Each campaign can have as many campaign admins and members, for more information please check out the .
You can now obtain your API keys on . Read for more information on calling Postman’s SMS API.
You can now test Postman out on .
API keys are generated from the .
We will issue API keys via Postman for each campaign. We will also whitelist IP addresses of each agency. Users are required to input their IP addresses for whitelisting, and obtain their API keys within Postman. Read for more info.
This Government Agency Privacy Statement (“Privacy Statement”) must be read in conjunction with the Terms of Use that accompany the applicable service you are requesting from us (the “Service”).
1. This is a Government Agency digital service.
2. Please note that:
2.1. We may use "cookies", where a small data file is sent to your browser to store and track information about you when you enter our digital services. The cookie is used to track information such as the number of users and their frequency of use, profiles of users and their preferred digital services. While this cookie can tell us when you enter our digital services and which pages you visit, it cannot read data off your hard disk.
2.2. You can choose to accept or decline cookies. Most web browsers automatically accept cookies, but you can usually modify your browser setting to decline cookies if you prefer. This may prevent you from taking full advantage of the digital service.
2.3. The Service may utilise cookies to facilitate authentication and/or login to the Service. If such cookies are rejected, you might not be able to use the Service.
3. Please see the Annex for any additional terms or information.
4. Nothing in this Privacy Statement shall be construed as limiting or prejudicing our rights at law to collect, use or disclose any data without your consent or agreement.
5. We may request or collect certain types of data from you in connection with your access or use of the Service. The data that may be requested/collected include those identified in the Annex herein. Your data may be stored in our servers, systems or devices, in the servers, systems or devices of our third party service providers or collaborators, or on your device, and may be used by us or our third party service providers or collaborators to facilitate your access or use of the Service. We or our third party service providers or collaborators may collect system configuration information and/or traffic information (such as an IP address) and/or use information or statistical information to operate, maintain or improve the Services or the underlying service of the third party service provider or collaborator. For the avoidance of doubt, in this Privacy Statement, a reference to a third party service provider or collaborator includes other third parties who provide a service or collaborate with our third party service provider or collaborator.
6. If you provide us with personal data, or where we collect personal data from you:
6.1. We may use, disclose and process the data for any one or more of the following purposes:
6.1.1. to assist, process and facilitate your access or use of the Service;
6.1.2. to administer, process and facilitate any transactions or activities by you, whether with us or any other Government Agency or third party service provider or collaborator, and whether for your own benefit, or for the benefit of a third party on whose behalf you are duly authorized to act;
6.1.3. to carry out your instructions or respond to any queries, feedback or complaints provided by (or purported to be provided by) you or on your behalf, or otherwise for the purposes of responding to or dealing with your interactions with us;
6.1.4. to monitor and track your usage of the Service, to conduct research, data analytics, surveys, market studies and similar activities, in order to assist us in understanding your interests, concerns and preferences and improving the Service (including any service of a third party service provider or collaborator) and other services and products provided by Government Agencies. For the avoidance of doubt, we may also collect, use, disclose and process such information to create reports and produce statistics regarding your transactions with us and your usage of the Services and other services and products provided by Government Agencies for record-keeping and reporting or publication purposes (whether internally or externally);
6.1.5. for the purposes of storing or creating backups of your data (whether for contingency or business continuity purposes or otherwise), whether within or outside Singapore;
6.1.6. to enable us to contact you or communicate with you on any matters relating to your access or use of the Service, including but not limited to the purposes set out above, via email, push notifications or such other forms of communication that we may introduce from time to time depending on the functionality of the Service and/or your device.
6.2. We may share necessary data with other Government Agencies, and third party service providers or collaborators in connection with the Service, so as to improve or facilitate the discharge of public functions and/or serve you in the most efficient and effective way, unless such sharing is prohibited by law.
6.3. We may share your personal data with non-Government Agency entities that have been authorised to carry out specific Government Agency services. We will NOT share your personal data with other non-Government Agency entities without your consent, except where such sharing is necessary for fulfilling any of the purposes herein, or complies with the law.
6.4. For your convenience, we may also display to you data you had previously supplied us or other Government Agencies. This will speed up the transaction and save you the trouble of repeating previous submissions. Should the data be out-of-date, please supply us the latest data.
6A. Please note that we may be required to disclose your data by law, including any law governing the use/provision of any service of a third party service provider or collaborator.
7. You may withdraw your consent to the use and disclosure of your data by us with reasonable notice and subject to any prevailing legal or contractual restrictions; however, doing so may prevent the proper functioning of the Service and may also result in the cessation of the Service to you.
8. To safeguard your personal data, all electronic storage and transmission of personal data is secured with appropriate security technologies.
9. The Service may contain links to external sites or services whose data protection and privacy practices may differ from ours. We are not responsible for the content and privacy practices of these other websites or services and encourage you to consult the privacy notices of those sites or services.
10. Please contact sgc@open.gov.sg if you:
10.1. have any enquires or feedback on our data protection policies and procedures; or
10.2. need more information on or access to data which you have provided to us directly in the past.
11. In this Privacy Statement, “Government Agency” refers to an Organ of State, Ministry, Department or Statutory Board and “personal data” shall have the same meaning as its definition in the Personal Data Protection Act 2012 (No. 26 of 2012), provided our obligations in respect of personal data under this Privacy Statement do not apply to:
11.1. Business contact information; and
11.2. Personal data of a deceased individual. However, clauses relating to the disclosure of personal data and protection of personal data shall apply in respect of the personal data of an individual who has been dead for 10 or less years.
This version of the Privacy Statement is dated 4 June 2024.
Name of Service: Postman
Types of data requested/collected:
a. If you are a campaign creator, please note that GovTech will collect: (a) your email address; (b) other contact details; (c) details of your browser client; (d) device brand; (e) operating system; (f) IP address; (g) message content; (h) recipient number; (i) login sessions; (j) campaign content; and (k) all activities on Postman. In the event you request data from us concerning the campaign respondents, you warrant and represent that you have the consent of campaign respondents for us to provide the data to you or that such consent is not necessary under the applicable rules/laws.
b. If you are a recipient of an SMS, please note that GovTech may collect, store and/or process data in accordance with this Privacy Statement (which applies in addition to the privacy policy/statement of the campaign administrator/creator agency(/ies)) and disclose the data to the campaign administrators/creator, or process the data for the campaign administrators/creator. However, if you have any enquiries or feedback on the campaign creator’s data protection, policies and procedures or need more information on or access to data which you have provided directly to the campaign creator in the past, please consult the privacy policy/statement of the campaign creator agency(/ies) and contact the campaign creator agency(/ies) directly.
This version of the Privacy Policy is dated 8 April 2024.
For 5XX server errors, will the requests be queued on Postman’s side?
No.
Regarding Send messages in Bulk
, are there any limits on the number of messages that can be sent or on the file size?
Users can upload a CSV file of up to 30MB in size.
The number of lines for this file size depends on the contents of your file.
If Postman is down, will there be a health check endpoint for agencies to check?
No, but the team will be considering this point.
What's the typical and max time for a message latestStatus to move from created
to sent
to success?
?
As this is a brand new platform, the team does not have any data to release to agencies regarding typical and max time on the latestStatus
.
Note that the time taken for a message to be sent will also depend on the load at the point of creating and sending these messages.
How are SMS statuses charged?
SMSes with a failure
as the latestStatus
will not be charged.
Do you provide a webhook for checking the status?
No, that is not currently provided.
When do I use a Single Send API and when do I use a batch send?
Single Send API is used for when you need to send just one message out at a time.
Batch message is when you have a single campaign and would like to broadcast the same message to many.
If you use the Single Send API option but create too many request, you may encounter a 429 error.
If the bulk upload does not pass the validation check, can I proceed to send?
No, the response will display row by row certain errors that need to be fixed before proceeding again.
Country Code Usage: If the country code, such as +65 for Singapore, is omitted, does Postman automatically assume it's intended for a Singapore number?
65
is a mandatory field as Postman allows sending of messages overseas. The number will not be automatically assumed as a Singapore number if the country code is omitted.
If the country code is omitted, the message will not be sent and a 4xx error will be reflected.
Language Specification : If our template and values are in Chinese, but we specify English as the language, how will Postman behave?
Scenario 1: You have removed English
in the create campaign step, and specify english
as a header in your .csv file. You will get an error informing you that you chose an unavailable language.
Language Parameter - Mandatory Field: Is the language
parameter mandatory for sending messages?
Yes.
In the Send single SMS
API, is it acceptable to transmit all content within the 'msg' under a value object?
For latestStatus
field, how long do we need to wait before message is sent? How long to wait before we know if it was success or failure?
API users should call the GET status endpoint to retrieve the message status in real time.
Alternatively, the delivery report with the sms status can be downloaded by the user from the Postman Admin Portal. This is a manual process and will not be automatically sent to the campaign admin’s email address.
How do I reach out if I have any issues with my API integration or questions regarding the documents?
I heard that Postman will have SFTP integration. Are the documents ready?
When can I test out SFTP integration?
Are there plans to provide SMPP to Postman integration?
Are there plans to provide SMTP to Postman integration?
No.
Scenario 2: You have included English
in the campaign creation step, but your message content is in chinese. Your message will have its message content in Chinese, but the footer will be in English. More information
Refer to the available options from our.
The response on whether the message was created will come in immediately. However, you will need to query Retrieve message endpoint
to get the message latestStatus
. Refer to our for more information.
Please fill up our , we aim to get back to you in 5 working days.
Please access our SFTP documents .
The SFTP onboarding process flow is documented .
Submit the SFTP interest to get started.
We are still consolidating agencies’ use cases and will inform agencies at a later date if this will be provided. If you have yet to provide your SMPP use case, fill up our request form .
1.1. These Terms of Use govern your access to and use of our services, including the application (whether as software or as a website or otherwise), its contents (including APIs, if any), push notifications and all other accompanying materials as identified in the Schedule below (collectively, the "Service”).
1.2. This Service is provided to you by the Government Technology Agency ("GovTech"). GovTech’s office is located at 10 Pasir Panjang Road, #10-01, Mapletree Business City, Singapore 117438.
1.3. By accessing or using any part of this Service, you unconditionally agree and accept to be legally bound by these Terms of Use and any amendments thereto from time to time. GovTech reserves the right to amend these Terms of Use at its sole discretion and at any time, with or without notice to you. Please read the Terms of Use carefully each time you access or use any part of this Service as (without prejudice to any other means your agreement to the Terms of Use as amended may manifest) such access or use shall constitute your agreement to the Terms of Use and any amendments to it. Your failure to do so shall not prejudice the effect or enforceability of the Terms of Use or any amendments thereto. GovTech may, at its sole discretion and without prejudice to its other rights under this Clause 1.3, also amend these Terms of Use by providing you with notice effective immediately or such other time designated by GovTech, and such notice may be provided by any means GovTech deems appropriate (for example, by posting the notice through the Service, any website related to the Service, or by email).
1.4. If you do not agree to these Terms of Use, please do not use this Service or any part of this Service.
1.5. If you are accessing or using the Service for and on behalf of another entity (such as your employer), you warrant and represent that you have the necessary authority to bind such entity to these Terms of Use.
Please see the Schedule for more information and terms concerning this Service.
3.1. The Service, including the materials made available on or through the Service, is owned by, licensed to, managed or controlled by GovTech. Please see clause 4 (Third Party Materials) for more information.
3.2. Subject to these Terms of Use, GovTech grants to you a non-exclusive, revocable, and non-transferable right to access and use the Service for personal or internal purposes only, and only for such use permitted by the functions of the Service and intended by GovTech.
3.2A You shall not, and shall not authorise or permit any third party to:
3.2A.1 bypass or circumvent any technical restrictions or digital protection measures in the Service or attempt to circumvent any such restrictions;
3.2A.2. reverse engineer, decompile, disassemble, modify, translate, adapt or create derivative works of the Service (whether in relation to its source code, object code, underlying structure, ideas, algorithms or otherwise);
3.2A.3. reproduce, publish, distribute, transfer, publicly display, resell, rent, lease, or sublicense the Service, or loan, lend, pledge, assign, or otherwise encumber the Service to or in favour of any third party;
3.2A.4. remove or obscure the copyright, trademark and other proprietary notices contained on or in the Service;
3.2A.5. use the Service in any manner that is contrary to any applicable laws or regulations or rights of third parties (however arising and of whatever nature), or in a manner that constitutes harmful, fraudulent, or obscene activity;
3.2A.6. make the Service available in or through a network, file-sharing service, service bureau or any similar timesharing arrangement or as a managed service provider;
3.2A.7. perform any benchmarking tests or analyses of the Service;
3.2A.8. use the Service to create anything that would compete with the Service;
3.2A.9. transfer, assign or permit the sharing of license keys to or with a third party;
3.2A.10. use the Service to process or permit to be processed any code of a third party;
3.2A.11. provide third party access to the Service; or.
3.2A.12. export the Service in violation of any international sanctions or laws applicable to US entities.
3.2B All express or implied rights to the Service not specifically granted herein are expressly reserved to GovTech.
3.3. GovTech reserves the right to:
3.3.1. Update or modify this Service from time to time;
3.3.2. Deny or restrict access to or use of the Service by any particular person without ascribing any reasons whatsoever; and
3.3.3. Discontinue or terminate this Service at any time without notice or liability to you whatsoever, whereupon all rights granted to you hereunder shall also terminate forthwith. You shall further upon notice from GovTech return or destroy all copies of the Service or materials therein that you may have been provided with.
3.4. You will not interfere or attempt to interfere with the proper working of the Service or otherwise do anything that imposes an unreasonable or disproportionately large load on GovTech’s servers.
3.5. You shall comply with all set-up procedures and requirements, as well as all policies, guidelines, rules, notices and instructions relating to the Service as may be issued by and/or amended by GovTech from time to time.
3A.1. You are solely responsible for maintaining the confidentiality and security of any authentication credentials associated with your use of the Service, including the security of any of your devices which store the authentication credentials.
3A.2. GovTech shall be entitled, but not obliged, to verify the identity of the person using the Service. Without prejudice to the foregoing, GovTech is not under any duty to verify that any biometric identifier used with the Service, or on your device, belongs to you.
3A.3. GovTech shall have the sole and absolute discretion to invalidate any authentication credentials at any time, or require you to have to re-authenticate or refresh your authentication credentials at any time, without having to give any reason for the same.
3A.4. GovTech shall be entitled, but not obliged, to act upon or rely on any instructions, information, transmissions of data, or communications received from the account or use of the Service in relation to your authentication credentials, as if such instructions, information, data or communications were issued by you, whether or not the same was authorized by you.
3A.5. For the avoidance of doubt, you are solely responsible for any loss of whatever nature arising from unauthorized or unofficial modifications made to your device which permit or escalate privileged access, or remove restrictions to such access, which are not intended by the manufacturer or provider of your device or operating system of your device (e.g., “rooting” or “jailbreaking” your mobile phone).
4.1. The Service may require, enable or facilitate access to or use of software or services of a third party (“Third Party”). In such an event, there may be terms of use of the third party software or service (the “Third Party Terms”). GovTech may be required under or as a result of the Third Party Terms to notify you of certain terms that apply to you (either directly as an end user, or as a party whose acts or omissions could cause GovTech to breach the Third Party Terms) when you use the Services. An example of Third Party Terms may be open source software terms or standard form terms of the distribution platform from which you obtain any part of the Service (e.g. Google Play Store or Apple App Store terms) which bind GovTech as a developer or user of the distribution platform (the “Distribution Terms”). Information on the Third Party Terms are embedded in the Service, already accounted for in these Terms of Use, publicly available (e.g the Distribution Terms) or otherwise indicated in the Schedule herein. For the avoidance of doubt, insofar as this Clause 4 relates to the Distribution Terms, the relevant Distribution Terms are the terms of the specific platform from which you obtained a copy of the software or application that is part of the Service. For example, if you obtained the said copy from the Google Play Store, then the relevant terms are Google’s Distribution Terms.
4.2. It is your responsibility to check and read the most up-to-date versions of these Third Party Terms and you are deemed to have notice of the same. In particular, you are deemed to have notice of the Third Party Terms that GovTech (under the Third Party Terms) is required to notify you, and you unconditionally agree to be bound by all the obligations in the Third Party Terms which are applicable to you (whether as end user, or as a party whose acts or omissions could cause GovTech to breach the Third Party Terms, or otherwise). For the avoidance of doubt, where Third Party Terms are listed, such Third Party Terms shall be deemed to include any privacy policies and acceptable use policies as are applicable to you.
4.3. If the Third Party Terms require you to enter into an agreement directly with the Third Party, then you unconditionally agree to enter into such agreement, and in any event, to be legally bound by the Third Party Terms. For the avoidance of doubt:
4.3.1. some Third Party Terms (particularly open-source terms) permit either a direct licence to you from the Third Party or a sublicence from GovTech to you. In such cases, your licence is a direct licence from the Third Party to you; and
4.3.2. the terms of your agreement with the Third Party will govern your use of the relevant third party software or service, and not these Terms of Use.
4.4. If the Third Party Terms expressly or impliedly require GovTech to incorporate certain terms in these Terms of Use (inclusive of terms which impose any minimum or maximum standards herein, and/or terms described in Clause 4.5 below), such terms are deemed to have been so incorporated (the “Incorporated Terms”). Examples of Incorporated Terms include provisions which require GovTech to give you notice of certain rights and liabilities or require GovTech to ensure that you acknowledge certain matters. Similarly, if the Third Party Terms expressly or impliedly require these Terms of Use to be altered such that the Third Party Terms are complied with, the parties herein agree that the Terms of Use shall be deemed to be so altered but only to the extent necessary for compliance.
4.5. Some Third Party Terms grant the Third Party, or require GovTech to grant the Third Party, direct rights of enforcement of these Terms of Use as a third party beneficiary, against you. Such Third Party Terms are deemed to have been incorporated into these Terms of Use as Incorporated Terms, and you hereby agree to grant such Third Party, such direct rights of enforcement against you.
4.5A Unless the applicable Third Party Terms permit you to commence legal proceedings against the relevant Third Party, you shall not threaten or commence legal proceedings against a Third Party without GovTech’s prior written approval.
4.6. For the avoidance of doubt, without prejudice to Clause 4.4, to the extent of any inconsistency between these Terms of Use and the Third Party Terms, the latter shall prevail provided nothing in the Third Party Terms increases the liability of GovTech beyond that stated in Clause 6.
4.7. Without prejudice and in addition to the foregoing, GovTech shall not be responsible for your use of any software or service of a Third Party.
5.1. You hereby grant to GovTech a non-exclusive, worldwide, perpetual and royalty-free right to collect, use, disclose, process, modify, adapt, create derivative works of, reproduce, and sublicense any and all information or data submitted, uploaded or shared by you to the extent necessary to provide the Service or for any other purpose expressly or impliedly provided in these Terms of Use, or as permitted by law.
5.2. Use of the Service may require you to allow access by the Service to certain functions of your device, such as push notifications, the obtaining and/or sharing of your location, or the collection of data from you in connection with the Service. Your use of the Service shall constitute your consent to the access by the Service of such functions of your device as may be reasonably required by the Service.
5.3. You further irrevocably and unconditionally waive, and shall cause to be irrevocably and unconditionally waived, all existing and future moral rights (including the right of identification) wherever in the world in respect of any information or data submitted, uploaded or shared by you (including feedback, requests or suggestions concerning the Services) to GovTech. Such waiver shall also extend to GovTech’s licencees, assigns and successors-in-title.
5.4. Please also see clause 8 (Privacy Statement).
You agree that all title and interest in any feedback, requests or suggestions from you concerning the Services provided to GovTech shall be owned by GovTech and, without prejudice and in addition to clause 5.3, you shall waive all rights existing in or in respect of the same (including, for the avoidance of doubt, any signature requirements).
5B.1 If you receive information or data (in whatever form) from GovTech or a Third Party which is designated confidential or proprietary or is otherwise reasonably understood to be confidential or proprietary (collectively, “Confidential Information”), you shall not use, disclose or reproduce the Confidential Information except for the purpose for which it was provided to you. If consent to disclose the Confidential Information to a third party is given by GovTech or the Third Party to you, any act or omission in respect of the Confidential Information by that person shall be deemed to be your act or omission and you agree to be fully liable for the same. In all cases, you shall protect the Confidential Information to the same extent you protect your own confidential information but in no event less than a reasonable standard of care. You shall ensure that any recipients are bound by confidentiality terms at least as restrictive as this Clause.
5B.2 You shall destroy any Confidential Information immediately upon request by GovTech or the Third Party.
5B.3 In the event:
5B.3.1 you are, or likely to be, required by an order of court to disclose Confidential Information; or
5B.3.2 you have reasonable grounds to suspect the unauthorised use or disclosure or reproduction of Confidential Information;
you shall immediately notify GovTech or the Third Party of the same and cooperate with GovTech or the Third Party to prevent or limit such disclosure.
5B.4 Nothing in this Clause 5B shall prejudice GovTech’s or the Third Party’s other rights at law.
6.1. The Service is provided on an "as is" and “as available” basis without warranties of any kind. To the fullest extent permitted by law, GovTech does not make any representations or warranties of any kind whatsoever in relation to the Service or its output and hereby disclaims all express, implied and/or statutory warranties of any kind to you or any third party, whether arising from usage or custom or trade or by operation of law or otherwise, including but not limited to any representations or warranties:
6.1.1. as to the accuracy, completeness, correctness, currency, timeliness, reliability, availability, interoperability, security, non-infringement, title, merchantability, quality or fitness for any particular purpose of the Service or its output; and/or
6.1.2. that the Service or its output or any functions associated therewith will be uninterrupted or error-free, or that defects will be corrected or that this Service, its output, website and the server are and will be free of all viruses and/or other malicious, destructive or corrupting code, programme or macro.
6.2. GovTech shall also not be liable to you or any third party for any damage or loss of any kind whatsoever and howsoever caused, including but not limited to any direct or indirect, special or consequential damages, loss of income, revenue or profits, lost or damaged data, or damage to your computer, software or any other property, whether or not arising directly or indirectly from –
6.2.1. your access to or use of this Service or its output, or any part thereof;
6.2.2. any loss of access or use of this Service or any part of this Service or its output, howsoever caused;
6.2.3. any inaccuracy or incompleteness in, or errors or omissions in the transmission of, the Service or its output;
6.2.4. any delay or interruption in the transmission of the Service or its output, whether caused by delay or interruption in transmission over the internet or otherwise; or
6.2.5. any decision made or action taken by you or any third party in reliance upon the Service or its output,
regardless of whether GovTech has been advised of the possibility of such damage or loss.
6.3. Without prejudice and in addition to the foregoing, insofar as the Service facilitates or requires the provision, use or functioning of, or is provided in conjunction with, other products, software, materials and/or services not provided by GovTech, GovTech makes no representation or warranty in relation to such products, software, materials and/or services (including without limitation any representation or warranties as to timeliness, reliability, availability, interoperability, quality, fitness for purpose, non-infringement, suitability or accuracy).
6.4. You shall not rely on any part of the Service or its output to claim or assert any form of legitimate expectation against GovTech, whether or not arising out of or in connection with GovTech’s roles and functions as a public authority. GovTech shall have no responsibility or liability to you or any third party arising out of or in connection with any fraud, phishing, or any other illegal act or omission by other parties in relation to the Service and it is your own responsibility to ensure that the Service you are using or accessing is from a legitimate source.
6.5. You agree to defend and indemnify and keep GovTech and its officers, employees, agents and contractors harmless against all liabilities, losses, damages, costs or expenses (including legal costs on an indemnity basis) howsoever arising out of or in connection with your access or use of the Service (including third party software or services) or its output or your non-compliance with the Terms of Use, Third Party Terms or Incorporated Terms, whether or not you had been advised or informed of the nature or extent of such liabilities, losses, damages, costs or expenses. You warrant and represent that your access or use of the Service and its output does not and will not breach or violate any laws, regulations, trade, economic and/or export sanctions (wherever in the world) applicable to you, and that you shall not transmit any malicious code, illegal, infringing or undesirable content or materials to GovTech or its agents or any Third Party.
6.6. GovTech shall have the right to take any and all necessary actions/omissions to protect its interests, including complying with any legal requirements (such as taking down, disabling and disabling access to, removing (permanently or temporarily), and/or restoring (including restoring access to) any materials contained in, accessed through, uploaded to, and/or made available via the Service in response to any take-down or restoration notices). You agree that GovTech is not obliged to determine the merits of any take-down or restoration notices. You further waive any rights arising as a result of the actions/omissions taken by GovTech.
6.7. Without prejudice and in addition to GovTech’s other rights:
6.7.1. in no event shall GovTech’s total cumulative liability arising out of or in connection with these Terms of Use to you exceed the amount of fees or payment received by GovTech (and not paid or given to any Third Party by GovTech) from you for the Service in the 12 months preceding the date of the first cause of action; and
6.7.2. no action may be brought by you against GovTech arising out of or in connection with these Terms of Use more than one (1) year after the cause of action arose.
7.1. Insofar as the Service provides a hyperlink to material not maintained or controlled by GovTech, GovTech shall not be responsible for the content of the hyperlinked material and shall not be liable for any damages or loss arising from access to the hyperlinked material. Use of the hyperlinks and access to such hyperlinked materials are entirely at your own risk. The hyperlinks are provided merely as a convenience to you and do not imply endorsement by, association or affiliation with GovTech of the contents of or provider of the hyperlinked materials.
7.2. Caching and hyperlinking to, and the framing of, any part of the Service is prohibited save where you have obtained GovTech’s prior written consent. Such consent may be subject to any conditions as may be determined by GovTech in its sole discretion. If you hyperlink to or frame any part of the Service, that shall constitute your acceptance of these Terms of Use and all amendments thereto. If you do not accept these Terms of Use as may be amended from time to time, you must immediately discontinue linking to or framing of any part of the Service.
7.3. GovTech reserves all rights:
7.3.1. to disable any links to, or frames of, any materials which are unauthorised (including without limitation materials which imply endorsement by or association or affiliation with GovTech, materials containing inappropriate, profane, defamatory, infringing, obscene, indecent or unlawful topics, names, or information that violates any written law, any applicable intellectual property, proprietary, privacy or publicity rights); and
7.3.2. to disclaim responsibility and/or liability for materials that link to or frame any part of the Service.
You also agree to the terms of the Government Agency Privacy Statement for this Service as may be amended from time to time. The Government Agency Privacy Statement will form part of these Terms of Use.
Subject to the rights of the Third Party and/or Singapore public sector agencies, a person who is not a party to this Terms of Use shall have no right under the Contract (Rights of Third Parties) Act or otherwise to enforce any of its terms. Variation or rescission of these Terms of Use shall not require the consent of any third party, including any Third Party and/or other Singapore public sector agencies.
10.1. You may not assign or sub-contract this Terms of Use without the prior written consent of GovTech.
10.2. GovTech may assign, novate, transfer, or sub-contract the rights and liabilities in respect of the Service and this Terms of Use, without notifying you and without further reference to you. Your acceptance of this Terms of Use shall also constitute your consent to such assignment, novation, transfer or sub-contract.
If any term of these Terms of Use is held by a court or tribunal of competent jurisdiction to be invalid or unenforceable, then these Terms of Use, including all of the remaining terms, will remain in full force and effect as if such invalid or unenforceable term had never been included but, to the extent permissible, such invalid or unenforceable terms shall be deemed to have been replaced by terms that are (a) valid and enforceable and (b) express the intention or produce the result closest to the original intention of the invalid or unenforceable terms.
In the event of any conflict, inconsistency or ambiguity between or in any one or more terms in these Terms of Use, such conflict, inconsistency or ambiguity shall be resolved in favour of GovTech and the provision or interpretation which is more favourable to GovTech shall prevail. Notwithstanding any other term, GovTech has the sole and absolute discretion to determine which term or interpretation is more favourable to it and such decision shall be binding on you.
These Terms of Use contains the entire and whole agreement concerning the subject matter of these Terms of Use. The Terms of Use supersedes all prior written or oral representations, agreements and/or understandings between GovTech and yourself. Except for amendments by GovTech under these Terms of Use, no amendment to these Terms of Use shall be of any force unless agreed upon in writing by both parties.
10D.1. Any delay, failure or omission on the part of GovTech in enforcing any right, power, privilege, claim or remedy (“Remedy”), which is conferred under the Terms of Use or at law or in equity, or arises from any breach by you, shall not (a) be deemed to be or be construed as a waiver or variation of the Remedy, or of any other such Remedy, in respect of the particular circumstances in question, or (b) operate so as to bar the enforcement or exercise of the Remedy, or of any other such Remedy in any other subsequent instances.
10D.2. No waiver by GovTech of any breach of the Terms of Use by you shall be deemed to be a waiver of any other or of any subsequent breach.
10D.3. Any waiver by GovTech granted under the Terms of Use must be in writing and may be given subject to conditions. Such waiver under the Terms of Use shall be effective only in the instance and for the purpose for which it is given.
11.1. These Terms of Use shall be governed by and construed in accordance with laws of Singapore.
11.2. Subject to clause 11.3, any dispute arising out of or in connection with these Terms of Use, including any question regarding its existence, validity or termination, shall be referred to and finally resolved in the Courts of the Republic of Singapore and the parties hereby submit to the exclusive jurisdiction of the Courts of the Republic of Singapore.
11.3. GovTech may, at its sole discretion, refer any dispute referred to in clause 11.2 above to arbitration administered by the Singapore International Arbitration Centre (“SIAC”) in Singapore in accordance with the Arbitration Rules of the SIAC ("SIAC Rules") for the time being in force, which rules are deemed to be incorporated by reference in this clause. Further:
11.3.1. The seat of the arbitration shall be Singapore.
11.3.2. The tribunal shall consist of one (1) arbitrator.
11.3.3. The language of the arbitration shall be English.
11.3.4. All information, pleadings, documents, evidence and all matters relating to the arbitration shall be confidential.
Where GovTech is the defendant or respondent, it shall be given at least 30 days before the commencement of any legal action against it to elect to exercise the right herein to have the dispute submitted to arbitration. This right to elect shall not prejudice GovTech’s right to a limitation defence and the period to exercise the right shall not be abridged by reason of any accrual of a limitation defence in favour of GovTech during the said period.
These Terms of Use are dated 4 June 2024.
Notwithstanding anything in the Terms of Use, the Service is intended for use by a Singapore public sector agency, or an education institution permitted by GovTech in its sole and absolute discretion.
This Service is a tool for the permitted entities (listed in sub-paragraph 2a. above) to create mass messaging campaigns that reach Members of Public (MOPs) and / or staff. This Service also allows permitted entities to invite each other to collaborate on campaigns.
You are responsible for ensuring that your use of the Service is compliant with all applicable laws, including without limitation the Personal Data Protection Act and the Spam Control Act.
GovTech is not responsible for the content of the messages you choose to send, nor for any agreement you have (or purport to have) with the recipient of your messages.
Use of the Service may require you to already have the right to use certain third party service providers. For example, you may be required to have a Twilio account in order to use the Services. You may be required to provide details of your account via email in order to use the Services.
You warrant and represent to GovTech that (without prejudice to GovTech’s other rights in the Terms of Use such as Clauses 3.2 and 6) you have full rights to use such third party services within or with the Service and your acts and/or omissions in respect of the such services will not cause GovTech to incur liability to any third party, including the service provider.
Please note that GovTech may collect, store and/or process data created by the Service. Please see the Privacy Statement for more details.
GovTech shall have the right to give your message recipients notice of GovTech’s Terms of Use and Privacy Statement in the campaigns you create. For clarity, GovTech is able to access and store the messages sent using the Service.
Without prejudice and in addition to GovTech’s other rights in the Terms of Use, GovTech shall have the right to halt or suspend your use of the Service where you have or run any campaigns that affect overall system health (such as system abuse, unannounced huge campaigns, etc) GovTech has the sole and absolute discretion to determine whether any campaign affects overall system health.
Can campaigns be edited after creation?
No, they cannot be edited.
If you need to edit your campaign’s message body, you will be required to create a new campaign.
Users are now testing out campaigns on our test platform, and will have a fresh dashboard when they onboard onto our production site.
We will update the guide if there are any changes to this.
If we have created multiple variables in a template, such as 4 variables, but we decide to only send 3 variables, is this allowed?
No, you will need to pass provide details for all 4 variables. This applies to Postman API, SFTP and admin portal.
What is the maximum number of characters I can provide in each of the variables?
There is no limit on the number of characters in each variable. The total message length (excluding header and footer) shall not exceed 1000 characters. Please note that the character limit still applies to the characters within each variable.
How many campaigns can I create, is there a limit?
There is no limit, you can create as many campaigns as you want.
How do we know what is the campaignID
?
Are the creation of the templates/campaigns done through the Postman's web interface?
There will be no templates within the new Postman.
Upon the creating of a new campaign, a campaignID
will be generated.
Can we not set up any customised campaign - i.e. we can setup the API keys, IP whitelisting and starting using the Postman API to send out SMSes?
This is not possible as the API keys are tied to the campaign and can only be generated after a campaign is created.
Twilio, Inc.’s, Acceptable Use Policy, Privacy Policy ()
NestJS - Service Terms ()
Axios - Service Terms ()
Bluebird - Service Terms ()
Express - Service Terms ()
Helmet - Service Terms ()
Nanoid - Service Terms ()
Pino - Service Terms ()
Postmark - Service Terms ()
Sequelize - Service Terms ()
Typescript - Service Terms ()
Chakra UI - Service Terms ()
React - Service Terms ()
Vite - Service Terms ()
Refer to for more information.
Refer to our for more information.
Instead, there will be campaigns
that can be created, and this will be done through Postman admin portal for all users - API, Admin portal and SFTP users. More information from our .
In such cases, we recommend creating a campaign with only - {{body}}
. You can then input any message body you wish from your own system into the {{body}}
variable.
I heard that Postman will have SFTP integration. Are the documents ready?
Are there plans to provide SMPP to Postman integration?
We will release our SMPP integration details on 1 April 2024
Are there plans to provide SMTP to Postman integration?
No.
Can we send encrypted files via SFTP?
No, the files need to be in csv format
For SFTP, when will the SMSes be sent and when should the files be deposited?
They are sent out in real time upon Postman receiving the files from agencies.
What if the test environment cannot handle my production load
Will load testing be available on Postman test and production sites?
You will need to complete load testing on your own system’s end, to ensure that your system is able to handle the load you will be sending over to our end.
Please also ensure that you are using the correct method to send your messages (single send vs batch send), as you may receive a 429
error if Postman receives too many request too quickly.
Please do not conduct load testing on our test site. We will proceed to remove your API keys if we noticed that load testing was done on our test site.
1.1. These Terms of Use govern your access to and use of our services, including the application (whether as software or as a website or otherwise), its contents (including APIs, if any), push notifications and all other accompanying materials as identified in the Schedule below (collectively, the "Service”).
1.2. This Service is provided to you by the Government Technology Agency ("GovTech"). GovTech’s office is located at 10 Pasir Panjang Road, #10-01, Mapletree Business City, Singapore 117438.
1.3. By accessing or using any part of this Service, you unconditionally agree and accept to be legally bound by these Terms of Use and any amendments thereto from time to time. GovTech reserves the right to amend these Terms of Use at its sole discretion and at any time, with or without notice to you. Please read the Terms of Use carefully each time you access or use any part of this Service as (without prejudice to any other means your agreement to the Terms of Use as amended may manifest) such access or use shall constitute your agreement to the Terms of Use and any amendments to it. Your failure to do so shall not prejudice the effect or enforceability of the Terms of Use or any amendments thereto. GovTech may, at its sole discretion and without prejudice to its other rights under this Clause 1.3, also amend these Terms of Use by providing you with notice effective immediately or such other time designated by GovTech, and such notice may be provided by any means GovTech deems appropriate (for example, by posting the notice through the Service, any website related to the Service, or by email).
1.4. If you do not agree to these Terms of Use, please do not use this Service or any part of this Service.
1.5. If you are accessing or using the Service for and on behalf of another entity (such as your employer), you warrant and represent that you have the necessary authority to bind such entity to these Terms of Use.
Please see the Schedule for more information and terms concerning this Service.
3.1. The Service, including the materials made available on or through the Service, is owned by, licensed to, managed or controlled by GovTech. Please see clause 4 (Third Party Materials) for more information.
3.2. Subject to these Terms of Use, GovTech grants to you a non-exclusive, revocable, and non-transferable right to access and use the Service for personal or internal purposes only, and only for such use permitted by the functions of the Service and intended by GovTech.
3.2A You shall not, and shall not authorise or permit any third party to:
3.2A.1 bypass or circumvent any technical restrictions or digital protection measures in the Service or attempt to circumvent any such restrictions;
3.2A.2. reverse engineer, decompile, disassemble, modify, translate, adapt or create derivative works of the Service (whether in relation to its source code, object code, underlying structure, ideas, algorithms or otherwise);
3.2A.3. reproduce, publish, distribute, transfer, publicly display, resell, rent, lease, or sublicense the Service, or loan, lend, pledge, assign, or otherwise encumber the Service to or in favour of any third party;
3.2A.4. remove or obscure the copyright, trademark and other proprietary notices contained on or in the Service;
3.2A.5. use the Service in any manner that is contrary to any applicable laws or regulations or rights of third parties (however arising and of whatever nature), or in a manner that constitutes harmful, fraudulent, or obscene activity;
3.2A.6. make the Service available in or through a network, file-sharing service, service bureau or any similar timesharing arrangement or as a managed service provider;
3.2A.7. perform any benchmarking tests or analyses of the Service;
3.2A.8. use the Service to create anything that would compete with the Service;
3.2A.9. transfer, assign or permit the sharing of license keys to or with a third party;
3.2A.10. use the Service to process or permit to be processed any code of a third party;
3.2A.11. provide third party access to the Service; or.
3.2A.12. export the Service in violation of any international sanctions or laws applicable to US entities.
3.2B All express or implied rights to the Service not specifically granted herein are expressly reserved to GovTech.
3.3. GovTech reserves the right to:
3.3.1. Update or modify this Service from time to time;
3.3.2. Deny or restrict access to or use of the Service by any particular person without ascribing any reasons whatsoever; and
3.3.3. Discontinue or terminate this Service at any time without notice or liability to you whatsoever, whereupon all rights granted to you hereunder shall also terminate forthwith. You shall further upon notice from GovTech return or destroy all copies of the Service or materials therein that you may have been provided with.
3.4. You will not interfere or attempt to interfere with the proper working of the Service or otherwise do anything that imposes an unreasonable or disproportionately large load on GovTech’s servers.
3.5. You shall comply with all set-up procedures and requirements, as well as all policies, guidelines, rules, notices and instructions relating to the Service as may be issued by and/or amended by GovTech from time to time.
3A.1. You are solely responsible for maintaining the confidentiality and security of any authentication credentials associated with your use of the Service, including the security of any of your devices which store the authentication credentials.
3A.2. GovTech shall be entitled, but not obliged, to verify the identity of the person using the Service. Without prejudice to the foregoing, GovTech is not under any duty to verify that any biometric identifier used with the Service, or on your device, belongs to you.
3A.3. GovTech shall have the sole and absolute discretion to invalidate any authentication credentials at any time, or require you to have to re-authenticate or refresh your authentication credentials at any time, without having to give any reason for the same.
3A.4. GovTech shall be entitled, but not obliged, to act upon or rely on any instructions, information, transmissions of data, or communications received from the account or use of the Service in relation to your authentication credentials, as if such instructions, information, data or communications were issued by you, whether or not the same was authorized by you.
3A.5. For the avoidance of doubt, you are solely responsible for any loss of whatever nature arising from unauthorized or unofficial modifications made to your device which permit or escalate privileged access, or remove restrictions to such access, which are not intended by the manufacturer or provider of your device or operating system of your device (e.g., “rooting” or “jailbreaking” your mobile phone).
4.1. The Service may require, enable or facilitate access to or use of software or services of a third party (“Third Party”). In such an event, there may be terms of use of the third party software or service (the “Third Party Terms”). GovTech may be required under or as a result of the Third Party Terms to notify you of certain terms that apply to you (either directly as an end user, or as a party whose acts or omissions could cause GovTech to breach the Third Party Terms) when you use the Services. An example of Third Party Terms may be open source software terms or standard form terms of the distribution platform from which you obtain any part of the Service (e.g. Google Play Store or Apple App Store terms) which bind GovTech as a developer or user of the distribution platform (the “Distribution Terms”). Information on the Third Party Terms are embedded in the Service, already accounted for in these Terms of Use, publicly available (e.g the Distribution Terms) or otherwise indicated in the Schedule herein. For the avoidance of doubt, insofar as this Clause 4 relates to the Distribution Terms, the relevant Distribution Terms are the terms of the specific platform from which you obtained a copy of the software or application that is part of the Service. For example, if you obtained the said copy from the Google Play Store, then the relevant terms are Google’s Distribution Terms.
4.2. It is your responsibility to check and read the most up-to-date versions of these Third Party Terms and you are deemed to have notice of the same. In particular, you are deemed to have notice of the Third Party Terms that GovTech (under the Third Party Terms) is required to notify you, and you unconditionally agree to be bound by all the obligations in the Third Party Terms which are applicable to you (whether as end user, or as a party whose acts or omissions could cause GovTech to breach the Third Party Terms, or otherwise). For the avoidance of doubt, where Third Party Terms are listed, such Third Party Terms shall be deemed to include any privacy policies and acceptable use policies as are applicable to you.
4.3. If the Third Party Terms require you to enter into an agreement directly with the Third Party, then you unconditionally agree to enter into such agreement, and in any event, to be legally bound by the Third Party Terms. For the avoidance of doubt:
4.3.1. some Third Party Terms (particularly open-source terms) permit either a direct licence to you from the Third Party or a sublicence from GovTech to you. In such cases, your licence is a direct licence from the Third Party to you; and
4.3.2. the terms of your agreement with the Third Party will govern your use of the relevant third party software or service, and not these Terms of Use.
4.4. If the Third Party Terms expressly or impliedly require GovTech to incorporate certain terms in these Terms of Use (inclusive of terms which impose any minimum or maximum standards herein, and/or terms described in Clause 4.5 below), such terms are deemed to have been so incorporated (the “Incorporated Terms”). Examples of Incorporated Terms include provisions which require GovTech to give you notice of certain rights and liabilities or require GovTech to ensure that you acknowledge certain matters. Similarly, if the Third Party Terms expressly or impliedly require these Terms of Use to be altered such that the Third Party Terms are complied with, the parties herein agree that the Terms of Use shall be deemed to be so altered but only to the extent necessary for compliance.
4.5. Some Third Party Terms grant the Third Party, or require GovTech to grant the Third Party, direct rights of enforcement of these Terms of Use as a third party beneficiary, against you. Such Third Party Terms are deemed to have been incorporated into these Terms of Use as Incorporated Terms, and you hereby agree to grant such Third Party, such direct rights of enforcement against you.
4.5A Unless the applicable Third Party Terms permit you to commence legal proceedings against the relevant Third Party, you shall not threaten or commence legal proceedings against a Third Party without GovTech’s prior written approval.
4.6. For the avoidance of doubt, without prejudice to Clause 4.4, to the extent of any inconsistency between these Terms of Use and the Third Party Terms, the latter shall prevail provided nothing in the Third Party Terms increases the liability of GovTech beyond that stated in Clause 6.
4.7. Without prejudice and in addition to the foregoing, GovTech shall not be responsible for your use of any software or service of a Third Party.
5.1. You hereby grant to GovTech a non-exclusive, worldwide, perpetual and royalty-free right to collect, use, disclose, process, modify, adapt, create derivative works of, reproduce, and sublicense any and all information or data submitted, uploaded or shared by you to the extent necessary to provide the Service or for any other purpose expressly or impliedly provided in these Terms of Use, or as permitted by law.
5.2. Use of the Service may require you to allow access by the Service to certain functions of your device, such as push notifications, the obtaining and/or sharing of your location, or the collection of data from you in connection with the Service. Your use of the Service shall constitute your consent to the access by the Service of such functions of your device as may be reasonably required by the Service.
5.3. You further irrevocably and unconditionally waive, and shall cause to be irrevocably and unconditionally waived, all existing and future moral rights (including the right of identification) wherever in the world in respect of any information or data submitted, uploaded or shared by you (including feedback, requests or suggestions concerning the Services) to GovTech. Such waiver shall also extend to GovTech’s licencees, assigns and successors-in-title.
5.4. Please also see clause 8 (Privacy Statement).
You agree that all title and interest in any feedback, requests or suggestions from you concerning the Services provided to GovTech shall be owned by GovTech and, without prejudice and in addition to clause 5.3, you shall waive all rights existing in or in respect of the same (including, for the avoidance of doubt, any signature requirements).
5B.1 If you receive information or data (in whatever form) from GovTech or a Third Party which is designated confidential or proprietary or is otherwise reasonably understood to be confidential or proprietary (collectively, “Confidential Information”), you shall not use, disclose or reproduce the Confidential Information except for the purpose for which it was provided to you. If consent to disclose the Confidential Information to a third party is given by GovTech or the Third Party to you, any act or omission in respect of the Confidential Information by that person shall be deemed to be your act or omission and you agree to be fully liable for the same. In all cases, you shall protect the Confidential Information to the same extent you protect your own confidential information but in no event less than a reasonable standard of care. You shall ensure that any recipients are bound by confidentiality terms at least as restrictive as this Clause.
5B.2 You shall destroy any Confidential Information immediately upon request by GovTech or the Third Party.
5B.3 In the event:
5B.3.1 you are, or likely to be, required by an order of court to disclose Confidential Information; or
5B.3.2 you have reasonable grounds to suspect the unauthorised use or disclosure or reproduction of Confidential Information;
you shall immediately notify GovTech or the Third Party of the same and cooperate with GovTech or the Third Party to prevent or limit such disclosure.
5B.4 Nothing in this Clause 5B shall prejudice GovTech’s or the Third Party’s other rights at law.
6.1. The Service is provided on an "as is" and “as available” basis without warranties of any kind. To the fullest extent permitted by law, GovTech does not make any representations or warranties of any kind whatsoever in relation to the Service or its output and hereby disclaims all express, implied and/or statutory warranties of any kind to you or any third party, whether arising from usage or custom or trade or by operation of law or otherwise, including but not limited to any representations or warranties:
6.1.1. as to the accuracy, completeness, correctness, currency, timeliness, reliability, availability, interoperability, security, non-infringement, title, merchantability, quality or fitness for any particular purpose of the Service or its output; and/or
6.1.2. that the Service or its output or any functions associated therewith will be uninterrupted or error-free, or that defects will be corrected or that this Service, its output, website and the server are and will be free of all viruses and/or other malicious, destructive or corrupting code, programme or macro.
6.2. GovTech shall also not be liable to you or any third party for any damage or loss of any kind whatsoever and howsoever caused, including but not limited to any direct or indirect, special or consequential damages, loss of income, revenue or profits, lost or damaged data, or damage to your computer, software or any other property, whether or not arising directly or indirectly from –
6.2.1. your access to or use of this Service or its output, or any part thereof;
6.2.2. any loss of access or use of this Service or any part of this Service or its output, howsoever caused;
6.2.3. any inaccuracy or incompleteness in, or errors or omissions in the transmission of, the Service or its output;
6.2.4. any delay or interruption in the transmission of the Service or its output, whether caused by delay or interruption in transmission over the internet or otherwise; or
6.2.5. any decision made or action taken by you or any third party in reliance upon the Service or its output,
regardless of whether GovTech has been advised of the possibility of such damage or loss.
6.3. Without prejudice and in addition to the foregoing, insofar as the Service facilitates or requires the provision, use or functioning of, or is provided in conjunction with, other products, software, materials and/or services not provided by GovTech, GovTech makes no representation or warranty in relation to such products, software, materials and/or services (including without limitation any representation or warranties as to timeliness, reliability, availability, interoperability, quality, fitness for purpose, non-infringement, suitability or accuracy).
6.4. You shall not rely on any part of the Service or its output to claim or assert any form of legitimate expectation against GovTech, whether or not arising out of or in connection with GovTech’s roles and functions as a public authority. GovTech shall have no responsibility or liability to you or any third party arising out of or in connection with any fraud, phishing, or any other illegal act or omission by other parties in relation to the Service and it is your own responsibility to ensure that the Service you are using or accessing is from a legitimate source.
6.5. You agree to defend and indemnify and keep GovTech and its officers, employees, agents and contractors harmless against all liabilities, losses, damages, costs or expenses (including legal costs on an indemnity basis) howsoever arising out of or in connection with your access or use of the Service (including third party software or services) or its output or your non-compliance with the Terms of Use, Third Party Terms or Incorporated Terms, whether or not you had been advised or informed of the nature or extent of such liabilities, losses, damages, costs or expenses. You warrant and represent that your access or use of the Service and its output does not and will not breach or violate any laws, regulations, trade, economic and/or export sanctions (wherever in the world) applicable to you, and that you shall not transmit any malicious code, illegal, infringing or undesirable content or materials to GovTech or its agents or any Third Party.
6.6. GovTech shall have the right to take any and all necessary actions/omissions to protect its interests, including complying with any legal requirements (such as taking down, disabling and disabling access to, removing (permanently or temporarily), and/or restoring (including restoring access to) any materials contained in, accessed through, uploaded to, and/or made available via the Service in response to any take-down or restoration notices). You agree that GovTech is not obliged to determine the merits of any take-down or restoration notices. You further waive any rights arising as a result of the actions/omissions taken by GovTech.
6.7. Without prejudice and in addition to GovTech’s other rights:
6.7.1. in no event shall GovTech’s total cumulative liability arising out of or in connection with these Terms of Use to you exceed the amount of fees or payment received by GovTech (and not paid or given to any Third Party by GovTech) from you for the Service in the 12 months preceding the date of the first cause of action; and
6.7.2. no action may be brought by you against GovTech arising out of or in connection with these Terms of Use more than one (1) year after the cause of action arose.
7.1. Insofar as the Service provides a hyperlink to material not maintained or controlled by GovTech, GovTech shall not be responsible for the content of the hyperlinked material and shall not be liable for any damages or loss arising from access to the hyperlinked material. Use of the hyperlinks and access to such hyperlinked materials are entirely at your own risk. The hyperlinks are provided merely as a convenience to you and do not imply endorsement by, association or affiliation with GovTech of the contents of or provider of the hyperlinked materials.
7.2. Caching and hyperlinking to, and the framing of, any part of the Service is prohibited save where you have obtained GovTech’s prior written consent. Such consent may be subject to any conditions as may be determined by GovTech in its sole discretion. If you hyperlink to or frame any part of the Service, that shall constitute your acceptance of these Terms of Use and all amendments thereto. If you do not accept these Terms of Use as may be amended from time to time, you must immediately discontinue linking to or framing of any part of the Service.
7.3. GovTech reserves all rights:
7.3.1. to disable any links to, or frames of, any materials which are unauthorised (including without limitation materials which imply endorsement by or association or affiliation with GovTech, materials containing inappropriate, profane, defamatory, infringing, obscene, indecent or unlawful topics, names, or information that violates any written law, any applicable intellectual property, proprietary, privacy or publicity rights); and
7.3.2. to disclaim responsibility and/or liability for materials that link to or frame any part of the Service.
You also agree to the terms of the Government Agency Privacy Statement for this Service as may be amended from time to time. The Government Agency Privacy Statement will form part of these Terms of Use.
Subject to the rights of the Third Party and/or Singapore public sector agencies, a person who is not a party to this Terms of Use shall have no right under the Contract (Rights of Third Parties) Act or otherwise to enforce any of its terms. Variation or rescission of these Terms of Use shall not require the consent of any third party, including any Third Party and/or other Singapore public sector agencies.
10.1. You may not assign or sub-contract this Terms of Use without the prior written consent of GovTech.
10.2. GovTech may assign, novate, transfer, or sub-contract the rights and liabilities in respect of the Service and this Terms of Use, without notifying you and without further reference to you. Your acceptance of this Terms of Use shall also constitute your consent to such assignment, novation, transfer or sub-contract.
If any term of these Terms of Use is held by a court or tribunal of competent jurisdiction to be invalid or unenforceable, then these Terms of Use, including all of the remaining terms, will remain in full force and effect as if such invalid or unenforceable term had never been included but, to the extent permissible, such invalid or unenforceable terms shall be deemed to have been replaced by terms that are (a) valid and enforceable and (b) express the intention or produce the result closest to the original intention of the invalid or unenforceable terms.
In the event of any conflict, inconsistency or ambiguity between or in any one or more terms in these Terms of Use, such conflict, inconsistency or ambiguity shall be resolved in favour of GovTech and the provision or interpretation which is more favourable to GovTech shall prevail. Notwithstanding any other term, GovTech has the sole and absolute discretion to determine which term or interpretation is more favourable to it and such decision shall be binding on you.
These Terms of Use contains the entire and whole agreement concerning the subject matter of these Terms of Use. The Terms of Use supersedes all prior written or oral representations, agreements and/or understandings between GovTech and yourself. Except for amendments by GovTech under these Terms of Use, no amendment to these Terms of Use shall be of any force unless agreed upon in writing by both parties.
10D.1. Any delay, failure or omission on the part of GovTech in enforcing any right, power, privilege, claim or remedy (“Remedy”), which is conferred under the Terms of Use or at law or in equity, or arises from any breach by you, shall not (a) be deemed to be or be construed as a waiver or variation of the Remedy, or of any other such Remedy, in respect of the particular circumstances in question, or (b) operate so as to bar the enforcement or exercise of the Remedy, or of any other such Remedy in any other subsequent instances.
10D.2. No waiver by GovTech of any breach of the Terms of Use by you shall be deemed to be a waiver of any other or of any subsequent breach.
10D.3. Any waiver by GovTech granted under the Terms of Use must be in writing and may be given subject to conditions. Such waiver under the Terms of Use shall be effective only in the instance and for the purpose for which it is given.
11.1. These Terms of Use shall be governed by and construed in accordance with laws of Singapore.
11.2. Subject to clause 11.3, any dispute arising out of or in connection with these Terms of Use, including any question regarding its existence, validity or termination, shall be referred to and finally resolved in the Courts of the Republic of Singapore and the parties hereby submit to the exclusive jurisdiction of the Courts of the Republic of Singapore.
11.3. GovTech may, at its sole discretion, refer any dispute referred to in clause 11.2 above to arbitration administered by the Singapore International Arbitration Centre (“SIAC”) in Singapore in accordance with the Arbitration Rules of the SIAC ("SIAC Rules") for the time being in force, which rules are deemed to be incorporated by reference in this clause. Further:
11.3.1. The seat of the arbitration shall be Singapore.
11.3.2. The tribunal shall consist of one (1) arbitrator.
11.3.3. The language of the arbitration shall be English.
11.3.4. All information, pleadings, documents, evidence and all matters relating to the arbitration shall be confidential.
Where GovTech is the defendant or respondent, it shall be given at least 30 days before the commencement of any legal action against it to elect to exercise the right herein to have the dispute submitted to arbitration. This right to elect shall not prejudice GovTech’s right to a limitation defence and the period to exercise the right shall not be abridged by reason of any accrual of a limitation defence in favour of GovTech during the said period.
These Terms of Use are dated 4 June 2024.
a. Notwithstanding anything in the Terms of Use, the Service is intended for use by members of public for internal and external testing.
b. This Service is a tool for the permitted entities (listed in sub-paragraph 2a. above) to receive incoming calls from verified Singapore government officers.
c. You are responsible for ensuring that your use of the Service is compliant with all applicable laws, including without limitation the Personal Data Protection Act and the Spam Control Act.
d. GovTech is not responsible for the content of the calls between government officers and members of public.
e. You warrant and represent to GovTech that (without prejudice to GovTech’s other rights in the Terms of Use such as Clauses 3.2 and 6) you have full rights to use such third party services within or with the Service and your acts and/or omissions in respect of the such services will not cause GovTech to incur liability to any third party, including the service provider.
f. Please note that GovTech may collect, store and/or process data created by the Service. Please see the Privacy Statement for more details.
This Government Agency Privacy Statement (“Privacy Statement”) must be read in conjunction with the Terms of Use that accompany the applicable service you are requesting from us (the “Service”).
This is a Government Agency digital service.
Please note that:
2.1. We will use your mobile phone number to enable push notifications from Apple Push Notification server (APNS) or Firebase Cloud Messaging.
Please see the Annex for any additional terms or information.
Nothing in this Privacy Statement shall be construed as limiting or prejudicing our rights at law to collect, use or disclose any data without your consent or agreement.
We may request or collect certain types of data from you in connection with your access or use of the Service. The data that may be requested/collected include those identified in the Annex herein. Your data may be stored in our servers, systems or devices, in the servers, systems or devices of our third party service providers or collaborators, or on your device, and may be used by us or our third party service providers or collaborators to facilitate your access or use of the Service. We or our third party service providers or collaborators may collect system configuration information and/or traffic information (such as an IP address) and/or use information or statistical information to operate, maintain or improve the Services or the underlying service of the third party service provider or collaborator. For the avoidance of doubt, in this Privacy Statement, a reference to a third party service provider or collaborator includes other third parties who provide a service or collaborate with our third party service provider or collaborator.
If you provide us with personal data, or where we collect personal data from you:
6.1. We may use, disclose and process the data for any one or more of the following purposes:
6.1.1. to assist, process and facilitate your access or use of the Service;
6.1.2. to administer, process and facilitate any transactions or activities by you, whether with us or any other Government Agency or third party service provider or collaborator, and whether for your own benefit, or for the benefit of a third party on whose behalf you are duly authorized to act;
6.1.3. to carry out your instructions or respond to any queries, feedback or complaints provided by (or purported to be provided by) you or on your behalf, or otherwise for the purposes of responding to or dealing with your interactions with us;
6.1.4. to monitor and track your usage of the Service, to conduct research, data analytics, surveys, market studies and similar activities, in order to assist us in understanding your interests, concerns and preferences and improving the Service (including any service of a third party service provider or collaborator) and other services and products provided by Government Agencies. For the avoidance of doubt, we may also collect, use, disclose and process such information to create reports and produce statistics regarding your transactions with us and your usage of the Services and other services and products provided by Government Agencies for record-keeping and reporting or publication purposes (whether internally or externally);
6.1.5. for the purposes of storing or creating backups of your data (whether for contingency or business continuity purposes or otherwise), whether within or outside Singapore;
6.1.6. to enable us to contact you or communicate with you on any matters relating to your access or use of the Service, including but not limited to the purposes set out above, via email, push notifications or such other forms of communication that we may introduce from time to time depending on the functionality of the Service and/or your device.
6.2. We may share necessary data with other Government Agencies, and third party service providers or collaborators in connection with the Service, so as to improve or facilitate the discharge of public functions and/or serve you in the most efficient and effective way, unless such sharing is prohibited by law.
6.3. We may share your personal data with non-Government Agency entities that have been authorised to carry out specific Government Agency services. We will NOT share your personal data with other non-Government Agency entities without your consent, except where such sharing is necessary for fulfilling any of the purposes herein, or complies with the law.
6.4. For your convenience, we may also display to you data you had previously supplied us or other Government Agencies. This will speed up the transaction and save you the trouble of repeating previous submissions. Should the data be out-of-date, please supply us the latest data.
6A. Please note that we may be required to disclose your data by law, including any law governing the use/provision of any service of a third party service provider or collaborator.
You may withdraw your consent to the use and disclosure of your data by us with reasonable notice and subject to any prevailing legal or contractual restrictions; however, doing so may prevent the proper functioning of the Service and may also result in the cessation of the Service to you.
To safeguard your personal data, all electronic storage and transmission of personal data is secured with appropriate security technologies.
The Service may contain links to external sites or services whose data protection and privacy practices may differ from ours. We are not responsible for the content and privacy practices of these other websites or services and encourage you to consult the privacy notices of those sites or services.
10.1. have any enquires or feedback on our data protection policies and procedures; or
10.2. need more information on or access to data which you have provided to us directly in the past.
In this Privacy Statement, “Government Agency” refers to an Organ of State, Ministry, Department or Statutory Board and “personal data” shall have the same meaning as its definition in the Personal Data Protection Act 2012 (No. 26 of 2012), provided our obligations in respect of personal data under this Privacy Statement do not apply to:
11.1. Business contact information; and
11.2. Personal data of a deceased individual. However, clauses relating to the disclosure of personal data and protection of personal data shall apply in respect of the personal data of an individual who has been dead for 10 or less years.
This version of the Privacy Statement is dated 17 March 2025.
Types of data requested/collected:
a. If you are a user, please note that GovTech will collect your mobile phone number and store it with Twilio for enabling push notifications for incoming calls.
This version of the Privacy Policy is dated 17 March 2025.
Please access our SFTP documents .
You should not be using postman to conduct load testing. Please refer to for more information.
Load testing on Postman will only be available a separate site, not the test site. Please refer to for more information.
Twilio, Inc.’s , Acceptable Use Policy, Privacy Policy ()
Google distribution terms ()
Apple distribution terms ()
Please contact if you:
Name of Service: Call App