groundmail-dev · Schema
CreateMigrationRequest
`api_key` for SendGrid, Postmark, Mailgun and Resend; `aws_access_key_id`, `aws_secret_access_key` and `aws_region` for Amazon SES (`ses`).
EmailAPITransactionalSMTPDeveloper
Properties
| Name | Type | Description |
|---|---|---|
| provider | string | The provider to import from. `ses` is Amazon SES. |
| api_key | string | Required for every provider except `ses`. SendGrid API key, Postmark server API token, or Mailgun private API key (read access is enough), or a Resend API key with Full access. Used for this request o |
| account_api_key | string | Postmark only. The account API token, needed to import sending domains. |
| region | string | SendGrid and Mailgun only. Use `eu` for EU-region accounts. |
| aws_access_key_id | string | Amazon SES only (required). Access key ID of an IAM user or role with the read-only import policy (ses:List* and ses:Get* calls for identities, templates, the suppression list and configuration sets). |
| aws_secret_access_key | string | Amazon SES only (required). The secret access key. Used for this request only; never stored. |
| aws_session_token | string | Amazon SES only. The session token, for temporary credentials (SSO or an assumed role). |
| aws_region | string | Amazon SES only (required). The region to import, such as `us-east-1`. SES keeps identities, templates and suppressions per region: run one import per region. |
| resources | array | What to import. Defaults to all four. Ignored when `cursor` is set. |
| dry_run | boolean | Preview without writing anything. Suppressions are counted from the first page of each list only (`suppressions.estimated: true`). Ignored when `cursor` is set. |
| cursor | string | The `next_cursor` from the previous response, to continue the same import. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/groundmail-dev/json-schema/groundmail-dev-create-migration-request-schema.json",
"title": "CreateMigrationRequest",
"description": "`api_key` for SendGrid, Postmark, Mailgun and Resend; `aws_access_key_id`, `aws_secret_access_key` and `aws_region` for Amazon SES (`ses`).\n",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/groundmail-dev-openapi.yaml#/components/schemas/CreateMigrationRequest",
"type": "object",
"required": [
"provider"
],
"properties": {
"provider": {
"type": "string",
"enum": [
"sendgrid",
"postmark",
"mailgun",
"resend",
"ses"
],
"description": "The provider to import from. `ses` is Amazon SES."
},
"api_key": {
"type": "string",
"writeOnly": true,
"description": "Required for every provider except `ses`. SendGrid API key, Postmark server API token, or Mailgun private API key (read access is enough), or a Resend API key with Full access. Used for this request only; never stored.\n"
},
"account_api_key": {
"type": "string",
"writeOnly": true,
"description": "Postmark only. The account API token, needed to import sending domains."
},
"region": {
"type": "string",
"enum": [
"us",
"eu"
],
"default": "us",
"description": "SendGrid and Mailgun only. Use `eu` for EU-region accounts."
},
"aws_access_key_id": {
"type": "string",
"writeOnly": true,
"description": "Amazon SES only (required). Access key ID of an IAM user or role with the read-only import policy (ses:List* and ses:Get* calls for identities, templates, the suppression list and configuration sets). Used for this request only; never stored.\n"
},
"aws_secret_access_key": {
"type": "string",
"writeOnly": true,
"description": "Amazon SES only (required). The secret access key. Used for this request only; never stored."
},
"aws_session_token": {
"type": "string",
"writeOnly": true,
"description": "Amazon SES only. The session token, for temporary credentials (SSO or an assumed role)."
},
"aws_region": {
"type": "string",
"description": "Amazon SES only (required). The region to import, such as `us-east-1`. SES keeps identities, templates and suppressions per region: run one import per region.\n"
},
"resources": {
"type": "array",
"items": {
"type": "string",
"enum": [
"domains",
"webhooks",
"templates",
"suppressions"
]
},
"description": "What to import. Defaults to all four. Ignored when `cursor` is set."
},
"dry_run": {
"type": "boolean",
"default": false,
"description": "Preview without writing anything. Suppressions are counted from the first page of each list only (`suppressions.estimated: true`). Ignored when `cursor` is set.\n"
},
"cursor": {
"type": "string",
"description": "The `next_cursor` from the previous response, to continue the same import."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/groundmail-dev-create-migration-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.