Postguy
Reference

Dynamic variables

Every built-in dynamic variable (65 names) with the shape of the value it generates.

Dynamic variables start with $. Postguy generates a fresh value for every occurrence. Write them like any other variable, for example {{$guid}} in a URL, header, body or auth field. Two occurrences in the same request give two different values.

POST {{baseUrl}}/users
X-Request-Id: {{$guid}}

{"email": "{{$randomEmail}}", "age": {{$randomInt}}}
  • Names are case-sensitive. The list below is complete. The single source is the KNOWN_NAMES table in crates/vars/src/dynamic.rs.
  • An unknown $ name is reported as unresolved and stays literal in the text.
  • Random values come from the fastrand generator, which is not cryptographic. Never use them as real secrets.
  • Word lists (names, cities, lorem words) are small lists written for this project, so values repeat often.
  • See Variables for scopes and precedence.

Common

NameValue
$guidA random UUID v4, 36 characters, for example 3f2b8c1e-....
$randomUUIDThe same generator as $guid.
$timestampCurrent Unix time in whole seconds.
$isoTimestampCurrent UTC time as ISO 8601 with a fixed .000 millisecond part, for example 2026-10-19T08:10:36.000Z.

Numbers and text

NameValue
$randomIntAn integer from 0 to 1000 inclusive.
$randomAlphaNumericOne lowercase letter or digit.
$randomBooleantrue or false.
$randomHexColor# followed by the lowercase hexadecimal of a random number below 0x1000000 (at least two digits, not zero-padded to six).
$randomColorA CSS colour name such as coral or crimson.
$randomPriceA decimal from 0.00 to 1000.00 with two decimals.
$randomSemvermajor.minor.patch, with major 0 to 9, minor 0 to 19, patch 0 to 29.

Internet

NameValue
$randomIPFour octets, each 0 to 255.
$randomIPV6Eight groups of four lowercase hex digits joined by : (no :: compression).
$randomMACAddressSix uppercase hex pairs joined by :.
$randomPassword15 lowercase letters and digits.
$randomUserAgentOne of four fixed user-agent strings.
$randomProtocolhttp or https.
$randomDomainNameword.suffix, for example river.dev.
$randomDomainSuffixOne of com, net, org, io, dev.
$randomDomainWordOne word from the project word list.
$randomUrlhttps://www.example.<suffix>/<word>.
$randomEmailfirstname.N@example<suffix> with N from 0 to 999. The suffix is appended with no dot, so one result looks like jane.42@examplecom.
$randomExampleEmailfirstname.N@gmail.com (N from 0 to 999).
$randomUserNamefirstname_N in lowercase (N from 1 to 9999).

People and places

NameValue
$randomFirstNameA first name from the word list.
$randomLastNameA last name from the word list.
$randomFullNameFirst name, space, last name.
$randomNamePrefixOne of Mr., Ms., Mrs., Dr..
$randomNameSuffixOne of PhD, Jr, III, MD.
$randomPhoneNumber+1-555-NNNN-NNNN, with four digits in each group.
$randomCityA city from the word list.
$randomStreetNameA street name such as Alder Street.
$randomStreetAddressA number from 1 to 9998 followed by a street name.
$randomCountryA country name from the word list.
$randomCountryCodeThe two-letter code of a country from the same list.
$randomLatitudeA decimal from -90 to 90 with six decimals.
$randomLongitudeA decimal from -180 to 180 with six decimals.
$randomJobTitleA job title from the word list.
$randomCompanyNameA prefix (such as Nova, Aster), a space, a word and a tail (Labs, Systems, Group, Works, Studio, IO) with no space before the tail.

The country, currency and name lists are independent. $randomCountry and $randomCountryCode are two separate draws, so they may not describe the same country.

Dates

NameValue
$randomDateFutureISO 8601 UTC time between 60 seconds and one year after now.
$randomDatePastISO 8601 UTC time between 60 seconds and one year before now.
$randomDateRecentISO 8601 UTC time between 5 seconds and one hour before now.
$randomWeekdaySunday to Saturday.
$randomMonthJanuary to December.

Finance

NameValue
$randomCurrencyCodeA currency code such as EUR, USD, JPY.
$randomCurrencyNameA currency name such as Euro, US Dollar.
$randomCurrencySymbolA currency symbol such as €, $, kr.
$randomBankAccountNine random digits.
$randomBitcoinAn amount with eight decimals followed by BTC.

The three currency names are independent draws, like the country ones.

Text

NameValue
$randomWordOne word from the project word list.
$randomWords2 to 6 lorem words separated by spaces.
$randomPhrase2 to 5 lorem words separated by spaces.
$randomLoremWordOne lorem word.
$randomLoremWords2 to 6 lorem words separated by spaces.
$randomLoremSentence5 to 12 lorem words, capitalised, ending in a period.
$randomLoremSentences2 to 5 sentences joined by spaces.
$randomLoremParagraph3 to 7 sentences joined by spaces.
$randomLoremParagraphs2 to 4 paragraphs separated by a blank line.
$randomLoremTextThe same generator as $randomLoremParagraph.
$randomLoremSlug2 or 3 lorem words joined by -.

Files

NameValue
$randomFileNameword.ext, for example river.json.
$randomFileExtOne of txt, json, png, jpg, pdf, mp3, zip, csv, md, svg.
$randomFileTypeOne of plain-text, json, image, binary, archive, audio, video, document, spreadsheet, vector.
$randomMimeTypeA MIME type such as application/json, text/plain, image/png.
$randomFilePath/home/user/<word>/<word>.<ext>.
If a script needs one random value to stay the same across requests, generate it once and keep it with pg.setVar. Runtime variables live for the session. See the scripting API.
Copyright © 2026