LogoLogo
What's NewDeveloper CommunitySupportStatus
  • 🚀Get Started
    • What is JourneyApps Platform?
    • Tutorial: Build your First App
      • 1. Introduction
      • 2. Create a new App
      • 3. OXIDE IDE Overview
      • 4. Hello World app
      • 5. The Data Model
      • 6. View Components
      • 7. Queries and Data Sync
      • 8. Simple Navigation
      • 9. View Stack
      • 10. Input Validation
      • 11. View Parameters
      • 12. Data Manipulation
      • 13. Responsive Apps
      • 14. Styling
      • 15. Lists
      • 16. GPS Capturing
      • 17. Relationships
      • 18. Multiple User Roles
      • 19. Deployment and Users
      • 20. Version Control
      • 21. CSV and APIs
      • 22. Conclusion
    • JourneyApps Platform Fundamentals
      • Creating a New App
        • Git-enabled Apps
      • What are Views?
      • What is the Data Model?
      • JourneyApps Syntax Basics
      • Access the Database (DB)
        • Manipulate DB Objects
        • Query DB Objects
      • View Navigation
        • Deep Linking
      • CloudCode Overview
      • OXIDE (Online IDE)
  • 💻Build your App
    • JourneyApps Syntax
      • Syntax Basics
      • Access the DB
      • View Navigation
      • Async & Await
      • TypeScript Apps (Beta)
        • runtime-build package
        • TypeScript App Troubleshooting
      • What's New in V4
        • Updating to the V4 API
    • Configure your Data Model
      • What is the data model?
      • Reference: model
        • field
        • belongs-to
        • has-many
        • index
      • Data Rules
        • Data Buckets
        • Sync Rules - Limit data synced to devices
        • Data ACLs - Limit access to data
        • Real-world example for Data Rules
        • ❔FAQs
        • Migrate to Data Rules
      • App Indexes
      • Webhooks
    • UI Components
      • All UI Components
        • actionSheet
        • Attachments
        • button
        • button-group
        • capture-coordinates
          • marker
          • marker-query
        • capture-file
        • capture-photo
        • capture-signature
        • card
          • accent
          • action
        • columns
          • column
        • component
        • context-menu
          • divider
          • item
        • CSV
        • date-input
        • datetime-input
        • dialog
          • body
        • display-3d-model
          • 📖display-3d-model Guides
            • Guide 1: Initialize and layout a 3D model in a view
            • Guide 2: Control playback position
            • Guide 3: Troubleshooting controls
        • display-coordinates
        • display-file
        • display-image
        • display-photo
        • display-signature
        • heading
        • html
          • HTML Advanced Topics
          • ❔HTML FAQs
          • 📖Guide: HTML & JourneyApps iFrame Client
        • icons
        • info
        • info-table
          • row
        • journey.photos (capture multiple photos)
        • JourneyPrinter (print PDFs)
        • grid
          • cell
          • 📖grid Examples
        • list
          • list-item
            • accent
            • asset
            • pills
              • pill
            • action
        • multiple-choice-checklist
        • navigation (Navigation drawer)
          • general-section
            • item
          • section
            • item
              • item
          • ❔navigation FAQs
        • notification
        • object-dropdown
        • object-list
          • action
        • object-repeat
        • object-table
          • action
          • column
            • action
            • edit-boolean
            • edit-date
            • edit-datetime
            • edit-integer
            • edit-number
            • edit-select
            • edit-text
            • edit-time
            • edit-typeahead
              • action
            • header-action
          • column-group
          • empty-action
          • 📖object-table Guides
            • Actions
            • Cell callouts
            • Column groups
            • Columns
            • Controlled object-table
            • Controls
            • Copy & paste data
            • Edit cells
            • Filters
            • Frozen columns
            • Fullscreen object-table
            • Mode
            • State
            • Styles
        • optionList
        • PhotonSync (transfer data offline)
        • power-bi
          • 📖Guide: PowerBI Embedding
        • scan-barcode
        • shortcut
        • sidebar
        • single-choice-dropdown
        • single-choice-radio
        • template
        • text-input
        • time-input
        • toggle
        • view
      • JS/TS Events
      • Show / Hide UI Components
      • View Templates
      • XML Fields (Attributes)
        • align-content
        • align-controls
        • align-label
        • bind
        • clear-button-visibility
        • control-order
        • disabled
        • error-message
        • icon-position
        • id
        • hide-if
        • modifier-text
        • label
        • label-case
        • label-color
        • on-change
        • on-press
        • placeholder
        • required
        • show-if
    • JS / TS APIs
      • Attachment
      • Bluetooth (Beta)
      • Broadcast
      • component
      • CSV
      • DB
      • HardwareBarcode
      • journey
        • journey.config
        • journey.container
        • journey.device
        • journey.diagnostics
        • journey.dialog
        • journey.files
        • journey.hardware
        • journey.photos
        • journey.runtime
        • journey.sensors
        • journey.viewStack
      • JourneyPrinter
      • KeyboardBarcode
      • LocalDB
      • NFC
      • OnlineDB
      • PhotonSync
      • SerialPort
      • ShortcutManager
      • TCPSocket
      • user
    • Extend your App with Custom Code
      • App packages
        • App packages overview
        • PDF report package
        • TypeScript library & unit tests
        • Manage External Dependencies
      • Custom HTML
    • Style & Customize your App
      • Style & configure UI components
        • Overview
        • Understand extendable themes
        • Use themes on a view
        • Theme specific components on a view
        • Examples
        • Debugging
        • ❔FAQs
      • Change your App Font
      • Custom Branding
        • Custom Container Features
        • Special Requirements for iOS Containers
    • Integrate your App
      • Backend integrations with CloudCode
      • Barcode Scanning
        • Barcode Scanning using Keyboard Emulation
        • Hardware Barcode Scanning
        • scan-barcode
      • Bluetooth Low Energy (BLE)
      • Broadcast API
      • HTTP requests (Fetch API)
      • JourneyApps Print (Android)
      • Maps and navigation
      • NFC
      • Opening external links/apps
      • Serial Port
      • TCP Sockets
    • Design Intuitive Apps
      • UX Guidelines
      • Write Effective Copy
  • 📱App Features
    • RealWear® Voice Control
      • Automatic Voice Commands
        • Automatic Voice Commands - Advanced
      • Manual Voice Commands
    • App, Runtime and Container Updates
    • Batch Operations (App)
    • Call JS/TS Functions from XML
    • Capture GPS Locations
    • Push Notifications
    • Translations
    • XML Format Strings
    • Webhooks (External)
  • 🌐CloudCode
    • CloudCode Overview
    • Trigger a CloudCode Task
      • Trigger CC with a Schedule
      • Trigger CC via a Webhook
      • Trigger CC from an App
      • Trigger CC from Another Task
      • Trigger CC via HTTP
    • Attachments in CloudCode
    • Timezones
    • Advanced CloudCode Topics
      • Access Multiple DBs in CloudCode Tasks
      • Batch API (CloudCode)
      • CloudCode Dependencies
      • Configure HTTPS in CloudCode
      • Deployment environment variables
      • Local CloudCode Development
      • PDF Reports using CloudCode
      • Shared CloudCode Tasks
      • Translations in CloudCode
  • 📥Backend API
    • Introduction
    • API Reference
      • Retrieve All Objects
      • Query Objects
      • Sort Results
      • Limit and Skip
      • Count Objects
      • Create a New Object
      • Retrieve a Single Object
      • Update a Single Object
      • Delete a Single Object
      • Batch Operations (v4 API)
      • Oplog API
      • Retrieve the App Data Model
      • Manage App Users and Sessions
      • Field Representation
      • Error Responses
    • API Limits
    • Update to the V4 API
  • ⚙️Technical
    • Data Synchronization Priority
    • Device Diagnostics
    • JSON1 Query Engine
    • Improve App Performance
    • Security Measures
    • Supported Platforms
      • Web Container
      • Windows Installer
    • Domain Whitelist
  • 🖥️OXIDE
    • Get started with OXIDE
      • OXIDE Overview
      • Components of OXIDE
    • Configure Testing Deployments
    • Edit and Manage Files
      • How to Navigate to a Function
      • Manage External Dependencies
    • Create and Manage App Containers
    • Debugging & Troubleshooting
      • Common Troubleshooting Pointers
      • App Diagnostics Reports
      • Build Logs
    • OXIDE Workspaces
      • OXIDE Trees
  • ❕Deprecated Features
    • Deprecated Features and Components
Powered by GitBook
On this page
  • Examples
  • Values Not Present
  1. Backend API
  2. API Reference

Field Representation

PreviousManage App Users and SessionsNextError Responses

Last updated 11 months ago

The following guidelines apply for the values of object fields in the API (see for the full list of field types supported by JourneyApps).

Type
Format returned in API response
Format accepted for create and update

text

The text in standard JSON. Example: "Nokia"

Any string in standard JSON format. Example: "Nokia"

integer

The number in standard JSON format. Example: 42.

Any integer in standard JSON format. Example: 42.

number

The number in standard JSON format. Example: 3.1428.

Any decimal number in standard JSON format. Example: 3.1428.

date

datetime

single-choice

The key and display label of option. Example: {"key": "soccer", "display": "Soccer"}

The string key of the option. Example: "soccer"

single-choice-integer

The key and display label of option. Example: {"key": 3, "display": "Soccer"}

The integer key of the option. Example: 3

boolean

The key and display label of option. Example: {"key": true, "display": "Yes"}

The boolean key of the option. Example: true

multiple-choice

An array of keys and display labels of the selected options. Example: [{"key": "soccer", "display": "Soccer"}, {"key": "tennis", "display": "Tennis"}]

An array of keys, as explained above. Example: ["soccer", "tennis"].

multiple-choice-integer

An array of keys and display labels of the selected options. Example: [{"key": 3, "display": "Soccer"}, {"key": 4, "display": "Tennis"}]

An array of keys, as explained above. Example: [3, 4].

location

attachment

Photos

Signatures

Relationships

Relationships use the relationship name plus _id as the key, with the related object id as the value. Only belongs to relationships are included in the object itself, has many relationships should be queried and/or set from the other side of the relationship. Example: building_id: "9913706a-179b-11e2-aaff-0026189d9dc0".

The same format is used for setting relationships. Example: building_id: "9913706a-179b-11e2-aaff-0026189d9dc0".

Examples

Location API Response Example

{
  "latitude": -33.913147447989644,
  "longitude": 18.882385137695337,
  "altitude": null,
  "horizontal_accuracy": null,
  "vertical_accuracy": null,
  "timestamp": "2013-02-22T14:00:53Z"
}

Location API Update Object Example

{
  "latitude": -33.913147447989644,
  "longitude": 18.882385137695337,
  "altitude": 16.43133544921875,
  "horizontal_accuracy": 10.0,
  "vertical_accuracy": 6.0,
  "timestamp": "2014-06-22T13:45:39Z"
}

Attachment API Response Example

"sample_file_id": "ffca93d4-690c-4563-9d38-42c97b51443b",
"sample_file": {
    "state": "uploaded",
    "original": "https://run.journeyapps.com/media/W1siZiI/sample.pdf?sha=ee3b"
}

Attachment API Update Object Example

sample_file: {
    "base64": "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
    "filename": "cover-letter.pdf"
}

Note: base64 must not contain any newline characters.

Only the following characters are allowed in filename:

  • Lowercase alphanumeric characters

  • Under score (_), hyphen (-), period (.) and space ( )

Photos API Response Example

"sample_photo_id": "ffca93d4-690c-4563-9d38-42c97b51443b",
"sample_photo": {
    "state": "uploaded",
    "thumbnail": "https://run.journeyapps.com/media/W1siZd/photo-2021Z.jpg?sha=9b16",
    "fullscreen": "https://run.journeyapps.com/media/W1siZQ/photo-2021Z.jpg?sha=70dc",
    "original": "https://run.journeyapps.com/media/W1siZw/photo-2021Z.jpg?sha=5085"
}

Note: The state field can be uploaded,pending, missing, or untrusted. The thumbnail, fullscreen and original fields are only present if state is uploaded.

Signatures API Response Example

"sample_signature_id": "ffca93d4-690c-4563-9d38-42c97b51443b",
"sample_signature": {
    "state": "uploaded",
    "thumbnail": "https://run.journeyapps.com/media/W1siK0/signature-2021Z.svg?sha=48b3",
    "fullscreen": "https://run.journeyapps.com/media/W1siZiIsI/signature-2021Z.svg?sha=7231",
    "original": "https://run.journeyapps.com/media/W1siZiIsI/signature-2021Z.svg?sha=7231",
    "svg": "https://run.journeyapps.com/media/W1siZQ/signature-2021Z.svg?sha=28f"
}

Note: The state field can be uploaded or pending. The thumbnail, fullscreen, original and svg fields are only present if state is uploaded.

Photos and signatures API Update Object Example

photo: {
    "base64": "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
    "filename": "small-red-dot.png"
}

Note: base64 must not contain any newline characters.

Only the following characters are allowed in filename:

  • Lowercase alphanumeric characters

  • Under score (_), hyphen (-), period (.) and space ( )

Values Not Present

When retrieving objects, a field not present should be interpreted the same as a null value for that field. This applies to all field types, as well as relationships.

When updating an object with Update a Single Object, setting the field to null will clear that field. On the other hand, omitting the field will leave its value unchanged. This applies to all field types, as well as relationships.

A date in the format YYYY-MM-DD, as defined by the specification. Example: "2016-02-27".

Any valid date according to the specification. Any time or timezone components will be stripped. The YYYY-MM-DD format is recommended. Example: "2016-02-27"

A date and time in the format YYYY-MM-DDTHH:MM:SSZ, as defined by the specification. Note that the time is specified in the UTC/GMT timezone. Example: "2016-02-22T14:00:53Z".

Any valid date and time according to the specification. The YYYY-MM-DDTHH:MM:SSZ format is recommended. Example: "2016-02-22T14:00:53Z".

Hash with fields latitude, longitude, altitude, horizontal_accuracy, vertical_accuracy and timestamp. Note that altitude and vertical_accuracy are typically not reported by mobile devices, and only latitude and longitude can currently be edited on the JourneyApps Backend data browser. The timestamp is automatically populated when the location is captured. See:

A hash with fields latitude and longitude (both decimal numbers), and optionally altitude, horizontal_accuracy, vertical_accuracy (all decimal numbers) and timestamp (a date and time in the format YYYY-MM-DDTHH:MM:SSZ, as defined by ). Leaving the timestamp blank will cause the current time to be used. If you update an existing GPS location and omit the altitude, horizontal_accuracy or vertical_accuracy fields, any existing values in those fields will be set to null. See:

A hash with fields state, id and original. The attachment's object id is a separate field, where the key is the attachment's field name plus _id. See:

A hash with fields base64, containing the representation of the attachment file, and filename, containing the name of the file. See:

A hash with fields state, thumbnail, fullscreen and original. The photo's object id is a separate field, where the key is the photo's field name plus _id. See:

A hash with fields base64, containing the representation of the attachment file, and filename, containing the name of the file. See:

A hash with fields state, thumbnail, fullscreen, original and svg. The signature's object id is a separate field, where the key is the signature's field name plus _id. See:

A hash with fields base64, containing the representation of the attachment file, and filename, containing the name of the file. See:

📥
Field Types
ISO 8601
ISO 8601
ISO 8601
ISO 8601
Location API Response Example
ISO 8601
Location API Update Object Example
Attachment API Response Example
Base64
Attachment API Update Object Example
Photos API Response Example
Base64
Photos and signatures API Update Object Example
Signatures API Response Example
Base64
Photos and signatures API Update Object Example