Apptentive raw API

raw data endpoints

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/apptentive-raw-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

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

OpenAPI Specification

apptentive-raw-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: Public API Service
  version: 2.0.0
  title: public-api-service experimental raw API
  termsOfService: https://www.apptentive.com/terms/
host: data.apptentive.com
basePath: /
schemes:
- https
- http
tags:
- name: raw
  description: raw data endpoints
paths:
  /raw/v2/apps/{app_id}/messages:
    get:
      tags:
      - raw
      summary: Retrieve all messages
      description: Retrieve all messages
      operationId: getMessages
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: page_size
        in: query
        description: the page size number
        default: 100
        required: false
        type: string
      - name: starts_after
        in: query
        description: The message id from the ‘ends_with’ field, for pagination (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: message response
          schema:
            $ref: '#/definitions/MessagesResponse'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/devices:
    get:
      tags:
      - raw
      summary: Retrieve all devices
      description: Retrieve all devices
      operationId: getDevices
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: page_size
        in: query
        description: the page size number
        default: 100
        required: false
        type: string
      - name: starts_after
        in: query
        description: The device id from the ‘ends_with’ field, for pagination (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: devices response
          schema:
            $ref: '#/definitions/DevicesResponse'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/devices/{device_id}:
    get:
      tags:
      - raw
      summary: Retrieve single device
      description: Retrieve single device
      operationId: getSingleDevice
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: device_id
        in: path
        description: the device id in mongo format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: single device response
          schema:
            $ref: '#/definitions/Device'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/people:
    get:
      tags:
      - raw
      summary: Retrieve all people
      description: Retrieve all people
      operationId: getPeople
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: page_size
        in: query
        description: the page size number
        default: 100
        required: false
        type: string
      - name: starts_after
        in: query
        description: The people id from the ‘ends_with’ field, for pagination (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: people response
          schema:
            $ref: '#/definitions/PeopleResponse'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/people/{person_id}:
    get:
      tags:
      - raw
      summary: Retrieve single person
      description: Retrieve single person
      operationId: getSinglePerson
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: person_id
        in: path
        description: the person id in mongo format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: person response
          schema:
            $ref: '#/definitions/Person'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/conversations:
    get:
      tags:
      - raw
      summary: Retrieve all conversations
      description: Retrieve all conversations
      operationId: getConversations
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: page_size
        in: query
        description: the page size number
        default: 100
        required: false
        type: string
      - name: starts_after
        in: query
        description: The conversation id from the ‘ends_with’ field, for pagination (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: conversation response
          schema:
            $ref: '#/definitions/ConversationResponse'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/conversations/{conversation_id}:
    get:
      tags:
      - raw
      summary: Retrieve single person
      description: Retrieve single person
      operationId: getSingleConversation
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: conversation_id
        in: path
        description: the conversation id in mongo format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: single conversation response
          schema:
            $ref: '#/definitions/Conversation'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/conversation-all-data/{conversation_id}:
    get:
      description: Retrieve conversation data
      parameters:
      - description: The application ID in Mongo ID format (ex. 5e22085d5379215be800002b)
        in: path
        name: app_id
        required: true
        type: string
      - description: The conversation ID in Mongo format (ex. 5e22085d5379215be800002b)
        in: path
        name: conversation_id
        required: true
        type: string
      - description: (optional) You can provide the X-API-KEY as 'api_key' query parameter
        in: query
        name: api_key
        type: string
      - description: (optional) You can provide the accept header as 'accept' query parameter
        in: query
        name: accept
        type: string
      produces:
      - application/json
      - application/xml
      responses:
        '200':
          description: Conversation all response
          schema:
            $ref: '#/definitions/ConversationAllResponse'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: Not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
      security:
      - ApiKeyAuth: []
      summary: Retrieve all data for conversation
      tags:
      - raw
  /raw/v2/apps/{app_id}/surveys/{survey_id}/responses:
    get:
      tags:
      - raw
      summary: Retrieve all survey responses
      description: Retrieve all survey responses
      operationId: getRawSurveyResponses
      produces:
      - application/json
      - application/xml
      security:
      - ApiKeyAuth: []
      parameters:
      - name: app_id
        in: path
        description: the application id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: survey_id
        in: path
        description: the survey id in mongo id format (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: start_date
        in: query
        description: start date in format of YYYY-MM-DD
        required: false
        type: string
      - name: end_date
        in: query
        description: end date in format of YYYY-MM-DD
        required: false
        type: string
      - name: page_size
        in: query
        description: the page size number
        default: 100
        required: false
        type: string
      - name: order
        in: query
        description: the order by date (desc | asc)
        default: asc
        required: false
        type: string
      - name: starts_after
        in: query
        description: The survey response id from the ‘ends_with’ field, for pagination (ex. 5e22085d5379215be800002b)
        required: true
        type: string
      - name: api_key
        in: query
        description: (optional) you can provide the X-API-KEY as 'api_key' query parameter
        required: false
        type: string
      - name: accept
        in: query
        description: (optional) you can provide the accept header as 'accept' query parameter
        required: false
        type: string
      responses:
        '200':
          description: survey responses object
          schema:
            $ref: '#/definitions/SurveyResponsesObject'
        '400':
          description: bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
  /raw/v2/apps/{app_id}/custom-attributes-keys:
    get:
      description: Retrieve person and device custom data
      parameters:
      - description: The application ID in Mongo ID format (ex. 5e22085d5379215be800002b)
        in: path
        name: app_id
        required: true
        type: string
      - description: (optional) You can provide the X-API-KEY as 'api_key' query parameter
        in: query
        name: api_key
        type: string
      - description: (optional) You can provide the accept header as 'accept' query parameter
        in: query
        name: accept
        type: string
      produces:
      - application/json
      - application/xml
      responses:
        '200':
          description: Custom Attributes Keys Response
          schema:
            $ref: '#/definitions/CustomAttributesKeysResponse'
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/ErrorBadRequestResponse'
        '401':
          description: Not authorized
          schema:
            $ref: '#/definitions/ErrorUnauthorizedResponse'
        '500':
          description: Internal server error
          schema:
            $ref: '#/definitions/ErrorInternalErrorResponse'
      security:
      - ApiKeyAuth: []
      summary: Retrieve all custom attributes for application
      tags:
      - raw
definitions:
  SRPerson:
    type: object
    properties:
      id:
        type: string
        description: the hex id of the person
        example: 95fbe2e775bf3c760b1000bc
      custom_data:
        $ref: '#/definitions/CustomData'
      email:
        type: string
        description: person email
        example: foo@bar.com
      facebook_id:
        type: string
        description: the facebook id
        example: 1184928249824
      mparticle_id:
        type: string
        description: the mParticle id
        example: -29482958295729572
      name:
        type: string
        description: person name
        example: Jack Daniels
  ConversationAll:
    properties:
      app_id:
        type: string
      app_release:
        $ref: '#/definitions/model.ConversationAllAppRelease'
      created_at:
        type: string
      device_id:
        type: string
      id:
        type: string
      person_id:
        type: string
      state:
        type: string
      updated_at:
        type: string
    type: object
  Conversation:
    type: object
    properties:
      id:
        type: string
        description: The id of the given Person
        example: 5e22085d5379215be800002b
      state:
        type: string
        description: conversation state
        example: new
      person_id:
        type: string
        description: The person id that is associated with following conversation id
        example: 5e22085d5379215be800002b
      device_id:
        type: string
        description: The device id that is associated with following conversation id
        example: 5e22085d5379215be800002b
      app_release:
        $ref: '#/definitions/CustomData'
  TypeValue:
    properties:
      description:
        type: string
      is_visible:
        type: boolean
      type:
        type: string
    type: object
  SurveyResponsesRowArray:
    type: array
    items:
      $ref: '#/definitions/SurveyResponse'
    description: the list of survey responses
  SRAppRelease:
    type: object
    properties:
      cf_bundle_version:
        type: string
        description: the build version number of the bundle
        example: 78
      cf_bundle_short_version_string:
        type: string
        description: the short version of the build version
        example: 4.5.11
      sdk_version:
        type: string
        description: sdk version
        example: 4.5.11
      sdk_platform:
        type: string
        description: sdk platform type
        example: iOS
      sdk_distribution:
        type: string
        description: the sdk distribution
        example: source
      sdk_distribution_version:
        type: string
        description: the sdk distribution version
        example: 4.5.11
  PeopleResponse:
    type: object
    properties:
      people:
        $ref: '#/definitions/PersonRowArray'
      ends_with:
        type: string
        description: The id of the last object returned on the current page. This should be provided as the value of starts_after to fetch the next page of results.
      page_size:
        type: number
        description: the amount of requested results per request
        example: 250
      has_more:
        type: boolean
        description: true when additional objects are available for retrieval; false otherwise.
  MessageArray:
    type: array
    items:
      $ref: '#/definitions/Message'
    description: list of conversation messages
  SnapshotData:
    type: object
    properties:
      device:
        $ref: '#/definitions/SRDevice'
      person:
        $ref: '#/definitions/SRPerson'
      app_release:
        $ref: '#/definitions/SRAppRelease'
  Question:
    type: object
    properties:
      id:
        type: string
        description: The id of the given survey response question
        example: 5e22085d5379215be800002b
      value:
        type: string
        description: The survey question value
        example: Choose one option
      type:
        type: string
        description: the type of the question
        example: multichoice | multiselect | range | nps | singleline
  SRAnswersRowArray:
    type: array
    items:
      $ref: '#/definitions/SurveyAnswerResponse'
    description: the list of survey response answers
  MessagesResponse:
    type: object
    properties:
      messages:
        $ref: '#/definitions/MessageArray'
      ends_with:
        type: string
        description: The id of the last object returned on the current page. This should be provided as the value of starts_after to fetch the next page of results.
        example: 64115344869d1b289c000049
      page_size:
        type: number
        description: the amount of requested results per request
        example: 250
      has_more:
        type: boolean
        description: true when additional objects are available for retrieval; false otherwise.
        example: true
  DevicesResponse:
    type: object
    properties:
      devices:
        $ref: '#/definitions/DevicesRowArray'
      ends_with:
        type: string
        description: The id of the last object returned on the current page. This should be provided as the value of starts_after to fetch the next page of results.
        example: 64115344869d1b289c000049
      page_size:
        type: number
        description: the amount of requested results per request
        example: 250
      has_more:
        type: boolean
        description: true when additional objects are available for retrieval; false otherwise.
        example: true
  ConversationRowArray:
    type: array
    items:
      $ref: '#/definitions/Conversation'
    description: the list of conversations
  SurveyAnswerResponse:
    type: object
    properties:
      question:
        $ref: '#/definitions/Question'
      answer:
        $ref: '#/definitions/Answer'
  Message:
    type: object
    properties:
      id:
        type: string
        description: the hex id message object representation
        example: 5e22085d5379215be800002b
      body:
        type: string
        description: the text body representation of the message
        example: Hello, how are you?
      conversation_id:
        type: string
        description: the hex id of the conversation the following message belongs to
        example: 5e22085d5379215be800002b
      created_at:
        type: string
        description: the date when this message was created
        example: '2018-04-09T21:18:22.677Z'
      inbound:
        type: boolean
        description: A boolean value denoting whether the message originated from the end-consumer or as a response back to them.  inbound:true originated from the mobile app
        example: true
      hidden:
        type: boolean
        description: identify if this message is hidden
        example: true
      snapshot_data:
        $ref: '#/definitions/MessageSnapshotData'
      customer_tags:
        type: array
        items:
          type: string
          description: customer tags
          example: hello-message
      nonce:
        type: string
        description: a unique identifier provided by the Message creator to ensure that duplicate Messages are not accidentally created
        example: C3FEEECB-D729-4508-B455-B04789D80142
      client_created_at_utc_offset:
        type: number
        description: the offset, in seconds, from UTC that client_created_at represents
        example: -14400
      client_created_at:
        type: number
        description: The timestamp (with fractional seconds) that the Message was created at on the server. In UTC
        example: 1667312180.5092402
      automated:
        type: boolean
        description: whether the message is automated
        example: false
      attachments:
        type: array
        items:
          $ref: '#/definitions/MessageAttachment'
        description: message attachments (optional)
      state:
        type: string
        description: the current state of the conversation. Can be open, waiting, or archived.
        example: open
      device_id:
        type: string
        description: the hex id of a device that initiates this message
        example: 5e22085d5379215be800002b
      person_id:
        type: string
        description: the hex id of a person that initiates this message
        example: 5e22085d5379215be800002b
  Device:
    type: object
    properties:
      id:
        type: string
        description: The id of the given Device
        example: 74e4d31328687cb30401460f
      os_name:
        type: string
        description: The operating system name
        example: iPhone OS
      os_version:
        type: string
        description: The version of the operating system
        example: 7.1.2
      os_build:
        type: string
        description: The operating system build identifier
        example: 11D257
      os_api_level:
        type: string
        description: The operating system API level (Android only)
        example: 7.1.2
      manufacturer:
        type: string
        description: The manufacturer of the Device
        example: TSMC
      model:
        type: string
        description: The model of the Device
        example: iPhone 8 CDMA
      board:
        type: string
        description: The name of the Device’s board
        example: DeviceBoard
      product:
        type: string
        description: The product name of the Device
        example: iPhone 8
      brand:
        type: string
        description: The brand of Device
        example: smdk4210
      cpu:
        type: string
        description: The CPU type within the Device
        example: Apple A6
      hardware:
        type: string
        description: The hardware identifier of the Device
        example: iPhone10,1
      carrier:
        type: string
        description: The primary network carrier for the Device
        example: Verizon
      current_carrier:
        type: string
        description: The currently active network carrier
        example: Verizon
      uuid:
        type: string
        description: the device uuid identificator
        example: 77625c5d-c52c-401f-a7f2-99b29f0e6970
      network_type:
        type: string
        description: The type of network that the Device is currently using
        example: HSDPA
      build_type:
        type: string
        description: The type of build for the Device
        example: user
      build_id:
        type: string
        description: The Device build identifier
        example: GINGERBREAD
      bootloader_version:
        type: string
        description: The version number of the bootloader for the Device
        example: 1.0
      radio_version:
        type: string
        description: The version number for the radio firmware on the Device
        example: N7000BDCLSB
      custom_data:
        $ref: '#/definitions/CustomData'
      local_language_code:
        type: string
        description: The two character language code for the Device’s current locale
        example: US
      local_country_code:
        type: string
        description: The two character country code for the Device’s current locale
        example: en
      locale_raw:
        type: string
        description: The raw locale string for the Device
        example: en_US
  MessageSnapshotData:
    type: object
    properties:
      timestamp:
        type: number
        description: snapshot data unix timestamp
        example: 1667319932
      app_release:
        $ref: '#/definitions/SRAppRelease'
      sender:
        $ref: '#/definitions/MessageSender'
  SRDevice:
    type: object
    properties:
      id:
        type: string
        description: the hex id of the device
        example: 55fbe2e775bf3c760b1000bc
      carrier:
        type: string
        description: The primary network carrier for the Device
        example: Verizon
      custom_data:
        $ref: '#/definitions/CustomData'
      manufacturer:
        type: string
        description: device manufacturer
        example: Samsung
      model:
        type: string
        description: device model
        example: S22
      os_api_level:
        type: string
        description: api level of the operating system
        example: 3.5.9
      os_name:
        type: string
        description: Operating System label
        example: Android
      os_version:
        type: string
        description: Operating System version
        example: 5.2.0
  SurveyResponse:
    type: object
    properties:
      id:
        type: string
        description: The id of the given survey response
        example: 5e22085d5379215be800002b
      survey_id:
        type: string
        description: The survey id of the given survey response
        example: 6e22085d5379215be800002b
      created_at:
        type: string
        description: survey response created date
        example: '2020-09-24T00:20:10'
      conversation_id:
        type: string
        description: The conversation id of the give survey response
        example: 7e22085d5379215be800002b
      answers:
        $ref: '#/definitions/SRAnswersRowArray'
      snapshot_data:
        $ref: '#/definitions/SnapshotData'
  ErrorBadRequestResponse:
    type: object
    properties:
      error:
        type: string
        description: the root cause in text representation
        example: some params are missing
  CustomData:
    type: object
    description: customer specific data
    properties:
      key:
        type: string
        description: custom key definition
        example: CustomKey
      value:
        type: string
        description: custom value definition
        example: CustomValue
  Person:
    type: object
    properties:
      id:
        type: string
        description: The id of the given Person
        example: 64115344869d1b289c000049
      name:
        type: string
        description: The full (first and last) name of the Person
        example: Bob
      email:
        type: string
        description: The e-mail address of the Person
        example: bob@gmail.com
      custom_data:
        $ref: '#/definitions/CustomData'
      mparticle_id:
        type: string
        description: mparticle_id (if exists)
        example: PeopleResponse
  DevicesRowArray:
    type: array
    items:
      $ref: '#/definitions/Device'
    description: the list of devices
  Answer:
    type: object
    properties:
      value:
        type: string
        description: selected answer value (could be an array of strings)
        example: '''yes'' OR [''Red'', ''Blue'']'
  ConversationAllResponse:
    properties:
      conversation:
        $ref: '#/definitions/ConversationAll'
      conversation_id:
        type: string
      device:
        $ref: '#/definitions/ConversationAllDevice'
      device_id:
        type: string
      person:
        $ref: '#/definitions/ConversationAllPerson'
      person_id:
        type: string
    type: object
  PersonRowArray:
    type: array
    items:
      $ref: '#/definitions/Person'
    description: the list of devices
  CustomAttributesKeysResponse:
    properties:
      device_keys:
        additionalProperties:
          $ref: '#/definitions/TypeValue'
        type: object
      person_keys:
        additionalProperties:
          $ref: '#/definitions/TypeValue'
        type: object
    type: object
  ErrorInternalErrorResponse:
    type: object
    properties:
      error:
        type: string
        description: the root cause in text representation
        example: unable to get the data - please contact the support team
  ErrorUnauthorizedResponse:
  

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apptentive/refs/heads/main/openapi/apptentive-raw-api-openapi.yml