{ "Name": "Account", "Docs": "Account exports web API functions for the account web interface. All its\nmethods are exported under api/. Function calls require valid HTTP\nAuthentication credentials of a user.", "Functions": [ { "Name": "LoginPrep", "Docs": "LoginPrep returns a login token, and also sets it as cookie. Both must be\npresent in the call to Login.", "Params": [], "Returns": [ { "Name": "r0", "Typewords": [ "string" ] } ] }, { "Name": "Login", "Docs": "Login returns a session token for the credentials, or fails with error code\n\"user:badLogin\". Call LoginPrep to get a loginToken.", "Params": [ { "Name": "loginToken", "Typewords": [ "string" ] }, { "Name": "username", "Typewords": [ "string" ] }, { "Name": "password", "Typewords": [ "string" ] } ], "Returns": [ { "Name": "r0", "Typewords": [ "CSRFToken" ] } ] }, { "Name": "Logout", "Docs": "Logout invalidates the session token.", "Params": [], "Returns": [] }, { "Name": "SetPassword", "Docs": "SetPassword saves a new password for the account, invalidating the previous password.\nSessions are not interrupted, and will keep working. New login attempts must use the new password.\nPassword must be at least 8 characters.", "Params": [ { "Name": "password", "Typewords": [ "string" ] } ], "Returns": [] }, { "Name": "Account", "Docs": "Account returns information about the account: full name, the default domain,\nand the destinations (keys are email addresses, or localparts to the default\ndomain). todo: replace with a function that returns the whole account, when\nsherpadoc understands unnamed struct fields.\nStorageUsed is the sum of the sizes of all messages, in bytes.\nStorageLimit is the maximum storage that can be used, or 0 if there is no limit.", "Params": [], "Returns": [ { "Name": "fullName", "Typewords": [ "string" ] }, { "Name": "defaultDomain", "Typewords": [ "Domain" ] }, { "Name": "destinations", "Typewords": [ "{}", "Destination" ] }, { "Name": "storageUsed", "Typewords": [ "int64" ] }, { "Name": "storageLimit", "Typewords": [ "int64" ] } ] }, { "Name": "AccountSaveFullName", "Docs": "", "Params": [ { "Name": "fullName", "Typewords": [ "string" ] } ], "Returns": [] }, { "Name": "DestinationSave", "Docs": "DestinationSave updates a destination.\nOldDest is compared against the current destination. If it does not match, an\nerror is returned. Otherwise newDest is saved and the configuration reloaded.", "Params": [ { "Name": "destName", "Typewords": [ "string" ] }, { "Name": "oldDest", "Typewords": [ "Destination" ] }, { "Name": "newDest", "Typewords": [ "Destination" ] } ], "Returns": [] }, { "Name": "ImportAbort", "Docs": "ImportAbort aborts an import that is in progress. If the import exists and isn't\nfinished, no changes will have been made by the import.", "Params": [ { "Name": "importToken", "Typewords": [ "string" ] } ], "Returns": [] }, { "Name": "Types", "Docs": "Types exposes types not used in API method signatures, such as the import form upload.", "Params": [], "Returns": [ { "Name": "importProgress", "Typewords": [ "ImportProgress" ] } ] } ], "Sections": [], "Structs": [ { "Name": "Domain", "Docs": "Domain is a domain name, with one or more labels, with at least an ASCII\nrepresentation, and for IDNA non-ASCII domains a unicode representation.\nThe ASCII string must be used for DNS lookups. The strings do not have a\ntrailing dot. When using with StrictResolver, add the trailing dot.", "Fields": [ { "Name": "ASCII", "Docs": "A non-unicode domain, e.g. with A-labels (xn--...) or NR-LDH (non-reserved letters/digits/hyphens) labels. Always in lower case. No trailing dot.", "Typewords": [ "string" ] }, { "Name": "Unicode", "Docs": "Name as U-labels, in Unicode NFC. Empty if this is an ASCII-only domain. No trailing dot.", "Typewords": [ "string" ] } ] }, { "Name": "Destination", "Docs": "", "Fields": [ { "Name": "Mailbox", "Docs": "", "Typewords": [ "string" ] }, { "Name": "Rulesets", "Docs": "", "Typewords": [ "[]", "Ruleset" ] }, { "Name": "FullName", "Docs": "", "Typewords": [ "string" ] } ] }, { "Name": "Ruleset", "Docs": "", "Fields": [ { "Name": "SMTPMailFromRegexp", "Docs": "", "Typewords": [ "string" ] }, { "Name": "VerifiedDomain", "Docs": "", "Typewords": [ "string" ] }, { "Name": "HeadersRegexp", "Docs": "", "Typewords": [ "{}", "string" ] }, { "Name": "IsForward", "Docs": "todo: once we implement ARC, we can use dkim domains that we cannot verify but that the arc-verified forwarding mail server was able to verify.", "Typewords": [ "bool" ] }, { "Name": "ListAllowDomain", "Docs": "", "Typewords": [ "string" ] }, { "Name": "AcceptRejectsToMailbox", "Docs": "", "Typewords": [ "string" ] }, { "Name": "Mailbox", "Docs": "", "Typewords": [ "string" ] }, { "Name": "VerifiedDNSDomain", "Docs": "", "Typewords": [ "Domain" ] }, { "Name": "ListAllowDNSDomain", "Docs": "", "Typewords": [ "Domain" ] } ] }, { "Name": "ImportProgress", "Docs": "ImportProgress is returned after uploading a file to import.", "Fields": [ { "Name": "Token", "Docs": "For fetching progress, or cancelling an import.", "Typewords": [ "string" ] } ] } ], "Ints": [], "Strings": [ { "Name": "CSRFToken", "Docs": "", "Values": null } ], "SherpaVersion": 0, "SherpadocVersion": 1 }