This is the documentation for ConfiForms Server/Data Center app
However, this might also work for ConfiForms cloud and in most cases it does. But please see this page to understand the differences between server and cloud versions of the ConfiForms app.
This API is available from ConfiForms version 2.18
ConfiForms API prefix is "/rest/confiforms/1.0"
Each API call expects you to provide at least the information about the page where the form is located (pageId - as number, pointing at Confluence page by ID - https://confluence.atlassian.com/confkb/how-to-get-confluence-page-id-648380445.html) and the form name (the name of the form you have given in ConfiForms Form Definition macro for the form).
See extra parameters that can be supplied as a request parameters (or as a POST/PUT parameters) to the call
For example:
/rest/confiforms/1.0/deleteById/123456/myform/deae188e-a6a2-409c-b197-b46332df331f?skipIFTTTExecute=true
Multiple parameters should be given by using & as a parameters separator, for example
/rest/confiforms/1.0/search/123456/myform/mytext:hello?sort=created ASC&limit=5
Alternatively (same request)
/rest/confiforms/1.0/search/123456/myform?query=mytext:hello&sort=created ASC&limit=5
When you get "XSRF check failed" as a response from the API
see this https://confluence.atlassian.com/kb/cross-site-request-forgery-csrf-protection-changes-in-atlassian-rest-779294918.html on how to get it properly resolved or add the X-Atlassian-Token into your request headers (https://confluence.atlassian.com/cloudkb/xsrf-check-failed-when-calling-cloud-apis-826874382.html)
X-Atlassian-Token: no-check
For uploading the files with ConfiForms API please see this ConfiForms Server REST API version 0#UploadfiletoConfiFormsfield, as version 1 does not have this API endpoint yet
List of APIs
Name | URL | Http Method | Description | Extra (query) parameters |
---|---|---|---|---|
Create ConfiForms Entry | /rest/confiforms/1.0/create/{pageId}/{formName} | POST POST with multipart/form-data (from version 2.27) Please note that the multipart/form-data requests are now get blocked in recent versions of ConfiForms and the suggested way is to send the file as a bas64 encoded contents Content-Type:application/json | Creates ConfiForms entry in the form | You will need to POST the following JSON structure to this REST API endpoint { "fields": { "mytextfield":"field value", "datefield1": "2020-04-25", "ready": true, "mydropdown": 2 } } Where each property name in the "fields" JSON object matches the field name in your ConfiForms Form, Values are expected to be in the internal format Values for Date/DateTime could be given in the same format as your Confluence uses or as timestamp You can also POST data as a multipart/form-data where parameter names match the field names in the form SINCE 3.14.2 As the multipart/form-data requests are now get blocked in recent versions of ConfiForms and the suggested way is to send the file as a bas64 encoded contents { "fields": { ... "myfile": { "fileName": "", "fileContentType" : "see https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types", "fileContent" : "BASE64 encoded content here" } } } Can also accept an array of files { "fields": { ... "myfile": [ { "fileName": "", "fileContentType" : "see https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types", "fileContent" : "BASE64 encoded content here" }, { "fileName": "", "fileContentType" : "see https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types", "fileContent" : "BASE64 encoded content here" } ] } }
--- You can also POST a request with multipart/form-data. This comes handy when you want to upload attachments together with record creation. Please note that the parameter names must match the field names you have defined in your ConfiForms form SINCE 3.5.0
|
Update ConfiForms Entry | /rest/confiforms/1.0/update/{pageId}/{formName}/{id} | POST POST with multipart/form-data* (from version 2.27) Content-Type:application/json | Updates existing ConfiForms entry in the form (via {id} parameter) | Same as for create method, but with given UUID for the entry to perform an update
|
Validate ConfiForms Entry | /rest/confiforms/1.0/validate/{pageId}/{formName} /rest/confiforms/1.0/validate/{pageId}/{formName}/{id} | POST POST with multipart/form-data* (from version 2.27) Content-Type:application/json | Validates given data against the form's rules. Basically does the same as create/update, but does not do the actual "save" | Same JSON structure shall be given as with a "create" method |
Get form definition | /rest/confiforms/1.0/definition/{pageId}/{formName} | GET | Returns form configuration (definition) | SINCE 3.5.0
|
Get ConfiForms Entry by ID | /rest/confiforms/1.0/get/{pageId}/{formName}/{id} | GET | Returns ConfiForms entry data in JSON format by given ID (UUID) in a given form |
|
Search ConfiForms Entries by filter | /rest/confiforms/1.0/search/{pageId}/{formName} /rest/confiforms/1.0/search/{pageId}/{formName}/{filter} /rest/confiforms/1.0/search/{pageId}/{formName}?query={filter} | GET | Searches for ConfiForms entries in a form, based on the given filter/query (ConfiForms Filters). When filter is not specified all the entries are returned Filtering expression can be specified as "query" parameter as well |
|
Delete ConfiForms Entry by ID | /rest/confiforms/1.0/deleteById/{pageId}/{formName}/{id} | DELETE | Deletes ConfiForms entry by givenID (UUID) |
|
Delete ConfiForms Entries by filter | /rest/confiforms/1.0/deleteByFilter/{pageId}/{formName}/{filter} VERSION 3.13.1 /rest/confiforms/1.0/deleteByFilter/{pageId}/{formName}?query={filter} | DELETE | Deletes ConfiForms entry by given filter/query (ConfiForms Filters) |
|
Update ConfiForms Field value by filter | /rest/confiforms/1.0/updateFieldValue/{pageId}/{formName} /rest/confiforms/1.0/updateFieldValue/{pageId}/{formName}/{filter} VERSION 3.7.6 /rest/confiforms/1.0/updateFieldValue/{pageId}/{formName}?query={filter} | PUT | Updates specific field with a given value in the form, by filter (ConfiForms Filters). When filter is not specified the update is executed on all the entries |
|
Export RAW datasetSINCE 2.18.7 | /rest/confiforms/1.0/raw/{pageId}/{formName} | GET | Exports ConfiForms RAW dataset (which can be used with Migration and Recovery API) | |
ConfiForms installation infoSINCE 3.11.1 | /rest/confiforms/1.0/info | GET | Provides information on current ConfiForms installation (user must be authenticated to access this resource) | Example { "licenseType": "Commercial license. Max users: 5000....", "pluginVersion": "3.11.1", "pluginInstalled": "Sat Jun 08 11:19:58 EEST 2024", "memoryUsage": "1.4 GB", "confluenceLicenseType": "(users count: 5000), license type <DEVELOPER>", "pluginName": "ConfiForms, forms and workflows app for Confluence by Vertuna LLC", "memoryAvailable": "4 GB", "javaVersion": "17.0.8.1", "pluginDescription": "ConfiForms app helps you to create custom data entry forms for your business needs, in Confluence. The possibilities for creating powerfully effective data entry forms are endless! Voting, enrollment, inventory, surveys, bulletin boards, employee checklists, and other type of forms that are easy to create and manage", "debugLogEnabled": false } |
File uploadSINCE 3.14.2 | /upload/{pageId}/{formName}/{fieldName}/{entryId} | POST Content-Type:application/json | Allows you to upload a file (encoded as base64) to the existing record | Content body { "fileName": "", "fileContentType" : "see https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types", "fileContent" : "BASE64 encoded content here" } |