FAQs (API)
Still need help? Postman is a fully self-service platform however we understand there may be times where you would like to reach out to someone.
Kindly reach out to your PICs first who will be able provide you with more agency specific context on Postman
Should your PIC be unable to assist, you may reach out to the Postman team. In our responses, we will also be cc-ing your PICs.
API Keys & Authentication
How do I obtain my API keys?
API keys are generated from the Postman Admin Portal. You will first need to:
Create a campaign and obtain a campaign ID
Whitelist your IP address
Generate your API keys
You can only obtain your API keys after you have whitelisted your IP address. Each campaign can have up to 3 API keys. For testing, you can obtain your API keys on test.postman.gov.sg.
Do API keys expire?
No, API keys have no expiry. If you need a new API key, you can delete the old key and generate a new one from the campaign settings.
Does each agency get one API key, or can each system have its own?
API keys are tied to each campaign, not to agencies. Each campaign can have up to 3 API keys. The number of keys depends on how many campaigns your agency has created.
What authentication method does Postman use?
Postman uses HTTP Bearer Auth. Include your API key in the Authorization header of every request:
Authorization: Bearer YOUR_API_KEYAll API calls must be made over HTTPS. Calls over plain HTTP will fail, and requests without authentication will return HTTP 401.
IP Address Whitelisting
What type of IP addresses can I whitelist?
You must whitelist static public IP addresses. These must be the IP addresses you are using to call the Postman API. If you are connecting via VPN, whitelist the VPN's public IP address.
How many IP addresses can I whitelist?
You can whitelist up to 20 IP addresses per campaign on the admin portal.
Does Postman accept CIDR blocks?
No, you need to whitelist individual IP addresses. Bulk upload is also not supported; you will need to add them one at a time.
What is Postman's IP address?
We do not provide our IP address. You can whitelist our domain name instead. If you really need the IP address, you can resolve the domain to find it, but you will be responsible for updating it if it changes.
Do I need to open any firewall rules?
You will need to whitelist your IP addresses with us before you can obtain your API keys. There are no additional firewall rules required on Postman's side. Whitelisting the source IP address is sufficient for you to use Postman to send SMSes.
Sending Messages
Should I use Single Send or Batch Send?
Use Single Send for time-sensitive, critical SMSes like OTPs or weather alerts. OTP messages via Single Send are given the highest priority in the message queue. Use Batch Send for sending to multiple recipients in a single API call via CSV upload. Batch send messages are given lower priority than single send messages. For single send, 1 TPS = 1 API call = 1 message. For batch send, 1 TPS = 1 API call = multiple messages (one per row in the CSV).
How do I add line breaks in my single send API request?
Add \n into the JSON request body. Make sure your request body is in valid JSON format.
For batch send CSV files, use keyboard line breaks directly within the CSV cell instead of \n.
Where do I find my campaign ID?
Your campaign ID is generated when you create a campaign on the Postman admin portal. You can find it in the campaign settings page. Refer to our API documents for more information.
Message Status & Delivery
How do I check if my message was delivered?
The response from the Single Send or Batch Send endpoint only confirms the message was created. You must poll the Retrieve Message or Retrieve Batch endpoint to get the latestStatus.
Webhooks for delivery status updates are not currently supported.
How long does it take for a message to be delivered?
Postman does not publish specific SLAs on delivery timing. The time taken depends on system load at the point of sending. Message delivery speeds may be slower during peak periods (8:00 am to 6:00 pm daily).
Does Postman provide a webhook for delivery status updates?
No, webhooks are not currently supported. You must poll the Retrieve Message or Retrieve Batch endpoint to check for status changes.
Will Postman automatically retry failed messages?
No. You must manually retry failed messages using the Single Send - Retry or Batch Send - Retry endpoint. Each message can be retried up to 3 times.
What does the status sent_to_telco mean? Is the message delivered?
sent_to_telco means the messaging service provider has sent the message to the recipient's telco, but it may or may not have been delivered to the recipient's phone (e.g. the phone could be off or in airplane mode).
If the status remains sent_to_telco beyond 48 hours, it is unlikely that a further update will be received. This is a telco limitation. You may compose a new message if needed, though there is a possibility of the recipient receiving the same message twice.
Rate Limits & Errors
What is the default rate limit?
The default rate limit is 10 TPS (transactions per second) per campaign ID. This is the number of API calls per second, not the number of messages. The rate limit is shared across all API endpoints for a campaign. For example, if you call Single Send at 6 TPS, Retrieve Message at 2 TPS, and Batch Send at 4 TPS simultaneously, that totals 12 TPS and you will hit the rate limit.
How do I request a higher TPS?
Submit a request via the contact form with your use case and ideal TPS. We require evidence of historical usage (not from Postman test logs).
For 5xx server errors, will my requests be queued?
No. Requests are not queued on Postman's side for 5xx errors. You will need to retry these requests yourself. Implement exponential backoff in your retry logic.
What happens when I hit the rate limit?
Postman will drop the request and return HTTP 429 Too Many Requests. Dropped requests are not queued. You are responsible for implementing retry mechanisms (e.g. exponential backoff). Your campaign's TPS will not be increased because you hit the rate limit.
Vendor Access
I am a vendor helping a government agency with API integration. How do I get access?
Postman does not grant portal access to vendors with non-whitelisted email domains. The agency officer should: 1. Log into Postman and create the campaign 2. Craft the message template 3. Whitelist the vendor's IP addresses 4. Generate the API keys and pass them to the vendor Vendors will use the API keys provided by the agency for integration. If you have questions about the API, include the contact details of the government officer-in-charge and their agency email address in your form response.
Testing
Where can I test the Postman API?
Use the test environment at test.postman.gov.sg for functional integration testing. The test environment API base URL is:
https://test.postman.gov.sg/api/v2
Do not use the production environment for testing. Non-compliance will be reported to your agency's CIO.
The test site has a CSV file limit of 20 rows. Do not conduct load testing on the test site. Use the load test environment instead.
Do I need to conduct a load test before going to production?
Load testing is optional. Postman meets internal load test standards and has successfully supported multiple nationwide campaigns. If you do wish to load test, you must use the dedicated load test environment and book a time slot at least five day in advance.
Last updated
Was this helpful?