Your AWS SES. Your dedicated Mailat. See how it works
Documentation

Validate Credentials

Request, response and authentication details for your Mailat instance.

← All API operations
POST/api/v1/settings/aws/validate

ValidateCredentials checks if AWS credentials are valid

Authentication & compatibility

This operation requires an active human session. API keys cannot call it. Additional role or MFA checks may apply.

Legacy AWS provisioning handler with a distinct response envelope. Prefer domain setup-sending/sending-status and explicit /inbox/setup for the current SES workflow; this handler's compatibility is not verified by the documentation.

Contract 2026-10-04. Your running instance's /api/v1/openapi.json is authoritative for its deployed release.

Request

Set MAILAT_BASE_URL to your instance origin (without /api/v1) and MAILAT_TOKEN to an appropriate credential. Replace path placeholders and example data before running. These examples do not execute in this page.

cURL request
curl --request POST "$MAILAT_BASE_URL/api/v1/settings/aws/validate" \
  --header "Authorization: Bearer $MAILAT_TOKEN" \
  --header 'Content-Type: application/json' \
  --data @request.json

Build the request from the schema below; request.json and upload paths are local placeholders.

Request body (required)

application/json

bodyobjectrequired
Fields · handler.ValidateCredentialsRequest
accessKeyIdstringrequired
regionstringrequired
secretAccessKeystringrequired

Responses

HTTP statuses and body shapes below come from the pinned contract. Not every shared error applies to every request. Retain the original idempotency key when retrying a send.

200 · Success

application/json

responseobject
Fields
messagestring
validboolean
400 · Invalid input

application/json

responseone of
Variant 1object
Fields
codeintegerrequired
messagestringrequired
Variant 2object
Fields
errorstringrequired
messagestring
successboolean
validboolean
401 · Missing, expired or revoked authentication

application/json

responseone of
Variant 1object
Fields
codeintegerrequired
messagestringrequired
Variant 2object
Fields
errorstringrequired
messagestring
successboolean
validboolean
403 · Insufficient permission

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
404 · Resource not found

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
409 · Conflict or changed idempotency payload

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
410 · Recovery cursor expired; resynchronize

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
429 · Rate limit exceeded; respect Retry-After
Header: Retry-Afterinteger

Seconds until the next fixed-minute request window.

minimum: 1

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
500 · Internal failure; retain the idempotency key

application/json

responseone of
Variant 1object
Fields
codeintegerrequired
messagestringrequired
Variant 2object
Fields
errorstringrequired
messagestring
successboolean
validboolean
Download the full OpenAPI contract