FormKiQ Core Reference Guide
- 1. Introduction
- 2. Architecture
- 3. Installation
- 4. Building From Source
- 5. S3 Buckets
- 6. Webhooks
- 7. Multi-Tenant
- 8. API Reference
- 9. Models
- 9.1. AddAction
- 9.2. AddActionParameters
- 9.3. AddChildDocument
- 9.4. AddChildDocumentResponse
- 9.5. AddDocumentActionsRequest
- 9.6. AddDocumentActionsResponse
- 9.7. AddDocumentOcrRequest
- 9.8. AddDocumentOcrResponse
- 9.9. AddDocumentRequest
- 9.10. AddDocumentResponse
- 9.11. AddDocumentTagRequest
- 9.12. AddDocumentTagsRequest
- 9.13. AddDocumentUploadRequest
- 9.14. AddTagSchemaRequest
- 9.15. AddTagSchemaTags
- 9.16. AddWebhookRequest
- 9.17. AddWebhookResponse
- 9.18. DocumentAction
- 9.19. DocumentFulltextRequest
- 9.20. DocumentFulltextResponse
- 9.21. DocumentFulltextSearch
- 9.22. DocumentFulltextTag
- 9.23. DocumentId
- 9.24. DocumentItemResult
- 9.25. DocumentItemVersion
- 9.26. DocumentSearchItemTag
- 9.27. DocumentSearchMatchTag
- 9.28. DocumentSearchRequest
- 9.29. DocumentSearchResponse
- 9.30. DocumentSearchTag
- 9.31. Error
- 9.32. ErrorsResponse
- 9.33. FulltextSearchItem
- 9.34. GetDocumentActionsResponse
- 9.35. GetDocumentContentResponse
- 9.36. GetDocumentFulltextResponse
- 9.37. GetDocumentOcrResponse
- 9.38. GetDocumentResponse
- 9.39. GetDocumentResponseDocumentsInner
- 9.40. GetDocumentTagResponse
- 9.41. GetDocumentTagsResponse
- 9.42. GetDocumentUrlRequest
- 9.43. GetDocumentVersionsResponse
- 9.44. GetDocumentsResponse
- 9.45. GetSitesRequest
- 9.46. GetTagSchemaRequest
- 9.47. GetTagSchemaRequestTags
- 9.48. GetTagSchemasRequest
- 9.49. GetVersionRequest
- 9.50. GetWebhookResponse
- 9.51. GetWebhookTagsResponse
- 9.52. GetWebhooksResponse
- 9.53. QueryFulltextResponse
- 9.54. SearchDocumentItem
- 9.55. SearchResponseFields
- 9.56. SetAntivirusResponse
- 9.57. SetDocumentFulltextRequest
- 9.58. SetDocumentFulltextResponse
- 9.59. SetDocumentOcrRequest
- 9.60. SetDocumentTagKeyRequest
- 9.61. Site
- 9.62. TagSchemaCompositeKey
- 9.63. TagSchemaOptional
- 9.64. TagSchemaPostResponse
- 9.65. TagSchemaRequired
- 9.66. TagSchemaSummary
- 9.67. UpdateDocumentFulltextRequest
- 9.68. WebhookTag
- 10. Appendix
1. Introduction

FormKiQ Core is an Open Source Headless Document Management System (DMS) that runs completely in YOUR Amazon Web Services (AWS) Cloud.
You can use FormKiQ to power:
-
Easy storage of Documents / Form data from your website
-
Quick Tagging and Organization of your Documents
-
Flexible integration into existing application or building custom workflows
FormKiQ is built for any size organization, from personal websites to large, enterprise organizations requiring full control of any number of internal and external documents.
FormKiQ Core is built using AWS Serverless services
This means that there are no servers for you to maintain or manage, and all of your data stays within your AWS cloud.
1.1. Features
Please visit our website to see the full list of features.
✅ API First (FormKiQ API) and Cloud-Native Architecture
✅ Easy Integration with Existing Applications
✅ Built Using Serverless Services (no servers to maintain or manage)
✅ Supports Unlimited Document Tagging & Versioning
✅ Document Processing Through Subscribing to Document Events
✅ Supports Both Multi-Tenant and Multi-Instance
✅ Includes an Intuitive User Interface (FormKiQ Console) for Document Management
FormKiQ has an enterprise edition that provides support and battle-tested enterprise add-on modules.
To learn more about FormKiQ Core, please visit https://github.com/formkiq/formkiq-core.
To learn more about FormKiQ Enterprise, please visit https://formkiq.com.
2. Architecture
2.1. Overview
FormKiQ has been architected using Amazon Web Services (AWS) serverless technologies. This provides several benefits:
✅ Only pay AWS for usage (all services come with a generous monthly free tier)
✅ Easily scales to thousands of concurrent requests
✅ No servers to maintain or manage
2.2. Components

-
Data Storage - The data storage stores the document’s data and any metadata (tags, related documents) attached to the document.
-
API - API is an interface to the documents that provides a well-defined method for working with documents.
-
Processing - The processing component sit in between the API and data storage component and translates requests between the two components.
-
Authentication - Ensures authentication and authorization for access to the documents.
-
Document Events - FormKiQ is designed using an Event driven architecture using AWS Messaging services for easily integration into any system.
2.2.1. Data Storage
The data storage component divides into two parts, the document storage and the document metadata storage.
Document Storage
Document storage is done using Amazon’s S3 service. S3 provides industry-leading data durability and data protection for all of your documents.
Description of S3 Buckets:
Bucket |
Description |
|
A temporary holding place for documents waiting for processing |
|
The permanent post-processing document storage |
Metadata Storage
Each document’s metadata is stored in Amazon’s NoSQL database DynamoDB. DynamoDB is a fast, flexible NoSQL database service for single-digit millisecond performance at any scale. It is also fully-managed by AWS, so there are no database servers to manage.
Description of DynamoDB Tables:
Bucket |
Description |
|
Stores a record of all documents along with all metadata and tenant information |
|
A storage for temporary data |
2.2.2. API
The API is built using Amazon API Gateway. Amazon API Gateway is a fully-managed service that handles all of the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, CORS support, authorization and access control, throttling, and monitoring.
FormKiQ deploys with two APIs. One API is deployed with JWT authentication using Amazon Cognito as the JWT authorizer.
A second identical API is deployed using AWS Identity and Access Management (IAM).
The JWT-authenticated API is great for handling users requests, while the IAM-authenticated API is great for machine-to-machine or backend processing.
NOTE All endpoints require either Cognito / IAM Authentication unless the URL starts with /public; the /public endpoint can be used to allow publicly-submitted documents such as web forms.
2.2.3. Processing
All processing components are built using AWS Lambda. AWS Lambda allows the processing of documents/requests without managing servers or clusters. It also automatically scales to the capacity you need. With built-in fault tolerance, AWS Lambda is designed to provide high availability and to be resilient to failure.
2.2.4. Authentication
Security is of the utmost importance for any system. However, flexibility is required to be able to integrate securely with other systems. This is why both JSON Web Tokens (JWTs) and AWS Identity and Access Management (IAM) are supported methods for authentication.
JSON Web Tokens (JWTs)
JSON Web Tokens (JWTs) as a part of OpenID Connect (OIDC) and OAuth 2.0 frameworks to restrict client access to the APIs.
Amazon Cognito is used as the default JWT authorizer to ensure the JWT tokens are authentic and valid. However, any other JWT authorizer can be used.
AWS Identity and Access Management (IAM)
AWS Identity and Access Management (IAM) is the access control used across all of AWS services. Using IAM policies, one could provide a service the ability to call any API. This allows for an automated method for backend services to integrate with the FormKiQ API, with no need to retrieve a JWT token first.
2.2.5. Document Events
Document events are a powerful feature of FormKiQ Core. These events allow operations to be triggered on documents automatically, whenever a change occurs. For example, when a document is created, a document event can be triggered to perform one or many actions, such as:
-
sending an email notification
-
scanning for viruses
-
inserting data into a database
-
etc.
Document event are created and sent through Amazon Simple Notification Service (SNS). Amazon SNS is a messaging service that can be used for application-to-application communication. FormKiQ Core uses it as a publish/subscribe service, where applications can listen to the SNS service and be notified about different document events.
FormKiQ Core creates a single SnsDocumentEvent
topic where all document events are sent. You can then use Amazon SNS subscription filter policies to set up actions for a specific type of event.
FormKiQ Core provides the following message attributes that you can filter on:
Message Attribute |
Possible Value(s) |
Description |
|
create, delete, update |
Document Event(s) for create, update, or delete document |
|
default, (custom siteId) |
Site Tenant Document Event was created in |
3. Installation
FormKiQ was built using the AWS Serverless Application Model (SAM) framework.
FormKiQ Core uses AWS resources, including DynamoDB, CloudFront, Lambda functions, and API Gateway. These resources are defined in the template.yaml
file in this project. You can customize FormKiQ by updating the template and adding AWS resources through the same deployment process that updates your application code.
A Note about AWS Accounts: we recommend creating a dev or staging account as well as a prod account, as opposed to deploying two instances of FormKiQ with different stages/environments. This isn’t due to any issues with running two FormKiQ instances, but to help better separate your non-prod integration from your production instance.
To have more than one account, you can set up a new AWS account to be your organization management account, and then use AWS Organizations to add two or more additional accounts, one for each stage/environment you plan to use. If you have an existing AWS account with active AWS services/resources, you should import that into a new management account, rather than use that account as your management account, as AWS Best Practices is to not run workloads in your management account.
FormKiQ can be installed either through a Single Click
or using the SAM CLI
. See instructions below for installation options.
3.1. Single Click Installation
The easiest way to install FormKiQ is via the single click the installation link found on the FormKiQ Core GitHub page. The link will automatically launch you into your AWS console and autocomplete the FormKiQ installation url.

For FormKiQ Enterprise users, you’ll find the same single click installation url in your custom GitHub repository you were provided.

3.1.1. CloudFormation Create Stack

After clicking the FormKiQ installation link, you’ll be brought into the AWS CloudFormation Console. From here you’ll be able to customize your FormKiQ settings.
Follow the CloudFormation screens to install FormKiQ.
3.2. SAM CLI Installation
3.2.1. Download
The latest version of FormKiQ Core can be found on the FormKiQ Core Releases page on GitHub. Download the source code (tar.gz or zip) to your local computer and expand/unzip into its own folder, formkiq-core-x.x.x
.
3.2.2. Deploy
The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for deploying serverless applications.
To use SAM CLI, you will need to install the following tools:
-
AWS CLI - Install the AWS CLI
-
SAM CLI - Install the SAM CLI
To deploy FormKiQ Core for the first time, run the following in your shell from the root of this formkiq-core-x.x.x folder:
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:
-
Stack Name: the name of the stack to deploy to CloudFormation; this should be unique to your account and region, and a good starting point would be
formkiq-core-<AppEnvironment>
where AppEnvironment matches your installation environment, e.g. prod, dev, test -
AWS Region: the AWS region you want to deploy your app to
-
AdminEmail: the Administration Email you want FormKiQ to use
-
AppEnvironment: your installation environment, e.g. prod, dev, test; must be unique per account
-
EnablePublicUrls: whether to Enable
/public/
urls. -
PasswordMinimumLength: the minimum Password Length for User Accounts
-
PasswordRequireLowercase: whether at least one lowercase letter is required in User Passwords
-
PasswordRequireNumbers: whether at least one number is required in User Passwords
-
PasswordRequireSymbols: whether at least one symbol is required in User Passwords
-
PasswordRequireUppercase: whether at least one uppercase letter is required in User Passwords
-
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, so this value should be set to "Y" -
Save arguments to samconfig.toml: if set to "Y", 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 will 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 then be asked whether or nor 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 two available API Gateway Endpoint URLs (HTTP/Cognito and IAM) in the output values displayed after deployment.
3.2.3. Outputs
After the FormKiQ Cloudformation Stack completes, output values from the deployment are made available in the CloudFormation Outputs and in the SSM Parameter Store. Below you’ll find a description of the outputs.
CloudFormation Outputs
Key |
Description |
|
Cognito Client Id |
|
Cognito User Pool Id |
|
The URL for the FormKiQ Console |
|
FormKiQ Version |
|
The URL for the API endpoint that uses Cognito authorization |
|
The URL for the API endpoint that uses IAM authorization |
SSM Parameter Store
SSM parameters made it easy for applications to automatically look up FormKiQ configuration settings. All configuration keys start with /formkiq/{AppEnvironment}
Parameter |
Description |
|
The URL for the API endpoint that uses Cognito authorization |
|
The URL for the API endpoint that uses IAM authorization |
|
Cognito Admin Group |
|
Cognito Identity Pool |
|
Cognito User Pool Arn |
|
Cognito User Pool Client |
|
Cognito User Pool |
|
Cognito User Pool Provider Name |
|
Cognito User Pool Provider URL |
|
Console Admin Email |
|
The URL for the FormKiQ Console |
|
Console Version |
|
DynamoDB Cache table name |
|
DynamoDB Documents table name |
|
API Gateway Group that allows invoking of endpoints |
|
API Gateway Group Arn that allows invoking of endpoints |
|
API Gateway Role that allows invoking of endpoints |
|
API Gateway Role Arn that allows invoking of endpoints |
|
Lambda for Console Installation |
|
Lambda for processing API Requests |
|
Lambda for processing Document Update Events |
|
Lambda for processing Staging Document Create Events |
|
Deployment Region |
|
Console S3 Bucket |
|
Console S3 Bucket Arn |
|
Console S3 Bucket Domain Name |
|
Console S3 Bucket Regional Domain Name |
|
Documents S3 Bucket Name |
|
Documents Staging S3 Bucket Name |
|
SNS Topic for Document Create Events |
|
SNS Topic for Document Delete Events |
|
SNS Topic for Document Update Events |
|
SQS ARN for processing Document Update Events |
|
SQS URL for processing Document Update Events |
|
FormKiQ Stacks Version |
3.3. Uninstall
FormKiQ uses AWS CloudFormation to provision all resources. Uninstalling FormKiQ is as easy as logging into the AWS CloudFormation Console and deleting the formkiq-core
stack.
Alternatively, you can use the AWS CLI. Assuming you used the suggested stack name (formkiq-core-<AppEnvironment>) for the stack name, you can run the following:
aws cloudformation delete-stack --stack-name formkiq-core-<AppEnvironment>
3.4. Upgrading
FormKiQ is designed to be N-1 compatible for updates, with automatic upgrades of database schema and other components whenever possible.
4. Building From Source
FormKiQ-Core was built using Java and JavaScript languages. In order to build from source you will need to install the development tools listed below.
Required Development Tools
Running Build
FormKiQ-Core uses Gradle as the main build tool.
To compile:
./gradlew clean build
Build configuration is controlled through the gradle.properties
file located in the root folder.
Gradle parameters
# gradle.properties
#
# testregion - the name of the AWS Region to deploy to (us-east-1,us-east-2,etc)
# testappenvironment - the name of the FormKiQ App Environment (test,prd,dev)
# testprofile - the name of the AWS CLI profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
# testadminemail - an email address to use for the administration account
#
testregion
& testappenvironment
are required for the ./gradlew build
task.
After a successful build, all of the artifacts will be placed in the build/distributions/formkiq-core/formkiq-core-${version}.zip.
5. S3 Buckets
FormKiQ uses the Amazon Simple Storage Service (Amazon S3) as the backend object store for all documents. Amazon S3 is a manage object storage service that offers industry-leading scalability, data availability, security, and performance.
Amazon S3 is a cost-effective storage solution that’s easy-to-use, supports multiple storage classes for cost optimization, and allows for fine-tuned access controls to meet specific business, organizational, and compliance requirements.
By default FormKiQ installs with two
S3 buckets.
Bucket |
Description |
|
A temporary holding place for documents waiting for processing |
|
The permanent post-processing document storage |
5.1. S3 Lifecycle
Documents can be added to S3 via the FormKiQ API or directly to the Staging
S3 bucket. While it is recommended to only use the API for your standard workflow, it can be advantageous to add documents directly to the Staging
S3 bucket, for operations such as initial document migration.
When a document is added to the Staging
S3 bucket, an S3 object create event is created that calls the Document Create AWS Lambda. The Document Create Lambda writes a record to Amazon DynamoDB, and moves the document to the Documents
S3 bucket.
Once the document is added to the Documents
S3 bucket, another S3 event is created which adds a message to the Update Document Amazon SQS queue. An Update Document Lambda is listening to the Update Document SQS queue and adds and updates document metadata whenever an event is added to the queue. Any S3 object tags that have been specified will also be included as document metadata.
NOTE: Each time a document is create or updated the AWS Lambda function also posts a message to Amazon Simple Notification Service, which can be used to trigger additional document processing.
5.2. Using S3 Directly (without the API)
For initial document migration or other occasional uses, the Staging
S3 bucket does allow direct uploads.
WARNING: Writing files directly to the Documents
S3 bucket (i.e., not the Staging
bucket) is NOT supported and may cause stability issues.
5.2.1. S3 Layout
FormKiQ is a multi-tenant application, so a specific S3 key structure is used to identify which tenant owns the document.
Documents added to ROOT
Any documents that are added to the "ROOT" of the S3 bucket, e.g. a document with S3 key of document1.txt
, are assumed to be part of the DEFAULT
siteId.
Documents can also be added to the DEFAULT
siteId if the key starts with default
, e.g. S3 key of default/document1.txt
.
Documents added to SiteId
Documents can be added to a specific siteId by having that siteId as the first "folder" of they key, e.g. S3 key of group1/document1.txt
will add the document1.txt to the group1
siteId.
Documents with a PATH
As of version 1.7.0, documents can be added and have a path
tag automatically created. Following the same pattern as above EXCEPT the S3 key MUST start with either default
or the siteId
path.
For examples:
S3 key of default/dir1/dir2/document1.txt
will add a document with a path
tag of dir1/dir2/document1.txt
to the default
siteId.
S3 key of group1/dir1/dir2/document2.txt
will add a document with a path
tag of dir1/dir2/document2.txt
to the group1
siteId.
5.2.2. Adding a Document with Tags
As of version 1.7.0, you can use the S3 Layout describe above if the S3 key ends in .fkb64
For example creating the following JSON and saving it as document1.fkb64
in the ROOT of the Staging
bucket will add the content
field as a document in the default
siteId.
Required fields are marked below.
{ "path": "document1.txt", "userId": "joesmith", // <required> "contentType": "text/plain", // <required> "isBase64": true, // <required> "content": "dGhpcyBpcyBhIHRlc3Q=", // <required> "tags": [ { "key": "category", "value": "document" }, { "key": "user", "values": ["1", "2"] } ] }
6. Webhooks
Many services today allow you to uses webhooks to notify your application when an event happens within the service. For example, Stripe allows you to specify webhooks to notify your application when a specific event happens within your Stripe account.
With FormKiQ Core, you can create webhook endpoints to receive and store event notifications from other services. Using the /webhooks API (or from the FormKiQ Console), you can create a webhook and then enter that webhook in Stripe or other supporting services to immediately start receiving notifications.
FormKiQ Core also allows you to take this one step further: using the Document Events that are created every time a webhook notification is received, you can easily write custom code that is automatically executed.
7. Multi-Tenant
FormKiQ Core supports usage as a multi-tenant application. This can be used for internal departments or teams, or for external clients. During deployment, a "default" SiteId is created; all documents are stored in that tenant by default.
To create another SiteId is as simple as adding a new Cognito group to the user pool
Creating a Cognito Group with the same name as the SiteId but ending in "_read" will create a read-only group. The users in this group will have read-only access to documents within that SiteId.
Each API request has an optional "SiteId" parameter to specify which SiteId you would like to use.
NOTE: This parameter is only needed if a user belongs to multiple SiteIds or if the user is in the "Admins" Group (full access) and wants to perform an operation in a SiteId other than "default". This allows groups such as external clients to access documents without requiring knowledge of their SiteId.
8. API Reference
All endpoints require either Cognito / IAM Authentication unless the URL starts with /public.
Public URLs are disabled by default and can be enabled through the CloudFormation installation.
8.1. Documents
8.1.1. documentsDocumentIdContentGet
GET /documents/{documentId}/content
Description
Get a document’s contents. text/*, application/json, application/x-www-form-urlencoded returns \"content\" field, all other content-types returns a contentUrl for the content.
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
versionId |
Version Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.2. documentsDocumentIdDelete
DELETE /documents/{documentId}
Description
Delete a document
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.1.3. documentsDocumentIdGet
GET /documents/{documentId}
Description
Retrieves a document’s details, i.e., metadata
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.4. documentsDocumentIdPatch
PATCH /documents/{documentId}
Description
Update a document’s details, i.e., metadata
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddDocumentRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.5. documentsDocumentIdUploadGet
GET /documents/{documentId}/upload
Description
Returns a URL that can be used to upload documents for a specific documentId (required for documents larger than 5 MB)
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
contentLength |
Indicates the size of the entity-body |
- |
null |
|
duration |
Indicates the number of hours request is valid for |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.6. documentsDocumentIdUrlGet
GET /documents/{documentId}/url
Description
Returns a URL for the document’s contents that expires (default is 48 hours)
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
versionId |
Version Identifier |
- |
null |
|
duration |
Indicates the number of hours request is valid for |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.7. documentsDocumentIdVersionsGet
GET /documents/{documentId}/versions
Description
Get a listing of document content versions
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
next |
Next page of results token |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.8. documentsGet
GET /documents
Description
Returns a list of the most recent documents added, ordered by inserted, descending
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
date |
Fetch documents inserted on a certain date (yyyy-MM-dd) |
- |
null |
|
tz |
UTC offset to apply to date parameter (IE: -0600) |
- |
null |
|
next |
Next page of results token |
- |
null |
|
previous |
Previous page of results token |
- |
null |
|
siteId |
Site Identifier |
- |
null |
|
limit |
Limit Results |
- |
10 |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.9. documentsPost
POST /documents
Description
Creates a new document; body may include document content if less than 5 MB
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddDocumentRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
201 CREATED |
8.1.10. documentsUploadGet
GET /documents/upload
Description
Returns a URL that can be used to upload document content and create a new document; required to add content that is larger than 5 MB
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
path |
The upload file's path |
- |
null |
|
siteId |
Site Identifier |
- |
null |
|
contentLength |
Indicates the size of the entity-body |
- |
null |
|
duration |
Indicates the number of hours request is valid for |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.1.11. documentsUploadPost
POST /documents/upload
Description
Returns a URL that can be used to upload document content and create a new document; required to add content that is larger than 5 MB
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddDocumentUploadRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
duration |
Indicates the number of hours request is valid for |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
201 CREATED |
8.2. DocumentActions
8.2.1. documentsDocumentIdActionsGet
GET /documents/{documentId}/actions
Description
Get Document Actions and their Status
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.2.2. documentsDocumentIdActionsPost
POST /documents/{documentId}/actions
Description
Add action to a document
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddDocumentActionsRequest |
- |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.3. DocumentSearch
8.3.1. searchFulltextPost
POST /searchFulltext
Description
Document full text search (and more robust multi-tag search queries, powered by OpenSearch) ONLY available with FormKiQ Enterprise
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
DocumentFulltextRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
limit |
Limit Results |
- |
10 |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.3.2. searchPost
POST /search
Description
Document search query request; documents are searched primarily using a document tag key and optional tag value, while an optional documentIds parameter is also available in the DocumentSearchBody to filter within up to 100 documentIds
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
DocumentSearchRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
limit |
Limit Results |
- |
10 |
|
next |
Next page of results token |
- |
null |
|
previous |
Previous page of results token |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.3.3. queryFulltextPost
POST /queryFulltext
Description
Endpoint for allowing custom, complex queries using the OpenSearch search API (https://opensearch.org/docs/latest/opensearch/rest-api/search/) ONLY available with FormKiQ Enterprise
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
body |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.4. DocumentTags
8.4.1. documentsDocumentIdTagsGet
GET /documents/{documentId}/tags
Description
Get a listing of a document’s tags
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
limit |
Limit Results |
- |
10 |
|
next |
Next page of results token |
- |
null |
|
previous |
Previous page of results token |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.4.2. documentsDocumentIdTagsPost
POST /documents/{documentId}/tags
Description
Add a single tag to a document; endpoint also accepts a different body parameter for adding multiple tags at one time
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddDocumentTagRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
201 |
200 OK |
<<>> |
8.4.3. documentsDocumentIdTagsPost_1
POST /documents/{documentId}/tags#
Description
Add multiple tags to a document; endpoint also accepts a different body parameter for adding a single tag
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddDocumentTagsRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
201 |
200 OK |
<<>> |
8.4.4. documentsDocumentIdTagsTagKeyDelete
DELETE /documents/{documentId}/tags/{tagKey}
Description
Delete a document tag by using its key
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
|
tagKey |
Tag Key |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.4.5. documentsDocumentIdTagsTagKeyGet
GET /documents/{documentId}/tags/{tagKey}
Description
Get a document tag by using its key
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
|
tagKey |
Tag Key |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.4.6. documentsDocumentIdTagsTagKeyPut
PUT /documents/{documentId}/tags/{tagKey}
Description
Update any and all values of a document tag, by using its key; you can supply one tag value or a list of tag values in the request body
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
|
tagKey |
Tag Key |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
SetDocumentTagKeyRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.4.7. documentsDocumentIdTagsTagKeyTagValueDelete
DELETE /documents/{documentId}/tags/{tagKey}/{tagValue}
Description
Delete a specific document tag’s key/value combination; the request will be ignored if there is no valid key/value combination found
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
|
tagKey |
Tag Key |
X |
null |
|
tagValue |
Tag Key Value |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.5. Miscellaneous
GET /sites
Description
Returns the list of sites that the user has access to
Content Type
-
application/json
8.5.6. versionGet
GET /version
Description
Return the version of FormKiQ
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
Samples
POST /public/documents
Description
Allows unauthenticated creation of new documents; must be enabled during installation (disabled by default)
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
DocumentBody |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
201 CREATED |
POST /public/webhooks/{webhooks+}
Description
Receives an incoming public post to a specified webhook and creates a document based on the data sent; must be enabled during installation (disabled by default)
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
webhooks+ |
Web Hook Param |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
body |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.6. Webhooks
8.6.1. privateWebhooksWebhooksPost
POST /private/webhooks/{webhooks+}
Description
Receives an incoming private webhook and creates a document based on the webhook’s body; requires authentication
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
webhooks+ |
Web Hook Param |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
body |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.6.2. webhooksGet
GET /webhooks
Description
Returns a list of webhooks; each webhook’s id can be provided to an external service, allowing data to be sent, received, and processed via that webhook
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.6.3. webhooksPost
POST /webhooks
Description
Create a new webhook; once created, a webhook’s id can be provided to an external service, allowing data to be sent, received, and processed via that webhook
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddWebhookRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
201 CREATED |
8.6.4. webhooksWebhookIdDelete
DELETE /webhooks/{webhookId}
Description
Deletes a webhook; this will disable sending, receiving, or processing of data from external services to this webhook
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
webhookId |
Web Hook Param |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.6.5. webhooksWebhookIdGet
GET /webhooks/{webhookId}
Description
Returns a webhook’s details, i.e., its metadata
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
webhookId |
Web Hook Param |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.6.6. webhooksWebhookIdPatch
PATCH /webhooks/{webhookId}
Description
Updates a webhook’s details, i.e., its metadata
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
webhookId |
Web Hook Param |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddWebhookRequest |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.6.7. webhooksWebhookIdTagsGet
GET /webhooks/{webhookId}/tags
Description
Get a webhook’s tags
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
webhookId |
Web Hook Param |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.6.8. webhooksWebhookIdTagsPost
POST /webhooks/{webhookId}/tags
Description
Add a tag to a webhook
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
webhookId |
Web Hook Param |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
GetDocumentTagResponse |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
201 |
200 OK |
<<>> |
8.7. EnterpriseAntivirus
8.7.1. documentsDocumentIdAntivirusPut
PUT /documents/{documentId}/antivirus
Description
Performs Antivirus scan on a document. ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
body |
- |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.8. EnterpriseFulltext
8.8.1. documentsDocumentIdFulltextDelete
DELETE /documents/{documentId}/fulltext
Description
Removes full text search for a document; ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.8.2. documentsDocumentIdFulltextGet
GET /documents/{documentId}/fulltext
Description
Retrieves an OpenSearch document’s details, i.e., metadata
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.8.3. documentsDocumentIdFulltextPatch
PATCH /documents/{documentId}/fulltext
Description
Updates Opensearch document; ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
UpdateDocumentFulltextRequest |
- |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.8.4. documentsDocumentIdFulltextPut
PUT /documents/{documentId}/fulltext
Description
Set all text/tags found within a document to OpenSearch; ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
SetDocumentFulltextRequest |
- |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.8.5. documentsDocumentIdFulltextTagsTagKeyDelete
DELETE /documents/{documentId}/fulltext/tags/{tagKey}
Description
Removes document tags from full text search; ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
|
tagKey |
Tag Key |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.8.6. documentsDocumentIdFulltextTagsTagKeyTagValueDelete
DELETE /documents/{documentId}/fulltext/tags/{tagKey}/{tagValue}
Description
Removes document tag/value from full text search; ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
|
tagKey |
Tag Key |
X |
null |
|
tagValue |
Tag Key Value |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.9. EnterpriseOCR
8.9.1. documentsDocumentIdOcrDelete
DELETE /documents/{documentId}/ocr
Description
Delete a Document optical character recognition (OCR) result; if exists. ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.9.2. documentsDocumentIdOcrGet
GET /documents/{documentId}/ocr
Description
Get Document optical character recognition (OCR) result; if exists. ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
contentUrl |
Whether to return a "contentUrl", set value to 'true' |
- |
null |
|
text |
Returns raw 'text' of OCR content. e.g. AWS Textract returns JSON, setting parameter to 'true' converts JSON to Text |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.9.3. documentsDocumentIdOcrPost
POST /documents/{documentId}/ocr
Description
Document optical character recognition (OCR) request; extract text and data from a document. ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddDocumentOcrRequest |
- |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.9.4. documentsDocumentIdOcrPut
PUT /documents/{documentId}/ocr
Description
Sets a Document optical character recognition (OCR) document. ONLY available with FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
documentId |
Document Identifier |
X |
null |
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
SetDocumentOcrRequest |
- |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.10. EnterpriseTagSchema
8.10.1. tagSchemasGet
GET /tagSchemas
Description
Returns the list of tagSchemas; ONLY available in FormKiQ Enterprise
Parameters
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
|
limit |
Limit Results |
- |
10 |
|
next |
Next page of results token |
- |
null |
|
previous |
Previous page of results token |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.10.2. tagSchemasPost
POST /tagSchemas
Description
Creates a new TagSchema; ONLY available in FormKiQ Enterprise
Parameters
Body Parameter
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
AddTagSchema |
X |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
201 |
201 CREATED |
|
400 |
400 BAD REQUEST |
8.10.3. tagSchemasTagSchemaIdDelete
DELETE /tagSchemas/{tagSchemaId}
Description
Delete a TagSchema; ONLY available in FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
tagSchemaId |
Tag Schema Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
<<>> |
8.10.4. tagSchemasTagSchemaIdGet
GET /tagSchemas/{tagSchemaId}
Description
Retrieves a TagSchema’s details, i.e., metadata; ONLY available in FormKiQ Enterprise
Parameters
Path Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
tagSchemaId |
Tag Schema Identifier |
X |
null |
Query Parameters
Name | Description | Required | Default | Pattern |
---|---|---|---|---|
siteId |
Site Identifier |
- |
null |
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
8.11. Miscellaneous
8.11.1. sitesGet
GET /sites
Description
Returns the list of sites that the user has access to
Content Type
-
application/json
Responses
Code | Message | Datatype |
---|---|---|
200 |
200 OK |
9. Models
9.1. AddAction
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
type |
X |
String |
Type of Document Action |
Enum: OCR, FULLTEXT, ANTIVIRUS, WEBHOOK, |
parameters |
AddActionParameters |
9.2. AddActionParameters
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
ocrParseTypes |
String |
OCR Parse types - TEXT, FORMS, TABLES |
||
addPdfDetectedCharactersAsText |
Boolean |
OCR action for rewrite PDF document, converting any Image text to searchable text |
||
url |
String |
Webhook action for the callback URL |
9.3. AddChildDocument
List of related documents
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
path |
String |
Path or Name of document |
||
contentType |
String |
Document Content-Type |
||
isBase64 |
Boolean |
Is Content Base64 encoded |
||
content |
X |
String |
Document content |
9.4. AddChildDocumentResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
documentId |
String |
Document Identifier |
||
uploadUrl |
String |
Url to upload document to |
9.5. AddDocumentActionsRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
actions |
List of AddAction |
List of Actions |
9.6. AddDocumentActionsResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
message |
String |
Document Action message |
9.7. AddDocumentOcrRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
parseTypes |
List of [string] |
OCR Parse types - TEXT, FORMS, TABLES |
||
addPdfDetectedCharactersAsText |
Boolean |
Rewrite PDF document, converting any Image text to searchable text |
9.8. AddDocumentOcrResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
message |
String |
OCR processing message |
9.9. AddDocumentRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tagSchemaId |
String |
Tag Schema Id |
||
path |
String |
Path or Name of document |
||
contentType |
String |
Document Content-Type |
||
isBase64 |
Boolean |
Is Content Base64 encoded |
||
content |
X |
String |
Document content |
|
tags |
List of AddDocumentTagRequest |
List of document tags |
||
actions |
List of AddAction |
List of Actions |
||
documents |
List of AddChildDocument |
List of child documents |
9.10. AddDocumentResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
documentId |
UUID |
Document Identifier |
uuid |
|
siteId |
String |
Site Identifier |
||
uploadUrl |
String |
Url to upload document to |
||
documents |
List of AddChildDocumentResponse |
List of child documents |
9.11. AddDocumentTagRequest
List of Document Tags (use either 'value' or 'values' not both)
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
key |
X |
String |
Tag key |
|
value |
String |
Tag value |
||
values |
List of [string] |
Tag values |
9.12. AddDocumentTagsRequest
Add List of document tags
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tags |
List of AddDocumentTagRequest |
List of document tags |
9.13. AddDocumentUploadRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tagSchemaId |
String |
Tag Schema Id |
||
path |
String |
Path or Name of document |
||
tags |
List of AddDocumentTagRequest |
List of document tags |
||
actions |
List of AddAction |
List of Actions |
9.14. AddTagSchemaRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
name |
String |
|||
tags |
AddTagSchemaTags |
9.15. AddTagSchemaTags
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
compositeKeys |
List of TagSchemaCompositeKey |
List of Composite Keys |
||
required |
List of TagSchemaRequired |
List of Required Tags |
||
optional |
List of TagSchemaOptional |
List of Optional Tags |
||
allowAdditionalTags |
Boolean |
9.16. AddWebhookRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
name |
X |
String |
Name of webhook |
|
ttl |
String |
Webhook time to live (expiry) |
||
enabled |
String |
Is webhook enabled |
||
tags |
List of AddDocumentTagRequest |
List of document tags |
9.17. AddWebhookResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
id |
UUID |
uuid |
||
siteId |
String |
Site Identifier |
9.18. DocumentAction
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
status |
String |
Status of the Document Action |
||
type |
String |
Type of Document Action |
||
userId |
String |
User who requested the Action |
||
parameters |
Object |
Action parameters |
9.19. DocumentFulltextRequest
Document full text search
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
query |
X |
DocumentFulltextSearch |
||
responseFields |
SearchResponseFields |
9.20. DocumentFulltextResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
documents |
List of FulltextSearchItem |
List of search result documents |
9.21. DocumentFulltextSearch
Document full text search criteria
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
page |
Integer |
Result page to return (starting at 1) |
||
text |
String |
Full text search |
||
tags |
List of DocumentFulltextTag |
List of search tags |
9.22. DocumentFulltextTag
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
eq |
String |
Searches for strings that eq |
||
eqOr |
List of [string] |
Searches for ANY strings that eq |
||
key |
X |
String |
Tag key to search |
9.23. DocumentId
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
documentId |
X |
UUID |
Document Identifier |
uuid |
siteId |
String |
Site Identifier |
9.24. DocumentItemResult
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
siteId |
String |
Site Identifier |
||
path |
String |
Path or Name of document |
||
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
lastModifiedDate |
Date |
Last Modified Timestamp |
date-time |
|
checksum |
String |
Document checksum, changes when document file changes |
||
documentId |
UUID |
Document Identifier |
uuid |
|
contentType |
String |
Document Content-Type |
||
userId |
String |
User who added document |
||
contentLength |
Integer |
Document size |
||
versionId |
String |
Document version |
9.25. DocumentItemVersion
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
versionId |
X |
String |
Document version |
|
lastModifiedDate |
String |
Last modified date |
9.26. DocumentSearchItemTag
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
beginsWith |
String |
Searches for strings that begin with |
||
eq |
String |
Searches for strings that eq |
||
eqOr |
List of [string] |
Searches for ANY strings that eq |
||
key |
X |
String |
Tag key to search |
9.27. DocumentSearchMatchTag
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
key |
String |
Tag key |
||
value |
String |
Tag value |
||
type |
String |
Tag type |
9.28. DocumentSearchRequest
Document search tag criteria
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
query |
X |
DocumentSearchTag |
||
responseFields |
SearchResponseFields |
9.29. DocumentSearchResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
next |
String |
Next page of results token |
||
previous |
String |
Previous page of results token |
||
documents |
List of SearchDocumentItem |
List of search result documents |
9.30. DocumentSearchTag
Document tag search criteria
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tag |
X |
DocumentSearchItemTag |
||
documentIds |
List of [string] |
List of DocumentIds to filter search results on |
9.31. Error
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
key |
String |
Error Key |
||
error |
String |
Error Message |
9.32. ErrorsResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
errors |
List of Error |
List of errors |
9.33. FulltextSearchItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
siteId |
String |
Site Identifier |
||
path |
String |
Path or Name of document |
||
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
documentId |
UUID |
Document Identifier |
uuid |
|
createdBy |
String |
User who added document |
||
tags |
Object |
9.34. GetDocumentActionsResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
actions |
List of DocumentAction |
List of document actions |
9.35. GetDocumentContentResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
content |
String |
Document content |
||
contentUrl |
String |
Url to document content |
||
contentType |
String |
Document Content-Type |
||
isBase64 |
Boolean |
Is Content Base64 encoded |
9.36. GetDocumentFulltextResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
siteId |
String |
Site Identifier |
||
content |
String |
Content of document |
||
path |
String |
Path or Name of document |
||
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
documentId |
UUID |
Document Identifier |
uuid |
|
createdBy |
String |
User who added document |
||
tags |
Object |
9.37. GetDocumentOcrResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
data |
String |
OCR text result |
||
ocrEngine |
String |
The OCR technique used |
||
ocrStatus |
String |
The status of the OCR request |
||
contentType |
String |
Document Content-Type |
||
isBase64 |
Boolean |
Is Content Base64 encoded |
||
userId |
String |
User who requested the OCR |
||
documentId |
UUID |
Document Identifier |
uuid |
9.38. GetDocumentResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
next |
String |
Next page of results token |
||
previous |
String |
Previous page of results token |
||
siteId |
String |
Site Identifier |
||
path |
X |
String |
Path or Name of document |
|
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
lastModifiedDate |
Date |
Last Modified Timestamp |
date-time |
|
checksum |
String |
Document checksum, changes when document file changes |
||
documentId |
X |
UUID |
Document Identifier |
uuid |
contentType |
String |
Document Content-Type |
||
userId |
String |
User who added document |
||
contentLength |
Integer |
Document size |
||
versionId |
String |
Document version |
||
belongsToDocumentId |
String |
Parent Document Identifier |
||
documents |
List of related documents |
9.39. GetDocumentResponseDocumentsInner
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
path |
String |
Path or Name of document |
||
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
lastModifiedDate |
Date |
Last Modified Timestamp |
date-time |
|
checksum |
String |
Document checksum, changes when document file changes |
||
documentId |
UUID |
Document Identifier |
uuid |
|
contentType |
String |
Document Content-Type |
||
userId |
String |
User who added document |
||
contentLength |
Integer |
Document size |
||
versionId |
String |
Document version |
||
belongsToDocumentId |
String |
Parent Document Identifier |
9.40. GetDocumentTagResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
insertedDate |
String |
Inserted Timestamp |
||
documentId |
String |
Document Identifier |
||
type |
String |
Tag type |
||
userId |
String |
User who added document |
||
value |
X |
String |
Tag value |
|
values |
List of [string] |
Tag values |
||
key |
X |
String |
Tag key |
9.41. GetDocumentTagsResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
next |
String |
Next page of results token |
||
previous |
String |
Previous page of results token |
||
tags |
List of GetDocumentTagResponse |
List of tags |
9.42. GetDocumentUrlRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
documentId |
String |
Document Identifier |
||
url |
String |
Document content url |
9.43. GetDocumentVersionsResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
next |
String |
Next page of results token |
||
versions |
List of DocumentItemVersion |
List of document versions |
9.44. GetDocumentsResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
next |
String |
Next page of results token |
||
previous |
String |
Previous page of results token |
||
documents |
List of DocumentItemResult |
List of documents |
9.45. GetSitesRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
sites |
List of Site |
List of sites |
9.46. GetTagSchemaRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tagSchemaId |
String |
|||
name |
String |
|||
userId |
String |
|||
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
tags |
GetTagSchemaRequest_tags |
9.47. GetTagSchemaRequestTags
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
compositeKeys |
List of TagSchemaCompositeKey |
List of Composite Keys |
||
required |
List of TagSchemaRequired |
List of Required Tags |
||
optional |
List of TagSchemaOptional |
List of Optional Tags |
||
allowAdditionalTags |
Boolean |
9.48. GetTagSchemasRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
schemas |
List of TagSchemaSummary |
List of Tag Schemas |
||
next |
String |
|||
previous |
String |
9.49. GetVersionRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
version |
String |
FormKiQ version |
||
type |
String |
FormKiQ type |
||
modules |
List of [string] |
List of installed modules |
9.50. GetWebhookResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
siteId |
String |
Site Identifier |
||
name |
String |
Webhook name |
||
url |
String |
Webhook url |
||
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
id |
UUID |
Webhook Identifier |
uuid |
|
userId |
String |
User who added document |
9.51. GetWebhookTagsResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
next |
String |
Next page of results token |
||
previous |
String |
Previous page of results token |
||
tags |
List of WebhookTag |
List of webhook tags |
9.52. GetWebhooksResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
webhooks |
List of GetWebhookResponse |
List of webhooks |
9.53. QueryFulltextResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
result |
Object |
9.54. SearchDocumentItem
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
siteId |
String |
Site Identifier |
||
path |
String |
Path or Name of document |
||
insertedDate |
Date |
Inserted Timestamp |
date-time |
|
checksum |
String |
Document checksum, changes when document file changes |
||
documentId |
UUID |
Document Identifier |
uuid |
|
contentType |
String |
Document Content-Type |
||
userId |
String |
User who added document |
||
contentLength |
Integer |
Document size |
||
versionId |
String |
Document version |
||
matchedTag |
DocumentSearchMatchTag |
|||
tags |
Object |
9.55. SearchResponseFields
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tags |
List of [string] |
9.56. SetAntivirusResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
message |
String |
Antivirus processing message |
9.57. SetDocumentFulltextRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
contentType |
String |
Document Content-Type |
||
content |
String |
Document content |
||
contentUrls |
List of [string] |
Url which contains Document content |
9.58. SetDocumentFulltextResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
message |
String |
Full text processing message |
9.59. SetDocumentOcrRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
contentType |
String |
Document Content-Type |
||
isBase64 |
Boolean |
Is Content Base64 encoded |
||
content |
X |
String |
Document content |
9.60. SetDocumentTagKeyRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
value |
String |
Tag value |
||
values |
List of [string] |
Tag values |
9.61. Site
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
siteId |
String |
Site Identifier |
||
uploadEmail |
String |
SiteId document upload email address |
9.62. TagSchemaCompositeKey
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
key |
List of [string] |
9.63. TagSchemaOptional
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
key |
String |
|||
defaultValues |
List of [string] |
Default values |
||
allowedValues |
List of [string] |
Only valid values |
9.64. TagSchemaPostResponse
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tagSchemaId |
UUID |
Tag Schema Identifier |
uuid |
9.65. TagSchemaRequired
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
key |
String |
|||
defaultValues |
List of [string] |
Default values |
||
allowedValues |
List of [string] |
Only valid values |
9.66. TagSchemaSummary
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
tagSchemaId |
String |
|||
name |
String |
|||
userId |
String |
|||
insertedDate |
Date |
Inserted Timestamp |
date-time |
9.67. UpdateDocumentFulltextRequest
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
path |
String |
Path or Name of document |
||
content |
String |
Document content |
||
tags |
List of AddDocumentTagRequest |
List of document tags |
9.68. WebhookTag
Field Name | Required | Type | Description | Format |
---|---|---|---|---|
insertedDate |
String |
Inserted Timestamp |
||
webhookId |
String |
Webhook Identifier |
||
type |
String |
Tag type |
||
userId |
String |
User who added document |
||
value |
X |
String |
Tag value |
|
key |
X |
String |
Tag key |
10. Appendix
Please check out the website for further links, and to contact.