List messages
GET /api/rent_email.php?method=get_mails
Send a GET request and check JSON status, even with HTTP 200: 1 means success, 0 means failure, and 2 means no mailbox was available when creating a rental. Error details may be in msg, errormsg and errorid.
Authentication
Send apikey as a required query parameter.
Parameters
| Name | Location | Type | Required | Example | Description |
|---|---|---|---|---|---|
apikey | query | string | Yes | SMSPVA_API_KEY | Account API key. Reading messages and managing a rental require the order owner's key. |
method | query | string | Yes | "get_mails" | Method selector. |
orderid | query | integer | Yes | 123456 | Order ID from Create Order, Active Orders or Archived Orders, as appropriate for this method. |
t | query | integer | No | 50 | Page size. |
s | query | integer | No | 0 | Pagination offset. |
sq | query | string | No | "verification" | Search string. URL-encode this value. |
How to use this method
List message previews for a rental you own. Get orderid from Active orders. Use t for page size, s for the offset, and URL-encode the optional search value sq.
To read a message, pass its id as emailid to Message body. An empty data array means the request succeeded but no messages matched.
Request examples
Environment and dependencies. Each example encodes query values and allows 30 seconds for the request. Check HTTP and JSON status before using data. cURL prints the response for you to check; Java uses Jackson to read the JSON.
SMSPVA_EMAIL_ORDER_ID:orderid.
: "${SMSPVA_API_KEY:?Set SMSPVA_API_KEY}"
: "${SMSPVA_EMAIL_ORDER_ID:?Set SMSPVA_EMAIL_ORDER_ID}"
curl --get --fail-with-body --max-time 30 "https://smspva.com/api/rent_email.php" \
--data-urlencode "method=get_mails" \
--data-urlencode "apikey=$SMSPVA_API_KEY" \
--data-urlencode "orderid=$SMSPVA_EMAIL_ORDER_ID" \
--data-urlencode "t=${SMSPVA_EMAIL_T:-50}" \
--data-urlencode "s=${SMSPVA_EMAIL_S:-0}" \
--data-urlencode "sq=${SMSPVA_EMAIL_SQ:-verification}"Responses
Check the response that matches your request. Example values and dates are illustrative. Optional fields can depend on the outcome or the response format you selected.
HTTP 200
Check status in the JSON even when HTTP is 200. Examples use illustrative values.
application/json
Success (illustrative)
{
"status": 1,
"data": [
{
"id": 6,
"sender": "[email protected]",
"subject": "Verification code",
"preview": "Your code: 12345",
"addedAt": "2026-10-22T10:00:00.000Z"
}
]
}Error
{
"status": 0,
"msg": "Incorrect apikey"
}Empty result
{
"status": 1,
"data": []
}Success
| Name | Type | Description |
|---|---|---|
status | integer | (enum: [1]) |
data | array<object> | |
data[].id | integer | Message ID. Pass this as emailid to get_mail_body. |
data[].sender | string | Sender address. |
data[].subject | string | Message subject. |
data[].preview | string | Message preview. |
data[].addedAt | string | Message timestamp. (format: "date-time") |
Required: status, data
Error
Some errors include errorid and errormsg; others contain only msg. Check all available error fields.
| Name | Type | Description |
|---|---|---|
status | integer | (enum: [0]) |
errorid | integer | Optional structured error code. |
errormsg | string | Optional error description. |
msg | string | Error message. |