mirror of
https://github.com/mjl-/mox.git
synced 2024-12-26 16:33:47 +03:00
8e6fe7459b
both when parsing our configs, and for incoming on smtp or in messages. so we properly compare things like é and e+accent as equal, and accept the different encodings of that same address.
304 lines
6 KiB
JSON
304 lines
6 KiB
JSON
{
|
|
"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.",
|
|
"Params": [],
|
|
"Returns": [
|
|
{
|
|
"Name": "r0",
|
|
"Typewords": [
|
|
"string"
|
|
]
|
|
},
|
|
{
|
|
"Name": "r1",
|
|
"Typewords": [
|
|
"Domain"
|
|
]
|
|
},
|
|
{
|
|
"Name": "r2",
|
|
"Typewords": [
|
|
"{}",
|
|
"Destination"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"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
|
|
}
|