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) : kt_response

Logout - End a Session

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

logout(session : string) : kt_response

Anonymous Login

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

anonymous_login(ip : string) : kt_response

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) :kt_document_detail
get_document_detail_by_title(session : string, folder_id : integer, title : string, detail : string) : kt_document_detail
get_document_detail_by_filename(session : string, folder_id : integer, filename : string, detail : string) :kt_document_detail
get_document_detail_by_name(session : string, folder : integer, name : string, what : string, detail : string) : kt_document_detail

Fetch Document Metadata

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

get_document_metadata(session : string, document_id : integer) : kt_metadata_response

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) : kt_document_transaction_history_response 
get_document_version_history (session : string, document_id : integer) : kt_document_version_history_response

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) : kt_response 
get_document_workflow_transitions (session : string, document_id : integer) : kt_workflow_transitions_response