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
      • 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
  • Usage
  • General properties
  • Request data
  • Response data
  • Data processing
  • Advanced

Was this helpful?

Export as PDF
  1. Reference
  2. Services

Service Endpoints

PreviousServicesNextService settings

Last updated 1 year ago

Was this helpful?

A Service Endpoint defines an interface for interacting with a . Endpoints are designed to receive a request and return a response.

Service Endpoints can be used when a third-party system wants to integrate towards Appfarm. Please read more .

Usage

To add an endpoint to a service:

  • Open the service.

  • Click the + icon in the Service Endpoints panel.

  • Enter a name for the endpoint.

To see and test and all endpoints in your solution open the .

To call an endpoint from an external service, including tools like , construct an endpoint URL as follows: https://SOLUTION-HOSTNAME/api/services/SERVICE-ALIAS-SLUG/READABLE-ID.

When you create an endpoint, not all properties will be relevant. The properties you need will be dependent on the use case you are designing the endpoint for.

If you are receiving data from an external service (POST), the properties under will be most relevant, as these are used to parse and map the data being sent.

If you are receiving queries from an external service (GET), both and will be required.

If you are running the endpoint to process or send data on a schedule (GET), Process action might be the only property you need.

Endpoints can be set to be . For example, if the action performed is time-consuming (such as syncing large amounts of data), the service should return an OK response immediately, along with a Job ID.

General properties

Property
Description

Name

Description

Enable Log

Methods

The HTTP request methods that the endpoint will support. The available options are:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

Readable ID

A string that will be used when generating the endpoint URL. It is common to use a verb that represents the purpose of the endpoint.

For example, in the following endpoint URL the readable ID is list: https://thirty50.appfarm.app/api/services/events/list

URL Parameters

Add path parameters, which are required parts of the endpoint URL. Path parameters are often used to specify a specific object and can be bound to a data source. A path parameter can also be a static string.

Request data

These properties enable you to parse and map data sent as part of a request to the Endpoint.

Property
Description

Query Parameters

Map values from query parameters into single-cardinality data sources.

Header Values

Map values from request headers into single-cardinality data sources.

Body Parser

Parse body data into JSON. If the request contains body data that is not in JSON, you can use the function editor to create a JSON object containing the data so that you can map it into data sources. Not available for GET.

Body Data

Response data

These properties enable you to configure the headers and data sent in the response.

Property
Description

Response Headers

Add custom headers or override default headers in the response.

Response headers are evaluated after populating data sources and running the action specified in Process Action.

Data Sources

Data sources to return after running the action specified in Process Action. All data in the selected data sources will be included in the response.

If the endpoint is called by a schedule you should not select any data sources as the response is ignored and performance will be slightly degraded.

Custom Response Body

Construct a custom response body using the function editor. This can be used instead of returning Data Sources.

Data processing

Property
Description

Process Action

An action to execute when the endpoint is called. Request data is populated before the action is run.

No Concurrency

Disable concurrency for this endpoint. If this is selected, the service will fail if it is called while already running. Note that it will not queue the request and run it after the last one automatically.

Run Async

Enable asynchronous processing for this endpoint. If this is selected, the endpoint will return a response immediately instead of waiting for the Process Action to complete. The response will contain a job ID.

This option should be used for actions that are expected to run for more than 2 minutes. If logging is enabled, it will still write the result to the log. Make sure to set Job Timeout to a reasonable value.

Job Timeout

If Run Async is selected, you can specify a timeout in seconds, up to a maximum of 4 hours. The default is 300 seconds (5 minutes).

This timeout acts as a safeguard in case the job suffers from a catastrophic failure. For example, if the runner quits unexpectedly and is unable to mark the job as complete nor failed. It will also kill the job and mark it as failed if it runs longer than this timeout.

This value should be set well above the expected runtime, but not exceedingly high. This is especially important when No Concurrency is selected.

If a deploy occurs when a job is running (this includes automatic deployments in Development), the job will be interrupted, but the timeout will not be reset. If No Concurrency is selected, the job cannot be started again until the timer expires.

Advanced

Property
Description

Cache Response Data

Enable caching for this endpoint. If this endpoint returns data which is static or not time sensitive you can cache the response data to increase performance.

Cache Timeout

If Cache Response Data is selected, you can specify a timeout in seconds, up to a maximum of 24 hours. The default is 3,600 seconds (1 hour).

Enable Rate Limiter

A descriptive name for the endpoint. This is shown in the and .

A longer description of the endpoint. It may be useful to describe what this endpoint expects in a request and returns in a response. This is shown in the .

Create a when this endpoint is called.

Read more about . Note: Only Endpoints with the GET method enabled is possible to execute from a in Appfarm.

Variable path parameters are documented in the with a leading colon, for example: https://thirty50.appfarm.app/api/services/events/details/:param1

Map request body data in JSON format into data sources. Not available for GET. Note: The maximum size of the incoming body (in MB) for POST requests is 1 MB. You may override the Max Payload Size in the section of Environments Config.

You may set restrictions on how many parallel connections ("Rate Limit Points") a single IP may have towards this endpoint, within a given time window ("Rate Limit Window"). Note that you may also control this in the .

API explorer
logs
API explorer
log entry
HTTP request methods on MDN Web Docs
Schedule
API explorer
Service Settings
service
API explorer
Postman
Request data
Request data
Response data
executed asynchronously
here
Service Security