• Confluence is currently running with all non-system plugins disabled, some functionality may be missing
Child pages
  • ConfiForms Server REST API version 1

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


NameURLHttp MethodDescriptionExtra (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"
    }
    ]
  }
}


  • skipIFTTTExecute - true/false, to skip IFTTT executions (if there are any that should be executed onCreated event, you can switch them off)

---

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

  • _debug - could give you statistics on IFTTTs being executed and the invocation log 

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

  • skipIFTTTExecute - true/false, to skip IFTTT executions (if there are any that should be executed onModified event, you can switch them off)
  • _skipIfParamIsEmpty - true/false (false by default). Setting this parameter with value "true" to your request helps to bypass setting all the fields - useful when you have field definitions with validations and you dont want to set / reset those with your REST API call (and want ConfiForms to lookup existing values)
  • SINCE 3.5.0 _debug - could give you statistics on IFTTTs being executed and the invocation log 

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}GETReturns form configuration (definition)

SINCE 3.5.0

  • lazy - true/false, let's you request form definition with or without values for external fields (smart fields, db fields, web-services backed fields). Default is false, meaning that the options (values) are NOT loaded
  • _debug - true/false, allows you top get statistics on field initialization times to understand what are the slowest and problematic

Get ConfiForms Entry by ID

/rest/confiforms/1.0/get/{pageId}/{formName}/{id}GETReturns ConfiForms entry data in JSON format by given ID (UUID) in a given form

  • flatten - true/false - you can flatten multi-value fields (This will result in MULTIPLE rows returned!)
  • fields - used to decorate the returned values with Virtual functions. Use "," to separate field decoration instructions.
  • limitFields - comma separated list of field names to return in the response (helps to reduce the amount of data travelling between your service and ConfiForms). Please be aware that "metadata" fields are always returned - see Documentation
  • append - you can set this as "true", in your query parameters which instructs the parameter "fields" to add the transformed (decorated) fields into the record. This allows you to have multiple representations of the field in the output

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

  • flatten - true/false - you can flatten multi-value fields (This will result in MULTIPLE rows returned!)
  • fields - used to decorate the returned values with Virtual functions. Use "," to separate field decoration instructions.
  • limitFields - comma separated list of field names to return in the response (helps to reduce the amount of data travelling between your service and ConfiForms). Please be aware that "metadata" fields are always returned - see Documentation
  • append - you can set this as "true", in your query parameters which instructs the parameter "fields" to add the transformed (decorated) fields into the record. This allows you to have multiple representations of the field in the output

  • query - you can either use "{filter}" part of the url to specify the filtering expression or pass it via query request parameter (see an example on the top of the page)
  • limit - to limit the number of records returned (number) 
  • sortto sort the results set Sorting in ConfiForms
  • VERSION 3.5.5 ignoreCase - You can set the filtering to ignore case when matching (default) or not to ignore case when filtering entries, setting ignoreCase=false

Delete ConfiForms Entry by ID

/rest/confiforms/1.0/deleteById/{pageId}/{formName}/{id}DELETEDeletes ConfiForms entry by givenID (UUID)
  • skipIFTTTExecute - true/false, to skip IFTTT executions (if there are any that should be executed onDeleted event, you can switch them off)

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}

DELETEDeletes ConfiForms entry by given filter/query (ConfiForms Filters)
  • skipIFTTTExecute - true/false, to skip IFTTT executions (if there are any that should be executed onDeleted event, you can switch them off)

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}

PUTUpdates 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


  • skipIFTTTExecute - true/false, to skip IFTTT executions (if there are any that should be executed onModified event, you can switch them off)
  • fv  - abbreviation for "field-value" and is expected to have the following structure:  fv=myfield:somevalue. Which will be translated to - update ConfiForms records, and the "myfield" in particular with "somevalue"
  • VERSION 3.7.6 query - you can either use "{filter}" part of the url to specify the filtering expression or pass it via query request parameter (see an example on the top of the page)


Export RAW dataset

SINCE 2.18.7

/rest/confiforms/1.0/raw/{pageId}/{formName}GETExports ConfiForms RAW dataset (which can be used with Migration and Recovery API)

ConfiForms installation info

SINCE 3.11.1

/rest/confiforms/1.0/infoGET

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 upload

 SINCE 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"
}


  • No labels