Skip to main content

Quick Start (AWS)

Deploying FormKiQ into your AWS account with CloudFormation.

Deploy and configure FormKiQ in your AWS account in approximately 15 minutes using AWS CloudFormation. The automated setup process provisions and connects all required resources through a streamlined installation workflow.

Before You Start

Use this checklist before opening the CloudFormation installation link:

RequirementWhy it matters
AWS account with administrator accessThe stack creates IAM roles, Lambda functions, API Gateway resources, S3 buckets, DynamoDB tables, and other managed AWS resources.
Target AWS region selectedCloudFormation templates and service quotas are region-specific.
Admin email inbox accessThe admin user receives an email verification link after installation.
Lambda concurrent executions checkedLow Lambda concurrency can cause installation or runtime issues.
ECS service-linked role created or confirmedRequired when the deployment uses ECS/Fargate-backed components such as Typesense.
15-30 minutes availableThe CloudFormation stack can take time to create all resources.

Expected result after installation:

  • CloudFormation stack status is CREATE_COMPLETE
  • The FormKiQ Console URL is available from CloudFormation outputs
  • FormKiQ API URLs are available from CloudFormation outputs
  • The admin user can set a password and log in

Install FormKiQ

FormKiQ Core is installed into your AWS account using AWS CloudFormation. Complete the prerequisites below, then choose the installation link for your AWS region.

Prerequisites

For this quick start you need access to an AWS account with administrator access to ensure proper permissions for creating required AWS services.

If you do not have an AWS account, you can sign up for one at https://aws.amazon.com.

AWS Lambda Concurrent Executions

Concurrent executions refer to the number of function invocations being handled simultaneously. AWS Lambda defaults to 10 concurrent executions per region. Request an increase to 1000 before installation.

Check Concurrent Executions

Open CloudShell

Run aws cli command:

aws service-quotas get-service-quota --service-code lambda \
--quota-code L-B99A9384 --region <AWS_REGION>

Resulting Value shows the AWS Lambda Concurrent executions.

{
"Quota": {
"ServiceCode": "lambda",
"ServiceName": "AWS Lambda",
"QuotaCode": "L-B99A9384",
"QuotaName": "Concurrent executions",
"Value": 1000.0,
"Unit": "None",
...
}
}
note

Request this increase for each region where you'll deploy FormKiQ.

Request Concurrent Executions Increase

Request through the Service Quotas Dashboard:

AWS RegionLocationRequest Increase Link
us-east-1N. VirginiaRequest Increase
us-east-2OhioRequest Increase
us-west-2OregonRequest Increase
ca-central-1Canada (Central)Request Increase
ca-west-1Canada (West)Request Increase
eu-central-1FrankfurtRequest Increase
eu-west-1IrelandRequest Increase
eu-west-2LondonRequest Increase
eu-west-3ParisRequest Increase
eu-north-1StockholmRequest Increase
eu-south-1MilanRequest Increase
ap-south-1MumbaiRequest Increase
ap-southeast-1SingaporeRequest Increase
ap-southeast-2SydneyRequest Increase
ap-northeast-1TokyoRequest Increase
ap-northeast-2SeoulRequest Increase
af-south-1Cape TownRequest Increase
sa-east-1São PauloRequest Increase
me-central-1Middle East (UAE)Request Increase
me-south-1BahrainRequest Increase

For more information, see the AWS Tutorial on Requesting a Quota Increase.

AWS Service Role for ECS

Verify that AWSServiceRoleForECS is enabled on your AWS account before installation if your deployment uses ECS/Fargate-backed components such as Typesense.

Open CloudShell

Run aws cli command:

aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
note

An error message such as "Service role name AWSServiceRoleForECS has been taken in this account" indicates this step is already complete.

For installation support, feedback, or updates, please join our FormKiQ Slack Community

note

Ensure you've completed the prerequisites and, when needed, enabled AWSServiceRoleForECS.

The FormKiQ installation uses AWS CloudFormation to automate resource creation and management.

Select your AWS region from the installation links below:

AWS RegionLocationInstall Link
us-east-1N. VirginiaInstall FormKiQ
us-east-2OhioInstall FormKiQ
us-west-2OregonInstall FormKiQ
ca-central-1Canada (Central)Install FormKiQ
ca-west-1Canada (West)Install FormKiQ
eu-central-1FrankfurtInstall FormKiQ
eu-west-1IrelandInstall FormKiQ
eu-west-2LondonInstall FormKiQ
eu-west-3ParisInstall FormKiQ
eu-north-1StockholmInstall FormKiQ
eu-south-1MilanInstall FormKiQ
ap-south-1MumbaiInstall FormKiQ
ap-southeast-1SingaporeInstall FormKiQ
ap-southeast-2SydneyInstall FormKiQ
ap-northeast-1TokyoInstall FormKiQ
ap-northeast-2SeoulInstall FormKiQ
af-south-1Cape TownInstall FormKiQ
sa-east-1São PauloInstall FormKiQ
me-central-1Middle East (UAE)Install FormKiQ
me-south-1BahrainInstall FormKiQ
note
  • For unlisted regions, use SAM CLI installation
  • FormKiQ Core supports AWS GovCloud (US) West but not East
  • AWS China installations are not currently supported
  • FormKiQ Essentials, Advanced, and Enterprise users: use your custom CloudFormation template links provided by the FormKiQ team

Create the FormKiQ Stack

After selecting your region, you'll see the AWS CloudFormation Console with the FormKiQ installation URL pre-populated.

CloudFormation Create Stack

Click Next to continue.

Set Stack Name

Name your stack using the format formkiq-core-<app_environment> (e.g., formkiq-prod).

CloudFormation Stack Name

note

For production, we recommend using AWS Organizations and separate accounts for different environments.

Installation Parameters

Configure your installation:

CloudFormation Stack Parameters

Required Parameters
  • AdminEmail: Administrator email address
  • AppEnvironment: Environment identifier (prod, staging, dev, etc.)
Optional Parameters
  • CapacityProvider: AWS Fargate capacity provider (for Typesense)
  • EnablePublicUrls: Enable public endpoints (default: false)
  • PasswordMinimumLength: Minimum password length
  • Password Requirements: Several properties to configure requirements for length, lowercase, numbers, symbols, and uppercase
  • TypesenseApiKey: API key for Typesense
  • TypesenseMemory: Typesense memory allocation
  • VpcStackName: VPC stack name (used for Typesense or OpenSearch)

Configure Stack Options

On the stack options page, keep the default values unless your AWS organization requires different tags, permissions, or stack policy settings.

At the bottom of the page, select all required CloudFormation acknowledgement checkboxes. These acknowledge that the template can create IAM resources and nested resources needed by FormKiQ.

Setup Stack Options

Click Next to proceed.

Review and Create

Review your configuration and click Submit.

Setup Stack Options

info
  • Installation takes 15-30 minutes
  • You'll receive an admin email when complete

Configure Admin Password

  1. Check your admin email for the verification link
  2. Click "Verify Email" to set your password

Welcome to FormKiQ

  1. Set your admin password

Set Admin Password

  1. Access the FormKiQ Console

FormKiQ Console Home

note

AWS GovCloud (US) requires manual admin user creation.

Verify Installation

After the CloudFormation stack completes, verify the installation before moving on to API testing or additional configuration.

Check Stack Status

  1. Open the AWS CloudFormation console in the region where you installed FormKiQ.
  2. Select the FormKiQ stack.
  3. Confirm the stack status is CREATE_COMPLETE.

If the stack fails or remains incomplete, use the troubleshooting steps below before retrying.

CloudFormation Troubleshooting

If your stack does not reach CREATE_COMPLETE, open the CloudFormation Events tab and look for the first failed resource. Nested stacks can have their own events, so check child stacks if the top-level error is not specific.

For a step-by-step event inspection workflow, follow the CloudFormation Troubleshooting guide.

Review Stack Outputs

Open the Outputs tab for the FormKiQ stack and find the values you need for initial access.

Common outputs include:

OutputUse
Console URLOpens the FormKiQ web console.
HTTP API URLUsed for JWT-authenticated API calls.
IAM API URLUsed for IAM-authenticated API calls.
Key API URLUsed for API-key-authenticated API calls, when enabled.

Confirm Admin Access

  1. Open the FormKiQ Console URL.
  2. Use the admin email verification flow to set the initial password.
  3. Log in to the FormKiQ Console.
  4. Confirm that you can view the default site and document interface.

Common Problems

Admin Email Did Not Arrive

Check the spam or quarantine folder for the admin email address. Also confirm that the AdminEmail stack parameter was entered correctly.

If the stack completed but no email arrived, review the Cognito user pool and user status in the AWS console.

Stack Failed or Is Stuck

Open the CloudFormation stack events and look for the first failed resource. Nested stacks can have their own events, so check child stacks if the top-level error is not specific.

Use the CloudFormation Troubleshooting guide for a step-by-step event inspection workflow.

Lambda Quota Is Too Low

If Lambda concurrency is too low, request a quota increase in the region where you are deploying FormKiQ and retry after the quota is approved.

ECS Service-Linked Role Error

If the stack reports an ECS service-linked role issue, run the ECS service-linked role command in the AWS Service Role for ECS section, then retry the installation.

VPC CIDR Conflict

If the VPC stack fails because of CIDR overlap, choose a CIDR range that does not conflict with existing VPCs in the same AWS account, connected networks, or AWS Organization environment strategy.

Console URL Does Not Open

Confirm the FormKiQ stack is complete and check the Console URL in the CloudFormation outputs. For AWS GovCloud (US), use the GovCloud console instructions.

Next Step

After the console is working, follow the API Walkthrough to make your first FormKiQ API requests.

Optional: Install VPC

For Typesense or OpenSearch, install the VPC stack:

Select your region's VPC template:

AWS RegionLocationInstall Link
us-east-1N. VirginiaInstall VPC
us-east-2OhioInstall VPC
us-west-2OregonInstall VPC
ca-central-1Canada (Central)Install VPC
ca-west-1Canada (West)Install VPC
eu-central-1FrankfurtInstall VPC
eu-west-1IrelandInstall VPC
eu-west-2LondonInstall VPC
eu-west-3ParisInstall VPC
eu-north-1StockholmInstall VPC
eu-south-1MilanInstall VPC
ap-south-1MumbaiInstall VPC
ap-southeast-1SingaporeInstall VPC
ap-southeast-2SydneyInstall VPC
ap-northeast-1TokyoInstall VPC
ap-northeast-2SeoulInstall VPC
af-south-1Cape TownInstall VPC
sa-east-1São PauloInstall VPC
me-central-1Middle East (UAE)Install VPC
me-south-1BahrainInstall VPC

Create CloudFormation Stack

After selecting your VPC installation link and logging in, you'll see the CloudFormation Create Stack console with the pre-populated FormKiQ VPC installation URL.

CloudFormation Create Stack

Click the Next button to move to the next page.

Set Stack Name

The stack name uniquely identifies your FormKiQ VPC deployment within AWS CloudFormation.

We recommended to use the naming convention formkiq-vpc.

CloudFormation VPC Stack Name

Installation Parameters

The following is description of the VPC installation parameters:

CloudFormation Stack Parameters

EnableEnterpriseFeatures:

If you are using OpenSearch, you need to enable enterprise features, which automatically setups VPC endpoints.

note

This is not required for FormKiQ Core.

CIDR Ranges:

The VPC sets up 3 public, and 3 private subnets.

When creating the VPC, you need to specify an IPv4 network range for the VPC, in CIDR notation. For example, 10.1.0.0/16.

note

We recommend choosing a CIDR block that you know is not being used by any existing AWS resources in your AWS Organization. Ideally, each AWS account (one for each environment) is using its own CIDR range, e.g., 10.10.0.0/16 for dev, 10.20.0.0/16 for test/qa, etc.

VpcLabel:

The label added to the created VPC. This will be visible in the AWS Management Console when viewing your VPCs, and will help identify this VPC in future.

Configure stack options

Scroll down to the bottom of the page, select ALL the checkboxes.

Setup Stack Options

Click the Next button to move to the next page.

Review and create

Scroll down to the bottom.

Setup Stack Options

Click the Submit button to start the VPC installation.

info

Once the installation has completed, you will need to attach this Stack to your FormKiQ installation, by updating the VpcStackName parameter.

Attach the VPC Stack to FormKiQ

This step is essential in order to enable access to Typesense or OpenSearch

After creating the VPC stack, update the main FormKiQ CloudFormation stack so its VpcStackName parameter points to the VPC stack.

note

This section is only for connecting the optional VPC stack to a FormKiQ installation. For version updates, upgrades, and rollback planning, see Updates, Upgrades, and Rollbacks.

Select the FormKiQ CloudFormation stack and then click the Update button.

When updating the stack you will want to choose Use existing template.

CloudFormation Update Stack

For the VpcStackName parameter, set the value to the same value you used for the VPC stack you created above; in our example, it was formkiq-vpc.

Set VPC Stack Name

Click the Next button to move to the next pages. On the last page click the Submit button to update the FormKiQ stack. After the Stack completes updating, the FormKiQ installation will have the VPC features enabled.

Optional: Install with SAM CLI

FormKiQ Core was built using the AWS Serverless Application Model (SAM) framework.

The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for deploying serverless applications.

Prerequisite

To use SAM CLI, you will need to install the following tools:

Get Latest Release

The latest version of FormKiQ Core can be found on the https://github.com/formkiq/formkiq-core/releases page on Github.

Download the file with the naming convention of: formkiq-core-X.X.X.zip

Once downloaded, unzip the file in its own directory.

INSTALL.md
LICENSE
template.yaml
...

SAM Deploy

To deploy FormKiQ Core, run the following command in the same folder as the template.yaml file.

sam deploy --guided --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND CAPABILITY_NAMED_IAM

The command will package and deploy your application to AWS, with a series of prompts:

ArgumentDescriptionDefault Value
Stack NameThe name of the stack to deploy to CloudFormation. This should be unique to your account and regionformkiq-core-<AppEnvironment>
AdminEmailSet the admin email address. During the FormKiQ installation, this email address will be automatically set up with administrator access.
AppEnvironmentAppEnvironment is a unique identifier for FormKiQ installations. The identifier should provide context for the type of environment, e.g., prod, staging, or dev.prod
EnablePublicUrlsWhether to enable "/public" endpoints.false
PasswordMinimumLengthMinimum Password Length8
PasswordRequireLowercaseWhether Password requires a lowercase letterfalse
PasswordRequireNumbersWhether Password requires a numberfalse
PasswordRequireSymbolsWhether Password requires a symbolfalse
PasswordRequireUppercaseWhether Password requires a uppercase letterfalse
VpcStackNameOptional: The name of the FormKiQ VPC CloudFormation stacknull
TypesenseApiKeyOptional: API Key to access the Typesense servernull
CapacityProviderOptional: CapacityProvider used by AWS Fargate serviceFARGATE_SPOT
  • Confirm changes before deploy: If set to yes, any change sets will be shown to you before execution for manual review. If set to no, the AWS SAM CLI will automatically deploy application changes.
  • Allow SAM CLI IAM role creation: FormKiQ Core's AWS SAM templates create AWS IAM roles required for the AWS Lambda function(s) included to access AWS services. The permissions are passed in by the sam deploy command above. Set Value to 'Y'
  • Save arguments to samconfig.toml: If set to yes, your choices will be saved to a configuration file inside the project, so that in the future you can just re-run sam deploy without parameters to deploy changes to your application.

Once you have set all of these options, SAM CLI will create a changeset and display a list of all actions that will be performed as part of the changeset. If you have set "confirm changes before deploy" to "y", you will be asked whether to deploy this changeset. Choose "y" to complete the installation.

Once the FormKiQ Core stack has been deployed, you will be able to find your API Gateway Endpoint URL in the output values displayed after deployment.

FormKiQ Console for AWS GovCloud (US)

Due to restrictions related to AWS GovCloud (US) and the lack of CloudFront availability, the FormKiQ Document Console is not installed as part of the deployment. Instead, you can deploy a docker image into GovCloud for internal or external access. More information can be found here.

API Walkthrough and Reference

After installation, the best way to confirm API access is to make a small document request against your new FormKiQ environment.

Use the API Walkthrough when you want a guided Postman workflow for:

  • configuring your FormKiQ API base URL
  • choosing an authentication method
  • adding a test document
  • retrieving document metadata
  • updating document content or tags
  • searching for documents

Find Your API URL

Open the CloudFormation Outputs tab for your FormKiQ stack. The API URL you use depends on the authentication method:

OutputUse when
HttpApiUrlYou want to use JWT authentication from a signed-in FormKiQ user.
IamApiUrlYou want to call FormKiQ using AWS IAM credentials and AWS request signing.
KeyApiUrlYou want to use an API key, when API key authentication is enabled.

Choose an Authentication Method

Most first-time API tests should start with JWT authentication because it uses the admin user created during installation. IAM authentication is usually better for backend AWS integrations. API key authentication is useful for controlled service access or development scenarios where it has been explicitly enabled.

For setup details, see API Security Tokens or follow the authentication steps in the API Walkthrough.

Use the API Reference

After the walkthrough, use the FormKiQ API Reference to explore the full set of endpoints. The reference is most useful once you already know your base URL and authentication method.

Common next endpoints to review:

  • Documents: create, retrieve, update, delete, and search documents
  • Document uploads: upload larger files through generated upload URLs
  • Sites: manage site-level document partitions
  • Attributes and schemas: define structured metadata
  • Rulesets and workflows: automate document processing

For SDK-based integrations, see SDKs & API Integration.