Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ConfiForms REST

...

Here is the list of REST endpoints and supported parameters for ConfiForms plugin

Both methods are supported:

  • POST (for file uploads only POST)
  • GET

pageId is a very important parameter and should be supplied always, as all the methods are executed when PAGE is known/defined, otherwise a NOT FOUND error is shown

See Atlassian guide how to find pageId parameter for the page - 

https://confluence.atlassian.com/confkb/how-to-get-confluence-page-id-648380445.html

Table of Contents

Info

Adding "_skipIfParamIsEmpty" 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

Code Block
_skipIfParamIsEmpty=true

...

Create entry

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/rest/save.action?pageId=<PAGE_ID>&f=<FORM_NAME>&fields...
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
fields... - fields here is a set of key-value pairs for ConfiForms form's fields you want to set (separated with '&' as HTTP parameters). For example if the form has a field with a name 'bookTitle' defined then you will need to write bookTitle=Book Title

Update entry

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/rest/save.action?pageId=<PAGE_ID>&f=<FORM_NAME>&entryId=ID&fields...
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
ID - entity id you would like to update, if not given then a new entity is created
fields... - fields here is a set of key-value pairs for ConfiForms form's fields you want to set (separated with '&' as HTTP parameters). For example if the form has a field with a name 'bookTitle' defined then you will need to write bookTitle=Book Title

Delete entry

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/delete.action?pageId=<PAGE_ID>&registrationFormName=<FORM_NAME>&entryId=<ID>
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
ID - entity id you would like to delete

...

Delete entries

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/remove.action?pageId=<PAGE_ID>&f=<FORM_NAME>&q=<FILTER>
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
FILTER - filter to match records you want to delete. Same syntax as the filter itself uses. See Using filters section in documentation

Update specific field

APIs for Server/Data Center version. If you are looking for integrations with ConfiForms for Confluence cloud then please refer to REST API for ConfiForms CLOUD

We maintain 2 versions of the API. Version 0 and Version 1 (available since ConfiForms 2.18 and supports Confluence PAT tokens as authentication method (https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html) and is also accessible through the REST API browser https://developer.atlassian.com/server/framework/atlassian-sdk/using-the-rest-api-browser/). 


Children Display

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/rest/update.action?pageId=<PAGE_ID>&f=<FORM_NAME>&q=<FILTER>&fv=field:value
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
FILTER - filter to match records you want to update. Same syntax as the filter itself uses. See Using filters section in documentation
fv=field:value - parameter fv shows which form's field to update and it's new value
Info

From ConfiForms version 1.49.2 you can use [entry.fieldname] in "fv" parameter (to reference the value from another field)

Code Block
fv=field:[entry.some_other_field]

Validate entry

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/rest/validate.action?pageId=<PAGE_ID>&f=<FORM_NAME>&fields...

This method only validates if the data could be saved

PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
fields... - fields here is a set of key-value pairs for ConfiForms form's fields you want to set (separated with '&' as HTTP parameters). For example if the form has a field with a name 'bookTitle' defined then you will need to write bookTitle=Book Title

Search entries

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/rest/filter.action?pageId=<PAGE_ID>&f=<FORM_NAME>&q=<QUERY>
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
QUERY - search query in Lucene format, For example to search for books which have a title ('bookTitle' field on the form) set to 'Catching fire' you would need to write the following expression: &q=bookTitle:Catching fire.
Take a look at Using filters tutorial to learn more by example
Info

From ConfiForms version 1.49.2 you can use additional "fields" parameter in the request to decorate the returned values with Virtual functions. Use "," to separate field decoration instructions

Code Block
fields=myfield.camelCase,mydatefield.formatDate(dd-MM-yyyy)

This translates to - try to apply camelCase virtual function on "myfield" and try to format "mydatefield" with the formatDate function and given pattern

Get form definition

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/rest/definition.action?pageId=<PAGE_ID>&f=<FORM_NAME>
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form

Upload file to ConfiForms field

Since ConfiForms version 1.20 you are now able to attach files to ConfiForms records via REST API. Make sure you create a POST request

File should be encoded as BASE64 string

Code Block
http(s)://CONFLUENCE_SERVER/ajax/confiforms/rest/upload.action?pageId=<PAGE_ID>&f=<FORM_NAME>&q=<FILTER>&fv=<FIELD_NAME>:<BASE64ENCODED_STRING>&fileContentType=<CONTENT_TYPE>&fileName=<NAMEOFFILE>
PAGE_ID - where the ConfiForms form is configured
FORM_NAME - name of ConfiForms form
FILTER - filter to find the entry you want to upload this file to (for example: id:GUID, id:39554293-f4c6-4ae5-9d34-cb34db1f44a0 to upload to a particular entry, filter can be anything ConfiForms supports ConfiForms Filters)

FIELD_NAME - name of the file followed by : and file contents encoded as BASE64 string

CONTENT_TYPE - file content type which you are trying to upload, expecting mime type, see https://www.sitepoint.com/web-foundations/mime-types-complete-list/

...