FAQs (API)

circle-info

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.

API Keys & Authentication

chevron-rightHow do I obtain my API keys?hashtag

API keys are generated from the Postman Admin Portal. You will first need to:

  1. Create a campaign and obtain a campaign ID

  2. Whitelist your IP address

  3. 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.sgarrow-up-right.

chevron-rightDo API keys expire?hashtag

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.

chevron-rightDoes each agency get one API key, or can each system have its own?hashtag

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.

chevron-rightWhat authentication method does Postman use?hashtag

Postman uses HTTP Bearer Auth. Include your API key in the Authorization header of every request:

Authorization: Bearer YOUR_API_KEY

All API calls must be made over HTTPS. Calls over plain HTTP will fail, and requests without authentication will return HTTP 401.

IP Address Whitelisting

chevron-rightWhat type of IP addresses can I whitelist?hashtag

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.

chevron-rightHow many IP addresses can I whitelist?hashtag

You can whitelist up to 20 IP addresses per campaign on the admin portal.

chevron-rightDoes Postman accept CIDR blocks?hashtag

No, you need to whitelist individual IP addresses. Bulk upload is also not supported; you will need to add them one at a time.

chevron-rightWhat is Postman's IP address?hashtag

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.

chevron-rightDo I need to open any firewall rules?hashtag

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

chevron-rightShould I use Single Send or Batch Send?hashtag

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).

chevron-rightHow do I add line breaks in my single send API request?hashtag

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.

chevron-rightWhere do I find my campaign ID?hashtag

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

chevron-rightHow do I check if my message was delivered?hashtag

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.

chevron-rightHow long does it take for a message to be delivered?hashtag

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).

chevron-rightDoes Postman provide a webhook for delivery status updates?hashtag

No, webhooks are not currently supported. You must poll the Retrieve Message or Retrieve Batch endpoint to check for status changes.

chevron-rightWill Postman automatically retry failed messages?hashtag

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.

chevron-rightWhat does the status sent_to_telco mean? Is the message delivered?hashtag

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

chevron-rightWhat is the default rate limit?hashtag

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.

chevron-rightHow do I request a higher TPS?hashtag

Submit a request via the contact formarrow-up-right with your use case and ideal TPS. We require evidence of historical usage (not from Postman test logs).

chevron-rightFor 5xx server errors, will my requests be queued?hashtag

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.

chevron-rightWhat happens when I hit the rate limit?hashtag

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

chevron-rightI am a vendor helping a government agency with API integration. How do I get access?hashtag

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 responsearrow-up-right.

Testing

chevron-rightWhere can I test the Postman API?hashtag

Use the test environment at test.postman.gov.sgarrow-up-right 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 environmentarrow-up-right instead.

chevron-rightDo I need to conduct a load test before going to production?hashtag

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 environmentarrow-up-right and book a time slotarrow-up-right at least five day in advance.

chevron-rightAre messages sent in the test environment charged?hashtag

No, messages sent in the test environment are not charged. These messages are for testing purposes only and cannot be sent to members of the public.

Last updated

Was this helpful?