The Aurinko API is a unified API platform allowing developers to quickly build integrations with many mailbox providers and services like Google, Office 365, Outlook.com, MS Exchange, IMAP. The unified API abstracts away differences between many email, calendar, contact, task APIs to make it easy to connect and sync the mailbox data.
The Aurinko API's focus is convenient and reliable data synchronization for all supported data categories (email, calendar, contacts, tasks) so the API provides methods to receive changes/deltas and be notified of the changes (through webhooks) in a unified manner. The API's sync/deltas model should allow developers to build reliable event based solutions easily.
The Aurinko API is built on HTTP. Our API is RESTful. It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body.
When you sign up for an account, you are given a Client Id and Secret for every application that you create. You use those to go through OAuth flows that allow you to start syncing remote account data through Aurinko. An account OAuth flow can be started with just the Client Id and the Client Secret will be required to obtain an account access token in the "authorization code" flow ("implicit grant" flow does is secured by the "trusted domains" setting).
Aurinko offers two forms of authentication:
Basic <Client Id, Client Secret>
- used for authentication flows and administrative requests made from the server side.Bearer <Account Access Token>
- used for working with an account data.Api Key in Cookie
- for in-browser apps that use Aurinko as their backend API with user sessions.Api Key in Header (X-Aurinko-Session)
- for server side apps that need user sessionsNever share your client secret or access token. Keep them guarded and secure.
If you have a use case you would like to implement, please consult us for feedback on the best API operations for the task.
Aurinko's Unified OAuth Flows are backed by providers’ OAuth2 flows (i.e. Google, Office 365, Salesforce, HubSpot,...) or by secure password-based authentications (i.e. MS Exchange, IMAP accounts). The following three flows are supported:
See this user guide for more information.
This method is for Office365 web add-ins that want to implement external authentication based on Exchange Identity Token.
Here are the steps involved in establishing an Aurinko User session:
Your Office 365 web add-in gets the Exchange identity token (see the link above for how it is done).
Makes a POST call to the /auth/prepare
endpoint with the following HTTP headers:
X-Aurinko-Auth-Type
: exchangeIdToken
Authorization
: Bearer <your_exchange_id_token>
Auriko validates the identity token and provides a temporary token if the ID is valid:
{ "token": "your-temporary-token" }
/authorizeUser
endpoint with the temporary token, using the query parameter
?token=your-temporary-token
.Upon successful completion of the steps a new Aurinko User is created or an existing User is re-authorized. And from now on this identity token is recognized by Aurinko and is associated with the User session.
From here on the add-in can access Aurinko API with its Exchange identity token, this way:
X-Aurinko-Auth-Type
: exchangeIdToken
Authorization
: Bearer <your_exchange_id_token>
{- "token": "string"
}
code required | string A code returned by /authorize |
curl -u ClientId:Secret -X POST https://api.aurinko.io/v1/auth/token/<code>
{- "accountId": 0,
- "accessToken": "string",
- "userId": "string",
- "userSession": "string"
}
code required | string A code returned by /authorize |
curl -u ClientId:Secret -X GET https://api.aurinko.io/v1/auth/token/<code>
{- "accountId": 0,
- "accessToken": "string",
- "userId": "string",
- "userSession": "string"
}
An account corresponds to an email address, mailbox, and/or calendar. When connecting to the Aurinko API, a specific access token gives you access to a specific account’s data.
pingProvider | boolean or null If true, the provider will be pinged to check if the token is still valid. Currently supported only for Google, Office365, Salesforce and NetSuite. |
includeProviderAuth | boolean or null |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/account
{- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "serviceProvider": "Office365",
- "active": true,
- "tokenStatus": "active",
- "tokenError": "string",
- "type": "daemon",
- "daemon": true,
- "loginString": "string",
- "email": "string",
- "mailboxAddress": "string",
- "name": "string",
- "name2": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "tokenIssuedAt": "2019-08-24T14:15:22Z",
- "authScopes": [
- "Calendar.Read"
], - "authNativeScopes": [
- "string"
], - "authObtainedAt": "2019-08-24T14:15:22Z",
- "authExpiresAt": "2019-08-24T14:15:22Z",
- "userId": "string"
}
curl -X DELETE -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/account
curl -X DELETE -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/account/token
User
is an Aurinko managed entity that your app can leverage to implement user session management. Multiple regular Aurinko accounts can be linked to a User
however there is always one primary account that acts as the user id-provider. The User
sessions allow browser apps to store all their account access tokens securely on the Aurinko servers.
curl -X GET --cookie "<END_USER_COOKIE>" \ -H 'X-Aurinko-ClientId: <CLIENT_ID>' \ https://api.aurinko.io/v1/user
{- "id": "string",
- "appId": 0,
- "email": "string",
- "name": "string",
- "authOrgId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "lastActivity": "2019-08-24T14:15:22Z",
- "trustedIdentity": true,
- "externalIdType": "exchangeIdentity",
- "accounts": [
- {
- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "userAccountType": "primary",
- "type": "daemon",
- "active": true,
- "loginString": "string",
- "email": "string",
- "name": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "organization": {
- "id": 0,
- "serviceProvider": "Office365",
- "xid": "string",
- "domain": "string",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "tokenStatus": "active",
- "scopes": [
- "Calendar.Read"
], - "authScopes": [
- "Calendar.Read"
], - "nativeScopes": [
- "string"
], - "authNativeScopes": [
- "string"
], - "hasApiErrors": true,
- "bookingCount": 0,
- "trackingActive": true,
- "templatesCount": 0
}
]
}
object (WeekWorkSchedule) |
{- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}
}
{- "id": "string",
- "appId": 0,
- "email": "string",
- "name": "string",
- "authOrgId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "lastActivity": "2019-08-24T14:15:22Z",
- "trustedIdentity": true,
- "externalIdType": "exchangeIdentity",
- "accounts": [
- {
- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "userAccountType": "primary",
- "type": "daemon",
- "active": true,
- "loginString": "string",
- "email": "string",
- "name": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "organization": {
- "id": 0,
- "serviceProvider": "Office365",
- "xid": "string",
- "domain": "string",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "tokenStatus": "active",
- "scopes": [
- "Calendar.Read"
], - "authScopes": [
- "Calendar.Read"
], - "nativeScopes": [
- "string"
], - "authNativeScopes": [
- "string"
], - "hasApiErrors": true,
- "bookingCount": 0,
- "trackingActive": true,
- "templatesCount": 0
}
]
}
curl -X GET --cookie "<END_USER_COOKIE>" \ -H 'X-Aurinko-ClientId: <CLIENT_ID>' \ https://api.aurinko.io/v1/user/accounts
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "userAccountType": "primary",
- "type": "daemon",
- "active": true,
- "loginString": "string",
- "email": "string",
- "name": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "organization": {
- "id": 0,
- "serviceProvider": "Office365",
- "xid": "string",
- "domain": "string",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "tokenStatus": "active",
- "scopes": [
- "Calendar.Read"
], - "authScopes": [
- "Calendar.Read"
], - "nativeScopes": [
- "string"
], - "authNativeScopes": [
- "string"
], - "hasApiErrors": true,
- "bookingCount": 0,
- "trackingActive": true,
- "templatesCount": 0
}
]
}
id required | integer <int64> user's account Id |
curl -X GET --cookie "<END_USER_COOKIE>" \ -H 'X-Aurinko-ClientId: <CLIENT_ID>' \ https://api.aurinko.io/v1/user/accounts/<id>
{- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "userAccountType": "primary",
- "type": "daemon",
- "active": true,
- "loginString": "string",
- "email": "string",
- "name": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "organization": {
- "id": 0,
- "serviceProvider": "Office365",
- "xid": "string",
- "domain": "string",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "tokenStatus": "active",
- "scopes": [
- "Calendar.Read"
], - "authScopes": [
- "Calendar.Read"
], - "nativeScopes": [
- "string"
], - "authNativeScopes": [
- "string"
], - "hasApiErrors": true,
- "bookingCount": 0,
- "trackingActive": true,
- "templatesCount": 0
}
Deleting a primary account, also invalidates the user's session cookie (logout).
id required | integer <int64> user's account Id |
curl -X DELETE --cookie "<END_USER_COOKIE>" \ -H 'X-Aurinko-ClientId: <CLIENT_ID>' \ https://api.aurinko.io/v1/user/accounts/<id>
{- "status": "Ok"
}
id required | integer <int64> user's account Id |
clientOrgId | string or null |
curl -X POST --cookie "<END_USER_COOKIE>" \ -H 'X-Aurinko-ClientId: <CLIENT_ID>' \ https://api.aurinko.io/v1/user/accounts/<id>/managed
{- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "userAccountType": "primary",
- "type": "daemon",
- "active": true,
- "loginString": "string",
- "email": "string",
- "name": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "organization": {
- "id": 0,
- "serviceProvider": "Office365",
- "xid": "string",
- "domain": "string",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}, - "tokenStatus": "active",
- "scopes": [
- "Calendar.Read"
], - "authScopes": [
- "Calendar.Read"
], - "nativeScopes": [
- "string"
], - "authNativeScopes": [
- "string"
], - "hasApiErrors": true,
- "bookingCount": 0,
- "trackingActive": true,
- "templatesCount": 0
}
Invalidates the user's session cookie
curl -X POST --cookie "<END_USER_COOKIE>" \ -H 'X-Aurinko-ClientId: <CLIENT_ID>' \ https://api.aurinko.io/v1/user/logout
{- "status": "Ok"
}
These endpoints allow for account management outside the developer console interface. You can list, cancel, update, and delete accounts associated with your application.
userAccount | string (UserAccountType) Enum: "primary" "secondary" Type of user account. Required if |
userId | string or null ID of a user this account should be attached to. |
recycleKeys | Array of strings or null (ServiceKey) Enum: "email" "orgId" "userId" "serverUrl" "username" "clientOrgId" |
ensureAccess | boolean or null When set to true, Aurinko will check if a user has access to the requested resources. Supported only for Google and Office365, and only for Email, Calendar, Contacts and Tasks APIs. |
serviceType required | string (ServiceType) Enum: "Google" "GoogleBot" "Office365" "EWS" "IMAP" "Salesforce" "Salesflare" "Repfabric" "MsTeamsBot" "Slack" "SlackBot" "SugarCRM" "HighLevel" "Hubspot" "Zoom" "ZoomBot" "Webex" "WebexBot" "Pipedrive" "EclipseERP" "AutoQuotes" "Teamwork" "NetSuite" "MCTrade" "SpecPath" "Zoho" "Clientify" "QuickBooks" "ActiveCampaign" "Creatio" "ConstantContact" "Fishbowl" "iCloud" |
serviceProvider | string (ServiceProvider) Enum: "Office365" "Google" "Zoho" "IMAP" "EWS" "Yahoo" "AOL" "iCloud" "BigPond" "Fastmail" "Repfabric" "Salesforce" "Salesflare" "SugarCRM" "HighLevel" "Hubspot" "Pipedrive" "AutoQuotes" "SpecPath" "Clientify" "Teamwork" "EclipseERP" "NetSuite" "Fishbowl" "Slack" "Zoom" "Webex" "MCTrade" "Creatio" "QuickBooks" "ActiveCampaign" "ConstantContact" "Yoxel" |
authScopes | Array of strings (Scope) Items Enum: "Calendar.Read" "Calendar.ReadWrite" "Mail.Read" "Mail.ReadWrite" "Mail.Send" "Mail.Drafts" "Mail.All" "Contacts.Read" "Contacts.ReadWrite" "Tasks.Read" "Tasks.ReadWrite" |
authOrgId | string |
authUserId | string |
clientOrgId | string |
serverUrl | string |
loginString | string This or email field must be specified |
oauthClientId | string |
active required | boolean The account is always active in the current API version |
authString1 | string |
authString2 | string |
password | string Password for IMAP accounts |
authObtainedAt | string <date-time> |
authExpiresAt | string <date-time> |
string This or loginString field must be specified | |
name | string |
serverInfo | string |
timezone | string |
{- "serviceType": "Google",
- "serviceProvider": "Office365",
- "authScopes": [
- "Calendar.Read"
], - "authOrgId": "string",
- "authUserId": "string",
- "clientOrgId": "string",
- "serverUrl": "string",
- "loginString": "string",
- "oauthClientId": "string",
- "active": true,
- "authString1": "string",
- "authString2": "string",
- "password": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "authExpiresAt": "2019-08-24T14:15:22Z",
- "email": "string",
- "name": "string",
- "serverInfo": "string",
- "timezone": "string"
}
{- "accountId": 0,
- "accessToken": "string",
- "userId": "string",
- "userSession": "string"
}
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
authOrgId | string or null An authenticated OrgId |
serviceType | string (ServiceTypeNonDaemon) Enum: "Google" "Office365" "EWS" "IMAP" "Salesforce" "Salesflare" "Repfabric" "Slack" "SugarCRM" "HighLevel" "Hubspot" "Zoom" "Webex" "WebexBot" "Pipedrive" "EclipseERP" "AutoQuotes" "Teamwork" "NetSuite" "SpecPath" "Zoho" "Clientify" "QuickBooks" "ActiveCampaign" "Creatio" "ConstantContact" "Fishbowl" "iCloud" |
subscriptionId | integer or null <int64> |
curl -u ClientId:Secret -X GET https://api.aurinko.io/v1/am/accounts \ -G -d clientOrgId='12345'
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "serviceProvider": "Office365",
- "active": true,
- "tokenStatus": "active",
- "tokenError": "string",
- "type": "daemon",
- "daemon": true,
- "loginString": "string",
- "email": "string",
- "mailboxAddress": "string",
- "name": "string",
- "name2": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "tokenIssuedAt": "2019-08-24T14:15:22Z",
- "authScopes": [
- "Calendar.Read"
], - "authNativeScopes": [
- "string"
], - "authObtainedAt": "2019-08-24T14:15:22Z",
- "authExpiresAt": "2019-08-24T14:15:22Z",
- "userId": "string"
}
]
}
id required | integer <int64> account id |
curl -u ClientId:Secret -X GET https://api.aurinko.io/v1/am/accounts/{id}
{- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "serviceProvider": "Office365",
- "active": true,
- "tokenStatus": "active",
- "tokenError": "string",
- "type": "daemon",
- "daemon": true,
- "loginString": "string",
- "email": "string",
- "mailboxAddress": "string",
- "name": "string",
- "name2": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "tokenIssuedAt": "2019-08-24T14:15:22Z",
- "authScopes": [
- "Calendar.Read"
], - "authNativeScopes": [
- "string"
], - "authObtainedAt": "2019-08-24T14:15:22Z",
- "authExpiresAt": "2019-08-24T14:15:22Z",
- "userId": "string"
}
Service accounts represent admin/service/organization level connections. List, cancel, update, and delete service accounts associated with your application.
recycleKeys | Array of strings or null (ServiceKey) Enum: "email" "orgId" "userId" "serverUrl" "username" "clientOrgId" Recycle Keys |
serviceType required | string (ServiceType) Enum: "Google" "GoogleBot" "Office365" "EWS" "IMAP" "Salesforce" "Salesflare" "Repfabric" "MsTeamsBot" "Slack" "SlackBot" "SugarCRM" "HighLevel" "Hubspot" "Zoom" "ZoomBot" "Webex" "WebexBot" "Pipedrive" "EclipseERP" "AutoQuotes" "Teamwork" "NetSuite" "MCTrade" "SpecPath" "Zoho" "Clientify" "QuickBooks" "ActiveCampaign" "Creatio" "ConstantContact" "Fishbowl" "iCloud" |
serviceProvider | string (ServiceProvider) Enum: "Office365" "Google" "Zoho" "IMAP" "EWS" "Yahoo" "AOL" "iCloud" "BigPond" "Fastmail" "Repfabric" "Salesforce" "Salesflare" "SugarCRM" "HighLevel" "Hubspot" "Pipedrive" "AutoQuotes" "SpecPath" "Clientify" "Teamwork" "EclipseERP" "NetSuite" "Fishbowl" "Slack" "Zoom" "Webex" "MCTrade" "Creatio" "QuickBooks" "ActiveCampaign" "ConstantContact" "Yoxel" |
authScopes | Array of strings (Scope) Items Enum: "Calendar.Read" "Calendar.ReadWrite" "Mail.Read" "Mail.ReadWrite" "Mail.Send" "Mail.Drafts" "Mail.All" "Contacts.Read" "Contacts.ReadWrite" "Tasks.Read" "Tasks.ReadWrite" |
authOrgId | string |
authUserId | string |
clientOrgId | string |
serverUrl | string |
loginString | string This or email field must be specified |
oauthClientId | string |
active required | boolean The account is always active in the current API version |
authString1 | string |
authString2 | string |
password | string Password for IMAP accounts |
authObtainedAt | string <date-time> |
authExpiresAt | string <date-time> |
string This or loginString field must be specified | |
name | string |
serverInfo | string |
timezone | string |
{- "serviceType": "Google",
- "serviceProvider": "Office365",
- "authScopes": [
- "Calendar.Read"
], - "authOrgId": "string",
- "authUserId": "string",
- "clientOrgId": "string",
- "serverUrl": "string",
- "loginString": "string",
- "oauthClientId": "string",
- "active": true,
- "authString1": "string",
- "authString2": "string",
- "password": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "authExpiresAt": "2019-08-24T14:15:22Z",
- "email": "string",
- "name": "string",
- "serverInfo": "string",
- "timezone": "string"
}
{- "accountId": 0,
- "accessToken": "string",
- "userId": "string",
- "userSession": "string"
}
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
clientOrgId | string or null A client OrgId |
authOrgId | string or null An authenticated OrgId |
serviceType | string (ServiceTypeDaemon) Enum: "Google" "GoogleBot" "Office365" "EWS" "MsTeamsBot" "Slack" "SlackBot" "ZoomBot" "MCTrade" "Zoho" |
subscriptionId | integer or null <int64> |
curl -u ClientId:Secret -X GET https://api.aurinko.io/v1/am/svc_accounts \ -G -d clientOrgId='12345'
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "parentId": 0,
- "serviceType": "Google",
- "serviceProvider": "Office365",
- "active": true,
- "tokenStatus": "active",
- "tokenError": "string",
- "type": "daemon",
- "daemon": true,
- "loginString": "string",
- "email": "string",
- "mailboxAddress": "string",
- "name": "string",
- "name2": "string",
- "serverUrl": "string",
- "serverUrl2": "string",
- "clientOrgId": "string",
- "authUserId": "string",
- "authOrgId": "string",
- "timezone": "string",
- "tokenIssuedAt": "2019-08-24T14:15:22Z",
- "authScopes": [
- "Calendar.Read"
], - "authNativeScopes": [
- "string"
], - "authObtainedAt": "2019-08-24T14:15:22Z",
- "authExpiresAt": "2019-08-24T14:15:22Z",
- "userId": "string"
}
]
}
Manage accounts rely on service accounts for their connections. List, cancel, update, and delete managed accounts associated with service accounts.
accId required | integer <int64> A service account id |
userAccount | string (UserAccountType) Enum: "primary" "secondary" Type of user account. Required if |
userId | string or null |
recycleKeys | Array of strings or null (ServiceKey) Enum: "email" "orgId" "userId" "serverUrl" "username" "clientOrgId" |
ensureAccess | boolean or null When set to true, Aurinko will check if a user has access to the requested resources. Supported only for Google and Office365, and only for Email, Calendar, Contacts and Tasks APIs. |
serviceType required | string (ServiceType) Enum: "Google" "GoogleBot" "Office365" "EWS" "IMAP" "Salesforce" "Salesflare" "Repfabric" "MsTeamsBot" "Slack" "SlackBot" "SugarCRM" "HighLevel" "Hubspot" "Zoom" "ZoomBot" "Webex" "WebexBot" "Pipedrive" "EclipseERP" "AutoQuotes" "Teamwork" "NetSuite" "MCTrade" "SpecPath" "Zoho" "Clientify" "QuickBooks" "ActiveCampaign" "Creatio" "ConstantContact" "Fishbowl" "iCloud" |
serviceProvider | string (ServiceProvider) Enum: "Office365" "Google" "Zoho" "IMAP" "EWS" "Yahoo" "AOL" "iCloud" "BigPond" "Fastmail" "Repfabric" "Salesforce" "Salesflare" "SugarCRM" "HighLevel" "Hubspot" "Pipedrive" "AutoQuotes" "SpecPath" "Clientify" "Teamwork" "EclipseERP" "NetSuite" "Fishbowl" "Slack" "Zoom" "Webex" "MCTrade" "Creatio" "QuickBooks" "ActiveCampaign" "ConstantContact" "Yoxel" |
authScopes | Array of strings (Scope) Items Enum: "Calendar.Read" "Calendar.ReadWrite" "Mail.Read" "Mail.ReadWrite" "Mail.Send" "Mail.Drafts" "Mail.All" "Contacts.Read" "Contacts.ReadWrite" "Tasks.Read" "Tasks.ReadWrite" |
authOrgId | string |
authUserId | string |
clientOrgId | string |
serverUrl | string |
loginString | string This or email field must be specified |
oauthClientId | string |
active required | boolean The account is always active in the current API version |
authString1 | string |
authString2 | string |
password | string Password for IMAP accounts |
authObtainedAt | string <date-time> |
authExpiresAt | string <date-time> |
string This or loginString field must be specified | |
name | string |
serverInfo | string |
timezone | string |
{- "serviceType": "Google",
- "serviceProvider": "Office365",
- "authScopes": [
- "Calendar.Read"
], - "authOrgId": "string",
- "authUserId": "string",
- "clientOrgId": "string",
- "serverUrl": "string",
- "loginString": "string",
- "oauthClientId": "string",
- "active": true,
- "authString1": "string",
- "authString2": "string",
- "password": "string",
- "authObtainedAt": "2019-08-24T14:15:22Z",
- "authExpiresAt": "2019-08-24T14:15:22Z",
- "email": "string",
- "name": "string",
- "serverInfo": "string",
- "timezone": "string"
}
{- "accountId": 0,
- "accessToken": "string",
- "userId": "string",
- "userSession": "string"
}
Messages contain several pieces of information, such as when a message was sent, the sender's address, to whom it was sent, and the message body. They can also contain files (attachments), calendar event invitations, and more.
bodyType | string (BodyType) Enum: "html" "text" |
returnIds | boolean or null return message id and thread id if possible |
object (EmailAddress) | |
subject | string |
body | string |
inReplyTo | string |
references | string |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailHeader) | |
Array of objects (OutgoingEmailAttachment) | |
object (OutEmailTrack) | |
object (FollowUpOutgoing) | |
keywords | Array of strings |
{- "from": {
- "name": "string",
- "address": "user@example.com"
}, - "subject": "string",
- "body": "string",
- "inReplyTo": "string",
- "references": "string",
- "to": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "xHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "attachments": [
- {
- "inline": true,
- "name": "string",
- "mimeType": "string",
- "contentId": "string",
- "content": "string"
}
], - "tracking": {
- "threadReplies": true,
- "opens": true,
- "trackOpensAfterSendDelay": 5,
- "context": "string"
}, - "followUp": {
- "ruleId": 0,
- "actionVars": {
- "property1": "string",
- "property2": "string"
}
}, - "keywords": [
- "string"
]
}
{- "status": "Ok",
- "id": "string",
- "submittedMessageId": "string",
- "threadId": "string",
- "trackingId": "string",
- "processingStatus": "Ok",
- "processingError": {
- "failedSteps": [
- "tracking"
], - "errorMessage": "string"
}
}
pageToken | string or null |
q | string or null Only return messages matching the specified query. For example, "from:someuser@example.com after:01/01/2020" |
bodyType | string (BodyType) Enum: "html" "text" Supported by Google and Office365 accounts only. Body preview (snippet) is returned for other providers. Always, check the omitted[] array to determine if the response contains full body. |
includeTrashAndJunk | boolean or null |
nativeProperties | Array of strings or null (NativeProperty) |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/messages -d q='text to:{address_or_name}'
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "threadId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "receivedAt": "2019-08-24T14:15:22Z",
- "internetMessageId": "string",
- "subject": "string",
- "sysLabels": [
- "junk"
], - "keywords": [
- "string"
], - "sysClassifications": [
- "personal"
], - "sensitivity": "normal",
- "meetingMessageMethod": "request",
- "from": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "to": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "hasAttachments": true,
- "body": "string",
- "bodySnippet": "string",
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "inReplyTo": "string",
- "references": "string",
- "threadIndex": "string",
- "internetHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "folderId": "string",
- "webLink": "string",
- "omitted": [
- "threadId"
]
}
]
}
messageId required | string email message identifier |
bodyType | string (BodyType) Enum: "html" "text" Default html |
nativeProperties | Array of strings or null (NativeProperty) |
loadInlines | boolean or null Default: false automatically pre-load relevant inline attachments |
stripQuoted | boolean or null Default: false strip quoted elements from message body |
requireThreadId | boolean or null Default: false For IMAP accounts not supporting threads, wait for Aurinko to discover threads and provide its threadId |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/email/messages/{id}
{- "id": "string",
- "threadId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "receivedAt": "2019-08-24T14:15:22Z",
- "internetMessageId": "string",
- "subject": "string",
- "sysLabels": [
- "junk"
], - "keywords": [
- "string"
], - "sysClassifications": [
- "personal"
], - "sensitivity": "normal",
- "meetingMessageMethod": "request",
- "from": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "to": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "hasAttachments": true,
- "body": "string",
- "bodySnippet": "string",
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "inReplyTo": "string",
- "references": "string",
- "threadIndex": "string",
- "internetHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "folderId": "string",
- "webLink": "string",
- "omitted": [
- "threadId"
]
}
messageId required | string email message identifier |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/email/messages/{id}/raw
messageId required | string |
unread | boolean |
archived | boolean |
keywords | Array of strings |
{- "unread": true,
- "archived": true,
- "keywords": [
- "string"
]
}
{- "status": "Ok"
}
threadId required | string conversation/thread identifier |
bodyType | string (BodyType) Enum: "html" "text" Supported by Google and Office365 accounts only. Body preview (snippet) is returned for other providers. Always, check the omitted[] array to determine if the response contains full body. |
pageToken | string or null |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/email/conversations/{threadId}
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "threadId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "receivedAt": "2019-08-24T14:15:22Z",
- "internetMessageId": "string",
- "subject": "string",
- "sysLabels": [
- "junk"
], - "keywords": [
- "string"
], - "sysClassifications": [
- "personal"
], - "sensitivity": "normal",
- "meetingMessageMethod": "request",
- "from": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "to": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "hasAttachments": true,
- "body": "string",
- "bodySnippet": "string",
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "inReplyTo": "string",
- "references": "string",
- "threadIndex": "string",
- "internetHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "folderId": "string",
- "webLink": "string",
- "omitted": [
- "threadId"
]
}
]
}
messageId required | string an identifier of a message the response is for |
bodyType | string (BodyType) Enum: "html" "text" |
returnIds | boolean or null return message id and thread id if possible |
object (EmailAddress) | |
subject | string |
body | string |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailHeader) | |
Array of objects (OutgoingEmailAttachment) | |
object (OutEmailTrack) | |
object (FollowUpOutgoing) |
{- "from": {
- "name": "string",
- "address": "user@example.com"
}, - "subject": "string",
- "body": "string",
- "to": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "xHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "attachments": [
- {
- "inline": true,
- "name": "string",
- "mimeType": "string",
- "contentId": "string",
- "content": "string"
}
], - "tracking": {
- "threadReplies": true,
- "opens": true,
- "trackOpensAfterSendDelay": 5,
- "context": "string"
}, - "followUp": {
- "ruleId": 0,
- "actionVars": {
- "property1": "string",
- "property2": "string"
}
}
}
{- "status": "Ok",
- "id": "string",
- "submittedMessageId": "string",
- "threadId": "string",
- "trackingId": "string",
- "processingStatus": "Ok",
- "processingError": {
- "failedSteps": [
- "tracking"
], - "errorMessage": "string"
}
}
messageId required | string email message identifier |
attachmentId required | string attachment identifier |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/email/messages/{msgId}/attachments/{attId}
{- "content": "string"
}
daysWithin | integer Scan emails received within last 'daysWithin' days. |
bodyType | string (BodyType) Enum: "html" "text" |
curl -X POST -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/sync \ -d daysWithin=7
{- "syncUpdatedToken": "string",
- "syncDeletedToken": "string",
- "ready": true
}
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/sync/updated \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "threadId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "receivedAt": "2019-08-24T14:15:22Z",
- "internetMessageId": "string",
- "subject": "string",
- "sysLabels": [
- "junk"
], - "keywords": [
- "string"
], - "sysClassifications": [
- "personal"
], - "sensitivity": "normal",
- "meetingMessageMethod": "request",
- "from": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "to": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "hasAttachments": true,
- "body": "string",
- "bodySnippet": "string",
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "inReplyTo": "string",
- "references": "string",
- "threadIndex": "string",
- "internetHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "folderId": "string",
- "webLink": "string",
- "omitted": [
- "threadId"
]
}
]
}
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/sync/deleted \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "folderId": "string",
- "internetMessageId": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
]
}
A draft message is a message which has not been sent yet. The drafts endpoints let you create new drafts, read existing drafts, and send drafts.
bodyType | string (BodyType) Enum: "html" "text" |
object (EmailAddress) | |
subject | string |
body | string |
inReplyTo | string |
references | string |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailAddress) | |
Array of objects (EmailHeader) | |
Array of objects (OutgoingEmailAttachment) | |
object (OutEmailTrack) | |
object (FollowUpOutgoing) | |
keywords | Array of strings |
{- "from": {
- "name": "string",
- "address": "user@example.com"
}, - "subject": "string",
- "body": "string",
- "inReplyTo": "string",
- "references": "string",
- "to": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com"
}
], - "xHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "attachments": [
- {
- "inline": true,
- "name": "string",
- "mimeType": "string",
- "contentId": "string",
- "content": "string"
}
], - "tracking": {
- "threadReplies": true,
- "opens": true,
- "trackOpensAfterSendDelay": 5,
- "context": "string"
}, - "followUp": {
- "ruleId": 0,
- "actionVars": {
- "property1": "string",
- "property2": "string"
}
}, - "keywords": [
- "string"
]
}
{- "id": "string",
- "webLink": "string"
}
draftId required | string draft message identifier |
bodyType | string (BodyType) Enum: "html" "text" |
nativeProperties | Array of strings or null (NativeProperty) |
loadInlines | boolean or null Default: false automatically pre-load relevant inline attachments |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/email/drafts/{id}
{- "id": "string",
- "message": {
- "id": "string",
- "threadId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "receivedAt": "2019-08-24T14:15:22Z",
- "internetMessageId": "string",
- "subject": "string",
- "sysLabels": [
- "junk"
], - "keywords": [
- "string"
], - "sysClassifications": [
- "personal"
], - "sensitivity": "normal",
- "meetingMessageMethod": "request",
- "from": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "to": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "hasAttachments": true,
- "body": "string",
- "bodySnippet": "string",
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "inReplyTo": "string",
- "references": "string",
- "threadIndex": "string",
- "internetHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "folderId": "string",
- "webLink": "string",
- "omitted": [
- "threadId"
]
}, - "scheduled": {
- "jobId": 0,
- "sendTime": "2019-08-24T14:15:22Z",
- "status": "scheduled",
- "errorMessage": "string"
}
}
draftId required | string an identifier of a draft message |
sendTime | string or null <date-time> |
object (OutEmailTrack) |
{- "tracking": {
- "threadReplies": true,
- "opens": true,
- "trackOpensAfterSendDelay": 5,
- "context": "string"
}
}
{- "status": "Ok",
- "trackingId": "string"
}
name | string |
parentId | string parent folder identifier |
{- "name": "string",
- "parentId": "string"
}
{- "id": "string",
- "name": "string",
- "fullName": "string",
- "isFolder": true,
- "isLabel": true,
- "parentId": "string"
}
pageToken | string or null |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/folders
{- "length": 0,
- "records": [
- {
- "id": "string",
- "name": "string",
- "fullName": "string",
- "isFolder": true,
- "isLabel": true,
- "parentId": "string"
}
]
}
archive | string an xid of folder - to mark it as Archive, set to null to clear Archive folder |
{- "archive": "string"
}
{- "archive": "string"
}
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/folders/wellKnown
{- "archive": "string"
}
folderId required | string email folder identifier |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/email/folders/{id}
{- "id": "string",
- "name": "string",
- "fullName": "string",
- "isFolder": true,
- "isLabel": true,
- "parentId": "string"
}
folderId required | string |
pageToken | string or null |
q | string or null Only return messages matching the specified query. For example, "from:someuser@example.com after:01/01/2020" |
bodyType | string (BodyType) Enum: "html" "text" |
nativeProperties | Array of strings or null (NativeProperty) |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/messages -d q='text to:{address_or_name}'
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "threadId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "sentAt": "2019-08-24T14:15:22Z",
- "receivedAt": "2019-08-24T14:15:22Z",
- "internetMessageId": "string",
- "subject": "string",
- "sysLabels": [
- "junk"
], - "keywords": [
- "string"
], - "sysClassifications": [
- "personal"
], - "sensitivity": "normal",
- "meetingMessageMethod": "request",
- "from": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "to": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "cc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "bcc": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "replyTo": [
- {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
], - "hasAttachments": true,
- "body": "string",
- "bodySnippet": "string",
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "inReplyTo": "string",
- "references": "string",
- "threadIndex": "string",
- "internetHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "folderId": "string",
- "webLink": "string",
- "omitted": [
- "threadId"
]
}
]
}
draftId required | string or null an identifier of a draft message for start tracking |
ignoreNotFound | string or null if draft was not found, store tracking data anyway |
htmlText | string |
object (OutEmailTrack) |
{- "htmlText": "string",
- "tracking": {
- "threadReplies": true,
- "opens": true,
- "trackOpensAfterSendDelay": 5,
- "context": "string"
}
}
{- "trackReplies": true,
- "htmlBody": "string",
- "trackingCode": "string",
- "context": "string",
- "linkCodes": [
- { }
], - "trackingId": "string"
}
draftId required | string an identifier of a draft message |
threadId | string |
messageId | string |
internetMessageId | string |
{- "threadId": "string",
- "messageId": "string",
- "internetMessageId": "string"
}
{- "status": "Ok"
}
draftId required | string an identifier of a draft message |
context | string |
{- "context": "string"
}
{- "status": "Ok"
}
withActivityOnly | boolean or null Default: false return only those where an open or click happened |
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
contextContains | string or null |
threadId | string or null identifier of thread |
showSentOnly | boolean or null Default: true return tracking which started message was sent |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/tracking
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "messageId": "string",
- "inetMessageId": "string",
- "threadId": "string",
- "sendDate": "2019-08-24T14:15:22Z",
- "lastActivityTime": "2019-08-24T14:15:22Z",
- "lastRespondedTime": "2019-08-24T14:15:22Z",
- "trackReplies": true,
- "trackOpens": true,
- "trackingCode": "string",
- "context": "string",
- "location": "string",
- "userAgent": "string",
- "remoteAddr": "string",
- "openCount": 0,
- "ignoreOpenClicks": true,
- "hasBounced": true
}
]
}
threadId | string or null |
User-Agent required | string User-Agent |
curl -H 'Authorization: Bearer <access token>' \ -H 'User-Agent: <User-Agent>' \ -X POST https://api.aurinko.io/v1/email/tracking/purgeMyTracking
{- "status": "Ok"
}
messageId | string or null message identifier |
inetMessageId | string or null internet message identifier |
isIgnored required | boolean should be ignored or not |
curl -H 'Authorization: Bearer <access token>' \ -X POST https://api.aurinko.io/v1/email/tracking/ignoreOpenClicks
{- "status": "Ok"
}
threadId | string or null conversation id |
from | string or null <datetime> event start dateTime (strictly greater) |
to | string or null <datetime> event end dateTime (smaller or equal) |
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/tracking/events
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "eventType": "open",
- "location": "string",
- "userAgent": "string",
- "referrer": "string",
- "remoteAddr": "string",
- "openNumber": 0,
- "threadId": "string",
- "messageId": "string",
- "internetMessageId": "string",
- "trackingId": 0,
- "trackingThreadId": "string",
- "trackingMessageId": "string",
- "trackingInternetMessageId": "string",
- "context": "string",
- "trackingCode": "string"
}
]
}
id required | integer <int64> Tracking data id |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/tracking/{id}'
{- "id": 0,
- "messageId": "string",
- "inetMessageId": "string",
- "threadId": "string",
- "sendDate": "2019-08-24T14:15:22Z",
- "lastActivityTime": "2019-08-24T14:15:22Z",
- "lastRespondedTime": "2019-08-24T14:15:22Z",
- "trackReplies": true,
- "trackOpens": true,
- "trackingCode": "string",
- "context": "string",
- "location": "string",
- "userAgent": "string",
- "remoteAddr": "string",
- "openCount": 0,
- "ignoreOpenClicks": true,
- "hasBounced": true
}
id required | integer <int64> Tracking id |
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/tracking/{id}/events
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "eventType": "open",
- "location": "string",
- "userAgent": "string",
- "referrer": "string",
- "remoteAddr": "string",
- "openNumber": 0,
- "threadId": "string",
- "messageId": "string",
- "internetMessageId": "string",
- "trackingId": 0,
- "trackingThreadId": "string",
- "trackingMessageId": "string",
- "trackingInternetMessageId": "string",
- "context": "string",
- "trackingCode": "string"
}
]
}
trackingId required | integer <int64> Tracking data id |
id required | integer <int64> Tracking event id |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/email/tracking/{trackingId}/events/{id}'
{- "id": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "eventType": "open",
- "location": "string",
- "userAgent": "string",
- "referrer": "string",
- "remoteAddr": "string",
- "openNumber": 0,
- "threadId": "string",
- "messageId": "string",
- "internetMessageId": "string",
- "trackingId": 0,
- "trackingThreadId": "string",
- "trackingMessageId": "string",
- "trackingInternetMessageId": "string",
- "context": "string",
- "trackingCode": "string"
}
Follow-up rules allow you to define automatic email follow-up (drip) sequences and email templates. List, create, update, and delete follow-up rules associated with a mailbox account. Check status of a drip sequence for a given email thread, or activate a drip sequence.
{- "timezone": "string",
- "emailAliases": [
- "user@example.com"
]
}
timezone | string |
emailAliases | Array of strings <email> [ items <email > ] |
{- "timezone": "string",
- "emailAliases": [
- "user@example.com"
]
}
{- "timezone": "string",
- "emailAliases": [
- "user@example.com"
]
}
name | string |
expectThreadResponse | boolean |
templateBody | string |
templateSubject | string |
Array of objects (FollowupRuleAction) |
{- "name": "string",
- "expectThreadResponse": true,
- "templateBody": "string",
- "templateSubject": "string",
- "actions": [
- {
- "intervalDays": 0,
- "message": "string"
}
]
}
{- "id": 0,
- "name": "string",
- "expectThreadResponse": true,
- "templateBody": "string",
- "templateSubject": "string",
- "actions": [
- {
- "intervalDays": 0,
- "message": "string"
}
]
}
{- "id": 0,
- "name": "string",
- "expectThreadResponse": true,
- "templateBody": "string",
- "templateSubject": "string",
- "actions": [
- {
- "intervalDays": 0,
- "message": "string"
}
]
}
id required | integer <int64> |
{- "status": "Ok"
}
id required | integer <int64> |
name | string |
expectThreadResponse | boolean |
templateBody | string |
templateSubject | string |
Array of objects (FollowupRuleAction) |
{- "name": "string",
- "expectThreadResponse": true,
- "templateBody": "string",
- "templateSubject": "string",
- "actions": [
- {
- "intervalDays": 0,
- "message": "string"
}
]
}
{- "id": 0,
- "name": "string",
- "expectThreadResponse": true,
- "templateBody": "string",
- "templateSubject": "string",
- "actions": [
- {
- "intervalDays": 0,
- "message": "string"
}
]
}
active | boolean or null active or inactive threads, by default all threads returned |
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 page offset |
{- "convoId": "string",
- "subject": "string",
- "status": "disabled",
- "rule": { },
- "dripStartedAt": "2019-08-24T14:15:22Z",
- "dripLastNum": 0,
- "dripError": "string",
- "dripEndedAt": "2019-08-24T14:15:22Z",
- "actionVars": {
- "property1": "string",
- "property2": "string"
}, - "targets": [
- "string"
], - "dripResponder": "string"
}
convoId required | string thread identifier |
{- "convoId": "string",
- "subject": "string",
- "status": "disabled",
- "rule": { },
- "dripStartedAt": "2019-08-24T14:15:22Z",
- "dripLastNum": 0,
- "dripError": "string",
- "dripEndedAt": "2019-08-24T14:15:22Z",
- "actionVars": {
- "property1": "string",
- "property2": "string"
}, - "targets": [
- "string"
], - "dripResponder": "string"
}
convoId required | string thread identifier |
status | string Enum: "disabled" "active" |
ruleId | integer <int64> |
dripAfter | string <date-time> |
targets | Array of strings |
object |
{- "status": "disabled",
- "ruleId": 0,
- "dripAfter": "2019-08-24T14:15:22Z",
- "targets": [
- "string"
], - "actionVars": {
- "property1": "string",
- "property2": "string"
}
}
{- "convoId": "string",
- "subject": "string",
- "status": "disabled",
- "rule": { },
- "dripStartedAt": "2019-08-24T14:15:22Z",
- "dripLastNum": 0,
- "dripError": "string",
- "dripEndedAt": "2019-08-24T14:15:22Z",
- "actionVars": {
- "property1": "string",
- "property2": "string"
}, - "targets": [
- "string"
], - "dripResponder": "string"
}
Each account connected to Aurino can have zero or more calendars, and each calendar has a collection of individual events.
name | string |
color | string |
description | string |
{- "name": "string",
- "color": "string",
- "description": "string"
}
{- "id": "string",
- "name": "string",
- "color": "string",
- "description": "string",
- "accessRole": "owner",
- "primary": true
}
pageToken | string or null A token received as nextPageToken from a previous page request (for the first page it must be empty) |
withShared | boolean or null Default: false Shows shared calendars if any available |
mode | string (CalendarMode) Enum: "user" "group" Calendar type to request (make sense only for Office365) |
curl -H 'Authorization: Bearer <access token>' \ -X GET https://api.aurinko.io/v1/calendars
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "name": "string",
- "color": "string",
- "description": "string",
- "accessRole": "owner",
- "primary": true
}
]
}
id required | string Calendar id |
name | string |
description | string |
{- "name": "string",
- "description": "string"
}
{- "id": "string",
- "name": "string",
- "color": "string",
- "description": "string",
- "accessRole": "owner",
- "primary": true
}
id required | string Calendar id |
curl -H 'Authorization: Bearer <access token>' \ -X GET https://api.aurinko.io/v1/calendars/primary
{- "id": "string",
- "name": "string",
- "color": "string",
- "description": "string",
- "accessRole": "owner",
- "primary": true
}
Events are objects within a calendar, generally supporting all features of modern scheduling apps. Using the calendar APIs, your application can schedule events, send meeting invitations, RSVP, and more.
calendarId required | string Calendar id |
timeMin required | string <date-time> Lower bound (exclusive) for an event's end time to filter by. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. If timeMax is set, timeMin must be smaller than timeMax. |
timeMax required | string <date-time> Upper bound (exclusive) for an event's start time to filter by. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. |
pageToken | string or null |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/calendars/primary/events/range \ -d timeMin=2019-06-03T10:00:00-07:00 \ -d timeMax=2020-06-03T10:00:00-07:00
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "etag": "string",
- "calendarId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "organizer": {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
}, - "meetingInfo": {
- "canceled": true,
- "attendees": [
- {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "type": "required",
- "response": "accepted",
- "comment": "string"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}, - "recurrenceType": "single",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "iCalUid": "string",
- "globalId": "string",
- "showAs": "free",
- "sensitivity": "normal",
- "categories": [
- "string"
], - "htmlLink": "string",
- "hasAttachments": true,
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "omitted": [
- "description"
]
}
]
}
calendarId required | string Calendar id |
iCalUId required | Array of strings Find all events that match specified ICalUid's |
pageToken | string or null |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/calendars/primary/events/find \ -d ICalUid=ABCID1 \ -d ICalUid=XYZID2
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "etag": "string",
- "calendarId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "organizer": {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
}, - "meetingInfo": {
- "canceled": true,
- "attendees": [
- {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "type": "required",
- "response": "accepted",
- "comment": "string"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}, - "recurrenceType": "single",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "iCalUid": "string",
- "globalId": "string",
- "showAs": "free",
- "sensitivity": "normal",
- "categories": [
- "string"
], - "htmlLink": "string",
- "hasAttachments": true,
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "omitted": [
- "description"
]
}
]
}
calendarId required | string Calendar id |
eventId required | string Event id |
notifyAttendees | boolean or null Default: true |
returnRecord | boolean or null Default: true Whether response must contain a record that has been updated. This can result in an additional request to provider API. |
If-Match required | string The HTTP entity tag of the resource (ETag). Used for web cache validation. |
subject | string |
description | string |
location | string |
object (EventDateTime) | |
object (EventDateTime) | |
object (MeetingInfo) | |
object (Recurrence) | |
object (OccurrenceInfo) | |
showAs | string (ShowAs) Enum: "free" "busy" "tentative" "outOfOffice" "unknown" |
sensitivity | string (Sensitivity) Enum: "normal" "private" "personal" "confidential" |
Array of objects (EmailAttachment) |
{- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "meetingInfo": {
- "attendees": [
- {
- "emailAddress": {
- "name": "string",
- "address": "user@example.com"
}, - "type": "required"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeeting": true,
- "onlineMeetingProvider": "string"
}, - "recurrence": {
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "showAs": "free",
- "sensitivity": "normal",
- "attachments": [
- { }
]
}
{- "id": "string",
- "etag": "string",
- "iCalUId": "string",
- "globalId": "string",
- "record": {
- "id": "string",
- "etag": "string",
- "calendarId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "organizer": {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
}, - "meetingInfo": {
- "canceled": true,
- "attendees": [
- {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "type": "required",
- "response": "accepted",
- "comment": "string"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}, - "recurrenceType": "single",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "iCalUid": "string",
- "globalId": "string",
- "showAs": "free",
- "sensitivity": "normal",
- "categories": [
- "string"
], - "htmlLink": "string",
- "hasAttachments": true,
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "omitted": [
- "description"
]
}, - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}
calendarId required | string Calendar id |
eventId required | string Event id |
nativeProperties | Array of strings or null (NativeProperty) |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/calendars/primary/events/{id}
{- "id": "string",
- "etag": "string",
- "calendarId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "organizer": {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
}, - "meetingInfo": {
- "canceled": true,
- "attendees": [
- {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "type": "required",
- "response": "accepted",
- "comment": "string"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}, - "recurrenceType": "single",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "iCalUid": "string",
- "globalId": "string",
- "showAs": "free",
- "sensitivity": "normal",
- "categories": [
- "string"
], - "htmlLink": "string",
- "hasAttachments": true,
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "omitted": [
- "description"
]
}
calendarId required | string Calendar id |
eventId required | string Event id |
notifyAttendees | boolean or null Default: true |
curl -X DELETE -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/calendars/primary/events/<eventId>
calendarId required | string Calendar id |
masterId required | string Master event id |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/calendars/primary/events/{masterId}/series
{- "id": "string",
- "globalId": "string",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "modifiedOccurrences": [
- {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}
], - "deletedOccurrences": [
- {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}
]
}
calendarId required | string Calendar id |
masterId required | string Master event id |
ost required | string <datetime> Original start time |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/calendars/primary/events/{masterId}/occurrences/2020-04-01
{- "id": "string",
- "etag": "string",
- "calendarId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "organizer": {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
}, - "meetingInfo": {
- "canceled": true,
- "attendees": [
- {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "type": "required",
- "response": "accepted",
- "comment": "string"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}, - "recurrenceType": "single",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "iCalUid": "string",
- "globalId": "string",
- "showAs": "free",
- "sensitivity": "normal",
- "categories": [
- "string"
], - "htmlLink": "string",
- "hasAttachments": true,
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "omitted": [
- "description"
]
}
calendarId required | string Calendar id |
notifyAttendees | boolean or null Default: true |
bodyType | string (BodyType) Enum: "html" "text" |
returnRecord | boolean or null Default: true Whether response must contain a record that has been created. This can result in an additional request to provider API. |
subject | string |
description | string |
location | string |
object (EventDateTime) | |
object (EventDateTime) | |
object (MeetingInfo) | |
object (Recurrence) | |
object (OccurrenceInfo) | |
showAs | string (ShowAs) Enum: "free" "busy" "tentative" "outOfOffice" "unknown" |
sensitivity | string (Sensitivity) Enum: "normal" "private" "personal" "confidential" |
Array of objects (EmailAttachment) |
{- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "meetingInfo": {
- "attendees": [
- {
- "emailAddress": {
- "name": "string",
- "address": "user@example.com"
}, - "type": "required"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeeting": true,
- "onlineMeetingProvider": "string"
}, - "recurrence": {
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "showAs": "free",
- "sensitivity": "normal",
- "attachments": [
- { }
]
}
{- "id": "string",
- "etag": "string",
- "iCalUId": "string",
- "globalId": "string",
- "record": {
- "id": "string",
- "etag": "string",
- "calendarId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "organizer": {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
}, - "meetingInfo": {
- "canceled": true,
- "attendees": [
- {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "type": "required",
- "response": "accepted",
- "comment": "string"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}, - "recurrenceType": "single",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "iCalUid": "string",
- "globalId": "string",
- "showAs": "free",
- "sensitivity": "normal",
- "categories": [
- "string"
], - "htmlLink": "string",
- "hasAttachments": true,
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "omitted": [
- "description"
]
}, - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}
calendarId required | string Calendar id |
eventId required | string Event id |
notifyAttendees | boolean or null Default: true |
response required | string (MeetingResponseType) Enum: "noResponse" "declined" "tentative" "accepted" |
comment | string |
{- "response": "noResponse",
- "comment": "string"
}
{- "status": "Ok"
}
calendarId required | string Calendar id |
eventId required | string Event id |
attachmentId required | string attachment identifier |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/email/messages/{msgId}/attachments/{attId}
{- "content": "string"
}
calendarId required | string Calendar id |
timeMin required | string <date-time> Lower bound (exclusive) for an event's end time to filter by. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. If timeMax is set, timeMin must be smaller than timeMax. |
timeMax required | string <date-time> Upper bound (exclusive) for an event's start time to filter by. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. |
curl -X POST -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/calendars/primary/sync \ -d timeMin=2019-06-03T10:00:00-07:00 \ -d timeMax=2020-06-03T10:00:00-07:00
{- "syncUpdatedToken": "string",
- "syncDeletedToken": "string",
- "ready": true
}
calendarId required | string Calendar id |
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/calendars/primary/sync/updated \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "etag": "string",
- "calendarId": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "subject": "string",
- "description": "string",
- "location": "string",
- "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "end": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "organizer": {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}
}, - "meetingInfo": {
- "canceled": true,
- "attendees": [
- {
- "id": "string",
- "emailAddress": {
- "name": "string",
- "address": "user@example.com",
- "raw": "string"
}, - "type": "required",
- "response": "accepted",
- "comment": "string"
}
], - "response": "noResponse",
- "attendeePermissions": [
- "inviteOthers"
], - "onlineMeetingProvider": "string",
- "onlineMeetingDetails": {
- "url": "string",
- "phone": "string",
- "pin": "string",
- "regionCode": "string",
- "sip": "string",
- "infoUrl": "string"
}
}, - "recurrenceType": "single",
- "recurrence": {
- "original": "simple",
- "ical": {
- "rules": [
- "string"
], - "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
}, - "simple": {
- "pattern": {
- "frequency": "daily",
- "interval": 1,
- "daysOfWeek": [
- "monday"
], - "weekStart": "monday",
- "dayOfMonth": 1,
- "monthOfYear": 1,
- "instance": "first"
}, - "range": {
- "type": "byDate",
- "recurrenceStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "recurrenceEnd": "2019-08-24",
- "count": 1,
- "patternExclusions": [
- {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}
]
}
}
}, - "occurrenceInfo": {
- "id": "string",
- "type": "regular",
- "originalStart": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "start": {
- "dateOnly": "2019-08-24",
- "dateTime": "2019-08-24T14:15:22Z",
- "timezone": "string"
}, - "masterId": "string"
}, - "iCalUid": "string",
- "globalId": "string",
- "showAs": "free",
- "sensitivity": "normal",
- "categories": [
- "string"
], - "htmlLink": "string",
- "hasAttachments": true,
- "attachments": [
- {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "size": 0,
- "inline": true,
- "contentId": "string",
- "content": "string",
- "contentLocation": "string"
}
], - "omitted": [
- "description"
]
}
]
}
calendarId required | string Calendar id |
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/calendars/primary/sync/deleted \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
]
}
Check free/busy status for a calendar or available time slots for a meeting in multiple calendars.
timeMin | string <date-time> |
timeMax | string <date-time> |
emails | Array of strings <email> [ items <email > ] |
{- "timeMin": "2019-08-24T14:15:22Z",
- "timeMax": "2019-08-24T14:15:22Z",
- "emails": [
- "user@example.com"
]
}
{- "records": [
- {
- "email": "user@example.com",
- "items": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "status": "free"
}
], - "error": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}
}
]
}
emails | Array of strings <email> [ items <email > ] |
{- "emails": [
- "user@example.com"
]
}
{- "items": [
- {
- "email": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}
}
]
}
timeMin | string <date-time> The lower bound of the time interval to search for available meeting times. |
timeMax | string <date-time> The upper bound of the time interval to search for available meeting times. |
durationMinutes | integer The duration of the meeting to search time for. |
availabilityStep | integer Default: 30 Determines the interval at which new meeting slots are made available throughout the working hours. |
Array of objects (MeetingAttendee) The attendees to consider when searching for available meeting times. | |
defaultTimezone | string Timezone (IANA) to use when no timezone information is available for the attendees. |
object (WeekWorkSchedule) | |
object (AvailabilityIntervals) | |
freeStatuses | Array of strings (ShowAs) Default: ["free"] Items Enum: "free" "busy" "tentative" "outOfOffice" "unknown" The statuses from /freeBusy request to consider as free time for the attendees. |
{- "timeMin": "2019-08-24T14:15:22Z",
- "timeMax": "2019-08-24T14:15:22Z",
- "durationMinutes": 0,
- "availabilityStep": 30,
- "attendees": [
- {
- "email": "string",
- "timezone": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "busyIntervals": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}
], - "freeIntervals": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}
]
}
], - "defaultTimezone": "string",
- "defaultWorkHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "freeStatuses": [
- "free"
]
}
{- "items": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}
], - "attendees": [
- {
- "email": "string",
- "timezone": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "error": "string"
}
]
}
Booking profiles allow you to build calendar availability and meeting scheduling apps. List, create, update, and delete booking profiles associated with a calendar (Aurinko account). Gather availability information from a calendar and find time slots when the calendar owner is available. Schedule events for a calendar owner.
{- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}
name | string Profile name used in calendar links to identify a profile. |
durationMinutes | integer Duration of the meeting in minutes. |
availabilityStep | integer Determines the interval at which new meeting slots are made available throughout the working hours. Allowed values are 5, 10, 15, 20, 30, 60. |
startTime | string <date-time> The beginning of the formation of intervals. Must be in the future, otherwise the current time will be used. |
endTime | string <date-time> The ending of the formation of intervals. If the time specified here is in the past, the intervals will be empty, regardless of the Start time parameter. |
timeAvailableFor | string Time period (in ISO-8601 format) the profile is covering. For example, P3M (3 months), P4W (4 weeks), P5D (5 days). |
subject | string Subject for events booked using this profile. |
description | string Description for events booked using this profile. |
location | string Location for events booked using this profile. |
object (WeekWorkSchedule) | |
object (AvailabilityIntervals) | |
context | string Custom client data stored for the profile. |
startConference | boolean Whether to create an online conference (hangoutsMeet, teamsForBusiness, etc.) for the event. Note, not all providers support creating conferences. |
openMeetingUrl | string The value of the {{openMeetingUrl}} variable that can be used in the event description or subject. |
{- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string"
}
{- "id": 0,
- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string"
}
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string"
}
]
}
id required | integer <int64> A booking id |
name | string Profile name used in calendar links to identify a profile. |
durationMinutes | integer Duration of the meeting in minutes. |
availabilityStep | integer Determines the interval at which new meeting slots are made available throughout the working hours. Allowed values are 5, 10, 15, 20, 30, 60. |
startTime | string <date-time> The beginning of the formation of intervals. Must be in the future, otherwise the current time will be used. |
endTime | string <date-time> The ending of the formation of intervals. If the time specified here is in the past, the intervals will be empty, regardless of the Start time parameter. |
timeAvailableFor | string Time period (in ISO-8601 format) the profile is covering. For example, P3M (3 months), P4W (4 weeks), P5D (5 days). |
subject | string Subject for events booked using this profile. |
description | string Description for events booked using this profile. |
location | string Location for events booked using this profile. |
object (WeekWorkSchedule) | |
object (AvailabilityIntervals) | |
context | string Custom client data stored for the profile. |
startConference | boolean Whether to create an online conference (hangoutsMeet, teamsForBusiness, etc.) for the event. Note, not all providers support creating conferences. |
openMeetingUrl | string The value of the {{openMeetingUrl}} variable that can be used in the event description or subject. |
{- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string"
}
{- "status": "Ok"
}
id required | integer <int64> A booking id |
{- "id": 0,
- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string"
}
id required | integer <int64> A booking id |
{- "status": "Ok"
}
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
reserveForMinutes | integer or null <int64> Time in minutes, blocks the interval for a time (creates an unconfirmed reservation), the meeting is not created |
object (SelectedMeetingTime) | |
groupXids | Array of strings |
accountIds | Array of integers <int64> [ items <int64 > ] |
name | string Username of the person requesting the meeting |
string Email of the person requesting the meeting, if not specified, an event will be created without an attendee | |
object Data for substitution instead of templates, key - value |
{- "time": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}, - "groupXids": [
- "string"
], - "accountIds": [
- 0
], - "name": "string",
- "email": "string",
- "substitutionData": {
- "property1": "string",
- "property2": "string"
}
}
{- "created": true,
- "id": "string",
- "ReservationId": 0,
- "groupXid": "string"
}
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
fromDate | string or null <date> date to iterate a big time intervals |
intervalLength | string or null Time period (in ISO-8601 format) to iterate a big time intervals |
pageToken | string or null token to request all pages, if booking has many accounts |
limit | integer or null <int32> |
offset | integer or null <int32> |
{- "items": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "groupXids": [
- "string"
], - "accountIds": [
- 0
]
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "durationMinutes": 0,
- "availabilityStep": 0,
- "subject": "string",
- "primaryColor": "string",
- "secondaryColor": "string",
- "additionalFields": [
- {
- "name": "string",
- "type": "string",
- "default": "string"
}
], - "nextPageToken": "string",
- "nextFromDate": "2019-08-24"
}
id required | integer <int64> An unconfirmed reservation id |
{- "id": "string"
}
id required | integer <int64> An unconfirmed reservation id |
{- "status": "Ok"
}
Group Booking profiles allow you to build calendar availability and meeting scheduling for a group of accounts. List, create, update, and delete booking profiles associated with a group. Gather availability information from multiple account calendars and find time slots when at least one user is available. Schedule events for available accounts.
timeMin | string <date-time> |
timeMax | string <date-time> |
profileNames | Array of strings |
profileIds | Array of integers <int64> [ items <int64 > ] |
required | string (BookingRequiredMode) Enum: "one" "all" |
{- "timeMin": "2019-08-24T14:15:22Z",
- "timeMax": "2019-08-24T14:15:22Z",
- "profileNames": [
- "string"
], - "profileIds": [
- 0
], - "required": "one"
}
{- "profileIds": [
- 0
]
}
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
reserveForMinutes | integer or null <int64> Time in minutes, blocks the interval for a time (creates an unconfirmed reservation), the meeting is not created |
object (SelectedMeetingTime) | |
groupXids | Array of strings |
accountIds | Array of integers <int64> [ items <int64 > ] |
name | string Username of the person requesting the meeting |
string Email of the person requesting the meeting, if not specified, an event will be created without an attendee | |
object Data for substitution instead of templates, key - value |
{- "time": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}, - "groupXids": [
- "string"
], - "accountIds": [
- 0
], - "name": "string",
- "email": "string",
- "substitutionData": {
- "property1": "string",
- "property2": "string"
}
}
{- "created": true,
- "id": "string",
- "ReservationId": 0,
- "groupXid": "string"
}
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
fromDate | string or null <date> date to iterate a big time intervals |
intervalLength | string or null Time period (in ISO-8601 format) to iterate a big time intervals |
pageToken | string or null token to request all pages, if booking has many accounts |
limit | integer or null <int32> |
offset | integer or null <int32> |
{- "items": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "groupXids": [
- "string"
], - "accountIds": [
- 0
]
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "durationMinutes": 0,
- "availabilityStep": 0,
- "subject": "string",
- "primaryColor": "string",
- "secondaryColor": "string",
- "additionalFields": [
- {
- "name": "string",
- "type": "string",
- "default": "string"
}
], - "nextPageToken": "string",
- "nextFromDate": "2019-08-24"
}
name | string Profile name used in calendar links to identify a profile. |
durationMinutes | integer Duration of the meeting in minutes. |
availabilityStep | integer Determines the interval at which new meeting slots are made available throughout the working hours. Allowed values are 5, 10, 15, 20, 30, 60. |
startTime | string <date-time> The beginning of the formation of intervals. Must be in the future, otherwise the current time will be used. |
endTime | string <date-time> The ending of the formation of intervals. If the time specified here is in the past, the intervals will be empty, regardless of the Start time parameter. |
timeAvailableFor | string Time period (in ISO-8601 format) the profile is covering. For example, P3M (3 months), P4W (4 weeks), P5D (5 days). |
subject | string Subject for events booked using this profile. |
description | string Description for events booked using this profile. |
location | string Location for events booked using this profile. |
object (WeekWorkSchedule) | |
object (AvailabilityIntervals) | |
context | string Custom client data stored for the profile. |
startConference | boolean Whether to create an online conference (hangoutsMeet, teamsForBusiness, etc.) for the event. Note, not all providers support creating conferences. |
openMeetingUrl | string The value of the {{openMeetingUrl}} variable that can be used in the event description or subject. |
clientOrgId | string |
{- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string",
- "clientOrgId": "string"
}
{- "id": 0,
- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string",
- "clientOrgId": "string"
}
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string",
- "clientOrgId": "string"
}
]
}
id required | integer <int64> A booking id |
name | string Profile name used in calendar links to identify a profile. |
durationMinutes | integer Duration of the meeting in minutes. |
availabilityStep | integer Determines the interval at which new meeting slots are made available throughout the working hours. Allowed values are 5, 10, 15, 20, 30, 60. |
startTime | string <date-time> The beginning of the formation of intervals. Must be in the future, otherwise the current time will be used. |
endTime | string <date-time> The ending of the formation of intervals. If the time specified here is in the past, the intervals will be empty, regardless of the Start time parameter. |
timeAvailableFor | string Time period (in ISO-8601 format) the profile is covering. For example, P3M (3 months), P4W (4 weeks), P5D (5 days). |
subject | string Subject for events booked using this profile. |
description | string Description for events booked using this profile. |
location | string Location for events booked using this profile. |
object (WeekWorkSchedule) | |
object (AvailabilityIntervals) | |
context | string Custom client data stored for the profile. |
startConference | boolean Whether to create an online conference (hangoutsMeet, teamsForBusiness, etc.) for the event. Note, not all providers support creating conferences. |
openMeetingUrl | string The value of the {{openMeetingUrl}} variable that can be used in the event description or subject. |
clientOrgId | string |
{- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string",
- "clientOrgId": "string"
}
{- "status": "Ok"
}
id required | integer <int64> A booking id |
{- "id": 0,
- "name": "aurDemo - https://calendar.aurinko.io/aurDemo",
- "durationMinutes": 30,
- "availabilityStep": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "subject": "string",
- "description": "string",
- "location": "string",
- "workHours": {
- "daySchedules": [
- {
- "dayOfWeek": "monday",
- "workingIntervals": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
], - "timezone": "string"
}, - "availabilityIntervals": {
- "intervals": [
- {
- "dateStartInclusive": "2019-08-24",
- "dateEndInclusive": "2019-08-24",
- "hours": [
- {
- "start": "09:00:00",
- "end": "17:00:00"
}
]
}
]
}, - "context": "string",
- "startConference": true,
- "openMeetingUrl": "string",
- "clientOrgId": "string"
}
id required | integer <int64> A booking id |
Array of objects (BookingAttachGroupDto) |
{- "groups": [
- {
- "extId": "string",
- "accountIds": [
- 0
], - "required": "one"
}
]
}
{- "status": "Ok"
}
id required | integer <int64> A booking id |
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "extId": "string",
- "accountIds": [
- 0
], - "required": "one"
}
]
}
id required | integer <int64> A booking id |
Array of objects (BookingDetachGroupDto) |
{- "groups": [
- {
- "extId": "string",
- "accountIds": [
- 0
]
}
]
}
{- "status": "Ok"
}
id required | integer <int64> A booking id |
accountIds | Array of integers <int64> [ items <int64 > ] |
{- "accountIds": [
- 0
]
}
{- "status": "Ok"
}
id required | integer <int64> A booking id |
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "accountIds": [
- 0
]
}
]
}
id required | integer <int64> A booking id |
accountIds | Array of integers <int64> [ items <int64 > ] |
{- "accountIds": [
- 0
]
}
{- "status": "Ok"
}
See meeting time availability according to the group booking profile configuration. Book a meeting for an account or one of users in a group.
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
reserveForMinutes | integer or null <int64> Time in minutes, blocks the interval for a time (creates an unconfirmed reservation), the meeting is not created |
object (SelectedMeetingTime) | |
groupXids | Array of strings |
accountIds | Array of integers <int64> [ items <int64 > ] |
name | string Username of the person requesting the meeting |
string Email of the person requesting the meeting, if not specified, an event will be created without an attendee | |
object Data for substitution instead of templates, key - value |
{- "time": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}, - "groupXids": [
- "string"
], - "accountIds": [
- 0
], - "name": "string",
- "email": "string",
- "substitutionData": {
- "property1": "string",
- "property2": "string"
}
}
{- "created": true,
- "id": "string",
- "ReservationId": 0,
- "groupXid": "string"
}
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
fromDate | string or null <date> date to iterate a big time intervals |
intervalLength | string or null Time period (in ISO-8601 format) to iterate a big time intervals |
pageToken | string or null token to request all pages, if booking has many accounts |
limit | integer or null <int32> |
offset | integer or null <int32> |
{- "items": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "groupXids": [
- "string"
], - "accountIds": [
- 0
]
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "durationMinutes": 0,
- "availabilityStep": 0,
- "subject": "string",
- "primaryColor": "string",
- "secondaryColor": "string",
- "additionalFields": [
- {
- "name": "string",
- "type": "string",
- "default": "string"
}
], - "nextPageToken": "string",
- "nextFromDate": "2019-08-24"
}
timeMin | string <date-time> |
timeMax | string <date-time> |
profileNames | Array of strings |
profileIds | Array of integers <int64> [ items <int64 > ] |
required | string (BookingRequiredMode) Enum: "one" "all" |
{- "timeMin": "2019-08-24T14:15:22Z",
- "timeMax": "2019-08-24T14:15:22Z",
- "profileNames": [
- "string"
], - "profileIds": [
- 0
], - "required": "one"
}
{- "profileIds": [
- 0
]
}
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
reserveForMinutes | integer or null <int64> Time in minutes, blocks the interval for a time (creates an unconfirmed reservation), the meeting is not created |
object (SelectedMeetingTime) | |
groupXids | Array of strings |
accountIds | Array of integers <int64> [ items <int64 > ] |
name | string Username of the person requesting the meeting |
string Email of the person requesting the meeting, if not specified, an event will be created without an attendee | |
object Data for substitution instead of templates, key - value |
{- "time": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}, - "groupXids": [
- "string"
], - "accountIds": [
- 0
], - "name": "string",
- "email": "string",
- "substitutionData": {
- "property1": "string",
- "property2": "string"
}
}
{- "created": true,
- "id": "string",
- "ReservationId": 0,
- "groupXid": "string"
}
id required | integer <int64> A booking id |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
fromDate | string or null <date> date to iterate a big time intervals |
intervalLength | string or null Time period (in ISO-8601 format) to iterate a big time intervals |
pageToken | string or null token to request all pages, if booking has many accounts |
limit | integer or null <int32> |
offset | integer or null <int32> |
{- "items": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "groupXids": [
- "string"
], - "accountIds": [
- 0
]
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "durationMinutes": 0,
- "availabilityStep": 0,
- "subject": "string",
- "primaryColor": "string",
- "secondaryColor": "string",
- "additionalFields": [
- {
- "name": "string",
- "type": "string",
- "default": "string"
}
], - "nextPageToken": "string",
- "nextFromDate": "2019-08-24"
}
aurinkoClientId required | string Application client Id |
name required | string Booking profile name |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
reserveForMinutes | integer or null <int64> Time in minutes, blocks the interval for a time (creates an unconfirmed reservation), the meeting is not created |
object (SelectedMeetingTime) | |
groupXids | Array of strings |
accountIds | Array of integers <int64> [ items <int64 > ] |
name | string Username of the person requesting the meeting |
string Email of the person requesting the meeting, if not specified, an event will be created without an attendee | |
object Data for substitution instead of templates, key - value |
{- "time": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}, - "groupXids": [
- "string"
], - "accountIds": [
- 0
], - "name": "string",
- "email": "string",
- "substitutionData": {
- "property1": "string",
- "property2": "string"
}
}
{- "created": true,
- "id": "string",
- "ReservationId": 0,
- "groupXid": "string"
}
aurinkoClientId required | string Application client Id |
name required | string Booking profile name |
required | string (BookingRequiredMode) Enum: "one" "all" a way to select times |
fromDate | string or null <date> date to iterate a big time intervals |
intervalLength | string or null Time period (in ISO-8601 format) to iterate a big time intervals |
pageToken | string or null token to request all pages, if booking has many accounts |
limit | integer or null <int32> |
offset | integer or null <int32> |
{- "items": [
- {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "groupXids": [
- "string"
], - "accountIds": [
- 0
]
}
], - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "timeAvailableFor": "P4W",
- "durationMinutes": 0,
- "availabilityStep": 0,
- "subject": "string",
- "primaryColor": "string",
- "secondaryColor": "string",
- "additionalFields": [
- {
- "name": "string",
- "type": "string",
- "default": "string"
}
], - "nextPageToken": "string",
- "nextFromDate": "2019-08-24"
}
Contacts are objects within an address book, containing several pieces of information, such as email addresses, phone numbers, postal addresses, work place details.
contId required | string Contact id |
If-Match required | string The HTTP entity tag of the resource (ETag). Used for web cache validation. |
object (ContactName) | |
nickName | string |
fileAs | string |
object (ContactCompany) | |
Array of objects (ContactRelation) | |
birthday | string |
keywords | Array of strings |
notes | string |
Array of objects (ContactEmailAddress) | |
Array of objects (ContactPhoneNumber) | |
Array of objects (ContactPostalAddress) | |
Array of objects (ContactUrl) | |
object | |
object (ContactPhoto) |
{- "name": {
- "displayName": "string",
- "prefix": "string",
- "givenName": "string",
- "middleName": "string",
- "familyName": "string",
- "suffix": "string",
- "yomiGivenName": "string",
- "yomiFamilyName": "string"
}, - "nickName": "string",
- "fileAs": "string",
- "company": {
- "name": "string",
- "officeLocation": "string",
- "department": "string",
- "jobTitle": "string",
- "yomiCompanyName": "string"
}, - "relations": [
- {
- "name": "string",
- "type": "manager"
}
], - "birthday": "string",
- "keywords": [
- "string"
], - "notes": "string",
- "emailAddresses": [
- {
- "address": "string",
- "name": "string",
- "type": "string"
}
], - "phoneNumbers": [
- {
- "number": "string",
- "type": "work"
}
], - "addresses": [
- {
- "street": "string",
- "streetLine2": "string",
- "poBox": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "type": "work"
}
], - "urls": [
- {
- "href": "string",
- "type": "work"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "photo": {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "content": "string"
}
}
{- "id": "string",
- "etag": "string",
- "record": {
- "id": "string",
- "etag": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "name": {
- "displayName": "string",
- "prefix": "string",
- "givenName": "string",
- "middleName": "string",
- "familyName": "string",
- "suffix": "string",
- "yomiGivenName": "string",
- "yomiFamilyName": "string"
}, - "nickName": "string",
- "fileAs": "string",
- "company": {
- "name": "string",
- "officeLocation": "string",
- "department": "string",
- "jobTitle": "string",
- "yomiCompanyName": "string"
}, - "relations": [
- {
- "name": "string",
- "type": "manager"
}
], - "birthday": "string",
- "keywords": [
- "string"
], - "notes": "string",
- "emailAddresses": [
- {
- "address": "string",
- "name": "string",
- "type": "string"
}
], - "phoneNumbers": [
- {
- "number": "string",
- "type": "work",
- "canonicalForm": "string"
}
], - "addresses": [
- {
- "street": "string",
- "streetLine2": "string",
- "poBox": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "type": "work"
}
], - "urls": [
- {
- "href": "string",
- "type": "work"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "hasPhoto": true,
- "photo": {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "content": "string"
}
}
}
contId required | string Contact id |
bodyType | string (BodyType) Enum: "html" "text" Default text |
nativeProperties | Array of strings or null (NativeProperty) |
withPhoto | boolean or null |
includeUpdateToken | boolean or null |
curl -X GET -H 'Authorization: Bearer <access token>' \ https://api.aurinko.io/v1/contacts/{id}
{- "id": "string",
- "etag": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "name": {
- "displayName": "string",
- "prefix": "string",
- "givenName": "string",
- "middleName": "string",
- "familyName": "string",
- "suffix": "string",
- "yomiGivenName": "string",
- "yomiFamilyName": "string"
}, - "nickName": "string",
- "fileAs": "string",
- "company": {
- "name": "string",
- "officeLocation": "string",
- "department": "string",
- "jobTitle": "string",
- "yomiCompanyName": "string"
}, - "relations": [
- {
- "name": "string",
- "type": "manager"
}
], - "birthday": "string",
- "keywords": [
- "string"
], - "notes": "string",
- "emailAddresses": [
- {
- "address": "string",
- "name": "string",
- "type": "string"
}
], - "phoneNumbers": [
- {
- "number": "string",
- "type": "work",
- "canonicalForm": "string"
}
], - "addresses": [
- {
- "street": "string",
- "streetLine2": "string",
- "poBox": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "type": "work"
}
], - "urls": [
- {
- "href": "string",
- "type": "work"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "hasPhoto": true,
- "photo": {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "content": "string"
}
}
contId required | string Contact id |
curl -H 'Authorization: Bearer <access token>' \ -X DELETE https://api.aurinko.io/v1/contacts/{contId}
object (ContactName) | |
nickName | string |
fileAs | string |
object (ContactCompany) | |
Array of objects (ContactRelation) | |
birthday | string |
keywords | Array of strings |
notes | string |
Array of objects (ContactEmailAddress) | |
Array of objects (ContactPhoneNumber) | |
Array of objects (ContactPostalAddress) | |
Array of objects (ContactUrl) | |
object | |
object (ContactPhoto) |
{- "name": {
- "displayName": "string",
- "prefix": "string",
- "givenName": "string",
- "middleName": "string",
- "familyName": "string",
- "suffix": "string",
- "yomiGivenName": "string",
- "yomiFamilyName": "string"
}, - "nickName": "string",
- "fileAs": "string",
- "company": {
- "name": "string",
- "officeLocation": "string",
- "department": "string",
- "jobTitle": "string",
- "yomiCompanyName": "string"
}, - "relations": [
- {
- "name": "string",
- "type": "manager"
}
], - "birthday": "string",
- "keywords": [
- "string"
], - "notes": "string",
- "emailAddresses": [
- {
- "address": "string",
- "name": "string",
- "type": "string"
}
], - "phoneNumbers": [
- {
- "number": "string",
- "type": "work"
}
], - "addresses": [
- {
- "street": "string",
- "streetLine2": "string",
- "poBox": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "type": "work"
}
], - "urls": [
- {
- "href": "string",
- "type": "work"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "photo": {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "content": "string"
}
}
{- "id": "string",
- "etag": "string",
- "record": {
- "id": "string",
- "etag": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "name": {
- "displayName": "string",
- "prefix": "string",
- "givenName": "string",
- "middleName": "string",
- "familyName": "string",
- "suffix": "string",
- "yomiGivenName": "string",
- "yomiFamilyName": "string"
}, - "nickName": "string",
- "fileAs": "string",
- "company": {
- "name": "string",
- "officeLocation": "string",
- "department": "string",
- "jobTitle": "string",
- "yomiCompanyName": "string"
}, - "relations": [
- {
- "name": "string",
- "type": "manager"
}
], - "birthday": "string",
- "keywords": [
- "string"
], - "notes": "string",
- "emailAddresses": [
- {
- "address": "string",
- "name": "string",
- "type": "string"
}
], - "phoneNumbers": [
- {
- "number": "string",
- "type": "work",
- "canonicalForm": "string"
}
], - "addresses": [
- {
- "street": "string",
- "streetLine2": "string",
- "poBox": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "type": "work"
}
], - "urls": [
- {
- "href": "string",
- "type": "work"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "hasPhoto": true,
- "photo": {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "content": "string"
}
}
}
For Office 365, Outlook.com, and MS Exchange accounts this method works with the default Contacts folder only. For Gmail accounts it processes all user contacts except 'Other contacts'.
curl -X POST -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/contacts/sync
{- "syncUpdatedToken": "string",
- "syncDeletedToken": "string",
- "ready": true
}
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/contacts/sync/updated \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "etag": "string",
- "createdTime": "2019-08-24T14:15:22Z",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "name": {
- "displayName": "string",
- "prefix": "string",
- "givenName": "string",
- "middleName": "string",
- "familyName": "string",
- "suffix": "string",
- "yomiGivenName": "string",
- "yomiFamilyName": "string"
}, - "nickName": "string",
- "fileAs": "string",
- "company": {
- "name": "string",
- "officeLocation": "string",
- "department": "string",
- "jobTitle": "string",
- "yomiCompanyName": "string"
}, - "relations": [
- {
- "name": "string",
- "type": "manager"
}
], - "birthday": "string",
- "keywords": [
- "string"
], - "notes": "string",
- "emailAddresses": [
- {
- "address": "string",
- "name": "string",
- "type": "string"
}
], - "phoneNumbers": [
- {
- "number": "string",
- "type": "work",
- "canonicalForm": "string"
}
], - "addresses": [
- {
- "street": "string",
- "streetLine2": "string",
- "poBox": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "type": "work"
}
], - "urls": [
- {
- "href": "string",
- "type": "work"
}
], - "nativeProperties": {
- "property1": "string",
- "property2": "string"
}, - "hasPhoto": true,
- "photo": {
- "id": "string",
- "name": "string",
- "mimeType": "string",
- "content": "string"
}
}
]
}
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/contacts/sync/deleted \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
]
}
title | string |
{- "title": "string"
}
{- "id": "string",
- "etag": "string",
- "title": "string",
- "owner": true,
- "shared": true,
- "defaultList": true,
- "emailsList": true,
- "lastModifiedTime": "2019-08-24T14:15:22Z"
}
pageToken | string or null A token received as nextPageToken from a previous page request (for the first page it must be empty) |
curl -H 'Authorization: Bearer <access token>' \ -X GET https://api.aurinko.io/v1/tasklists
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "etag": "string",
- "title": "string",
- "owner": true,
- "shared": true,
- "defaultList": true,
- "emailsList": true,
- "lastModifiedTime": "2019-08-24T14:15:22Z"
}
]
}
taskListId required | string TaskList id |
If-Match required | string The HTTP entity tag of the resource (ETag). Used for web cache validation. |
title | string |
{- "title": "string"
}
{- "id": "string",
- "etag": "string",
- "title": "string",
- "owner": true,
- "shared": true,
- "defaultList": true,
- "emailsList": true,
- "lastModifiedTime": "2019-08-24T14:15:22Z"
}
taskListId required | string Task list id |
curl -H 'Authorization: Bearer <access token>' \ -X GET https://api.aurinko.io/v1/tasklists/{taskListId}
{- "id": "string",
- "etag": "string",
- "title": "string",
- "owner": true,
- "shared": true,
- "defaultList": true,
- "emailsList": true,
- "lastModifiedTime": "2019-08-24T14:15:22Z"
}
taskListId required | string Task list id |
curl -H 'Authorization: Bearer <access token>' \ -X DELETE https://api.aurinko.io/v1/tasklists/{taskListId}
{- "status": "Ok"
}
taskListId required | string Task list id |
title | string |
parentId | string |
previousId | string |
notes | string |
status | string (TaskStatus) Enum: "notStarted" "inProgress" "completed" "waitingOnOthers" "deferred" |
importance | string (TaskImportance) Enum: "low" "normal" "high" |
due | string <date-time> |
startDateTime | string <date-time> |
categories | Array of strings |
{- "title": "string",
- "parentId": "string",
- "previousId": "string",
- "notes": "string",
- "status": "notStarted",
- "importance": "low",
- "due": "2019-08-24T14:15:22Z",
- "startDateTime": "2019-08-24T14:15:22Z",
- "categories": [
- "string"
]
}
{- "id": "string",
- "etag": "string",
- "record": {
- "id": "string",
- "etag": "string",
- "title": "string",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "position": "string",
- "notes": "string",
- "status": "notStarted",
- "importance": "low",
- "due": "2019-08-24T14:15:22Z",
- "completed": "2019-08-24T14:15:22Z",
- "links": [
- {
- "source": "string",
- "description": "string",
- "link": "string"
}
], - "startDateTime": "2019-08-24T14:15:22Z",
- "categories": [
- "string"
], - "owner": "string",
- "omitted": [
- "notes"
]
}
}
taskListId required | string Task list id |
pageToken | string or null A token received as nextPageToken from a previous page request (for the first page it must be empty) |
curl -H 'Authorization: Bearer <access token>' \ -X GET https://api.aurinko.io/v1/tasklists/{taskListId}/tasks
{- "nextPageToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "etag": "string",
- "title": "string",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "position": "string",
- "notes": "string",
- "status": "notStarted",
- "importance": "low",
- "due": "2019-08-24T14:15:22Z",
- "completed": "2019-08-24T14:15:22Z",
- "links": [
- {
- "source": "string",
- "description": "string",
- "link": "string"
}
], - "startDateTime": "2019-08-24T14:15:22Z",
- "categories": [
- "string"
], - "owner": "string",
- "omitted": [
- "notes"
]
}
]
}
taskListId required | string Task list id |
id required | string Task id |
If-Match | string The HTTP entity tag of the resource (ETag). Used for web cache validation. |
title | string |
parentId | string |
previousId | string |
notes | string |
status | string (TaskStatus) Enum: "notStarted" "inProgress" "completed" "waitingOnOthers" "deferred" |
importance | string (TaskImportance) Enum: "low" "normal" "high" |
due | string <date-time> |
startDateTime | string <date-time> |
categories | Array of strings |
{- "title": "string",
- "parentId": "string",
- "previousId": "string",
- "notes": "string",
- "status": "notStarted",
- "importance": "low",
- "due": "2019-08-24T14:15:22Z",
- "startDateTime": "2019-08-24T14:15:22Z",
- "categories": [
- "string"
]
}
{- "id": "string",
- "etag": "string",
- "record": {
- "id": "string",
- "etag": "string",
- "title": "string",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "position": "string",
- "notes": "string",
- "status": "notStarted",
- "importance": "low",
- "due": "2019-08-24T14:15:22Z",
- "completed": "2019-08-24T14:15:22Z",
- "links": [
- {
- "source": "string",
- "description": "string",
- "link": "string"
}
], - "startDateTime": "2019-08-24T14:15:22Z",
- "categories": [
- "string"
], - "owner": "string",
- "omitted": [
- "notes"
]
}
}
taskListId required | string Task list id |
id required | string Task id |
curl -H 'Authorization: Bearer <access token>' \ -X GET https://api.aurinko.io/v1/tasklists/{taskListId}/tasks/{id}
{- "id": "string",
- "etag": "string",
- "title": "string",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "position": "string",
- "notes": "string",
- "status": "notStarted",
- "importance": "low",
- "due": "2019-08-24T14:15:22Z",
- "completed": "2019-08-24T14:15:22Z",
- "links": [
- {
- "source": "string",
- "description": "string",
- "link": "string"
}
], - "startDateTime": "2019-08-24T14:15:22Z",
- "categories": [
- "string"
], - "owner": "string",
- "omitted": [
- "notes"
]
}
taskListId required | string Task list id |
id required | string Task id |
curl -H 'Authorization: Bearer <access token>' \ -X DELETE https://api.aurinko.io/v1/tasklists/{taskListId}/tasks/{id}
{- "status": "Ok"
}
taskListId required | string Task list id |
skipCompletedBeforeDate | string <date-time> Skip completed tasks before date. |
curl -X POST -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/tasklists/{taskListId}/sync \ -d skipCompletedBeforeDate='2023-05-29T10:58:27Z'
{- "syncUpdatedToken": "string",
- "syncDeletedToken": "string",
- "ready": true
}
taskListId required | string Task list id |
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/tasklists/{taskListId}/sync/updated \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "etag": "string",
- "title": "string",
- "lastModifiedTime": "2019-08-24T14:15:22Z",
- "parentId": "string",
- "position": "string",
- "notes": "string",
- "status": "notStarted",
- "importance": "low",
- "due": "2019-08-24T14:15:22Z",
- "completed": "2019-08-24T14:15:22Z",
- "links": [
- {
- "source": "string",
- "description": "string",
- "link": "string"
}
], - "startDateTime": "2019-08-24T14:15:22Z",
- "categories": [
- "string"
], - "owner": "string",
- "omitted": [
- "notes"
]
}
]
}
taskListId required | string Task list id |
deltaToken | string or null A token received as nextDeltaToken from a previous sync request or a start sync request |
pageToken | string or null A token received as nextPageToken from a previous page request |
curl -X GET -H 'Authorization: Bearer <access token>' \ -G https://api.aurinko.io/v1/tasklists/{taskListId}/sync/deleted \ -d deltaToken='a8b7c6d5e4f3g2h1'
{- "nextPageToken": "string",
- "nextDeltaToken": "string",
- "length": 0,
- "records": [
- {
- "id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
]
}
Webhooks allow your application to receive simple notifications when certain events occur. They essentially tell your application that it can run incremental syncs to obtain the changed records (updated/deleted).
Gmail notifications require a special configuration, explained in this article.
A PubSub PUSH subscription should specify your Aurinko endpoint https://{yourAurinkoDomain}/push/google/email
so that Gmail notifications are delivered to Aurinko first. Once the PubSub subscription is configured
and the publish
rights are granted to gmail-api-push@system.gserviceaccount.com
please specify your
PubSub topic in the Application settings (Google OAuth) in the Aurinko portal.
To ensure that notifications are being delivered to a server under your direct control, we must verify your ownership by issuing you a challenge request. Please make sure your notification endpoint (specified in the notificationUrl property) responds to a validation request. If validation fails, the request to create the subscription returns a 400 Bad Request error.
Content-Type: text/plain; charset=utf-8
POST https://{notificationUrl}?validationToken={challenge}
Aurinko sends notifications as POST requests with the following json payload:
{
"subscription" : integer, // subscription Id
"resource" : string,
"accountId": integer,
"error": string, // if any
"lifecycleEvent": string, // Enum of `error` or `active`, when subscription state changes
"payloads" : [...]
}
You notification endpoint should respond with the 200 (OK) status code when a notification is successfully processed.
Aurinko signs its requests using a secret unique to your app. Here's an overview of the process to validate a signed request from Aurinko:
X-Aurinko-Request-Timestamp
header on the HTTP request, and the body of the request (Use the raw request body, before it has been deserialized from JSON or other forms.).v0
.final byte[] signData = org.apache.commons.lang3.ArrayUtils.addAll(
("v0:" + timestampSeconds + ":").getBytes(StandardCharsets.UTF_8),
payloadBytes
);
X-Aurinko-Signature
header on the request.
If it matches - request is valid, if not - request must be discarded.Resource, i.e '/email/messages', '/calendars/primary/events', '/calendars/{id}/events'
resource | string |
notificationUrl | string |
filters | Array of strings (DataConsumerFilter) Items Value: "withoutDrafts" |
{- "resource": "string",
- "notificationUrl": "string",
- "filters": [
- "withoutDrafts"
]
}
{- "id": 0,
- "resource": "string",
- "notificationUrl": "string",
- "active": true,
- "failSince": "2019-08-24T14:15:22Z",
- "failDescription": "string",
- "disabledByBilling": true,
- "filters": [
- "withoutDrafts"
]
}
limit | integer or null <int32> Default: 50 page size |
offset | integer or null <int32> Default: 0 return records offset by the given number |
includeInactive | boolean or null Default: false include inactive subscriptions |
curl -H 'Authorization: Bearer <access token>' \ -X POST https://api.aurinko.io/v1/subscriptions
{- "offset": 0,
- "totalSize": 0,
- "done": true,
- "records": [
- {
- "id": 0,
- "resource": "string",
- "notificationUrl": "string",
- "active": true,
- "failSince": "2019-08-24T14:15:22Z",
- "failDescription": "string",
- "disabledByBilling": true,
- "filters": [
- "withoutDrafts"
]
}
]
}
id required | integer <int64> A subscription identifier |
{- "id": 0,
- "resource": "string",
- "notificationUrl": "string",
- "active": true,
- "failSince": "2019-08-24T14:15:22Z",
- "failDescription": "string",
- "disabledByBilling": true,
- "filters": [
- "withoutDrafts"
]
}
API clients must expect and gracefully handle transient errors, such as rate limiting or server errors. We recommend baking 5xx and 429 response handling into your low-level HTTP client so your integration can handle most errors automatically.
If a request fails, the error information is returned with the HTTP status code and error details are usually sent as JSON content. For instance, if a requested record could not be found, the HTTP response might look something like:
HTTP/1.1 404 The record could not be found
Date: Thu, 16 Mar 2020 17:41:40 GMT
Content-Type: application/json
...
{
"code": "badRequest",
"message": "Bad Request",
"requestId": "3cd38fee-714b-4fe2-8e41-0f358246526a",
"originalError": {
"error": {
"code": "ErrorInvalidIdMalformed",
"message": "Id is malformed.",
"innerError": {
"date": "2020-08-17T22:56:24",
"request-id": "be4b9a5c-9c29-4cd4-b815-90b5e5bf8f07"
}
}
}
}
Note that, in general, if a request causes a new record to be created (like a new event, or contact, etc.), the response will use the "201 Created" status. Any other successful operation (like a successful query, delete, or update) will use a 200 status code.
If you exceed rate limits imposed by a remote API like Google, Graph, MS Exchange, you will get a 429 Too Many Requests response. Your application should retry with exponential backoff.
If Aurinko is having trouble, you will get a response with a 5xx status code indicating a server error. 500 (Internal Server Error), 502 (Bad Gateway), 503 (Service Unavailable), and 504 (Gateway Timeout) may be retried with exponential backoff.
API requests may get 404 due to a deleted item or insufficient permissions, etc. Do not automatically retry these requests.
API requests may timeout for some reasons. Do automatically retry these requests.