Fetch form, file and folder information: GET /Objects

Get information about objects, such as forms, files and folders.


VERB
Header
Resource/Id/Selector
Description
Parameters
Return data
GET
Ticket
/Objects/{Id}
Gets basic metadata for an object in the repository, such as a form or a file.
Id (string)
(VersionId (string))
Object:

Id (string)
ParentId (string)
Name (string)
Description (string)
ObjectClass (string)
Container (bool)
(ReadOnly (bool))
(TypeNamespace (string))
(TemplateId (string))
(FileType (string))
GET
Ticket
/Objects/{Id}/Objects
Lists available items in a container object (such as a folder)
Id (string)
(VersionId (string))
(Start (int))
(Max (int))
Totalcount (int):

Data (array):
Id (string)
Name (string)
Description (string)
ObjectClass (string)
Container (bool)
(FileType (string))
GET
Ticket
/Objects/{Id}/Fields
Lists all fields in an object, such as all fields for a form.


Field types (Type) that can be returned are:
checkbox
datefield
fileuploadfield
htmleditor
numberfield
radio
textarea
textfield
timefield
select (single value drop-down box)
multiselect (multi value drop-down box)
Id (string)(VersionId (string))
Array of Field objects:

Id (string)
Name (string)
DataType (string)
FieldType (string)
Value (string)
FieldTypeNamespace (string)
ReadOnly (bool)
Index (int)
GET
Ticket
/Objects/{Id}/PDF
Get the PDF rendition for an object, if available.
Id (string)

(VersionId (string))
Binary data:

Adobe PDF file
GET
Ticket
/Objects/{Id}/Image
Get the PNG Image rendition for an object, if available.
Id (string)
(VersionId (string))
(Width (int))
(Height (int))
Binary data:

PNG Image file
GET
Ticket
/Objects/{Id}/File
Get the file contents for an object, if available.
Id (string)
(VersionId (string))
Binary data:

File


Create new forms, files and folders: POST /Objects

Create new objects, such as new forms, a file and a folder in an instance.


VERB
Header
Resource/Id/Selector
Description
Parameters
Return data
POST
Ticket
Content-Type/Objects/{Id}/Objects
Uploads one or many files to a container object, such as a folder.


Files are automatically uploaded to the {Id} object container if the client sends a HTTP POST with the Content-Type header of the request set to multipart/form-data according to RFC1867 (http://www.faqs.org/rfcs/rfc1867.html).


The generated Id for each uploaded file is returned in the items array of the HTTP response.


Empty files cannot be uploaded.
Id (string)
Object:

success (bool)
Items (array)
FileName (string),
Id (string),
ReferenceId (string)
POST
Ticket
/Objects/{Id}/Objects
Creates a new object in a container.


Clients create new objects by sending HTTP POST requests to the container URL, with the object entry in the request body.


Creating folders


{
objectclass: "repository.folder",
name: "My new folder"
}




Creating dataforms
Set the templateid attribute in a dataform entry to create a dataform object. The correct templateid for each template can be fetched using the /templates API.


It's possible to create single or multiple objects within one HTTP POST request as per below. The examples below describes all possible attributes and whether they are mandatory or not.


Entry for creating a single dataform object (red attributes are mandatory):


{
objectclass: "dataforms.dataform",
name: "My form",
templateid: "template1",
fields:
[
{ name: "fieldId1", value: "value1" },
{ name: "fieldId2", value: "value2"}
]
}




Entry for creating multiple objects:


[
{
objectclass: "dataforms.dataform",
name: "My form",
templateid: "template1",
fields:
[
{ name: "fieldId1", value: "value1" },
{ name: "fieldId2", value: "value2"}
]
},
{
objectclass: "dataforms.dataform",
name: "My other form",
templateid: "template2",
fields:
[
{ name: "fieldId1", value: "value1" },
{ name: "fieldId2", value: "value2"}
]
}
]
Id (string)
Object:
success (bool)
Items (array)
name(string),
Id (string),
ReferenceId (string)



Update a data form using post: POST /Objects/{Id}

Update a form by posting fields and values as querystrings. This is the old way of updating a forms fields. Using PUT /Objects you can accomplish the same functionality and more.


VERB
Header
Resource/Id/Selector
Description
Parameters
Return data
POST
Ticket
/Objects/{Id}/Fields
Updates fields in an object, such as fields for a form.


POST data should look like:
Field1=Value1&Field2=Value2&Field3=Value3




The HTTP Header “Content-Type” should be set to “application/x-www-form-urlencoded”


Updating Type Fields


Type fields all have a FieldTypenamespace which indicates that the field is a metadata field. A Type field also has the parameter FieldType with the value select or multiselect indicating that it can contain a single value or multiple values.


To post a single value to a select field you post the TypeNamespaceId to the fieldId:
FieldId1=TypeNamespaceId1




To post mutliple values to a multiselect field you post the comma separated TypeNamespaceIds to the fieldId:
FieldId1=TypeNamespaceId1,TypeNamespaceId2




For information on how to get Types and their content see the method /Types
Id (string)
Object:

success (bool)


Update objects using put: PUT /Objects/{Id}

Update an existing object

VERB
Header
Resource/Id/Selector
Description
Parameters
Return data
PUT
Ticket
/Objects/{Id}
or
/Objects/{Id}/Objects/{ReferenceId}
Updates an existing object by putting a new entry to an existing resource URL. It is currently not possible to update multiple objects at the same time. The objectclass, typenamespace and templateid attributes cannot be changed when updating objects.



Use the URL variant with ReferenceId to reach an object within an object container with a reference id, such as /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63/Objects/template1 to reach the "template1" template-based object


or


/Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63/Objects/Customer to reach the "Customer" pure data object within the /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63 container.


Entry for updating a folder:


PUT /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63


{ name: "Attachment" }




Entry for updating file metadata:


PUT /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63


{
name: "MyFile.PDF",
description: "My file attachment"
}




Entry for updating a dataform:


The attributes readonly, name, and value are mandatory


PUT /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63/Objects/Customer


{
fields:
[
{ name: "Zip", value: "41117" }
]
}
Id (string)
Object:
success (bool)


Update files: POST /Objects/{Id}

VERB
Header
Resource/Id/Selector
Description
Parameters
Return data
POST
Ticket
Content-Type
 /Objects/{Id}
or
/Objects/{Id}/Objects/{ReferenceId}
Updates an existing file object by uploading a new file to an existing resource URL.



Files are automatically uploaded if the client sends a HTTP POST with the Content-Type header of the request set to multipart/form-data according to RFC1867 (http://www.faqs.org/rfcs/rfc1867.html).


Empty files cannot be uploaded.
Id (string)
Object:

success (bool)


Delete dataforms, files and folders: DELETE /Objects/{Id}

Delete dataforms or files or folders.


VERB
Header
Resource/Id/Selector
Description
Parameters
Return data
DELETE
Ticket
/Objects/{Id}
or
/Objects/{Id}/Objects/{ReferenceId}
Deletes an existing object by sending a HTTP DELETE to an existing resource URL. It is currently not possible to delete multiple objects at the same time.



Use the URL variant with ReferenceId to delete an object within an object container with a reference id, such as /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63/Objects/7B to delete the "7B" template-based object or /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63/Objects/Kund to delete the "Kund" pure data object within the /Objects/00a9e90c-17b8-413c-ba9a-b60d2600ad63 container.


Objects with the ReadOnly attribute set to true cannot be deleted.
Id (string)
Object:

success (bool)