{
    "schemes": ["https"],
    "swagger": "2.0",
    "info": {
        "description": "Infraforge Public API",
        "title": "Infraforge API",
        "termsOfService": "https://www.infraforge.ai/terms",
        "contact": {},
        "version": "1.0"
    },
    "host": "api.infraforge.ai",
    "basePath": "/public",
    "paths": {
        "/adjust-mailbox-topup-amount": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "if mailbox slots topup amount is set, when running out of slots, the system will automatically topup the account with the given amount",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Adjust account mailbox topup amount",
                "parameters": [
                    {
                        "description": "ExternalAdjustTopupAmountRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalAdjustTopupAmountRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/check-domain-availability": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Check if a domain is available for purchase",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Check domain availability",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain to check",
                        "name": "domain",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalCheckDomainAvailabilityResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/check-domain-availability-bulk": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Check if a list of domains are available for purchase, maximum 100 domains are allowed at once",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Bulk check domain availability",
                "parameters": [
                    {
                        "description": "ExternalCheckDomainAvailabilityBulkRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalCheckDomainAvailabilityBulkRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/responses.ExternalCheckDomainAvailabilityResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/credits/balance": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get credit balance settings that are defined by the user, used for topping up the account's balance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Credit Balance"
                ],
                "summary": "Get credit balance settings",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.CreditBalanceInfo"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Create a credit balance for the user, amount is in us dollars and after calling this endpoint, the user will be charged with the given amount",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Credit Balance"
                ],
                "summary": "Create credit balance",
                "parameters": [
                    {
                        "description": "ExternalCreateCreditBalanceRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalCreateCreditBalanceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.CreateCreditBalanceResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Update credit balance settings that are defined by the user, used for topping up the account's balance",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Credit Balance"
                ],
                "summary": "Update credit balance settings",
                "parameters": [
                    {
                        "description": "ExternalUpdateCreditBalanceRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalUpdateCreditBalanceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.CreditBalanceInfo"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "List domains purchased by the user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "List domains",
                "parameters": [
                    {
                        "type": "string",
                        "description": "query to filter domains",
                        "name": "search",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalGetDomainsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Buy domains and add them to the workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Buy domains",
                "parameters": [
                    {
                        "description": "ExternalBuyDomainsRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalBuyDomainsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalBuyDomainsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/alternative-domains": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Generate alternative domains for the given domain",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Generate alternative domains",
                "parameters": [
                    {
                        "description": "ExternalGenerateAlternativeDomainsRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalGenerateAlternativeDomainsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/responses.ExternalGenerateAlternativeDomainResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/bulk-disable-autorenew": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Bulk disable auto renew for the given domains",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Bulk disable domain auto renew",
                "parameters": [
                    {
                        "description": "ExternalBulkEnableDisableAutoRenewRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalBulkEnableDisableAutoRenewRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/bulk-dns": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Bulk update DNS parameters for the given domains",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Bulk Update domain DNS parametersd",
                "parameters": [
                    {
                        "description": "BulkDNSUpdateRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.BulkDNSUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/bulk-enable-autorenew": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Bulk enable auto renew for the given domains",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Bulk enable domain auto renew",
                "parameters": [
                    {
                        "description": "ExternalBulkEnableDisableAutoRenewRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalBulkEnableDisableAutoRenewRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/forwards": {
            "patch": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Updates forwarding settings and SSL/masking configuration for domains.\nFor new domain forwards, omit the `domainMasking` flag.\nThe `domainMasking` flag is only used when modifying existing forwarding settings:\n- When `true`: Enables domain masking and SSL (visitors see your domain while viewing forwarded content)\n- When `false`: Disables masking and sets up a permanent 301 redirect with SSL (visitors see the destination URL)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Update domain masking SSL",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Array of ExternalUpdateDomainForwardsRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/requests.ExternalUpdateDomainForwardsRequest"
                            }
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/masking": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Purchase domain masking SSL for the given domain\n- When `purchaseMasking` is `true`: Enables domain masking and SSL (visitors see your domain while viewing forwarded content)\n- When `purchaseMasking` is `false`: Disables masking and sets up a permanent 301 redirect with SSL (visitors see the destination URL)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Purchase domain masking SSL",
                "parameters": [
                    {
                        "description": "ExternalPurchaseDomainMaskingSSLRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalPurchaseDomainMaskingSSLRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalPurchaseDomainMaskingSSLResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/pre-warmed": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Purchase pre-warmed domains and attach them to the workspace. Charges the account directly (no checkout redirect). Requires an active subscription. If the requested workspace uses a different mailserver than the pre-warmed pool, a new workspace is created (named \"{workspaceName} prewarmed\") and domains are attached there; the response includes both requestedWorkspaceId and workspaceId.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Purchase pre-warmed domains",
                "parameters": [
                    {
                        "description": "ExternalPurchasePreWarmedDomainsRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalPurchasePreWarmedDomainsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalBuyPreWarmedDomainsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/transfer": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Transfer domains to Infraforge",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Transfer Domains",
                "parameters": [
                    {
                        "description": "ExternalTransferDomainsRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalTransferDomainsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalCreateDomainTransferResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/transfer-ns-info": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get nameservers for domain transfer, user would need to update their domain nameservers to these values",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Get domain transfer NS info",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.TransferNameserverInfo"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/{domainID}/disable-autorenew": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Disable auto renew for the given domain",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Disable domain auto renew",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/{domainID}/dns": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get DNS records for the given domain",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Get domain DNS",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/responses.ExternalGetDomainDNSResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Update DNS records for the given domain, Should be in the same order as the returned records from the \"Get domain DNS\" request",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Update domain DNS",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "UpdateDomainDNSRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.UpdateDomainDNSRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/{domainID}/enable-autorenew": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Enable auto renew for the given domain",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Enable domain auto renew",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/{domainID}/masking": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Delete domain masking SSL for the given domain",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Delete domain masking SSL",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/{domainID}/renewal-price": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get renewal price for the given domain",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Get domain renewal price",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalGetDomainRenewalPriceResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/domains/{domainID}/transfer-out": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Transfer domain out to another registrar",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Transfer domain out",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Domain ID",
                        "name": "domainID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "ExternalTransferDomainOutRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalTransferDomainOutRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/mailboxes": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "List mailboxes purchased by the user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "List mailboxes",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Workspace ID to filter mailboxes",
                        "name": "workspace_id",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Include credentials in the response",
                        "name": "with_credentials",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Query to filter mailboxes by a name or an email",
                        "name": "search",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/responses.ExternalGetMailboxesResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Buy mailboxes and add them to the workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Buy mailboxes",
                "parameters": [
                    {
                        "description": "ExternalBuyMailboxesRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalBuyMailboxesRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalBuyMailboxesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/mailboxes/bulk-forward": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Bulk forward mailboxes to the given email",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Bulk forward mailboxes",
                "parameters": [
                    {
                        "description": "ExternalBulkForwardMailboxesRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalBulkForwardMailboxesRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/mailboxes/export-to-salesforge": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Export mailboxes to Salesforge",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Export mailboxes to Salesforge",
                "parameters": [
                    {
                        "description": "ExportMailboxesSFRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExportMailboxesSFRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/salesforge.ExportedMailbox"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/salesforge.MailboxImportConflictError"
                        }
                    }
                }
            }
        },
        "/mailboxes/generate": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Generate mailboxes for the given parameters",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Generate mailboxes",
                "parameters": [
                    {
                        "description": "ExternalGenerateMailboxesRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalGenerateMailboxesRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalGenerateMailboxesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/mailboxes/pre-warmed": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "List available pre-warmed domains with mailboxes and prices. Supports search by domain name and pagination. Omit limit to use the default of 100.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "List available pre-warmed domains",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Search by domain name",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Maximum number of domains to return (1-100). Defaults to 100 when omitted.",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Number of domains to skip",
                        "name": "offset",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalGetPreWarmedDomainsListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/mailboxes/{mailboxID}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get a mailbox by its ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Get mailbox",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Mailbox ID",
                        "name": "mailboxID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "Include credentials in the response",
                        "name": "with_credentials",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalGetMailboxesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Delete a mailbox by its ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Delete mailbox",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Mailbox ID",
                        "name": "mailboxID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Update a mailbox attributes by its ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Update mailbox",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Mailbox ID",
                        "name": "mailboxID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "ExternalUpdateMailboxRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalUpdateMailboxRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalUpdateMailboxResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/postal-code-details": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get postal code details for a given country code",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Postal Code"
                ],
                "summary": "Get postal code details",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Country code",
                        "name": "countryCode",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.PostalCodeDetails"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/workspaces": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "List workspaces created by the user",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces"
                ],
                "summary": "List workspaces",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalGetWorkspacesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Create a new workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces"
                ],
                "summary": "Create workspace",
                "parameters": [
                    {
                        "description": "ExternalCreateWorkspaceRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalCreateWorkspaceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalCreateWorkspaceResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/workspaces/:workspaceID/domains/transfer-to-workspace": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Transfer domains to a different workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Domains"
                ],
                "summary": "Transfer domains to a workspace",
                "parameters": [
                    {
                        "description": "ExternalTransferDomainsToWorkspaceRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalTransferDomainsToWorkspaceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/workspaces/domains/core": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get available core domains for an IP",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces",
                    "IPs"
                ],
                "summary": "Get core domains for an IP",
                "parameters": [
                    {
                        "type": "string",
                        "description": "IP",
                        "name": "ip",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/responses.GetCoreDomainResponse"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Update core domain of an IP",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces",
                    "IPs"
                ],
                "summary": "Update core domain of an IP",
                "parameters": [
                    {
                        "description": "ExternalUpdateIPCoreDomainRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalUpdateIPCoreDomainRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/workspaces/ips/:ip": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Delete workspace IP, Cancels subscription to the IP",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces",
                    "IPs"
                ],
                "summary": "Delete workspace IP",
                "parameters": [
                    {
                        "type": "string",
                        "description": "IP",
                        "name": "ip",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspaceID}": {
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Delete a workspace by its ID, if it has IP attached, it would be deleted as well",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces"
                ],
                "summary": "Delete Workspace",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Workspace ID",
                        "name": "workspaceID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            },
            "patch": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Update a workspace by its ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces",
                    "IPs"
                ],
                "summary": "Update workspace",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Workspace ID",
                        "name": "workspaceID",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "ExternalUpdateWorkspaceRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalUpdateWorkspaceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/responses.ExternalUpdateWorkspaceResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspaceID}/eligible-ips": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Get eligible IPs for a workspace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Workspaces",
                    "IPs"
                ],
                "summary": "Get eligible IPs for a workspace",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Workspace ID",
                        "name": "workspaceID",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        },
        "/workspaces/{workspaceID}/mailboxes/export": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Export mailboxes for the given parameters, returns a csv string\nExport types: sf, sl, inst, first_quadrant, luna, reply_io, mailivery, woodpecker, superagi, pipelime, masterinbox",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "text/plain"
                ],
                "tags": [
                    "Mailboxes"
                ],
                "summary": "Export mailboxes",
                "parameters": [
                    {
                        "description": "ExternalExportMailboxesRequest",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/requests.ExternalExportMailboxesRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "csv string",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/errors.Error"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "errors.Error": {
            "type": "object",
            "properties": {
                "data": {},
                "message": {
                    "type": "string"
                }
            }
        },
        "masker.DomainMaskingResponse": {
            "type": "object",
            "properties": {
                "destinationDomain": {
                    "type": "string",
                    "example": "destinationDomain.com"
                },
                "forwardingStatus": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.ForwardingStatus"
                        }
                    ],
                    "example": "active"
                },
                "ip": {
                    "type": "string",
                    "example": "131.22.51.22"
                },
                "masking": {
                    "type": "boolean",
                    "example": true
                },
                "routeInServer": {
                    "type": "boolean",
                    "example": true
                },
                "sourceDomain": {
                    "type": "string",
                    "example": "sourceDomain.com"
                }
            }
        },
        "models.DomainAutoRenewStatus": {
            "type": "string",
            "enum": [
                "disabled",
                "enabled",
                "failed"
            ],
            "x-enum-varnames": [
                "DomainAutoRenewStatusDisabled",
                "DomainAutoRenewStatusEnabled",
                "DomainAutoRenewStatusFailed"
            ]
        },
        "models.DomainStatus": {
            "type": "string",
            "enum": [
                "draft",
                "active",
                "pending",
                "failed",
                "expired"
            ],
            "x-enum-comments": {
                "DomainStatusPending": "Purchased by user, but not purchased in Registrar yet"
            },
            "x-enum-varnames": [
                "DomainStatusDraft",
                "DomainStatusActive",
                "DomainStatusPending",
                "DomainStatusFailed",
                "DomainStatusExpired"
            ]
        },
        "models.ForwardingStatus": {
            "type": "string",
            "enum": [
                "pending",
                "active",
                "failed"
            ],
            "x-enum-varnames": [
                "ForwardingStatusPending",
                "ForwardingStatusActive",
                "ForwardingStatusFailed"
            ]
        },
        "models.MailboxNameType": {
            "type": "string",
            "enum": [
                "predefined",
                "female",
                "male",
                "combo"
            ],
            "x-enum-varnames": [
                "MailboxNameTypePredefined",
                "MailboxNameTypeFemale",
                "MailboxNameTypeMale",
                "MailboxNameTypeCombo"
            ]
        },
        "models.MailboxStatus": {
            "type": "string",
            "enum": [
                "draft",
                "active",
                "pending",
                "processing",
                "failed"
            ],
            "x-enum-varnames": [
                "MailboxStatusDraft",
                "MailboxStatusActive",
                "MailboxStatusPending",
                "MailboxStatusProcessing",
                "MailboxStatusFailed"
            ]
        },
        "models.MailboxVariant": {
            "type": "object",
            "properties": {
                "firstName": {
                    "type": "string"
                },
                "forwardingEmail": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string"
                },
                "signature": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "models.PredefinedMailboxName": {
            "type": "object",
            "required": [
                "firstName",
                "lastName"
            ],
            "properties": {
                "firstName": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string"
                },
                "signature": {
                    "type": "string"
                }
            }
        },
        "models.SetupStatus": {
            "type": "string",
            "enum": [
                "draft",
                "processing",
                "completed",
                "deleted"
            ],
            "x-enum-varnames": [
                "SetupStatusDraft",
                "SetupStatusProcessing",
                "SetupStatusCompleted",
                "SetupStatusDeleted"
            ]
        },
        "requests.BulkDNSUpdateRequest": {
            "type": "object",
            "properties": {
                "cnameRecords": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/requests.CNameRecord"
                    }
                },
                "dmarcEmail": {
                    "type": "string",
                    "example": "jondoedmarc@yahoo.com"
                },
                "dmarcPolicy": {
                    "type": "string",
                    "enum": [
                        "none",
                        "quarantine",
                        "reject"
                    ],
                    "example": "none"
                },
                "domains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "example.com",
                        "example2.com"
                    ]
                },
                "forwardToDomain": {
                    "type": "string",
                    "example": "https://mydomain.com"
                }
            }
        },
        "requests.CNameRecord": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string",
                    "example": "example.io"
                },
                "hostName": {
                    "type": "string",
                    "example": "myhost"
                }
            }
        },
        "requests.ContactDetailsForSetup": {
            "type": "object",
            "required": [
                "address1",
                "city",
                "country",
                "email",
                "firstName",
                "lastName",
                "organization",
                "phone",
                "postalCode",
                "province"
            ],
            "properties": {
                "address1": {
                    "type": "string",
                    "example": "123 Main St"
                },
                "address2": {
                    "type": "string",
                    "example": "Apt 123"
                },
                "city": {
                    "type": "string",
                    "example": "San Francisco"
                },
                "country": {
                    "type": "string",
                    "example": "US"
                },
                "dmarcEmail": {
                    "type": "string",
                    "example": "jondoedmarc@yahoo.com"
                },
                "email": {
                    "type": "string",
                    "example": "jondoe@yahoo.com"
                },
                "firstName": {
                    "type": "string",
                    "example": "Jon"
                },
                "forwardToDomain": {
                    "type": "string",
                    "example": "example.com"
                },
                "jobTitle": {
                    "type": "string",
                    "example": "CEO"
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "organization": {
                    "type": "string",
                    "example": "Infraforge"
                },
                "phone": {
                    "type": "string",
                    "example": "+370.68883107"
                },
                "postalCode": {
                    "type": "string",
                    "example": "94105"
                },
                "province": {
                    "type": "string",
                    "example": "CA"
                }
            }
        },
        "requests.DomainPayload": {
            "type": "object",
            "required": [
                "domain",
                "mailboxes"
            ],
            "properties": {
                "domain": {
                    "type": "string",
                    "example": "example.com"
                },
                "mailboxes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/requests.MailboxPayload"
                    }
                }
            }
        },
        "requests.DomainRecord": {
            "type": "object",
            "required": [
                "name",
                "type",
                "value"
            ],
            "properties": {
                "editable": {
                    "type": "boolean",
                    "example": true
                },
                "name": {
                    "type": "string",
                    "example": "hostname"
                },
                "type": {
                    "type": "string",
                    "example": "CNAME"
                },
                "value": {
                    "type": "string",
                    "example": "example.com"
                }
            }
        },
        "requests.ExportMailboxesSFRequest": {
            "type": "object",
            "required": [
                "fromWorkspaceId",
                "tagName",
                "toWorkspaceId"
            ],
            "properties": {
                "excludedIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "fromWorkspaceId": {
                    "type": "string"
                },
                "includedIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "search": {
                    "type": "string"
                },
                "tagName": {
                    "type": "string"
                },
                "toWarmforgeWorkspaceId": {
                    "type": "string"
                },
                "toWorkspaceId": {
                    "type": "string"
                },
                "warmupActivated": {
                    "type": "boolean"
                }
            }
        },
        "requests.ExternalAdjustTopupAmountRequest": {
            "type": "object",
            "required": [
                "amount"
            ],
            "properties": {
                "amount": {
                    "type": "integer",
                    "minimum": 10
                }
            }
        },
        "requests.ExternalBulkEnableDisableAutoRenewRequest": {
            "type": "object",
            "properties": {
                "domainIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "requests.ExternalBulkForwardMailboxesRequest": {
            "type": "object",
            "required": [
                "forwardingEmail",
                "id"
            ],
            "properties": {
                "forwardingEmail": {
                    "type": "string",
                    "example": "jondoeforwarder@yahoo.com"
                },
                "id": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "mlb_hqw6wpdmtf2r92yb757o6",
                        "mlb_ue8tdo87y01omffppsax2",
                        "mlb_zpx9w4ypwjdblngxkoiqi"
                    ]
                }
            }
        },
        "requests.ExternalBuyDomainsRequest": {
            "type": "object",
            "required": [
                "contactDetails",
                "domains",
                "workspaceId"
            ],
            "properties": {
                "contactDetails": {
                    "$ref": "#/definitions/requests.ContactDetailsForSetup"
                },
                "domains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "example.com"
                    ]
                },
                "workspaceId": {
                    "type": "string",
                    "example": "workspaceId"
                }
            }
        },
        "requests.ExternalBuyMailboxesRequest": {
            "type": "object",
            "required": [
                "domains"
            ],
            "properties": {
                "domains": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/requests.DomainPayload"
                    }
                }
            }
        },
        "requests.ExternalCheckDomainAvailabilityBulkRequest": {
            "type": "object",
            "properties": {
                "domains": {
                    "type": "array",
                    "maxItems": 100,
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "example.com",
                        "example.org"
                    ]
                }
            }
        },
        "requests.ExternalCreateCreditBalanceRequest": {
            "type": "object",
            "required": [
                "amount",
                "topupThreshold"
            ],
            "properties": {
                "amount": {
                    "type": "integer",
                    "minimum": 100
                },
                "isEnabled": {
                    "type": "boolean"
                },
                "topupThreshold": {
                    "type": "integer",
                    "minimum": 50
                }
            }
        },
        "requests.ExternalCreateWorkspaceRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "attachUniqueIp": {
                    "type": "boolean",
                    "example": false
                },
                "name": {
                    "type": "string",
                    "example": "my-main-workspace"
                }
            }
        },
        "requests.ExternalExportMailboxesRequest": {
            "type": "object",
            "required": [
                "exportType",
                "workspaceID"
            ],
            "properties": {
                "excludedIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "mlb_hqw6wpdmtf2r92yb757o6"
                    ]
                },
                "exportType": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/requests.MailboxExportType"
                        }
                    ],
                    "example": "sf"
                },
                "includedIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "mlb_ue8tdo87y01omffppsax2",
                        "mlb_zpx9w4ypwjdblngxkoiqi"
                    ]
                },
                "workspaceID": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                }
            }
        },
        "requests.ExternalGenerateAlternativeDomainsRequest": {
            "type": "object",
            "required": [
                "count",
                "inputSld",
                "outputTld"
            ],
            "properties": {
                "count": {
                    "type": "integer",
                    "minimum": 1,
                    "example": 5
                },
                "exclude": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "inputSld": {
                    "type": "string",
                    "example": "coolcompany"
                },
                "outputTld": {
                    "type": "string",
                    "example": "com"
                }
            }
        },
        "requests.ExternalGenerateMailboxesRequest": {
            "type": "object",
            "required": [
                "count",
                "domains",
                "type"
            ],
            "properties": {
                "count": {
                    "type": "integer",
                    "minimum": 1
                },
                "domains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "forwardingEmail": {
                    "type": "string"
                },
                "predefinedNames": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/models.PredefinedMailboxName"
                    }
                },
                "signature": {
                    "type": "string"
                },
                "type": {
                    "enum": [
                        "predefined",
                        "female",
                        "male",
                        "combo"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.MailboxNameType"
                        }
                    ]
                }
            }
        },
        "requests.ExternalPurchaseDomainMaskingSSLRequest": {
            "type": "object",
            "required": [
                "domainIds"
            ],
            "properties": {
                "domainIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "d_1",
                        "d_2",
                        "d_3"
                    ]
                },
                "purchaseMasking": {
                    "type": "boolean",
                    "example": true
                }
            }
        },
        "requests.ExternalPurchasePreWarmedDomainsRequest": {
            "type": "object",
            "required": [
                "domainIds",
                "workspaceId"
            ],
            "properties": {
                "dmarcEmail": {
                    "type": "string",
                    "example": "jondoedmarc@yahoo.com"
                },
                "domainIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "dom_297vbduhvsfb382j3",
                        "dom_297vbduhvsfb382j4"
                    ]
                },
                "forwardToDomain": {
                    "type": "string",
                    "example": "https://example.com"
                },
                "workspaceId": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                }
            }
        },
        "requests.ExternalTransferDomainOutRequest": {
            "type": "object",
            "required": [
                "domainID",
                "nameservers"
            ],
            "properties": {
                "domainID": {
                    "type": "string",
                    "example": "dom_297vbduhvsfb382j3"
                },
                "nameservers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "ns1.example.com",
                        "ns2.example.com"
                    ]
                }
            }
        },
        "requests.ExternalTransferDomainsRequest": {
            "type": "object",
            "required": [
                "domains",
                "workspaceId"
            ],
            "properties": {
                "dmarcEmail": {
                    "type": "string"
                },
                "domains": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "forwardToDomain": {
                    "type": "string"
                },
                "workspaceId": {
                    "type": "string"
                }
            }
        },
        "requests.ExternalTransferDomainsToWorkspaceRequest": {
            "type": "object",
            "required": [
                "workspaceID"
            ],
            "properties": {
                "domainIds": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "dom_297vbduhvsfb382j3",
                        "dom_297vbduhvsfb382j4"
                    ]
                },
                "workspaceID": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                }
            }
        },
        "requests.ExternalUpdateCreditBalanceRequest": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "integer",
                    "minimum": 100
                },
                "isEnabled": {
                    "type": "boolean"
                },
                "topupThreshold": {
                    "type": "integer",
                    "minimum": 50
                }
            }
        },
        "requests.ExternalUpdateDomainForwardsRequest": {
            "type": "object",
            "required": [
                "domainId",
                "forwardToDomain"
            ],
            "properties": {
                "domainId": {
                    "type": "string",
                    "example": "d_1"
                },
                "domainMasking": {
                    "type": "boolean",
                    "example": true
                },
                "forwardToDomain": {
                    "type": "string",
                    "example": "https://example.com"
                }
            }
        },
        "requests.ExternalUpdateIPCoreDomainRequest": {
            "type": "object",
            "required": [
                "coreDomainId",
                "ip"
            ],
            "properties": {
                "coreDomainId": {
                    "type": "string",
                    "example": "dom_1234567890"
                },
                "ip": {
                    "type": "string",
                    "example": "192.168.1.1"
                }
            }
        },
        "requests.ExternalUpdateMailboxRequest": {
            "type": "object",
            "properties": {
                "firstName": {
                    "type": "string",
                    "example": "Jon"
                },
                "forwardingEmail": {
                    "type": "string",
                    "example": "forwardingEmail@example.com"
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "password": {
                    "type": "string",
                    "example": "s#3cRePa$$w04d"
                },
                "signature": {
                    "type": "string",
                    "example": "Best, Jon"
                }
            }
        },
        "requests.ExternalUpdateWorkspaceRequest": {
            "type": "object",
            "required": [
                "workspaceID"
            ],
            "properties": {
                "ip": {
                    "type": "string",
                    "example": "1.1.1.1"
                },
                "name": {
                    "type": "string",
                    "maxLength": 50,
                    "minLength": 1,
                    "example": "Edited Workspace Name"
                },
                "preserveSpf": {
                    "type": "boolean",
                    "example": true
                },
                "workspaceID": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                }
            }
        },
        "requests.MailboxExportType": {
            "type": "string",
            "enum": [
                "reach",
                "sl",
                "inst",
                "sf",
                "first_quadrant",
                "luna",
                "reply_io",
                "mailivery",
                "woodpecker",
                "superagi",
                "pipelime",
                "masterinbox"
            ],
            "x-enum-varnames": [
                "MailboxExportTypeReach",
                "MailboxExportTypeSl",
                "MailboxExportTypeInst",
                "MailboxExportTypeSf",
                "MailboxExportTypeFirstQuadrant",
                "MailboxExportTypeLuna",
                "MailboxExportTypeReplyIO",
                "MailboxExportTypeMailivery",
                "MailboxExportTypeWoodpecker",
                "MailboxExportTypeSuperagi",
                "MailboxExportTypePipeLime",
                "MailboxExportTypeMasterInbox"
            ]
        },
        "requests.MailboxPayload": {
            "type": "object",
            "required": [
                "email",
                "firstName",
                "lastName"
            ],
            "properties": {
                "email": {
                    "type": "string",
                    "example": "jondoe@example.com"
                },
                "firstName": {
                    "type": "string",
                    "example": "Jon"
                },
                "forwardingEmail": {
                    "type": "string",
                    "example": "forwardemailjon@example.com"
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "signature": {
                    "type": "string",
                    "example": "Best, Jon"
                }
            }
        },
        "requests.UpdateDomainDNSRequest": {
            "type": "object",
            "required": [
                "records"
            ],
            "properties": {
                "records": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/requests.DomainRecord"
                    }
                }
            }
        },
        "responses.CreateCreditBalanceResponse": {
            "type": "object",
            "properties": {
                "availableAmountCents": {
                    "type": "integer",
                    "example": 100
                },
                "invoice": {
                    "$ref": "#/definitions/responses.PurchaseInvoiceResponse"
                },
                "topupSettings": {
                    "$ref": "#/definitions/responses.CreditBalanceSettings"
                }
            }
        },
        "responses.CreditBalanceInfo": {
            "type": "object",
            "properties": {
                "availableAmountCents": {
                    "type": "integer",
                    "example": 100
                },
                "topupSettings": {
                    "$ref": "#/definitions/responses.CreditBalanceSettings"
                }
            }
        },
        "responses.CreditBalanceSettings": {
            "type": "object",
            "properties": {
                "amount": {
                    "type": "integer",
                    "example": 100
                },
                "isEnabled": {
                    "type": "boolean",
                    "example": true
                },
                "topupThreshold": {
                    "type": "integer",
                    "example": 50
                }
            }
        },
        "responses.DomainTransferredNameserversResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "example": "dom_9xh7elemavnvew01itfxc"
                },
                "domain": {
                    "type": "string",
                    "example": "example.com"
                },
                "expiresAt": {
                    "type": "string",
                    "example": "2026-01-01T00:00:00Z"
                },
                "nameservers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "ns1.premiumdns.zone",
                        "ns2.premiumdns.zone"
                    ]
                }
            }
        },
        "responses.ExternalBuyDomainsResponse": {
            "type": "object",
            "properties": {
                "domains": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/responses.ExternalGetDomainsResponse"
                    }
                },
                "invoice": {
                    "$ref": "#/definitions/responses.PurchaseInvoiceResponse"
                },
                "setup": {
                    "$ref": "#/definitions/responses.ExternalSetupResponse"
                }
            }
        },
        "responses.ExternalBuyMailboxesResponse": {
            "type": "object",
            "properties": {
                "invoice": {
                    "$ref": "#/definitions/responses.PurchaseInvoiceResponse"
                },
                "mailboxes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/responses.GetMailboxesResponse"
                    }
                }
            }
        },
        "responses.ExternalBuyPreWarmedDomainsResponse": {
            "type": "object",
            "properties": {
                "domains": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/responses.ExternalGetDomainsResponse"
                    }
                },
                "invoice": {
                    "$ref": "#/definitions/responses.PurchaseInvoiceResponse"
                },
                "mailboxes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/responses.GetMailboxesResponse"
                    }
                },
                "requestedWorkspaceId": {
                    "type": "string"
                },
                "setup": {
                    "$ref": "#/definitions/responses.ExternalSetupResponse"
                },
                "workspaceId": {
                    "type": "string"
                }
            }
        },
        "responses.ExternalCheckDomainAvailabilityResponse": {
            "type": "object",
            "properties": {
                "available": {
                    "type": "boolean",
                    "example": true
                },
                "domain": {
                    "type": "string",
                    "example": "example.com"
                },
                "minCreationPeriodMonths": {
                    "type": "integer",
                    "example": 12
                },
                "price": {
                    "type": "number",
                    "example": 12
                }
            }
        },
        "responses.ExternalCreateDomainTransferResponse": {
            "type": "object",
            "properties": {
                "domains": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/responses.DomainTransferredNameserversResponse"
                    }
                },
                "invoice": {
                    "$ref": "#/definitions/responses.TransferInvoiceResponse"
                }
            }
        },
        "responses.ExternalCreateWorkspaceResponse": {
            "type": "object",
            "properties": {
                "accountId": {
                    "type": "string",
                    "example": "acc_2cet0p4tov4isv3v1ncyy"
                },
                "createdAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "id": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                },
                "name": {
                    "type": "string",
                    "example": "My Main Workspace"
                },
                "slug": {
                    "type": "string",
                    "example": "my-main-workspace"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                }
            }
        },
        "responses.ExternalGenerateAlternativeDomainResponse": {
            "type": "object",
            "properties": {
                "available": {
                    "type": "boolean",
                    "example": true
                },
                "domain": {
                    "type": "string",
                    "example": "trycoolcompany.com"
                },
                "price": {
                    "type": "number",
                    "example": 12
                }
            }
        },
        "responses.ExternalGenerateMailboxesResponse": {
            "type": "object",
            "properties": {
                "domains": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/models.MailboxVariant"
                        }
                    }
                }
            }
        },
        "responses.ExternalGetDomainDNSResponse": {
            "type": "object",
            "properties": {
                "editable": {
                    "type": "boolean",
                    "example": true
                },
                "name": {
                    "type": "string",
                    "example": "host"
                },
                "type": {
                    "type": "string",
                    "example": "CNAME"
                },
                "value": {
                    "type": "string",
                    "example": "infraforge.ai"
                }
            }
        },
        "responses.ExternalGetDomainRenewalPriceResponse": {
            "type": "object",
            "properties": {
                "buyPriceCents": {
                    "type": "integer",
                    "example": 1400
                },
                "domainIsTransferred": {
                    "type": "boolean",
                    "example": false
                },
                "renewalPriceCents": {
                    "type": "integer",
                    "example": 1400
                }
            }
        },
        "responses.ExternalGetDomainsResponse": {
            "type": "object",
            "properties": {
                "autoRenewLastProcessedExpiration": {
                    "type": "string",
                    "example": "2021-09-01T00:00:00Z"
                },
                "autoRenewProcessedAt": {
                    "type": "string",
                    "example": "2021-09-01T00:00:00Z"
                },
                "autoRenewStatus": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.DomainAutoRenewStatus"
                        }
                    ],
                    "example": "disabled"
                },
                "createdAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "expiresAt": {
                    "type": "string",
                    "example": "2021-09-01T00:00:00Z"
                },
                "forwardToDomain": {
                    "type": "string",
                    "example": "https://yourdomain.com"
                },
                "forwardingStatus": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.ForwardingStatus"
                        }
                    ],
                    "example": "active"
                },
                "id": {
                    "type": "string",
                    "example": "dom_9xh7elemavnvew01itfxc"
                },
                "masking": {
                    "type": "boolean",
                    "example": false
                },
                "setupId": {
                    "type": "string",
                    "example": "set_w3rz7eh5e1t12cvfhj1mv"
                },
                "sld": {
                    "type": "string",
                    "example": "example"
                },
                "ssl": {
                    "type": "boolean",
                    "example": false
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.DomainStatus"
                        }
                    ],
                    "example": "active"
                },
                "tld": {
                    "type": "string",
                    "example": "com"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "workspaceId": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                }
            }
        },
        "responses.ExternalGetMailboxesResponse": {
            "type": "object",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "credentials": {
                    "$ref": "#/definitions/responses.imapsmtpcredentials"
                },
                "domain": {
                    "type": "string",
                    "example": "example.com"
                },
                "email": {
                    "type": "string",
                    "example": "jondoe@example.com"
                },
                "firstName": {
                    "type": "string",
                    "example": "Jon"
                },
                "forwardingEmail": {
                    "type": "string",
                    "example": "forward_to@example.com"
                },
                "id": {
                    "type": "string",
                    "example": "mbx_1duj5a6534j37kzook2l9"
                },
                "isPrewarmed": {
                    "type": "boolean",
                    "example": false
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "setupId": {
                    "type": "string",
                    "example": "set_w3rz7eh5e1t12cvfhj1mv"
                },
                "signature": {
                    "type": "string",
                    "example": "Best, Jon Doe"
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.MailboxStatus"
                        }
                    ],
                    "example": "active"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "workspaceId": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                }
            }
        },
        "responses.ExternalGetPreWarmedDomainsListResponse": {
            "type": "object",
            "properties": {
                "domains": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/responses.GetAvailablePreWarmedMailboxesResponse"
                    }
                },
                "pagination": {
                    "$ref": "#/definitions/responses.ExternalPreWarmedDomainsPagination"
                }
            }
        },
        "responses.ExternalGetWorkspacesResponse": {
            "type": "object",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "id": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                },
                "ip": {
                    "type": "string",
                    "example": "123.45.67.89"
                },
                "mailserver": {
                    "type": "string",
                    "example": "nexus.thecyberspacelink.com"
                },
                "name": {
                    "type": "string",
                    "example": "My Main Workspace"
                },
                "slug": {
                    "type": "string",
                    "example": "my-main-workspace"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                }
            }
        },
        "responses.ExternalPreWarmedDomainsPagination": {
            "type": "object",
            "properties": {
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "responses.ExternalPurchaseDomainMaskingSSLResponse": {
            "type": "object",
            "properties": {
                "invoice": {
                    "$ref": "#/definitions/responses.PurchaseInvoiceResponse"
                },
                "masking": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/masker.DomainMaskingResponse"
                    }
                }
            }
        },
        "responses.ExternalSetupResponse": {
            "type": "object",
            "properties": {
                "accountId": {
                    "type": "string",
                    "example": "acc_0d8l2a3u3c3wcn6suq6nn"
                },
                "address1": {
                    "type": "string",
                    "example": "123 Main St"
                },
                "address2": {
                    "type": "string",
                    "example": "Apt 123"
                },
                "city": {
                    "type": "string",
                    "example": "San Francisco"
                },
                "country": {
                    "type": "string",
                    "example": "US"
                },
                "createdAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "dmarcEmail": {
                    "type": "string",
                    "example": "jondoedmarc@yahoo.com"
                },
                "email": {
                    "type": "string",
                    "example": "jondoe@example.com"
                },
                "firstName": {
                    "type": "string",
                    "example": "Jon"
                },
                "forwardToDomain": {
                    "type": "string",
                    "example": "example.com"
                },
                "id": {
                    "type": "string",
                    "example": "set_0d8l2a3u3c3wcn6suq6nn"
                },
                "jobTitle": {
                    "type": "string",
                    "example": "CEO"
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "organization": {
                    "type": "string",
                    "example": "Infraforge"
                },
                "phone": {
                    "type": "string",
                    "example": "+370.68883107"
                },
                "postalCode": {
                    "type": "string",
                    "example": "94105"
                },
                "province": {
                    "type": "string",
                    "example": "CA"
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.SetupStatus"
                        }
                    ],
                    "example": "processing"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "workspaceId": {
                    "type": "string",
                    "example": "ws_0d8l2a3u3c3wcn6suq6nn"
                }
            }
        },
        "responses.ExternalUpdateMailboxResponse": {
            "type": "object",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "email": {
                    "type": "string",
                    "example": "jonDoe@example.com"
                },
                "firstName": {
                    "type": "string",
                    "example": "Jon"
                },
                "forwardingEmail": {
                    "type": "string",
                    "example": "forwardingEmail@example.com"
                },
                "id": {
                    "type": "string",
                    "example": "mbx_1duj5a6534j37kzook2l9"
                },
                "isPrewarmed": {
                    "type": "boolean",
                    "example": false
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "signature": {
                    "type": "string",
                    "example": "Best, Jon Doe"
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.MailboxStatus"
                        }
                    ],
                    "example": "active"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                }
            }
        },
        "responses.ExternalUpdateWorkspaceResponse": {
            "type": "object",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                },
                "id": {
                    "type": "string",
                    "example": "wks_70my6ggvn5csfw3o27ojq"
                },
                "name": {
                    "type": "string",
                    "example": "My Main Workspace"
                },
                "slug": {
                    "type": "string",
                    "example": "my-main-workspace"
                },
                "updatedAt": {
                    "type": "string",
                    "example": "2021-08-01T00:00:00Z"
                }
            }
        },
        "responses.GetAvailablePreWarmedMailboxesResponse": {
            "type": "object",
            "properties": {
                "domain": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "mailboxes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/responses.PreWarmedMailbox"
                    }
                },
                "price": {
                    "type": "number"
                }
            }
        },
        "responses.GetCoreDomainResponse": {
            "type": "object",
            "properties": {
                "domain": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "responses.GetMailboxesResponse": {
            "type": "object",
            "properties": {
                "createdAt": {
                    "type": "string",
                    "example": "2026-01-01T00:00:00Z"
                },
                "email": {
                    "type": "string",
                    "example": "jondoe@example.com"
                },
                "firstName": {
                    "type": "string",
                    "example": "Jon"
                },
                "forwardingEmail": {
                    "type": "string",
                    "example": "forward_to@example.com"
                },
                "id": {
                    "type": "string",
                    "example": "mbx_1duj5a6534j37kzook2l9"
                },
                "isPrewarmed": {
                    "type": "boolean",
                    "example": false
                },
                "lastName": {
                    "type": "string",
                    "example": "Doe"
                },
                "signature": {
                    "type": "string",
                    "example": "Best, Jon Doe"
                },
                "status": {
                    "allOf": [
                        {
                            "$ref": "#/definitions/models.MailboxStatus"
                        }
                    ],
                    "example": "active"
                }
            }
        },
        "responses.PostalCodeDetails": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string",
                    "example": "GB"
                },
                "name": {
                    "type": "string",
                    "example": "United Kingdom"
                },
                "postalCodeExample": {
                    "type": "string",
                    "example": "BFPO"
                },
                "postalCodePattern": {
                    "type": "string",
                    "example": "\\d{1,4}"
                }
            }
        },
        "responses.PreWarmedMailbox": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "fullName": {
                    "type": "string"
                }
            }
        },
        "responses.PurchaseInvoiceResponse": {
            "type": "object",
            "properties": {
                "amountPaid": {
                    "type": "integer",
                    "example": 2852
                },
                "creditsApplied": {
                    "type": "integer",
                    "example": 0
                },
                "id": {
                    "type": "string",
                    "example": "invoice-id"
                },
                "paidAt": {
                    "type": "string",
                    "example": "2021-09-01T00:00:00Z"
                },
                "subTotal": {
                    "type": "integer",
                    "example": 2852
                },
                "total": {
                    "type": "integer",
                    "example": 2852
                }
            }
        },
        "responses.TransferInvoiceResponse": {
            "type": "object",
            "properties": {
                "amountPaid": {
                    "type": "integer",
                    "example": 2852
                },
                "createdAt": {
                    "type": "string",
                    "example": "2021-09-01T00:00:00Z"
                },
                "currencyCode": {
                    "type": "string",
                    "example": "USD"
                },
                "id": {
                    "type": "string",
                    "example": "invoice-id"
                },
                "status": {
                    "type": "string",
                    "example": "paid"
                },
                "total": {
                    "type": "integer",
                    "example": 2852
                }
            }
        },
        "responses.TransferNameserverInfo": {
            "type": "object",
            "properties": {
                "nameservers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "example": [
                        "ns1.premiumdns.zone",
                        "ns2.premiumdns.zone"
                    ]
                }
            }
        },
        "responses.imapsmtpcredentials": {
            "type": "object",
            "properties": {
                "imapHost": {
                    "type": "string",
                    "example": "imap.server.com"
                },
                "imapPassword": {
                    "type": "string",
                    "example": "imap-password"
                },
                "imapPort": {
                    "type": "integer",
                    "example": 993
                },
                "imapUsername": {
                    "type": "string",
                    "example": "imap-username@example.com"
                },
                "smtpHost": {
                    "type": "string",
                    "example": "smtp.server.com"
                },
                "smtpPassword": {
                    "type": "string",
                    "example": "smtp-password"
                },
                "smtpPort": {
                    "type": "integer",
                    "example": 587
                },
                "smtpUsername": {
                    "type": "string",
                    "example": "smtp-username@example.com"
                }
            }
        },
        "salesforge.ExportedMailbox": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "firstName": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "salesforge.MailboxImportConflictError": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "addresses": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                },
                "message": {
                    "type": "string"
                }
            }
        }
    },
    "securityDefinitions": {
        "ApiKeyAuth": {
            "type": "apiKey",
            "name": "Authorization",
            "in": "header"
        }
    }
}