Appfarm Documentation
Getting startedDocumentationCommunityAppfarm Create
  • Overview
  • Getting Started
    • What is Appfarm?
    • Key concepts
    • Quickstart
      • Speed intro
      • Step-by-step guide
    • Appfarm Showroom
    • FAQ
  • Appcademy
    • Learning paths
    • Appfarm Fundamentals
      • Intro Course
        • 1. Intro to No-Code and Appfarm
        • 2. Navigation in Appfarm Create
        • 3. What is Apps?
        • 4. Intro to UI Editor
        • 5. Data Model
        • 6. App Data
        • 7. Actions
        • 8. Tips and Tricks
        • 9. Intro to practical walkthrough
        • 10. Create a details view of a Project
        • 11. Create a Custom List
        • 12. Swipe and Delete
        • 13. Functionality for simple Create of Data
        • 14. Upload and Download Photos
        • 15. Input Dialog with Validation and Save
        • 16. Dashboard
        • 17. Summary
        • Quiz
      • User Interface Fundamentals
        • Container - Sectioning, Styling and Repeating
        • Conditional Styles
        • Motions
        • Responsive Design
        • Step-by-step workflow
        • Featured UI Components
        • Quiz
      • App Data Fundamentals
        • Data Source Filtering
        • App Variables and Runtime Properties
        • URL Parameters
        • Quiz
      • Actions & Logic Fundamentals
        • Event Handlers
        • Featured Action Nodes
        • Context Parameters
        • Quiz
      • Services Fundamentals
        • Introduction to Services
        • Setting up a Service
        • Scheduling a Service
      • Integration Fundamentals
        • The web request action node
        • Fetch data from an endpoint
        • Map data to a data source
        • Modify the response
        • Nested data mapping
        • Path parameters
        • Authentication
        • Send data to an endpoint
        • Quiz
      • User handling and permissions
        • Users and roles
        • Permissions
        • Creating users
        • Extending the User object class
        • Updating and deleting users
        • Unauthenticated access
        • Quiz
    • Appfarm Professional
      • User Interfaces
        • Featured UI Components
        • Concepts and Use Cases
      • Data Structures & Data Handling
        • Data Features
        • Search & Filters
        • Featured Action Nodes
        • GraphQL
      • Logic & Flow
        • Logical Concepts
        • Date and Time Handling
        • Featured Action Nodes
        • Exception Handling
      • Login & Configuration
        • Login and Authentication
        • Settings, Configuration and Languages
      • Security & Operations
        • Security and Permissions
        • Deployment
        • Schedules and Logs
        • Debugging and App Health
      • Performance & Optimization
        • Optimizing Performance
        • Enhancing Functionality
    • Appfarm Sales Representative
    • Appfarm Developer Forum
      • Session 1: Data Modeling in Appfarm Create
      • Session 2: App Data in Appfarm Create
      • Session 3: Services in Appfarm Create
      • Session 4: Optimizing Performance
    • Background
      • Databases
        • Data modeling 101
        • Database normalization
  • Library
    • UI components
      • Advanced bar chart
      • Advanced bubble chart
      • Advanced combined chart
      • Advanced gantt chart
      • Advanced heatmap chart
      • Advanced line/area chart
      • Advanced pie chart
      • Advanced scatter plot chart
      • Advanced solid gauge chart
      • Animated component
      • Avatar
      • Avatar group
      • Basic bar chart
      • Basic gauge chart
      • Basic line chart
      • Basic pie chart
      • Bottom navigation
      • Button
      • Checkbox
      • Chip group
      • Circular progress
      • Coded component
        • Coded component examples
      • Container
      • Date & time picker
      • Drawable canvas
      • Floating action button
      • Icon
      • Icon button
      • Iframe
      • Image
      • Linear progress
      • List
      • Map
      • Menu list
      • Multi select
      • PDF reader
      • Popover
      • Radio buttons
      • Rich text editor
      • Rich text
      • Select
      • Slider
      • Speed dial
      • Switch
      • Table
      • Tabs
      • Text
      • Text edit
      • View container
      • Visibility group
    • Action nodes
      • Aggregate data
      • Advanced search
      • Auth operations
      • Block
      • Catch exception
      • Copy to clipboard
      • Create file archive
      • Create file object
      • Create object
      • Create user account
      • Delete objects
      • Delete user account
      • Duplicate objects
      • End execution
      • Exit block
      • Exit loop
      • Export data
      • Foreach
      • Generate document
      • If
      • Import data
      • Invalidate cache
      • Log in
      • Log to console
      • Log out
      • Next iteration
      • Navigate
      • Open/close popover
      • Open confirm dialog
      • Open print dialog
      • Open snackbar
      • Open Unsplash dialog
      • Open URL
      • Persist objects
      • Push notifications
      • Read objects
      • Request permissions
      • Run code
      • Run other action
      • Run service
      • Scan barcode/QR code
      • Send email
      • Send SMS
      • Set client language
      • Set data source attributes
      • Set selection
      • Set theme
      • Set user account image
      • Show install app prompt
      • Sleep
      • Sort objects
      • Throw exception
      • Toggle drawer
      • Update object
      • Update secret
      • Update user account
      • Web request
      • While
  • Reference
    • Appfarm Create
      • Appfarm Commander
      • Blue dots
      • Copy & Paste
      • Farmer's Market
      • Find references
      • Find usage
      • Keyboard shortcuts
      • Undo/Redo
      • User preferences
    • Platform concepts
      • Conditions
      • Data bindings
      • Date and time
      • Event handlers
      • Filters
      • Functions
      • Markdown
      • Objects
      • Operators
      • Value processor
    • Dashboard
    • Apps
      • UI
        • Views
          • Dialog
          • Drawer
        • Layout designer
        • Component properties
        • Shareable UI components
      • Data
        • App variables
        • Data sources
        • Calendar data sources
      • Actions
      • App settings
      • App size
      • App health
    • Services
      • Service Endpoints
      • Service settings
      • Service health
      • API explorer
    • Data model
      • Object classes
      • Object class properties
      • Enumerated types
      • GraphQL
        • Queries
        • Mutations
      • Data Extract API
      • Time series data
    • Operations
      • Deploy
      • Schedules
      • Logs
    • Resources
      • Themes
      • Files
      • Fonts
      • Internationalization
    • Configuration
      • Environments
      • Login
        • Custom auth providers
    • Security
      • Users
      • Service accounts
      • Roles
      • Secrets
      • Permissions
        • Conditional Permissions
    • Appfarm Client
      • Developer tools for Apps
      • Developer tools for Services
      • Warnings and errors
  • How to
    • Data modeling
      • Many-to-many relationships
      • Use naming conventions
      • Offline data handling
      • Data silos and White labelling
    • User interface
      • Manage a many-to-many relationship with a Chip group
      • Configure drag and drop
      • Build a drag-and-drop calendar
      • Design a responsive layout
      • Work with flexbox
      • Use Mapbox as a map layer
      • Understand charts
    • Logic and flow
      • Event Log Design
      • Configure advanced search
    • Themes and styling
      • Change the active theme
      • Add custom email templates
    • Enhance your app
      • Add deep links
      • Add keyboard shortcuts
      • Add link previews for social media
      • Apply SEO best practices
      • Change the active language
      • Generate a PDF from a Container
    • Integrations
      • Integrate with external systems
      • Integrate with OpenAI
      • Integrate with Google Analytics (GA4)
      • Configure a custom email account
      • Integrate with a payment provider
      • Integrate with Signicat
      • Integrate directly with an external database
      • Retrieve a Bearer token from Google Cloud
      • Fetch data from BigQuery
      • Retrieve access token from Microsoft Entra ID
    • Workflow automation
      • Update an OAuth 2.0 access token from a service
    • Authentication and access control
      • Add users and assign roles
      • Configure unauthenticated access
      • Implement third-party authentication
    • Security, testing and deployment
      • Add a custom domain
      • Install an app on a device
      • Get ready for Production
      • Optimize performance
      • Security checklist
      • Test and debug
    • Example apps
      • Create an Instagram clone
        • The end result
        • Designing the feed
        • Create new post
        • Add a like-button
        • Add comment-functionality
  • Solution administration
    • Subscription and billing
    • Dedicated tier benefits
    • Guide to GDPR
      • Key principles
      • How Appfarm protects personal data
      • How you can protect your clients’ data
      • Glossary
    • Appfarm and the EU AI Act
  • Policies
    • Appfarm Policies
    • Data Processors
    • Privacy Policy
Powered by GitBook
On this page
  • Introduction
  • Key features
  • Usage
  • Configuration
  • Enabling the Data Extract API
  • Supported data
  • Pagination
  • Making requests
  • Endpoint structure
  • Authentication
  • Query parameters
  • Response format
  • Stats
  • Metadata

Was this helpful?

Export as PDF
  1. Reference
  2. Data model

Data Extract API

Premium feature

The Data Extract API is a premium feature. Availability is determined by your subscription. Please check your current subscription or contact customer success to ensure you have access to this functionality.

Introduction

The Data Extract API provides built-in endpoints for programmatically transferring your solution data into data warehouses and data lakes for further analysis and storage. This API is designed to facilitate seamless integration of your Appfarm solution data into existing data transformation workflows.

Common data warehouse software that you can use with this API includes:

  • Snowflake

  • Databricks

  • Google BigQuery

  • Amazon Redshift

As a developer, you're responsible for creating and managing your own processes for calling the endpoints and extracting your data. This is typically managed through ETL (extract, transform, load) or ELT (extract, load, transform) software.

Key features

  1. Object class-level export: Data export can be enabled per object class, allowing for targeted data extraction. A unique endpoint is generated for each object class.

  2. Efficient extraction: The Data Extract API endpoints stream data and use cursor-based pagination, enabling efficient extraction of large datasets.

  3. Secure access: Calling a Data Extract API endpoint requires an API key generated within a service account with explicit data export permissions.

Usage

Configuration

Enabling the Data Extract API

To enable the Data Extract API for a specific object class:

  1. In the object class properties, check the Enable Endpoint box to enable data export for that specific object class.

  2. Hover over the blue dot next to Enable Endpoint and note the object class' unique endpoint.

The Data Extract API is available in all environments when enabled in a solution.

Supported data

  • The API primarily supports exporting data from standard object classes.

  • File object classes are supported, but only metadata is exported (file content URLs are not included).

  • Time series data is not supported by this API and requires separate APIs for access.

Pagination

The Data Extract API uses cursor-based pagination:

  • Each response includes a next_cursor for fetching the next page of objects.

  • By default, 1,000 objects are returned per response.

  • The limit query parameter can adjust the number of returned objects (max 50,000).

Making requests

Endpoint structure

For Production, the general structure of the endpoint is as follows:

GET https://{SOLUTION_SHORTNAME}.appfarm.app/api/data_export/{OBJECT_CLASS_ID}

Example of an object class endpoint across environments:

// Development
https://thirty50-dev.appfarm.app/api/data_export/SFjOV9

// Test
https://thirty50-test.appfarm.app/api/data_export/SFjOV9

// Staging
https://thirty50-stage.appfarm.app/api/data_export/SFjOV9

// Production
https://thirty50.appfarm.app/api/data_export/SFjOV9

Authentication

Requests to the Data Extract API require a Bearer token for authentication. To set up authentication:

  1. Use this API key as a Bearer token in your requests for authentication.

Query parameters

  • cursor (optional): The ID of an object to determine the starting point for the next set of results.

  • limit (optional): The maximum number of objects to return (default: 1,000, max: 50,000).

  • exclude_cursor (optional): Boolean. Used to exclude the object with ID equal to the cursor parameter from the response. (default: false)

Example request with query parameters:

GET https://thirty50.appfarm.app/api/data_export/SFjOV9?cursor=64e8a2495b240f565557514c&limit=2000&exclude_cursor=true

Response format

The API returns a JSON object containing:

  • data: An array of objects (e.g., transactions).

  • next_cursor: The ID of the next object, or null if there are no more objects.

Example response:

{
    "data": [
        {
            "_id": "636053da31099daf97cf90bd",
            "startDate": "2022-12-01T23:00:00.000Z",
            "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
            "image": "https://images.unsplash.com/photo-1531058020387-3be344556be6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=Mnw5MDg2M3wwfDF8c2VhcmNofDE2fHxldmVudHxlbnwwfHx8fDE2NjcyNTU3MDk&ixlib=rb-4.0.3&q=80&w=1080",
            "title": "Lorem ipsum dolor sit amet",
            "type": "63604fb180739f1a3363c94e",
            "openForRegistration": true,
            "af_randomId": "qirp2j9Raei2Z8mrVv93U",
            "af_createdDate": "2022-10-31T23:01:46.217Z",
            "af_updatedDate": "2022-11-15T14:05:20.634Z",
            "af_updatedBy": "62ecd53ad4077713c99cb873"
            "__v": 0,
        },
        // Additional objects...
    ],
    "next_cursor": "64e8a2495b240f565557514c"
}

Stats

The Total Object Count is available for each object class through the API.

Example request:

GET https://thirty50.appfarm.app/api/data_export/SFjOV9/stats

Example response:

{
    "totalObjectCount": 6
}

Metadata

Metadata about all available object class endpoints is available through the API.

Example request:

GET https://thirty50.appfarm.app/api/data_export/metadata

Example response:

[
    {
        "id": "3xPPoc",
        "name": "Certification",
        "description": "Keeps track of Appfarm's certifications"
    },
    // Additional endpoints...
]

PreviousMutationsNextTime series data

Last updated 2 months ago

Was this helpful?

Requests must comply with the solution's allocated number of inbound HTTP requests as per the and .

Each object class has a unique endpoint for data extraction. The subdomain in the endpoint URL is specific to your (e.g., Development, Test, Production).

Use an existing or create a new one in Appfarm Create.

Ensure the service account has a role with for the object class you want to access.

Generate an for the service account. Make sure the API key has the Data Export scope.

For more details on service accounts and API keys, refer to the .

service account
Service accounts documentation
deployment environment
Read permissions
API key
Product Glossary
Acceptable Use Policy