Frontline Data & Sync API

Account-wide defaults for how email, WhatsApp, calendar, and meetings turn activity into CRM records — contact auto-creation, People linking, record assignment, and whether each is a default users may change or a hard setting they cannot. Requires an OWNER or ADMIN.

Operations 4

GET /public/v1/settings/email Get the account email settings #
GET /public/v1/settings/whatsapp Get the account WhatsApp settings #
GET /public/v1/settings/calendar Get the account calendar settings #
GET /public/v1/settings/meetings Get the account meeting settings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/frontline:frontline-data-sync-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

frontline-data-sync-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Public Data & Sync API
  version: 1.0.0
  description: 'Public API for accessing agents, flows, and analytics.


    ## Authentication


    The Public API supports two API key types. Pass the key as a Bearer token:


    ```

    Authorization: Bearer

    ```


    ### Account API key (GENERAL)


    Account-level key that acts on behalf of the entire account. Required for account-level endpoints unless noted otherwise.


    ### User API key (USER)


    User-level key tied to a specific user. Required for write operations and user-owned resources. **Also accepted on all account-level endpoints.**


    Each operation documents which key type(s) it accepts in its **Security** section.'
  license:
    name: Proprietary
    url: https://www.getfrontline.ai/terms-and-conditions
servers:
- url: https://prod-api.getfrontline.ai
tags:
- name: Data & Sync
  description: Account-wide defaults for how email, WhatsApp, calendar, and meetings turn activity into CRM records — contact auto-creation, People linking, record assignment, and whether each is a default users may change or a hard setting they cannot. Requires an OWNER or ADMIN.
paths:
  /public/v1/settings/email:
    get:
      summary: Get the account email settings
      operationId: getAccountEmailSettings
      description: 'Returns the account-wide email defaults every user inherits: whether contacts seen in mail are created automatically and under what conditions, whether those contacts are linked to People records, who the created record is assigned to, and whether administrators may view everyone''s email activity. Read-only. A single write here changes behaviour for every user in the account at once — including data residency, retention and who may see whose activity — so these defaults are edited in the app by an administrator and there is no API or CLI write. `preferenceOverridePolicy` tells you whether they act as defaults each user may change in their own Max settings or as hard settings they cannot. Accepts an account API key, or a USER API key belonging to an OWNER or ADMIN.'
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - Data & Sync
      responses:
        '200':
          description: Account email settings
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      autoCreateContactsMode:
                        type: string
                        enum:
                        - ALL_CONTACTS
                        - SELECTIVE
                        - NONE
                        example: ALL_CONTACTS
                      linkMaxContactToPeople:
                        type: boolean
                        example: false
                      peopleSyncDefault:
                        type: boolean
                        example: false
                      assignRecordToCreator:
                        type: boolean
                        example: false
                      peopleSyncRecordTypeId:
                        type:
                        - number
                        - 'null'
                        example: 1
                      preferenceOverridePolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                      ignoreListOverridePolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                      adminViewAllActivity:
                        type: boolean
                        example: false
                    required:
                    - autoCreateContactsMode
                    - linkMaxContactToPeople
                    - peopleSyncDefault
                    - assignRecordToCreator
                    - peopleSyncRecordTypeId
                    - preferenceOverridePolicy
                    - ignoreListOverridePolicy
                    - adminViewAllActivity
                required:
                - ok
                - data
        '401':
          description: Unauthorized — the API key is missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The USER API key does not belong to an OWNER or ADMIN of the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/settings/whatsapp:
    get:
      summary: Get the account WhatsApp settings
      operationId: getAccountWhatsAppSettings
      description: 'Returns the account-wide defaults for personal WhatsApp sync: whether contacts are created automatically, which chats are in scope, and whether muted, archived, or group chats are excluded. These govern each user''s own connected WhatsApp — the Business numbers your agents answer on are separate, under Agent Channels. Read-only. A single write here changes behaviour for every user in the account at once — including data residency, retention and who may see whose activity — so these defaults are edited in the app by an administrator and there is no API or CLI write. `preferenceOverridePolicy` tells you whether they act as defaults each user may change in their own Max settings or as hard settings they cannot. Accepts an account API key, or a USER API key belonging to an OWNER or ADMIN.'
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - Data & Sync
      responses:
        '200':
          description: Account WhatsApp settings
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      autoCreateContactsMode:
                        type: string
                        enum:
                        - ALL_CONTACTS
                        - SELECTIVE
                        - NONE
                        example: ALL_CONTACTS
                      linkMaxContactToPeople:
                        type: boolean
                        example: false
                      peopleSyncDefault:
                        type: boolean
                        example: false
                      activitySyncDefault:
                        type: boolean
                        example: false
                      syncScopeDefault:
                        type: string
                        enum:
                        - ALL_CHATS
                        - ONE_ON_ONE_ONLY
                        - EXISTING_CONTACTS_ONLY
                        example: ALL_CHATS
                      autoCreateContactsFromGroupsDefault:
                        type: boolean
                        example: false
                      excludeMutedChatsDefault:
                        type: boolean
                        example: false
                      excludeArchivedChatsDefault:
                        type: boolean
                        example: false
                      assignRecordToCreator:
                        type: boolean
                        example: false
                      peopleSyncRecordTypeId:
                        type:
                        - number
                        - 'null'
                        example: 1
                      preferenceOverridePolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                      ignoreListOverridePolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                      adminViewAllActivity:
                        type: boolean
                        example: false
                    required:
                    - autoCreateContactsMode
                    - linkMaxContactToPeople
                    - peopleSyncDefault
                    - activitySyncDefault
                    - syncScopeDefault
                    - autoCreateContactsFromGroupsDefault
                    - excludeMutedChatsDefault
                    - excludeArchivedChatsDefault
                    - assignRecordToCreator
                    - peopleSyncRecordTypeId
                    - preferenceOverridePolicy
                    - ignoreListOverridePolicy
                    - adminViewAllActivity
                required:
                - ok
                - data
        '401':
          description: Unauthorized — the API key is missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The USER API key does not belong to an OWNER or ADMIN of the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/settings/calendar:
    get:
      summary: Get the account calendar settings
      operationId: getAccountCalendarSettings
      description: 'Returns the account-wide calendar defaults every user inherits: whether attendees on calendar events become contacts, whether internal colleagues are skipped in favour of external participants only, and which People record type new contacts are created as. Read-only. A single write here changes behaviour for every user in the account at once — including data residency, retention and who may see whose activity — so these defaults are edited in the app by an administrator and there is no API or CLI write. `preferenceOverridePolicy` tells you whether they act as defaults each user may change in their own Max settings or as hard settings they cannot. Accepts an account API key, or a USER API key belonging to an OWNER or ADMIN.'
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - Data & Sync
      responses:
        '200':
          description: Account calendar settings
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      autoCreateContactsMode:
                        type: string
                        enum:
                        - ALL_PARTICIPANTS
                        - NONE
                        example: ALL_PARTICIPANTS
                      linkMaxContactToPeople:
                        type: boolean
                        example: false
                      peopleSyncDefault:
                        type: boolean
                        example: false
                      externalParticipantsOnly:
                        type: boolean
                        example: false
                      assignRecordToCreator:
                        type: boolean
                        example: false
                      peopleSyncRecordTypeId:
                        type:
                        - number
                        - 'null'
                        example: 1
                      preferenceOverridePolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                      adminViewAllActivity:
                        type: boolean
                        example: false
                    required:
                    - autoCreateContactsMode
                    - linkMaxContactToPeople
                    - peopleSyncDefault
                    - externalParticipantsOnly
                    - assignRecordToCreator
                    - peopleSyncRecordTypeId
                    - preferenceOverridePolicy
                    - adminViewAllActivity
                required:
                - ok
                - data
        '401':
          description: Unauthorized — the API key is missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The USER API key does not belong to an OWNER or ADMIN of the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /public/v1/settings/meetings:
    get:
      summary: Get the account meeting settings
      operationId: getAccountMeetingSettings
      description: 'Returns the account-wide notetaker defaults every user inherits: the bot''s display name and avatar, the recording region, how long recordings and transcripts are kept, custom vocabulary the transcriber should recognise, pre-meeting reminders, how meeting participants become CRM records, and the policies governing who may create folders and note templates. Read-only. A single write here changes behaviour for every user in the account at once — including data residency, retention and who may see whose activity — so these defaults are edited in the app by an administrator and there is no API or CLI write. `preferenceOverridePolicy` tells you whether they act as defaults each user may change in their own Max settings or as hard settings they cannot. Accepts an account API key, or a USER API key belonging to an OWNER or ADMIN.'
      security:
      - accountApiKey: []
      - userApiKey: []
      tags:
      - Data & Sync
      responses:
        '200':
          description: Account meeting settings
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: object
                    properties:
                      notetakerName:
                        type:
                        - string
                        - 'null'
                        example: example
                      notetakerImageUrl:
                        type:
                        - string
                        - 'null'
                        example: example
                      recallRegion:
                        type:
                        - string
                        - 'null'
                        example: example
                      allowMeetingDeletion:
                        type:
                        - boolean
                        - 'null'
                        example: false
                      allowUsersToDisableMeetings:
                        type: boolean
                        example: false
                      customVocabulary:
                        type: array
                        items:
                          type: string
                          example: example
                      maxRecordingDurationMinutes:
                        type:
                        - number
                        - 'null'
                        example: 1
                      autoCreateContactsMode:
                        type: string
                        enum:
                        - ALL_PARTICIPANTS
                        - NONE
                        example: ALL_PARTICIPANTS
                      linkMaxContactToPeople:
                        type: boolean
                        example: false
                      peopleSyncDefault:
                        type: boolean
                        example: false
                      assignRecordToCreator:
                        type: boolean
                        example: false
                      peopleSyncRecordTypeId:
                        type:
                        - number
                        - 'null'
                        example: 1
                      preMeetingReminderEnabledDefault:
                        type: boolean
                        example: false
                      preMeetingReminderLeadTimeDefault:
                        type: integer
                        minimum: 1
                        example: 1
                      preMeetingReminderLeadTimeUnitDefault:
                        type: string
                        enum:
                        - MINUTES
                        - HOURS
                        - DAYS
                        example: MINUTES
                      preMeetingReminderRecipientsDefault:
                        type: string
                        enum:
                        - EVERYONE
                        - EXTERNAL_ONLY
                        - MYSELF_ONLY
                        example: EVERYONE
                      preMeetingReminderLanguageDefault:
                        type: string
                        enum:
                        - AUTO
                        - ENGLISH
                        - SPANISH
                        - PORTUGUESE
                        - FRENCH
                        - GERMAN
                        - ITALIAN
                        example: AUTO
                      preMeetingReminderRescheduleEnabledDefault:
                        type: boolean
                        example: false
                      preMeetingReminderRescheduleTextDefault:
                        type:
                        - string
                        - 'null'
                        example: example
                      preferenceOverridePolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                      adminViewAllActivity:
                        type: boolean
                        example: false
                      folderManagementPolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                      templateManagementPolicy:
                        type: string
                        enum:
                        - NONE
                        - ADMINS_AND_OWNERS
                        - ALL_USERS
                        example: NONE
                    required:
                    - notetakerName
                    - notetakerImageUrl
                    - recallRegion
                    - allowMeetingDeletion
                    - allowUsersToDisableMeetings
                    - customVocabulary
                    - maxRecordingDurationMinutes
                    - autoCreateContactsMode
                    - linkMaxContactToPeople
                    - peopleSyncDefault
                    - assignRecordToCreator
                    - peopleSyncRecordTypeId
                    - preMeetingReminderEnabledDefault
                    - preMeetingReminderLeadTimeDefault
                    - preMeetingReminderLeadTimeUnitDefault
                    - preMeetingReminderRecipientsDefault
                    - preMeetingReminderLanguageDefault
                    - preMeetingReminderRescheduleEnabledDefault
                    - preMeetingReminderRescheduleTextDefault
                    - preferenceOverridePolicy
                    - adminViewAllActivity
                    - folderManagementPolicy
                    - templateManagementPolicy
                required:
                - ok
                - data
        '401':
          description: Unauthorized — the API key is missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The USER API key does not belong to an OWNER or ADMIN of the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        ok:
          type: boolean
          enum:
          - false
          example: false
        error:
          $ref: '#/components/schemas/ErrorBody'
      required:
      - ok
      - error
    ErrorBody:
      type: object
      properties:
        code:
          type: string
          enum:
          - bad_request
          - unauthorized
          - forbidden
          - not_found
          - conflict
          - internal_error
          - cli_outdated
          - upgrade_required
          example: unauthorized
        message:
          type: string
          example: Detailed error message
        details:
          type: object
          description: 'Optional structured details. Validation errors include `{ issues: [...] }`.'
          example:
            issues:
            - path:
              - name
              message: String must contain at least 1 character(s)
              code: too_small
      required:
      - code
      - message
  securitySchemes:
    accountApiKey:
      type: http
      scheme: bearer
      bearerFormat: Account API Key
      description: Account-level API key (GENERAL). Authenticates on behalf of the entire account. Use for read-only and analytics endpoints marked as account-level in this documentation.
    userApiKey:
      type: http
      scheme: bearer
      bearerFormat: User API Key
      description: User-level API key (USER). Authenticates on behalf of a specific user. Required for write operations and user-owned resources. Also accepted on all account-level endpoints.
x-tagGroups:
- name: Agent Builder
  tags:
  - Agent Builder
  - Flows
  - Flow Variables
  - Intents
  - Agents
  - Agent Playbooks
- name: Workflows
  tags:
  - Workflows
  - Workflow Variables
- name: Campaigns
  tags:
  - Campaigns
  - Audiences
- name: Sequences
  tags:
  - Sequences
  - Email Templates
- name: Objects
  tags:
  - Objects
  - Object fields
  - Object options
  - Object record types
  - Object views
  - Object relations
  - Object rows
  - Object aggregations
  - Object activities
  - Object tasks
  - Object files
  - Object export
- name: Tables
  tags:
  - Tables
  - Table fields
  - Table options
  - Table rows
  - Table aggregations
  - Table activities
  - Table tasks
  - Table files
  - Table export
- name: Integrations
  tags:
  - Custom Tools
  - Incoming Webhooks
  - Workspace Connectors
  - Agent Channels
  - Integration Resources
- name: Knowledge
  tags:
  - Knowledge Bases
- name: Max
  tags:
  - Max Conversations
  - Max Meetings
  - Max Tasks
  - Max Playbooks
  - Max Settings
  - Max Proactive
  - Max Connectors
- name: Admin
  tags:
  - Account
  - Users
  - Billing
  - Data & Sync
  - Meeting Analytics
- name: Core
  tags:
  - AI Models
  - User Tasks
  - Guidance