Provides various services for managing accounts.

Check for Existing Account

Checks if an account exists for the given email address. If an account is found that belongs to your company, the response will include the verification status as well.

GET JSON /api/is-account
Parameters
Name Description Example
companyId
Required
Identifier of your company as shown on the profile page. JSOM3ACS72QAJ2I1IM1D5VNFGR
email
Required
The email address to check for an account. david@unknown.org
key
Required
Access key computed from your company's API access parameters. The value can also be provided in the Authorization HTTP header. See Authentifizierung for details. 6386086c1280c0f76b2c6cfbd3acd4dc21354f21495bd0091706aa3a738e1177
Responses
Description Example
200 Successful response for an email address with a verified account belonging to your company.
Content-Type: application/json
{
    "success": true,
    "error": false,
    "exists": true,
    "verified": true
}
200 Successful response for an email address with an account not belonging to your company.
Content-Type: application/json
{
    "success": true,
    "error": false,
    "exists": true
}
200 Successful response for an unknown email address.
Content-Type: application/json
{
    "success": true,
    "error": false,
    "exists": false
}
400 Missing parameter or malformed request
Content-Type: application/json
{
    "success": false,
    "error": true,
    "message": "The parameter {missingParameter} must be filled."
}
401 Authentication required but none provided
Content-Type: application/json
403 Invalid authentication or missing permission
Content-Type: application/json
404 Resource not found
Content-Type: application/json
405 Incorrect request method, e.g. GET instead of POST
Content-Type: application/json
500 Unexpected server-side error
Content-Type: application/json

Read Account Information

Provides information about an account in your company, either identified via a public talk-to-me identifier, or via an email address. Company authentication is required.

GET JSON /api/person-info
Parameters
Name Description Example
companyId
Required
Identifier of your company as shown on the profile page. JSOM3ACS72QAJ2I1IM1D5VNFGR
key
Required
Access key computed from your company's API access parameters. The value can also be provided in the Authorization HTTP header. See Authentifizierung for details. 6386086c1280c0f76b2c6cfbd3acd4dc21354f21495bd0091706aa3a738e1177
email The email address of the queried account. Required if talkToMeId is omitted. paul@company.com
talkToMeId The talk-to-me identifier of the queried account. Can be omitted if email is provided. QAT88PF4NQUB50SOHFLIPQL9RT
Responses
Description Example
200 Successful response.
Content-Type: application/json
{
   "success": true,
   "error": false,
   "name": "Paul Doe",
   "talkToMe": "QAT88PF4NQUB50SOHFLIPQL9RT",
   "avatar": "https: //memoio.com/avatar/SPFIEVG0BFVK582TVV3BKKCQUU.jpg",
   "email": "paul@company.com",
   "phone": "+1 234 56789",
   "mobile": null,
   "companyName": "Company Ltd.",
   "position": "Sales",
   "available": false,
   "awayInfo": "Away until 08/20/2023.",
   "awayFrom": "2023-08-01",
   "awayUntil": "2023-08-20",
   "substitution": "peter@company.com",
   "onlineState": "OFFLINE"
}
400 Missing parameter or malformed request
Content-Type: application/json
{
    "success": false,
    "error": true,
    "message": "The parameter {missingParameter} must be filled."
}
401 Authentication required but none provided
Content-Type: application/json
403 Invalid authentication or missing permission
Content-Type: application/json
404 Resource not found
Content-Type: application/json
405 Incorrect request method, e.g. GET instead of POST
Content-Type: application/json
500 Unexpected server-side error
Content-Type: application/json

Read Account Information

Provides information about an account, identified via the account ID or email address. Describes the person as the contact search describes them, including a current absence when there is one, and adds a `notice` when there is something worth knowing before writing to them -- the account was deleted or closed, the person takes part by e-mail only, has not confirmed their account, is away, or will not be reached today. Its `reason` is a stable value to branch on; its `text` is the same statement as the product's own interface shows, in the language of the request. A field which does not apply is left out rather than returned empty.

GET JSON /api/v1/accounts/{account}
Path Component
Name Description Example
account
Required
The ID or email address of the queried account. Accounts of the requesting company can always be found, including locked ones. Beyond the company, anybody taking part in a conversation the caller may read is resolved -- active or archived -- so the participants of a conversation can be named even when they belong to another company; for those, the account ID is required, as an email address only resolves a colleague or an established contact. Deleted accounts are reported as deleted, never returned. TH90SQ621EVG0GNI4GTEIE4TES
Parameters
Name Description Example
companyId Identifier of your company as shown on the profile page. Required for company-secret authentication; omit it when authenticating with a Bearer personal access token. JSOM3ACS72QAJ2I1IM1D5VNFGR
key Access key computed from your company's API access parameters. May also be provided in the Authorization HTTP header. Required for company-secret authentication; omit it when authenticating with a Bearer personal access token. 6386086c1280c0f76b2c6cfbd3acd4dc21354f21495bd0091706aa3a738e1177
Responses
Description Example
200 Successful response.
Content-Type: application/json
{
    "success": true,
    "error": false,
    "account": {
        "id": "TH90SQ621EVG0GNI4GTEIE4TES",
        "name": "Paul Doe",
        "email": "paul@company.com",
        "companyId": "JLSMBTA3U7SKAI2PLKFQHQEM4K",
        "company": "Example Ltd",
        "position": "Head of Purchasing",
        "phone": "+49 711 1234-56",
        "mobile": "+49 170 1234567",
        "absence": {
            "until": "2026-08-12T00:00:00.000Z",
            "reason": "Away until 12.08.2026.",
            "substitute": "NAR0TEE7IGCF9TAM186THJVNUC"
        }
    }
}
400 Missing parameter or malformed request
Content-Type: application/json
{
    "success": false,
    "error": true,
    "message": "The parameter {missingParameter} must be filled."
}
401 Authentication required but none provided
Content-Type: application/json
403 Invalid authentication or missing permission
Content-Type: application/json
404 Resource not found
Content-Type: application/json
405 Incorrect request method, e.g. GET instead of POST
Content-Type: application/json
500 Unexpected server-side error
Content-Type: application/json

Set Absence Information

Sets absence information for the given account.

GET JSON /api/out-of-office
Parameters
Name Description Example
accountEmail
Required
E-mail address of the user. Their account must belong to your company, and it must not be locked. jane@ghost.it
companyId
Required
Identifier of your company as shown on the profile page. JSOM3ACS72QAJ2I1IM1D5VNFGR
key
Required
Access key computed from your company's API access parameters. The value can also be provided in the Authorization HTTP header. See Authentifizierung for details. 6386086c1280c0f76b2c6cfbd3acd4dc21354f21495bd0091706aa3a738e1177
awayFrom First day of the user's absence in YYYY-MM-DD format. The field is cleared if the parameter is missing. 2023-08-01
awayUntil Last day of the user's absence in YYYY-MM-DD format. The field is cleared if the parameter is missing. 2023-08-14
substitution The vacation replacement's account to redirect messages to while the user is away. Overwritten by the substitutionChannel parameter if both are provided. john@ghost.it
substitutionChannel Identifier of the channel to redirect messages to while the user is away. Overwrites the substitution parameter if both are provided. 968AIDVRHOMHBO19G7AIT7AHH0
Responses
Description Example
200 Successful response.
Content-Type: application/json
{
   "success": true,
   "error": false,
   "message": "The changes have been saved"
}
400 Missing parameter or malformed request
Content-Type: application/json
{
    "success": false,
    "error": true,
    "message": "The parameter {missingParameter} must be filled."
}
401 Authentication required but none provided
Content-Type: application/json
403 Invalid authentication or missing permission
Content-Type: application/json
404 Resource not found
Content-Type: application/json
405 Incorrect request method, e.g. GET instead of POST
Content-Type: application/json
500 Unexpected server-side error
Content-Type: application/json

Set Do-Not-Disturb Flag

Toggles the do-not-disturb flag of the given account. While this flag is set, the respective user is excluded from the distribution of incoming conversations for all channels they participate in.

GET JSON /api/do-not-disturb
Parameters
Name Description Example
accountEmail
Required
E-mail address of the user. Their account must belong to your company, and it must not be locked. jane@ghost.it
companyId
Required
Identifier of your company as shown on the profile page. JSOM3ACS72QAJ2I1IM1D5VNFGR
key
Required
Access key computed from your company's API access parameters. The value can also be provided in the Authorization HTTP header. See Authentifizierung for details. 6386086c1280c0f76b2c6cfbd3acd4dc21354f21495bd0091706aa3a738e1177
dnd New do-not-disturb status of the user. If true, the user is excluded from the distribution of channel conversations. If the value is not provided, a default value of true is assumed. false
Responses
Description Example
200 Successful response.
Content-Type: application/json
{
   "success": true,
   "error": false,
   "message": "The changes have been saved"
}
400 Missing parameter or malformed request
Content-Type: application/json
{
    "success": false,
    "error": true,
    "message": "The parameter {missingParameter} must be filled."
}
401 Authentication required but none provided
Content-Type: application/json
403 Invalid authentication or missing permission
Content-Type: application/json
404 Resource not found
Content-Type: application/json
405 Incorrect request method, e.g. GET instead of POST
Content-Type: application/json
500 Unexpected server-side error
Content-Type: application/json

Register Push URL for Account

Registers a push URL for a account belonging to the authenticated company.

POST JSON /api/v1/accounts/{account}/push-urls
Path Component
Name Description Example
account
Required
E-mail address of the user or their formal identifier. The account must belong to your company, and it must not be locked. jane@ghost.it
Parameters
Name Description Example
appId
Required
A string uniquely identifying the app registering the push URL. test-app
companyId
Required
Identifier of your company as shown on the profile page. JSOM3ACS72QAJ2I1IM1D5VNFGR
key
Required
Access key computed from your company's API access parameters. The value can also be provided in the Authorization HTTP header. See Authentifizierung for details. 6386086c1280c0f76b2c6cfbd3acd4dc21354f21495bd0091706aa3a738e1177
pushUrl
Required
The HTTPS URL to register for receiving push notifications. The URL must be reachable from the internet and needs to be whitelisted. https://example.com/push-endpoint?customer=12345&user=98765
Responses
Description Example
200 Successful response.
Content-Type: application/json
{
   "success": true,
   "error": false
}
400 Missing parameter or malformed request
Content-Type: application/json
{
    "success": false,
    "error": true,
    "message": "The parameter {missingParameter} must be filled."
}
401 Authentication required but none provided
Content-Type: application/json
403 Invalid authentication or missing permission
Content-Type: application/json
404 Resource not found
Content-Type: application/json
405 Incorrect request method, e.g. GET instead of POST
Content-Type: application/json
500 Unexpected server-side error
Content-Type: application/json