App
Stored in the apps collection. createdAt and updatedAt are maintained automatically.
Returned by GET /apps, PUT /apps, GET /apps/facebook/sync/form-leads/:id, GET /apps/facebook/sync/page-forms-leads/:id, GET /apps/facebook/sync/page-forms/:id, GET /apps/facebook/sync/pages-forms and 6 more.
Example
One real App as returned by GET /apps. Recorded from a live response, so the defaults, denormalised snapshots and populated fields are the actual ones:
{
"_id": "6a9572df859eafb47bf225ef",
"company": "6a9572df859eafb47bf225d7",
"defaultS3Bucket": {
"isGlobal": true
},
"defaultOcr": {
"isGlobal": true
},
"defaultFacebook": {
"pages": []
},
"defaultGemini": {
"isGlobal": true
},
"defaultOpenAI": {
"isGlobal": true
},
"defaultClaude": {
"isGlobal": true
},
"defaultOffline": {
"isGlobal": true
},
"defaultZoom": {
"isGlobal": true
},
"defaultGoogleCalendar": {
"isGlobal": true
},
"defaultInstagram": {
"isGlobal": true
},
"defaultManualPayment": {
"isGlobal": true
},
"defaultFacebookOAuthApp": {
"isGlobal": true
},
"defaultWhatsAppOAuthApp": {
"isGlobal": true
},
"uniqueKey": "email",
"companyType": "product",
"defaultCompanyType": "product",
"unifiedKeyChangedAt": null,
"createdAt": "2026-08-31T12:26:07.692Z",
"updatedAt": "2026-09-01T06:53:33.381Z",
"__v": 0,
"emailProviders": {
"gmail": 0,
"smtp": 0,
"ses": 0,
"sendgrid": 0,
"postmark": 0,
"brevo": 0,
"sparkpost": 0,
"elasticemail": 0,
"mailchimp": 0
},
"appCounts": {
"whatsapp": 0,
"s3bucket": 0,
"facebook": 0,
"ocr": 0,
"gemini": 0,
"claude": 0,
"telegram": 0,
"instagram": 0,
"offline": 0,
"zoom": 0,
"googleCalendar": 0,
"email": 0
}
}
:::note Trimmed for reading A populated reference is shown by the fields that identify it rather than in full — it arrives as the entire referenced document. Long arrays are cut to the first two entries and marked, long strings are truncated, and any field that could carry a credential is dropped rather than masked. :::
Fields
| Field | Type | Notes |
|---|---|---|
company | ObjectId -> Company | |
defaultSMTPServer | object | |
defaultSMTPServer.isGlobal | boolean | default true |
defaultSMTPServer.id | ObjectId | |
defaultSMTPServer.type | string | default Smtp · one of Smtp, Gmail, Ses, Sendgrid, Postmark, Brevo, Sparkpost, Elasticemail and 1 more |
defaultSMTPServer.customFromName | string | |
defaultSMTPServer.customFromEmail | string | |
defaultSMTPServer.customFromNameBool | boolean | default false |
defaultSMTPServer.customFromEmailBool | boolean | default false |
defaultS3Bucket.isGlobal | boolean | default true |
defaultS3Bucket.app | ObjectId -> Bucket | |
defaultOcr.isGlobal | boolean | default true |
defaultOcr.app | ObjectId -> Ocr | |
defaultFacebook.app | ObjectId -> FacebookApp | |
defaultFacebook.accessToken | string | |
defaultFacebook.accessTokenVerified | boolean | default false |
defaultFacebook.pages | ObjectId[] -> Page | default [] |
defaultRazorpay | ObjectId -> Razorpay | |
defaultPhonepe | ObjectId -> Phonepe | |
defaultPaypal | ObjectId -> Paypal | |
defaultStripe | ObjectId -> Stripe | |
defaultPayu | ObjectId -> Payu | |
defaultGemini.isGlobal | boolean | default true |
defaultGemini.app | ObjectId -> Gemini | |
defaultOpenAI.isGlobal | boolean | default true |
defaultOpenAI.app | ObjectId -> OpenAI | |
defaultClaude.isGlobal | boolean | default true |
defaultClaude.app | ObjectId -> Claude | |
defaultOffline.isGlobal | boolean | default true |
defaultOffline.app | ObjectId -> OfflineLocation | |
defaultZoom.isGlobal | boolean | default true |
defaultZoom.app | ObjectId -> ZoomAccount | |
defaultGoogleCalendar.isGlobal | boolean | default true |
defaultGoogleCalendar.app | ObjectId -> GoogleCalendarAccount | |
defaultInstagram.isGlobal | boolean | default true |
defaultInstagram.app | ObjectId -> InstagramApp | |
defaultManualPayment.isGlobal | boolean | default true |
defaultManualPayment.app | ObjectId -> ManualPayment | |
defaultFacebookOAuthApp.isGlobal | boolean | default true |
defaultFacebookOAuthApp.app | ObjectId -> FacebookOAuthApp | |
defaultWhatsAppOAuthApp.isGlobal | boolean | default true |
defaultWhatsAppOAuthApp.app | ObjectId -> WhatsAppOAuthApp | |
pendingWhatsAppOAuth.state | string | |
pendingWhatsAppOAuth.provider | ObjectId -> WhatsAppOAuthApp | |
pendingWhatsAppOAuth.redirectPath | string | |
pendingWhatsAppOAuth.createdAt | date | |
uniqueKey | string | default email · one of email, contactNumber |
companyType | string | default product · one of product, service, both |
defaultCompanyType | string | default product · one of product, service |
unifiedKeyChangedAt | date | default null |
_id | ObjectId | |
createdAt | date | set once |
updatedAt | date |