SOAP Webservice

The KnowledgeTree SOAP Webservice uses the SOAP protocol to enable third-party applications to integrate with the KnowledgeTree application. Being platform and language independent, the standards-based SOAP protocol allows access from most modern programming environments.

The SOAP webservice supports most document and folder interactions. It does not, however, support much of the administrative or reporting functionality available through the Web Interface.

This article covers the core functionality of the webservice. If you require functionality beyond the scope of this article please contact our support team.


Most software development environments or libraries supporting SOAP will need to reference the WSDL URL in order to create the appropriate proxy objects to ease development.

The latest stable version of the WSDL can be accessed by referencing the URLhttps://<domain>/ktwebservice/webservice.php?wsdl. For KnowledgeTree SaaS users this will be https://<account name>

Alternatively, if a specific version of the Webservice is required it can be accessed using the URL: https://<domain>/ktwebservice/v<version>/wsdl. The current version of the Webservice is 3. All new functionality and updates are being added to version 4. As version 4 is in development and subject to change we advise using version 3 unless there is specific functionality in version 4 that is required.




Before any web service action can be done, the client application must first authenticate with KnowledgeTree. This is done by invoking the login method that will start a new session.

login(username:string, password:string, ip:string, app:string) 

Logout - End a Session

The client application can terminate a session by calling the logout method.


Anonymous Login

If anonymous access is required, the anonymous_login may be used:


Accessing Document Info

Fetch a Specific Document

A client may need to get information about a specific document in the repository. This may be done using the following functions depending on the available information:

get_document_detail(session:string, document:integer, detail:string) 
get_document_detail_by_title(session:string, folder_id:integer, title:string, detail:string)
get_document_detail_by_filename(session:string, folder_id:integer, filename:string, detail:string) 
get_document_detail_by_name(session:string, folder_id:integer, name:string, what:string, detail:string)

Fetch Document Metadata

The metadata or properties associated with the document - fields, fieldsets and values.

get_document_metadata(session:string, document_id:integer) 

Fetch Document History

The document history is composed of the version history (both metadata and content updates) and the transaction history (actions taken on the document).

get_document_transaction_history(session:string, document_id:integer) 
get_document_version_history(session:string, document_id:integer) 

Fetch Workflow Information

If the document is in a workflow these functions can be used to get the current state of the workflow and the available transitions for the state.

get_document_workflow_state(session:string, document_id:integer) 
get_document_workflow_transitions(session:string, document_id:integer) 

Accessing Folder Info

Fetch Folder Information

Get information about an individual folder.

get_folder_detail(session, folder_id)
get_folder_detail_by_name(session, folder_name, parent_id)

Fetch a Folder Tree

Get the folder tree including sub folders, documents and shortcuts.

get_folder_contents(session, folder_id, depth, what)

Content Creation

Content Creation

Create a folder

Upload a document