Skuflow email API
REST endpoints for skuflow email in SKUFlow: 7 operations with parameters, request and response fields, permissions and curl examples.
Base URL: https://app.skuflow.ai/api. Every call needs Authorization: Bearer skf_… (Authentication); {organizationId} ($ORGANIZATION_ID in the examples) is your business's id.
| Operation | Endpoint | Risk |
|---|---|---|
| Get SKUFlow email | GET /organizations/{organizationId}/messaging/skuflow-email | read |
| Use SKUFlow email | POST /organizations/{organizationId}/messaging/skuflow-email | sensitive |
| Set the SKUFlow email sender | PATCH /organizations/{organizationId}/messaging/skuflow-email/sender | write |
| Add your own sending domain | POST /organizations/{organizationId}/messaging/skuflow-email/domain | write |
| Remove the sending domain | DELETE /organizations/{organizationId}/messaging/skuflow-email/domain | sensitive |
| Check the sending domain now | POST /organizations/{organizationId}/messaging/skuflow-email/domain/check | write |
| Resume SKUFlow email after a pause | POST /organizations/{organizationId}/messaging/skuflow-email/resume | sensitive |
Get SKUFlow email
GET /organizations/{organizationId}/messaging/skuflow-email
SKUFlow email, the managed email provider (the default for new businesses): whether it is the business's email provider and its status, the From and Reply-To emails carry now, the business's own sending domain with the DNS records to add, any pause for bounces or complaints, today's sends against the daily cap and this month's. Read-only.
| Permission | channels.manage (Owner, Admin) |
| Risk | read, OAuth scope skuflow.read. Read: reads only. |
| MCP tool | skuflowEmail_get (toolset settings) |
Example
curl "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/messaging/skuflow-email" \
-H "Authorization: Bearer $SKUFLOW_API_KEY"Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
available | boolean | SKUFlow email can be used on this server. |
unavailableReason | string or null | |
mode | enum | SKUFLOW_EMAIL (fake = simulated sends). One of fake, live, off. |
active | boolean | The business's email provider is SKUFlow email. |
status | enum | Ready: emails go out (from the shared address, or the verified own domain). DOMAIN_PENDING / DOMAIN_FAILED: emails go from the shared address meanwhile. PAUSED: emails are skipped until resumed. One of UNAVAILABLE, NOT_ACTIVE, READY, DOMAIN_PENDING, DOMAIN_FAILED, PAUSED. |
sharedDomain | string | |
sharedAddress | string | The business's address on SKUFlow's sending domain. |
sender | object | |
sender.from | string | The From header emails carry now. |
sender.fromAddress | string | |
sender.fromName | string or null | |
sender.replyTo | string or null | |
sender.replyToSource | enum | Reply-To: the business's own (Settings → Messaging), else the owner's email. One of settings, owner, none. |
sender.via | enum | One of shared, domain. |
senderName | string or null | |
replyToSetting | string or null | |
fromLocalPart | string or null | The address at the own domain (before the @). |
domain | object or null | |
domain.domain | string | |
domain.status | enum | Pending: waiting for the DKIM records; VERIFIED: emails go from fromAddress; FAILED: SES gave up after 72 hours or the records were removed (remove and add again). One of PENDING, VERIFIED, FAILED. |
domain.dkimStatus | string or null | |
domain.mailFromDomain | string | |
domain.mailFromStatus | string or null | |
domain.records | array of object | |
domain.records[].purpose | enum | DKIM is required to verify; MAIL FROM and DMARC are recommended. One of DKIM, MAIL_FROM_MX, MAIL_FROM_SPF, DMARC. |
domain.records[].type | enum | One of CNAME, MX, TXT. |
domain.records[].name | string | The full host name to add at the domain's DNS host. |
domain.records[].value | string | |
domain.records[].priority | integer | MX priority. |
domain.records[].required | boolean | |
domain.verifiedAt | string (date-time) or null | |
domain.lastCheckedAt | string (date-time) or null | |
domain.nextCheckAt | string (date-time) or null | When SKUFlow checks again by itself. |
domain.lastError | string or null | |
domain.websiteHostname | string or null | A hostname of the business's SKUFlow website on this domain: add the records at the same DNS host. |
domain.dnsManagedBySkuflow | boolean | Always false: SKUFlow does not host customers' DNS; the owner adds the records. |
domain.fromAddress | string | Where emails come from once the domain is verified. |
paused | object or null | |
paused.at | string (date-time) | |
paused.reason | string or null | |
paused.canResume | boolean | False after two automatic pauses in 30 days: SKUFlow support resumes it. |
rates | object | |
rates.since | string (date-time) | |
rates.sent | integer | |
rates.bounces | integer | |
rates.complaints | integer | |
rates.bounceRate | number | |
rates.complaintRate | number | |
rates.warn | boolean | Half way to a pause: clean up the address list. |
today | object | |
today.sent | integer | |
today.cap | integer | Past it, emails wait for the next day. |
thisMonth | object | SKUFlow emails recorded this calendar month (UTC); the plan's allowance is in billing.plan. |
thisMonth.sent | integer |
Use SKUFlow email
POST /organizations/{organizationId}/messaging/skuflow-email
Customer-visible: makes SKUFlow email the business's email provider: emails really go out (through the queue, with consent, quiet hours and unsubscribe) from the shared address (see GET first for the From and Reply-To), or the business's own domain once verified. Replaces another email provider (its stored credentials are removed). Emails count against the plan's monthly email allowance. Idempotent. 409 when SKUFlow email is not available on this server.
| Permission | channels.manage (Owner, Admin) |
| Risk | sensitive, OAuth scope skuflow.sensitive. Sensitive: moves money, deletes, sends or shows something to a customer, or grants or revokes access. |
| MCP tool | skuflowEmail_enable (toolset settings) |
| Approval | Over MCP, this tool asks for your OK first (in the AI app when it supports it, otherwise in SKUFlow). See Approvals. |
Example
curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/messaging/skuflow-email" \
-H "Authorization: Bearer $SKUFLOW_API_KEY"Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
available | boolean | SKUFlow email can be used on this server. |
unavailableReason | string or null | |
mode | enum | SKUFLOW_EMAIL (fake = simulated sends). One of fake, live, off. |
active | boolean | The business's email provider is SKUFlow email. |
status | enum | Ready: emails go out (from the shared address, or the verified own domain). DOMAIN_PENDING / DOMAIN_FAILED: emails go from the shared address meanwhile. PAUSED: emails are skipped until resumed. One of UNAVAILABLE, NOT_ACTIVE, READY, DOMAIN_PENDING, DOMAIN_FAILED, PAUSED. |
sharedDomain | string | |
sharedAddress | string | The business's address on SKUFlow's sending domain. |
sender | object | |
sender.from | string | The From header emails carry now. |
sender.fromAddress | string | |
sender.fromName | string or null | |
sender.replyTo | string or null | |
sender.replyToSource | enum | Reply-To: the business's own (Settings → Messaging), else the owner's email. One of settings, owner, none. |
sender.via | enum | One of shared, domain. |
senderName | string or null | |
replyToSetting | string or null | |
fromLocalPart | string or null | The address at the own domain (before the @). |
domain | object or null | |
domain.domain | string | |
domain.status | enum | Pending: waiting for the DKIM records; VERIFIED: emails go from fromAddress; FAILED: SES gave up after 72 hours or the records were removed (remove and add again). One of PENDING, VERIFIED, FAILED. |
domain.dkimStatus | string or null | |
domain.mailFromDomain | string | |
domain.mailFromStatus | string or null | |
domain.records | array of object | |
domain.records[].purpose | enum | DKIM is required to verify; MAIL FROM and DMARC are recommended. One of DKIM, MAIL_FROM_MX, MAIL_FROM_SPF, DMARC. |
domain.records[].type | enum | One of CNAME, MX, TXT. |
domain.records[].name | string | The full host name to add at the domain's DNS host. |
domain.records[].value | string | |
domain.records[].priority | integer | MX priority. |
domain.records[].required | boolean | |
domain.verifiedAt | string (date-time) or null | |
domain.lastCheckedAt | string (date-time) or null | |
domain.nextCheckAt | string (date-time) or null | When SKUFlow checks again by itself. |
domain.lastError | string or null | |
domain.websiteHostname | string or null | A hostname of the business's SKUFlow website on this domain: add the records at the same DNS host. |
domain.dnsManagedBySkuflow | boolean | Always false: SKUFlow does not host customers' DNS; the owner adds the records. |
domain.fromAddress | string | Where emails come from once the domain is verified. |
paused | object or null | |
paused.at | string (date-time) | |
paused.reason | string or null | |
paused.canResume | boolean | False after two automatic pauses in 30 days: SKUFlow support resumes it. |
rates | object | |
rates.since | string (date-time) | |
rates.sent | integer | |
rates.bounces | integer | |
rates.complaints | integer | |
rates.bounceRate | number | |
rates.complaintRate | number | |
rates.warn | boolean | Half way to a pause: clean up the address list. |
today | object | |
today.sent | integer | |
today.cap | integer | Past it, emails wait for the next day. |
thisMonth | object | SKUFlow emails recorded this calendar month (UTC); the plan's allowance is in billing.plan. |
thisMonth.sent | integer |
Set the SKUFlow email sender
PATCH /organizations/{organizationId}/messaging/skuflow-email/sender
Changes how emails are signed: the From name (fromName, the messaging settings' sender name; empty = the business name), Reply-To (replyTo, the messaging settings' reply-to; empty = the owner's email) and the address at the business's own domain (fromLocalPart, e.g. office → office@yourdomain.com, used once the domain is verified). Only the fields sent change; applies to the next email.
| Permission | channels.manage (Owner, Admin) |
| Risk | write, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it. |
| MCP tool | skuflowEmail_updateSender (toolset settings) |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
fromName | string or null | No | Up to 100 characters. |
replyTo | empty string or string (email) or null | No | Where replies go; empty = the owner's email. |
fromLocalPart | string or null | No | The part before the @ at the business's own domain (default hello). Up to 64 characters. |
Example
curl -X PATCH "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/messaging/skuflow-email/sender" \
-H "Authorization: Bearer $SKUFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"fromName":"string","replyTo":"dana@example.com","fromLocalPart":"string"}'Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
available | boolean | SKUFlow email can be used on this server. |
unavailableReason | string or null | |
mode | enum | SKUFLOW_EMAIL (fake = simulated sends). One of fake, live, off. |
active | boolean | The business's email provider is SKUFlow email. |
status | enum | Ready: emails go out (from the shared address, or the verified own domain). DOMAIN_PENDING / DOMAIN_FAILED: emails go from the shared address meanwhile. PAUSED: emails are skipped until resumed. One of UNAVAILABLE, NOT_ACTIVE, READY, DOMAIN_PENDING, DOMAIN_FAILED, PAUSED. |
sharedDomain | string | |
sharedAddress | string | The business's address on SKUFlow's sending domain. |
sender | object | |
sender.from | string | The From header emails carry now. |
sender.fromAddress | string | |
sender.fromName | string or null | |
sender.replyTo | string or null | |
sender.replyToSource | enum | Reply-To: the business's own (Settings → Messaging), else the owner's email. One of settings, owner, none. |
sender.via | enum | One of shared, domain. |
senderName | string or null | |
replyToSetting | string or null | |
fromLocalPart | string or null | The address at the own domain (before the @). |
domain | object or null | |
domain.domain | string | |
domain.status | enum | Pending: waiting for the DKIM records; VERIFIED: emails go from fromAddress; FAILED: SES gave up after 72 hours or the records were removed (remove and add again). One of PENDING, VERIFIED, FAILED. |
domain.dkimStatus | string or null | |
domain.mailFromDomain | string | |
domain.mailFromStatus | string or null | |
domain.records | array of object | |
domain.records[].purpose | enum | DKIM is required to verify; MAIL FROM and DMARC are recommended. One of DKIM, MAIL_FROM_MX, MAIL_FROM_SPF, DMARC. |
domain.records[].type | enum | One of CNAME, MX, TXT. |
domain.records[].name | string | The full host name to add at the domain's DNS host. |
domain.records[].value | string | |
domain.records[].priority | integer | MX priority. |
domain.records[].required | boolean | |
domain.verifiedAt | string (date-time) or null | |
domain.lastCheckedAt | string (date-time) or null | |
domain.nextCheckAt | string (date-time) or null | When SKUFlow checks again by itself. |
domain.lastError | string or null | |
domain.websiteHostname | string or null | A hostname of the business's SKUFlow website on this domain: add the records at the same DNS host. |
domain.dnsManagedBySkuflow | boolean | Always false: SKUFlow does not host customers' DNS; the owner adds the records. |
domain.fromAddress | string | Where emails come from once the domain is verified. |
paused | object or null | |
paused.at | string (date-time) | |
paused.reason | string or null | |
paused.canResume | boolean | False after two automatic pauses in 30 days: SKUFlow support resumes it. |
rates | object | |
rates.since | string (date-time) | |
rates.sent | integer | |
rates.bounces | integer | |
rates.complaints | integer | |
rates.bounceRate | number | |
rates.complaintRate | number | |
rates.warn | boolean | Half way to a pause: clean up the address list. |
today | object | |
today.sent | integer | |
today.cap | integer | Past it, emails wait for the next day. |
thisMonth | object | SKUFlow emails recorded this calendar month (UTC); the plan's allowance is in billing.plan. |
thisMonth.sent | integer |
Add your own sending domain
POST /organizations/{organizationId}/messaging/skuflow-email/domain
Starts sending from the business's own domain: SKUFlow sets it up in Amazon SES (Easy DKIM, MAIL FROM bounce.{domain}) and answers the DNS records to add at the domain's DNS host (three DKIM CNAMEs required; MAIL FROM MX/TXT and DMARC recommended). Until it is verified, emails keep going from the shared address. SKUFlow checks by itself; POST …/domain/check checks now. Idempotent for the same domain; 409 while another domain is set (remove it first) or when another SKUFlow business uses the domain.
| Permission | channels.manage (Owner, Admin) |
| Risk | write, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it. |
| MCP tool | skuflowEmail_addDomain (toolset settings) |
Request body
| Field | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | The business's domain, e.g. brightair.com (not a mailbox provider's). Up to 253 characters. |
Example
curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/messaging/skuflow-email/domain" \
-H "Authorization: Bearer $SKUFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"string"}'Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
domain | string | |
status | enum | Pending: waiting for the DKIM records; VERIFIED: emails go from fromAddress; FAILED: SES gave up after 72 hours or the records were removed (remove and add again). One of PENDING, VERIFIED, FAILED. |
dkimStatus | string or null | |
mailFromDomain | string | |
mailFromStatus | string or null | |
records | array of object | |
records[].purpose | enum | DKIM is required to verify; MAIL FROM and DMARC are recommended. One of DKIM, MAIL_FROM_MX, MAIL_FROM_SPF, DMARC. |
records[].type | enum | One of CNAME, MX, TXT. |
records[].name | string | The full host name to add at the domain's DNS host. |
records[].value | string | |
records[].priority | integer | MX priority. |
records[].required | boolean | |
verifiedAt | string (date-time) or null | |
lastCheckedAt | string (date-time) or null | |
nextCheckAt | string (date-time) or null | When SKUFlow checks again by itself. |
lastError | string or null | |
websiteHostname | string or null | A hostname of the business's SKUFlow website on this domain: add the records at the same DNS host. |
dnsManagedBySkuflow | boolean | Always false: SKUFlow does not host customers' DNS; the owner adds the records. |
fromAddress | string | Where emails come from once the domain is verified. |
Remove the sending domain
DELETE /organizations/{organizationId}/messaging/skuflow-email/domain
Destructive, customer-visible: removes the business's own sending domain from SKUFlow email (and Amazon SES); emails go from the shared address again. The DNS records can then be deleted. Idempotent.
| Permission | channels.manage (Owner, Admin) |
| Risk | sensitive, OAuth scope skuflow.sensitive. Sensitive: moves money, deletes, sends or shows something to a customer, or grants or revokes access. |
| MCP tool | skuflowEmail_removeDomain (toolset settings) |
| Approval | Over MCP, this tool always waits for your approval in SKUFlow. See Approvals. |
Example
curl -X DELETE "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/messaging/skuflow-email/domain" \
-H "Authorization: Bearer $SKUFLOW_API_KEY"Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
available | boolean | SKUFlow email can be used on this server. |
unavailableReason | string or null | |
mode | enum | SKUFLOW_EMAIL (fake = simulated sends). One of fake, live, off. |
active | boolean | The business's email provider is SKUFlow email. |
status | enum | Ready: emails go out (from the shared address, or the verified own domain). DOMAIN_PENDING / DOMAIN_FAILED: emails go from the shared address meanwhile. PAUSED: emails are skipped until resumed. One of UNAVAILABLE, NOT_ACTIVE, READY, DOMAIN_PENDING, DOMAIN_FAILED, PAUSED. |
sharedDomain | string | |
sharedAddress | string | The business's address on SKUFlow's sending domain. |
sender | object | |
sender.from | string | The From header emails carry now. |
sender.fromAddress | string | |
sender.fromName | string or null | |
sender.replyTo | string or null | |
sender.replyToSource | enum | Reply-To: the business's own (Settings → Messaging), else the owner's email. One of settings, owner, none. |
sender.via | enum | One of shared, domain. |
senderName | string or null | |
replyToSetting | string or null | |
fromLocalPart | string or null | The address at the own domain (before the @). |
domain | object or null | |
domain.domain | string | |
domain.status | enum | Pending: waiting for the DKIM records; VERIFIED: emails go from fromAddress; FAILED: SES gave up after 72 hours or the records were removed (remove and add again). One of PENDING, VERIFIED, FAILED. |
domain.dkimStatus | string or null | |
domain.mailFromDomain | string | |
domain.mailFromStatus | string or null | |
domain.records | array of object | |
domain.records[].purpose | enum | DKIM is required to verify; MAIL FROM and DMARC are recommended. One of DKIM, MAIL_FROM_MX, MAIL_FROM_SPF, DMARC. |
domain.records[].type | enum | One of CNAME, MX, TXT. |
domain.records[].name | string | The full host name to add at the domain's DNS host. |
domain.records[].value | string | |
domain.records[].priority | integer | MX priority. |
domain.records[].required | boolean | |
domain.verifiedAt | string (date-time) or null | |
domain.lastCheckedAt | string (date-time) or null | |
domain.nextCheckAt | string (date-time) or null | When SKUFlow checks again by itself. |
domain.lastError | string or null | |
domain.websiteHostname | string or null | A hostname of the business's SKUFlow website on this domain: add the records at the same DNS host. |
domain.dnsManagedBySkuflow | boolean | Always false: SKUFlow does not host customers' DNS; the owner adds the records. |
domain.fromAddress | string | Where emails come from once the domain is verified. |
paused | object or null | |
paused.at | string (date-time) | |
paused.reason | string or null | |
paused.canResume | boolean | False after two automatic pauses in 30 days: SKUFlow support resumes it. |
rates | object | |
rates.since | string (date-time) | |
rates.sent | integer | |
rates.bounces | integer | |
rates.complaints | integer | |
rates.bounceRate | number | |
rates.complaintRate | number | |
rates.warn | boolean | Half way to a pause: clean up the address list. |
today | object | |
today.sent | integer | |
today.cap | integer | Past it, emails wait for the next day. |
thisMonth | object | SKUFlow emails recorded this calendar month (UTC); the plan's allowance is in billing.plan. |
thisMonth.sent | integer |
Check the sending domain now
POST /organizations/{organizationId}/messaging/skuflow-email/domain/check
Asks Amazon SES now whether the DNS records of the business's own sending domain are in place, and updates its status (PENDING → VERIFIED, or FAILED). Changes nothing else. 404 without a domain.
| Permission | channels.manage (Owner, Admin) |
| Risk | write, OAuth scope skuflow.write. Write: creates or changes records inside the business; nothing leaves it. |
| MCP tool | skuflowEmail_checkDomain (toolset settings) |
Example
curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/messaging/skuflow-email/domain/check" \
-H "Authorization: Bearer $SKUFLOW_API_KEY"Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
domain | string | |
status | enum | Pending: waiting for the DKIM records; VERIFIED: emails go from fromAddress; FAILED: SES gave up after 72 hours or the records were removed (remove and add again). One of PENDING, VERIFIED, FAILED. |
dkimStatus | string or null | |
mailFromDomain | string | |
mailFromStatus | string or null | |
records | array of object | |
records[].purpose | enum | DKIM is required to verify; MAIL FROM and DMARC are recommended. One of DKIM, MAIL_FROM_MX, MAIL_FROM_SPF, DMARC. |
records[].type | enum | One of CNAME, MX, TXT. |
records[].name | string | The full host name to add at the domain's DNS host. |
records[].value | string | |
records[].priority | integer | MX priority. |
records[].required | boolean | |
verifiedAt | string (date-time) or null | |
lastCheckedAt | string (date-time) or null | |
nextCheckAt | string (date-time) or null | When SKUFlow checks again by itself. |
lastError | string or null | |
websiteHostname | string or null | A hostname of the business's SKUFlow website on this domain: add the records at the same DNS host. |
dnsManagedBySkuflow | boolean | Always false: SKUFlow does not host customers' DNS; the owner adds the records. |
fromAddress | string | Where emails come from once the domain is verified. |
Resume SKUFlow email after a pause
POST /organizations/{organizationId}/messaging/skuflow-email/resume
Customer-visible: after SKUFlow email paused the business for high bounce or complaint rates, sends again (rates are measured afresh from now). Clean up bad addresses first: a second pause within 30 days can only be lifted by SKUFlow support (409). Emails skipped while paused are not resent.
| Permission | channels.manage (Owner, Admin) |
| Risk | sensitive, OAuth scope skuflow.sensitive. Sensitive: moves money, deletes, sends or shows something to a customer, or grants or revokes access. |
| MCP tool | skuflowEmail_resume (toolset settings) |
| Approval | Over MCP, this tool asks for your OK first (in the AI app when it supports it, otherwise in SKUFlow). See Approvals. |
Example
curl -X POST "https://app.skuflow.ai/api/organizations/$ORGANIZATION_ID/messaging/skuflow-email/resume" \
-H "Authorization: Bearer $SKUFLOW_API_KEY"Response
200: the answer's fields
| Field | Type | Description |
|---|---|---|
available | boolean | SKUFlow email can be used on this server. |
unavailableReason | string or null | |
mode | enum | SKUFLOW_EMAIL (fake = simulated sends). One of fake, live, off. |
active | boolean | The business's email provider is SKUFlow email. |
status | enum | Ready: emails go out (from the shared address, or the verified own domain). DOMAIN_PENDING / DOMAIN_FAILED: emails go from the shared address meanwhile. PAUSED: emails are skipped until resumed. One of UNAVAILABLE, NOT_ACTIVE, READY, DOMAIN_PENDING, DOMAIN_FAILED, PAUSED. |
sharedDomain | string | |
sharedAddress | string | The business's address on SKUFlow's sending domain. |
sender | object | |
sender.from | string | The From header emails carry now. |
sender.fromAddress | string | |
sender.fromName | string or null | |
sender.replyTo | string or null | |
sender.replyToSource | enum | Reply-To: the business's own (Settings → Messaging), else the owner's email. One of settings, owner, none. |
sender.via | enum | One of shared, domain. |
senderName | string or null | |
replyToSetting | string or null | |
fromLocalPart | string or null | The address at the own domain (before the @). |
domain | object or null | |
domain.domain | string | |
domain.status | enum | Pending: waiting for the DKIM records; VERIFIED: emails go from fromAddress; FAILED: SES gave up after 72 hours or the records were removed (remove and add again). One of PENDING, VERIFIED, FAILED. |
domain.dkimStatus | string or null | |
domain.mailFromDomain | string | |
domain.mailFromStatus | string or null | |
domain.records | array of object | |
domain.records[].purpose | enum | DKIM is required to verify; MAIL FROM and DMARC are recommended. One of DKIM, MAIL_FROM_MX, MAIL_FROM_SPF, DMARC. |
domain.records[].type | enum | One of CNAME, MX, TXT. |
domain.records[].name | string | The full host name to add at the domain's DNS host. |
domain.records[].value | string | |
domain.records[].priority | integer | MX priority. |
domain.records[].required | boolean | |
domain.verifiedAt | string (date-time) or null | |
domain.lastCheckedAt | string (date-time) or null | |
domain.nextCheckAt | string (date-time) or null | When SKUFlow checks again by itself. |
domain.lastError | string or null | |
domain.websiteHostname | string or null | A hostname of the business's SKUFlow website on this domain: add the records at the same DNS host. |
domain.dnsManagedBySkuflow | boolean | Always false: SKUFlow does not host customers' DNS; the owner adds the records. |
domain.fromAddress | string | Where emails come from once the domain is verified. |
paused | object or null | |
paused.at | string (date-time) | |
paused.reason | string or null | |
paused.canResume | boolean | False after two automatic pauses in 30 days: SKUFlow support resumes it. |
rates | object | |
rates.since | string (date-time) | |
rates.sent | integer | |
rates.bounces | integer | |
rates.complaints | integer | |
rates.bounceRate | number | |
rates.complaintRate | number | |
rates.warn | boolean | Half way to a pause: clean up the address list. |
today | object | |
today.sent | integer | |
today.cap | integer | Past it, emails wait for the next day. |
thisMonth | object | SKUFlow emails recorded this calendar month (UTC); the plan's allowance is in billing.plan. |
thisMonth.sent | integer |