{"info":{"_postman_id":"6998cae2-0c57-4c13-aa86-263af6d7bd43","name":"RaySMS Public SMS Catalog — Read-only Examples","description":"<html><head></head><body><p>Explore the public RaySMS catalog before choosing an SMS receiving service. This collection has three read-only GET requests for service codes, country identifiers and current offers.</p>\n<p>No account, API key or Authorization header is needed for these public catalog requests. These examples do not allocate a phone number, purchase an order or charge a wallet.</p>\n<h2 id=\"quick-start\">Quick start</h2>\n<ol>\n<li>Send <strong>List services</strong> to find a service code. Examples currently include <code>dr</code> (OpenAI), <code>go</code> (Google/YouTube/Gmail) and <code>tg</code> (Telegram).</li>\n<li>Send <strong>List countries</strong> to map country identifiers to names.</li>\n<li>Send <strong>Get current offers</strong>. Change the <code>service</code> collection variable as needed. Optionally enable its disabled <code>country</code> query parameter and enter an ID returned by the country list.</li>\n</ol>\n<p>All three endpoints return an object containing an <code>items</code> array. Quote rows include <code>service</code>, <code>country</code>, <code>count</code>, <code>price_micros</code> and <code>price_usd</code>. Keep <code>price_micros</code> as an integer: 1,000,000 micro USD = USD 1. Use integer comparison or decimal arithmetic for precise prices; do not rely on rounded display text. A country may have multiple offers.</p>\n<p>Prices and available stock can change. An empty offers array means no matching offers were returned at that moment; a quote does not reserve stock or guarantee acceptance by the destination service. On HTTP 429, pause and follow Retry-After if present. On network or upstream errors, stop and retry later rather than running a tight loop.</p>\n<p><a href=\"https://raysms.com/en/guides/sms-api-python\">Python walkthrough</a> · <a href=\"https://raysms.com/en/guides/openai-google-telegram-sms\">OpenAI, Google and Telegram guide</a> · <a href=\"https://raysms.com/en/\">RaySMS</a></p>\n<p>Published by the RaySMS operator. These examples describe the public RaySMS API, not an official OpenAI, Google or Telegram integration.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"48588223","collectionId":"6998cae2-0c57-4c13-aa86-263af6d7bd43","publishedId":"2sBYHSz1TP","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-10-20T04:25:03.000Z"},"item":[{"name":"List services","id":"f97deede-fbb8-4fec-be4e-d47776a042ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://raysms.com/api/catalog/services?lang=en","description":"<p>Returns <code>{\"items\":[...]}</code>. Each service has <code>code</code> and <code>name</code>. Copy a returned code into the collection's <code>service</code> variable before requesting offers. Service presence does not imply every country currently has stock.</p>\n","urlObject":{"path":["api","catalog","services"],"host":["https://raysms.com"],"query":[{"description":{"content":"<p>Language for service names; en by default.</p>\n","type":"text/plain"},"key":"lang","value":"en"}],"variable":[]}},"response":[],"_postman_id":"f97deede-fbb8-4fec-be4e-d47776a042ce"},{"name":"List countries","id":"91ddf7ec-25b2-4ea5-a037-9b75e0ca165a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://raysms.com/api/catalog/countries?lang=en","description":"<p>Returns <code>{\"items\":[...]}</code>. Each country has <code>id</code> and <code>name</code>. IDs are catalog identifiers, not international telephone dialing codes. This is the country directory; current stock for a service comes from Get current offers.</p>\n","urlObject":{"path":["api","catalog","countries"],"host":["https://raysms.com"],"query":[{"description":{"content":"<p>Language for country names; en by default.</p>\n","type":"text/plain"},"key":"lang","value":"en"}],"variable":[]}},"response":[],"_postman_id":"91ddf7ec-25b2-4ea5-a037-9b75e0ca165a"},{"name":"Get current offers","id":"bc483f36-c9c1-42d7-a65a-36940e31bdbe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://raysms.com/api/catalog/prices?service=dr","description":"<p>Returns current offers in <code>items</code> and <code>currency: USD</code>. Each row contains <code>service</code>, <code>country</code>, <code>count</code>, integer <code>price_micros</code> and display string <code>price_usd</code>. Compare integer micro USD for exact amounts. A country can have several distinct offers. Leaving the country parameter disabled queries all returned countries for the selected service. This GET request does not reserve or buy a number.</p>\n","urlObject":{"path":["api","catalog","prices"],"host":["https://raysms.com"],"query":[{"description":{"content":"<p>Required service code returned by List services.</p>\n","type":"text/plain"},"key":"service","value":"dr"},{"disabled":true,"description":{"content":"<p>Optional numeric country ID. Set the country variable before enabling this parameter.</p>\n","type":"text/plain"},"key":"country","value":""}],"variable":[]}},"response":[],"_postman_id":"bc483f36-c9c1-42d7-a65a-36940e31bdbe"}],"variable":[{"key":"base_url","value":"https://raysms.com","description":"Public RaySMS origin. No trailing slash."},{"key":"language","value":"en","description":"Catalog name language. Examples: en, zh, ru, es."},{"key":"service","value":"dr","description":"Choose a current code from List services. dr = OpenAI; go = Google/YouTube/Gmail; tg = Telegram."},{"key":"country","value":"","description":"Optional numeric country ID from List countries. Set it and enable the disabled country query parameter to filter offers."}]}