1. Order
Scaledmail
  • Scaledmail API Documentaion
  • Workspaces
    • Get Workspaces
      GET
    • Create Workspace
      POST
  • Pre Warm Inboxes
    • Pre Warm Inboxes
      GET
    • Buy Pre Warm Inboxes
      POST
  • Domain
    • Get Domains
      GET
    • Buy Domains
      POST
    • Search Domains
      POST
    • Suggest Domains
      POST
    • Update Domain Name
      POST
    • Update Domain Redirect
      POST
    • Get Purchased Domains
      GET
  • Package
    • Calculate Package
      POST
    • Get Packages
      GET
  • Order
    • Get Orders
      GET
    • Get Order Details
      GET
    • Cancel Order
      DELETE
    • Get Pending Forms
      GET
    • Submit Form
      POST
    • Create Order
      POST
    • Create Custom Order
      POST
  • Mailboxes
    • Get Mailboxes by Domain ID
      GET
  1. Order

Submit Form

POST
https://server.scaledmail.com/api/v1/submit-form/{uuid}

ℹ️ Submit domain data to an existing paid order#

Use this endpoint when an order has already been created and charged but the domain configuration has not yet been submitted. The uuid in the path is the id of the order.
💡 Created an order through the web app but never filled in the form?
You can submit the domain configuration for those orders through this endpoint too.
To find all orders that are still pending form submission, use the Get Pending Forms endpoint:
→ Get Pending Forms

🔑 Path Parameters#

uuid (required)#

The order ID you can get it from billing page or using get pending forms endpoint.

🔑 Query Parameters#

provider (required)#

Specifies the source of the domains:
→ "scaledmail" — Domains purchased through ScaledMail
→ "other" — Domains from external providers like Porkbun, Namecheap, or DNSimple
⚠️ If the original order was created with ScaledMail selected or purchased domains, provider must be "scaledmail".

organization_id (optional)#

The organization the order belongs to.

📥 Request Body Parameters#

All parameters below must be included in the JSON body.

tag (optional)#

A short label to tag this order.
Maximum: 20 characters

providers (required)#

An object containing the domain configuration to submit to the order.
→ The domains provided must exactly match the domains tied to the original order — same names, same count. Order does not matter.
→ If any domain does not match or is unavailable, the request will fail.
Supported provider keys: "google", "outlook", "smtp"
"providers": {
  "google": {
    "domains": [ ... ]
  },
  "outlook": {
    "domains": [ ... ]
  },
  "smtp": {
    "domains": [ ... ]
  }
}
Each domain object can include:

domain (required)#

Example: "example.com" — must match a domain from the original order.

redirect (optional)#

A redirect URL for the domain. Cannot be empty if provided.

Profile Picture Options#

You may include:
"profile_picture": "https://link1.com"
If added at the domain level, this image will be used for all aliases created under that domain.
You may also specify a different profile_picture inside each alias to override it.
Maximum: 150 characters. Base64-encoded data is not allowed.

👤 Aliases Handling#

You have two ways to provide alias information.
⚠️ All domains within the same provider must use the same format. You cannot mix first_name/last_name and aliases across domains in the same provider.

1. Pass first_name and last_name#

If you include:
"first_name": "John",
"last_name": "Doe"
→ The system will automatically generate aliases for this domain.
→ Maximum 50 characters each.

2. Pass an aliases array directly#

If you already have pre-generated aliases, you can send them like this:
"aliases": [
  {
    "first_name": "John",
    "last_name": "Doe",
    "alias": "john.doe",
    "profile_picture": "https://link1.com"
  }
]
→ When the aliases array is provided, the system will not auto-generate aliases.
→ Each alias requires first_name, last_name, and alias.
→ alias must be the local part only (e.g. "john.doe") — no @ symbol, no spaces. Maximum 64 characters.
→ The number of aliases per domain must match the provider requirement:
ProviderRequired aliases per domain
google2
outlook25
smtp4

sequencer (optional)#

Attach an email sequencer to this order.
"sequencer": {
  "provider": "Instantly",
  "username": "user@instantly.ai",
  "password": "yourpassword",
  "link": "https://app.instantly.ai",
  "workspace": "my-workspace",
  "tag": "{{ID}}"
}
provider, username, password are required.
link, workspace, tag are optional but cannot be empty if provided.

hosting (conditionally required)#

Required only when provider = "other".
"hosting": {
  "provider": "Namecheap",
  "username": "your-username",
  "password": "your-password",
  "link": "https://namecheap.com"
}
provider, username, password are required.
link is optional but cannot be empty if provided.
Not required when using "scaledmail" as the provider.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Path Params

Query Params

Body Params application/json

Examples

Responses

🟢200Success
application/json
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://server.scaledmail.com/api/v1/submit-form/?organization_id=undefined&provider=undefined&coupon=undefined' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "tag": "campaign_q1",
    "providers": {
        "google": {
            "domains": [
                {
                    "domain": "outreach-one.com",
                    "first_name": "John",
                    "last_name": "Doe"
                },
                {
                    "domain": "outreach-two.com",
                    "first_name": "Jane",
                    "last_name": "Smith"
                }
            ]
        }
    }
}'
Response Response Example
{}
Modified at 2026-04-27 10:02:58
Previous
Get Pending Forms
Next
Create Order
Built with