Skip to main content

iThenticate API

Introduction

Introduction to iThenticate's API

To begin using the API, use your regular iThenticate administrator login details. The URL of the API resource is https://api.ithenticate.com/rpc. An example API client written in Perl is available as a guide and can be provided by your account representative. Numerous XML-RPC client libraries exist for various programming languages, providing a high-level interface for making XML-RPC requests.

API Constraints

API requests are throttled to 60 requests/second per account. A user’s account cannot have more than 1000 folders and 100 folder groups. All XML-RPC data must be UTF-8 encoded. All requests are made via the HTTP POST method, and connections must be made via SSL.

API Requests

Every API request must include a session id (sid) obtained by an initial “login” API request. The iThenticate API will request validation, but users should ensure client-side requests conform to the guidelines. Non-conforming requests may not return correct responses or errors.

API Responses

All responses include an api_status value, similar to HTTP status codes. Example values are 200 (successful response), 401 (unauthenticated session id), 403 (unauthorized access), 404 (resource not found), and 500 (request error).

Failed Responses

Responses can contain a list of errors, typically due to input data validation failures. Example of a failed login response with too short a password:

Below is an example of a response from a failed login method call where the password field was too short:

<struct> <member> <name>errors</name> <value> <struct> <member> <name>password</name> <value> <array><data> <value><string>Input must be at least 6 characters. You submitted 3</string></value> </data></array> </value> </member> </struct> </value> </member> <member> <name>api_status</name> <value><int>500</int></value> </member></struct>

These error messages may be localized based on the account’s language preferences.

Response Messages

Example of a successful response with a message:

<struct> <member> <name>sid</name> <value><string>374cfed6020ff134e36263e8c070a47aba50a757</string></value> </member> 
<member> <name>messages</name> <value><array><data> <value><string>Folder Group Created</string></value> </data></array></value> </member>
<member> <name>api_status</name> <value><int>200</int></value> </member>
<member> <name>id</name> <value><int>109</int></value> </member></struct>

Error Processing

XML-RPC is an HTTP-based protocol, and thus any client applications must look at the HTTP status code before attempting to parse the XML response. iThenticate API requests return 200 HTTP status code unless there is a serious error that prevents processing of the request. For example, attempting to contact the API with an invalid XML-RPC endpoint URL will result in a HTTP status code 404. Malformed XML-RPC requests (e.g. invalid XML) will likely generate a 500 HTTP status code.

The iThenticate XML-RPC response will include an api_status element that indicates the success or failure of the API request. The api_status for normal successful methods will be 200. Although the api_status code is similar to canonical HTTP responses code, they should not be considered the same. Differences between values for api_status and standardized HTTP response codes in the HTTP may be subtle and the user should remember that HTTP status codes and api_status are separate entities and will almost always have different values for responses. Clients should check the HTTP response code before looking at the api_status value returned in the XML-RPC response.

An api_status code of 401 is returned for authorization failures. This can be due to invalid login credentials or a request coming from an IP address not authorized for API requests.

An api_status code of 403 indicates that the user does not have access to the requested resource

An api_status code of 404 indicates that an object id in the response does not exist or is invali

An api_status code of 500 indicates that the request was invalid in some way. This would typically be if the data passed in the XML-RPC request did not meet the requirements of the method. For example, not providing required elements in the XML-RPC request or submitting incorrectly formatted data.

Additional information about an error can be obtained by inspecting two additional elements other than the api_status element.

As described above, the XML-RPC response may include a messages element. This element may provide an overall reason for the failure, for example “Failed to log in”, or a specific failure condition not covered by the errors field.

The distinction between the errors and the messages elements may not be entirely clear to the end user. In the case where the documentation is unclear, the user is advised to discern the exact behavior of each element from the response given by the API web service itself.

Example of a response that includes an error condition with a explanation in the messages element:

Example of an error response:

<?xml version=”1.0” encoding=”utf-8”?><methodResponse> <params> <param> 
<value> <struct> <member> <name>messages</name> <value> <array> <data>
<value> <string>Sorry, failed to log in.</string> </value> </data> </array></value> </member>
<member> <name>api_status</name>
<value> <int>401</int> </value> </member> </struct></value> </param></params></methodResponse>

The message list may contain more than one message. For example, in this case more detail is provided about the error condition:

<?xml version=”1.0” encoding=”utf-8”?><methodResponse> <params> <param> <value> <struct> <member> <name>messages</name> <value> <array> <data> <value> <string>Access denied from 127.0.0.1</string> </value> <value> <string>Sorry, failed to log in.</string> </value> </data> </array> </value> </member> <member> <name>api_status</name> <value> <int>401</int> </value> </member> </struct> </value> </param> </params></methodResponse>

iThenticate API requests require one or more parameters. For example, logging in requires two parameters: a username and a password. The errors element, if included in the XML-RPC response, will provide details about errors with these parameters. The errors element is an XML-RPC struct element with the keys being the names of the parameters, and the values an XML-RPC list of one or more messages related to that parameter. The messages element may also contain details about errors encountered during the login process.

An example of the login method above shows an XML-RPC response where an invalid password parameter was submitted.

The following example shows an XML-RPC response that includes two messages, One begins with a generic message saying login did not succeed, and another message gives the reason for the failed login attempt.

<?xml version=”1.0” encoding=”utf-8”?><methodResponse> <params> <param> <value> <struct> 
<member> <name>messages</name> <value> <array> <data> <value> <string>Access denied from 127.0.0.1</string> </value>
<value> <string>Sorry, failed to log in.</string> </value> </data> </array> </value> </member>
<member> <name>status</name> <value> <int>401</int> </value> </member> </struct> </value> </param> </params></methodResponse>

Request and response parameters

Request parameter tables

Element XML-RPC Data Type Description API Methods
sid string

Session identifier, 40 characters (a-z, 0-9)

All except login
username string The username login
password string The password login
name string The name of the folder that contains the submissions, maximum 200 characters

group.add

folder.add

folder_group string The name of the folder group that contains the folder

folder.add

group.folders

description string A description of the folder group folder.add
id int Id of the newly created element

folder.get

folder.trash

user.drop

document.get

document.trash

report.get

group.get

group.drop

document_remove_from_index

exclude_quotes boolean Exclude quotes from the folder or report

folder.add

report.get

report.get_document

exclude_biblo boolean Exclude the bibliography from the folder or report

folder.add

folder.put

report.get

exclude_phrases boolean Exclude phrases from the folder or report

folder.add

folder.put

report.get

exclude_small_matches* boolean Exclude small matches from the folder or report

folder.add

folder.put

report.get

exclude_by_percent boolean Set to true to exclude small matches by percent. Set to false to exclude small matches by word count.

folder.add

folder.put

report.get

exclude_percent boolean The percent that the small match would be to be excluded from the report (a value between 1 and 100)

folder.add

folder.put

report.get

exclude_word_count boolean The word count that the small match would be to be excluded from the report (a value between 1 and 1000)

folder.add

folder.put

report.get

exclude_abstract boolean Exclude the abstract from the folder or report

folder.add

folder.put

exclude_methods boolean Exclude the methods and materials section from the folder or report

folder.add

folder.put

shared_with array of integers Ids of users the folder is to be shared with folder.sharing
add_to_index boolean Adds the folder to the search index Required if the account has a private node folder.add
first_name string First name for a user, maximum 4096 characters user.add
last_name string Last name for a user, maximum 4096 characters user.add
timezone int Numeric timezone ID, defaults to 126 ‘America/Los_Angeles’. See the appendix for available timezones user.add
submit_to int 1=> ’Generate Report Only’ 2=> ’to Document Repository Only’ (private storage node required) 3=> ‘to Document Repository & Generate Report’ (private storage node required) document.add
uploads array of arrays An array of document data. Each array element contains an elements as follows: title, author_first, author_last, filename, upload document.add
title string The title of the document, maximum 256 characters document.add
author_first string The document author’s first name, maximum 200 characters document.add
author_last string The document author’s last name, maximum 200 characters document.add
upload base64 The base64-encoded document document.add
callback_url string A url which will be fetched with the document id when the report is generated. For asynchronous uploading. document.add
o string Order by parameter, accepts a folder, group, or user attribute to order the results by

folder.list

group.list

user.list

p string Specify which page of a pager results set to return

folder.list

group.list

user.list

r string Specify number of rows to return

folder.list

group.list

user.list

d string Reverse the sort order for a record list

folder.list

group.list

user.list

* If exclude_small_matches is true, then exclude_by_percent has to be set to either true or false (true if excluding by percent, false if excluding by word count). If exclude_by_percent is true, then exclude_percent must be set to the percentage value (between 1 and 100). If exclude_by_percent is false, then exclude_word_count must be set to the word count value (between 1 and 1000).

Response parameter table

Element XML-RPC Data Type Description API Methods
sid string Session identifier, 40 characters (a-z, 0-9) login
api_status int 200: Success 500: Application error 401: Authentication failure 403: Authorization failure 404: Does not exist or has been deleted all
messages array List of one or more informational messages. These messages may or may not contain error conditions not listed in the errors field. all
errors struct List of one or more error messages. These are typically due to input data validation failures and thus associated with the specific input field, but may general in nature and require inspection of the messages field. all
response_timestamps dateTime.iso8601 An iso8601 XMLRPC field in UTC (with a ‘Z’ appended), returned only for responses that have a 200 api_status code. all
id int Id of the newly created element

group.add

folder.add

document.add

group.list

group.folder

user.add

groups array An array of group elements group.list
group struct A struct of group element attributes id, name all that return groups
folders array An array of folder elements

folder.list

group.list

folder struct A struct of folder element attributes id, name

folder.get

folder.list

group.list

pager struct Contains the following members: entries_per_page, total_entries, current_page any that return a pager
entries_per_page int Number of entries per pager page any that return a pager
total_entries int Total number of records returned by the pager element any that return a pager
current_page int Current page of result set account.get
account struct Contains members describing the account status user.list
users array An array of user elements

user.list

user struct A struct of user element attributes (id, email, first_name, last_name)

user.list

user.get

report_url   A url to view the report which requires user authentication report.get
view_only_url array A view only report url which expires in a set amount of time report.get
view_only_expires array The expiration time in minutes from the response_timestamp field at which the view_only_url expires. report.get
documents int An array of document structs. Each document struct has the following attributes: id, is_pending, author_first, author_last, uploaded_time, processed_time, percent_match, title, parts document.get
parts int An array of document part (section) structs. Each document part (section) struct has the following attributes: doc_id, score, words, folder, group, id, name document.get
doc_id int Document part (section) id document.get
max_percent_match int The largest source match percentage for the document document.get
score array Document part (section) score document.get
words string Number of words in document part (section) document.get
uploaded array An array of upload structs corresponding to uploads. Each upload struct has the following attributes: id, mime_type, filename, folder document.add
mime_type string The MIME type determined for an uploaded document any that return an uploaded struct
is_pending int The number of document sections/ parts remaining to be processed by the document processing system after a document is uploaded. document.get
filename string The document filename any that return an uploaded struct

API method reference

Login

The login method is used to authenticate a session. A session is initiated by supplying valid authentication credentials (username and password) to the login method and a session id (sid) is returned that must be included when making additional requests.

Method Name: login

Arguments: username, password

Returns: sidapi_statusresponse_timestamp

Errors: Returns errors on unsuccessful login attempts. The error handling is split between the errors field and the messages field. Some possible combinations are:

  • If the password is too short, an error will be present in the errors element indicating the password was too short, and no informational message will exist in the messages element.
  • If the username was not a valid email address, an errors element will be presented indicating that fact, and no informational message will exist.
  • The existence of errors is usually accompanied by a status code of ‘500’. 

Messages: Unsuccessful login attempts may also return error messages in this messages element. Some possible messages are as follow:

  • If the username was of the correct form, but does not exist in the system, the generic message “Sorry, failed to log in.” will be returned in the messages element. This error message (in the messages element, NOT the errors element) will also be returned if the username was valid and the password was incorrect (note that this will not be the case for an INVALID password, one that is too short or does not contain the characters needed for a valid password).
  • If the API client has not been authorized to connect with the IP address it is using, the error message (in the messages element, NOT the errors element) will be Access denied from 127.0.0.1”, with the invalid IP address presented in the message
  • (127.0.0.1 used as an example).
  • Multiple messages may be presented, for situations where invalid username/password combinations are submitted, as well as invalid access attempts. However, both errors and messages will not be presented simultaneously (the API client MUST examine all possible combinations of messages and errors, except for messages and errors simultaneously, to determine if an error condition exists). However, as a convenience approach, checking for the existence of the sid element is usually sufficient to guarantee a successful login. 
  • The existence of (error) messages is usually accompanied by an api_status element value of ‘401’.

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>login</methodName> <params> <param><value><struct> <member> <name>password</name> <value><string>bar</string></value> </member> <member> <name>username</name> <value><string>foo@example.com</string></value> </member> </struct></value></param> </params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>ce22ce7de1963cc838c29869eec81a46fec4d847</string></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Create Folder Group

Use this method to create a folder group.

Method Name: group.add

Arguments: sid, name

Returns: sid, api_status, response_timestamp, id

Errors: None

Messages: Message indicating successful folder creation

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>group.add</methodName> <params> <param><value><struct> <member> <name>sid</name> <value><string>7f5257b23706f66a3484df1078daaddf78f3a435</string></value> </member> <member> <name>name</name> <value><string>2627_test_group_314</string></value> </member> </struct></value></param> </params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>7f5257b23706f66a3484df1078daaddf78f3a435</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Folder Group Created</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>id</name> <value><int>119</int></value> </member></struct>

List folder groups

Use this method to list all folder groups owned by this user.

Method Name: group.list

Arguments: sid

Returns: sid, api_status, response_timestamp, groups

Errors: None

Messages: None

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>group.list</methodName> <params> <param><value><struct> <member> <name>sid</name> <value><string>52d868fce4a8f16db1c69a5918cc1affc4b61b19</string></value> </member> </struct></value></param> </params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>52d868fce4a8f16db1c69a5918cc1affc4b61b19</string></value> </member> <member> <name>api_status</name> <value><int>200</int></value></member> <member> <name>groups</name> <value> <array> <data> <value> <struct> <member> <name>name</name> <value><string>13073_test_group_947</string></value> </member> <member> <name>id</name> <value><int>120</int></value> </member> </struct> </value> <value> <struct> <member> <name>name</name> <value><string>2531_test_group_633</string></value> </member> <member> <name>id</name> <value><int>116</int></value> </member> </struct> </value> </data> </array> </value> </member></struct>

List folders

Use this method to list all folders owned by this user.

Method Name: folder.list

Arguments: sid

Returns: sid, api_status, response_timestamp, folders, groups, pager

Errors: None

Messages: None

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>folder.list</methodName> <params> <param><value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> </struct></value></param> </params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>folders</name> <value><array><data> <value><struct> <member> <name>group</name> <value><struct> <member> <name>name</name> <value><string>2531_test_group_633</string></value> </member> <member> <name>id</name> <value><int>116</int></value> </member> </struct></value> </member> <member> <name>name</name> <value><string>2531_testfolder_438</string></value> </member> <member> <name>id</name> <value><int>259</int></value> </member> </struct></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>pager</name> <value><struct> <member> <name>total_entries</name> <value><int>1</int></value> </member> <member> <name>current_page</name> <value><int>1</int></value> </member> <member> <name>entries_per_page</name> <value><int>25</int></value> </member> </struct></value> </member></struct>

Create folder

Use this method to create a new folder.

Method Name: folder.add

Arguments: sid, name, folder_group, description, exclude_quotes, add_to_index, exclude_biblio, exclude_phrases, exclude_small_matches, exclude_abstracts, exclude_methods

Returns: sid, api_status, response_timestamp

Errors: Returns an error message if an invalid folder group is specified

Message: Returns a message on folder creation success, no message on errors

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>folder.add</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>folder_group</name> <value><int>123</int></value> </member> <member> <name>name</name> <value><string>6016_testfolder_773</string></value> </member> <member> <name>description</name> <value><string>API client test folder</string></value> </member> <member> <name>exclude_quotes</name> <value><boolean>1</boolean></value> </member> </struct></value> </param></params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Folder created</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>id</name> <value><int>262</int></value></member></struct>

Adjust folder settings

Use this method to adjust a folder’s settings.

Method Name: folder.put

Arguments: sid, id, name, description, exclude_quotes, add_to_index, exclude_biblio, exclude_phrases, exclude_small_matches, exclude_abstracts, exclude_methods

Returns: sid, api_status, response_timestamp

Errors: Returns an error message if an invalid folder group is specified

Message: Returns a message on folder creation success, no message on errors

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>folder.put</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>id</name> <value><int>262</int></value> </member> <member> <name>name</name> <value><string>6016_testfolder_773</string></value> </member> <member> <name>description</name> <value><string>API client test folder</string></value> </member> <member> <name>exclude_quotes</name> <value><boolean>0</boolean></value> </member> </struct></value> </param></params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Folder created</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>id</name> <value><int>262</int></value></member></struct>

Share folder

Set folder sharing.

Method Name: folder.sharing

Arguments: sid, id, shared_with

Returns: sid, api_status, response_timestamp

Errors: Returns an error message if an errors occurs

Message: Returns a message on folder sharing success

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>folder.sharing</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>id</name> <value><int>262</int></value> </member> <member> <name>shared_with</name> <value><array><data> <int>262</int> <int>263</int> </data></array></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Your sharing preferences have been updated</string></value> </data></array></value> </member></struct>

List group folders

Use this method to list the folders in a folder group.

Method Name: group.folders

Arguments: sid, id

Returns: sid, api_status, response_timestamp, groups, folders, pager

Errors: Returns an error message if an invalid folder_group id is specified

Messages: None

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>group.folders</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>id</name> <value><int>123</int></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>folders</name> <value><array><data> <value><struct> <member> <name>group</name> <value><struct> <member> <name>name</name> <value><string>6016_test_group_169</string></value> </member> <member> <name>id</name> <value><int>123</int></value> </member> </struct></value> </member> <member> <name>name</name> <value><string>6016_testfolder_773</string></value> </member> <member> <name>id</name> <value><int>262</int></value> </member> </struct></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>pager</name> <value><struct> <member> <name>total_entries</name> <value><int>1</int></value> </member> <member> <name>current_page</name> <value><int>1</int></value> </member> <member> <name>entries_per_page</name> <value><int>25</int></value> </member> </struct></value> </member></struct>

Get folder

Use this method call to get a folder and it’s associated objects.

Method Name: folder.get

Arguments: sid, idReturns: sid, api_status, response_timestamp, folder, group, documents, pager

Errors: Returns an error message if an invalid folder id is specified

Messages: None

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>folder.get</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>id</name> <value><int>262</int></value> </member> </struct></value> </param></params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>documents</name> <value><array><data></data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>pager</name> <value><struct> <member> <name>total_entries</name> <value><int>0</int></value> </member> <member> <name>current_page</name> <value><int>1</int></value> </member> <member> <name>entries_per_page</name> <value><int>25</int></value> </member> </struct></value> </member> <member> <name>folder</name> <value><struct><member> <name>group</name> <value><struct> <member> <name>name</name> <value><string>6016_test_group_169</string></value> </member> <member> <name>id</name> <value><int>123</int></value> </member> </struct></value> </member> <member> <name>name</name> <value><string>6016_testfolder_773</string></value> </member> <member> <name>id</name> <value><int>262</int></value> </member></struct></value> </member></struct>

Account status

Account Status

Use this method to get the current account status.

Method Name: account.get

Arguments: sid

Returns: sid, api_status, response_timestamp, account

Errors: None

Messages: None

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>account.get</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>account</name> <value><struct> <member> <name>words_per_Page</name> <value><int>1500</int></value> </member> <member> <name>report_limit</name> <value><int>10000</int></value> </member> <member> <name>report_count</name> <value><int>1534</int></value> </member> <member> <name>user_limit</name> <value><int>10000</int></value> </member> <member> <name>resubmission_limit</name> <value><int>10000</int></value> </member> <member> <name>resubmission_count</name> <value><int>1050</int></value> </member> <member> <name>valid_until</name> <value><string>2009-04-19T00:00:00</string></value> </member> <member> <name>user_count</name> <value><int>8</int></value> </member> <member> <name>unit_name</name> <value><string>Page</string></value> </member> </struct></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Add user

Use this method to add a user to the account. Only the administrator user is authorized to use this method.

Method Name: user.add

Arguments: sid, email, first_name, last_name

Optional arguments: timezone, report_group, can_submit_documents, share_folders, can_index_documents*, is_admin, password (optional - if no password is specified users will receive an activation email with a temporary password)

*can_index_documents is an option only for accounts that have a customer repository enabled for the account.

Returns: sid, api_status, response_timestamp, id

Errors: Returns an error message if invalid arguments are passed, detailing which arguments were invalid.

Messages: Returns a message indicating the user was added. No messages will be present if errors occurred in the transaction.

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>user.add</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>email</name> <value><string>joe@user.com</string></value> </member> <member> <name>password</name> <value><string>swizzlestick123</string></value> </member> <member> <name>timezone</name> <value><int>126</int></value> </member> <member> <name>last_name</name> <value><string>User</string></value> </member> <member> <name>first_name</name> <value><string>Joe</string></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Joe User Created</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>id</name> <value><int>22</int></value> </member></struct>

List users

This method lists users in the account. Only the administrator user is authorized to use this method.

Method Name: user.list

Arguments: sid

Returns: sid, api_status, response_timestamp, users

Errors: None

Message: None

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>user.list</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> </struct></value> </param></params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>users</name> <value><array><data> <value><struct> <member> <name>email</name> <value><string>api_test_user@test.api.ithenticate.com</string></value> </member> <member> <name>id</name> <value><int>17</int></value> </member> <member> <name>last_name</name> <value><string>User</string></value> </member> <member> <name>first_name</name> <value><string>API Test</string></value> </member> </struct></value> <value><struct> <member> <name>email</name> <value><string>joe@user.com</string></value> </member> <member> <name>id</name> <value><int>22</int></value> </member> <member> <name>last_name</name> <value><string>User</string></value> </member> <member> <name>first_name</name> <value><string>Joe</string></value> </member> </struct></value> </data></array></value> </member></struct>

Submit document

Submit Document

This method is used to submit a document to a given folder for submission to the document processing system.

Method Name: document.add

Arguments: sid, folder, submit_to, uploads

Returns: sid, api_status, response_timestamp, uploaded

Errors: Returns an error message if invalid input arguments are passed 

Messages: Returns messages indicating successful document submission. No messages will be present if errors occurred

Submission Requirements:

  • File must be less than 100 MB
  • The maximum document length is 800 pages.
  • File Types allowed: MS Word, WordPerfect, PostScript, PDF, HTML, RTF, OpenOffice (ODT) and plain text. 

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>document.add</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>f6ebaf325cfec9f69b5a68f3a77d9d0b57b29b96</string></value> </member> <member> <name>uploads</name> <value><array><data> <value><struct> <member> <name>filename</name> <value><string>/tmp/CVxcXdk3lT.txt</string></value> </member> <member> <name>author_last</name> <value><string>Neuman</string></value> </member> <member> <name>upload</name> <value><base64>Zm9vIGJhciBiaXo=</base64></value> </member> <member> <name>title</name> <value><string>6016 ithenticate test doc 509</string></value> </member> <member> <name>author_first</name> <value><string>Alfred</string></value> </member> </struct></value> </data></array></value> </member> <member> <name>submit_to</name> <value><int>1</int></value> </member> <member> <name>folder</name> <value><int>262</int></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Uploaded 1 document successfully</string></value> </data></array></value> </member> <member> <name>uploaded</name> <value><array><data> <value><struct> <member> <name>filename</name> <value><string>/tmp/0dxBM2vB3i.txt</string></value> </member> <member> <name>id</name> <value><int>2161</int></value> </member> <member> <name>folder</name> <value><struct> <member> <name>name</name> <value><string>7497_testfolder_199</string></value> </member> <member> <name>id</name> <value><int>265</int></value> </member> </struct></value></member> <member> <name>mime_type</name> <value><string>text/plain</string></value> </member> </struct></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Get document status

Get Document Status

This method is used to retrieve status information regarding a document and all its parts.

Method Name: document.get

Arguments: sid, id

Returns: sid, api_status, response_timestamp, id, pager, documents, folder

Errors: Returns an error message if an invalid document id is passed

Message: None

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>document.get</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>2161</int></value> </member> </struct></value> </param></params></methodCall>

Example Response

This response contains match data from a document being processed.

<struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>documents</name> <value><array><data><value><struct> <member> <name>uploaded_time</name> <value><dateTime.iso8601>2008-06-05T15:13:11</dateTime.iso8601></value> </member> <member> <name>author_last</name> <value><string>Neuman</string></value> </member> <member> <name>is_pending</name> <value><int>1</int></value> </member> <member> <name>processed_time</name> <value><dateTime.iso8601>2008-06-05T15:30:02</dateTime.iso8601></value> </member> <member> <name>parts</name> <value><array><data> <value><struct> <member> <name>doc_id</name> <value><int>1210614</int></value> </member> <member> <name>score</name> <value><int>40</int></value> </member> <member> <name>max_percent_match</name> <value><int>10</int></value> </member> <member> <name>id</name> <value><int>1234465</int></value> </member> <member> <name>words</name> <value><int>15000</int></value> </member> </struct></value> <value><struct> <member> <name>doc_id</name> <value><int>1210614</int></value> </member> <member> <name>score</name> <value><int>100</int></value> </member> <member> <name>id</name> <value><int>1234466</int></value> </member> <member> <name>words</name> <value><int>15000</int></value> </member> </struct></value> <value><struct> <member> <name>doc_id</name> <value><int>1210614</int></value> </member> <member> <name>score</name> <value><int>100</int></value> </member> <member> <name>id</name> <value><int>1234468</int></value> </member> <member> <name>words</name> <value><int>12150</int></value> </member> </stuct></value> </data></array></value> </member> <member> <name>percent_match</name> <value><int>73</int></value> </member> <member> <name>title</name> <value><string>fasc0b</string></value> </member> <member> <name>id</name> <value><int>2161</int></value> </member> <member> <name>author_first</name> <value><string>Alfred</string></value> </member> </struct></value></data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>pager</name> <value><struct> <member> <name>total_entries</name> <value><int>1</int></value> </member> <member> <name>current_page</name> <value><int>1</int></value> </member> <member> <name>entries_per_page</name> <value><int>25</int></value> </member> </struct></value> </member> <member> <name>folder</name> <value><struct> <member> <name>group</name> <value><struct> <member> <name>name</name> <value><string>9133_test_group_858</string></value> </member> <member> <name>id</name> <value><int>1497</int></value> </member> </struct></value> </member> <member> <name>name</name> <value><string>9133_testfolder_858</string></value> </member> <member> <name>id</name> <value><int>46266</int></value> </member> </struct></value> </member></struct>

Get similarity report

Get Similarity Report

This method returns a set of urls to report data for a document section.


Method: report.get


Arguments: id (document part/section id), sid, exclude_biblio, exclude_quotes, exclude_small_matches


Returns: sid, api_status, response_timestamp, report_url, view_only_url, view_only_expires, exclude_quotes, exclude_biblio, exclude_small_matches


Errors: Returns an error if an invalid document id is passed

 

Messages: None

 

Note: When retrieving the view_only_url for a report you may add a query parameter “report_type” to specify which report viewing mode to open the Similarity Report in. The available report types are: similarity, content, largest, and summary. Here is an example of the view_only url with the addition of a report_type query parameter:
 

https://app.ithenticate.com/view_report/0E536A44-9C7F-11E1-B447-E7A05B115896?report_type=content


If the report_type parameter is not used the Similarity Report will open in the default report viewing mode that was set for the account

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>report.get</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>8896</int></value> </member><member> <name>exclude_quotes</name> <value><boolean>1</boolean></value> </member> <member> <name>exclude_biblio</name> <value><boolean>1</boolean></value> </member> <member> <name>exclude_small_matches</name> <value><boolean>1</boolean></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>432d8b581da65ae89f9683803e750884d022c568</string></value> </member> <member> <name>status</name> <value><int>200</int></value> </member> <member> <name>view_only_expires</name> <value><dateTime.iso8601>2008-06-27T20:54:24Z</dateTime.iso8601></value> </member <member> <name>response_timestamp_</name> <value><dateTime.iso8601>2008-06-27T20:34:24Z</dateTime.iso8601></value> </member> <member> <name>report_url</name> <value><string>http://api.ithenticate.com/report/1233814/similarity</string></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>view_only_url</name> <value><string>https://api.ithenticate.com/view_report/6DE5D6A2-4488-11DD</string> </value> <member></struct>

Get similarity report for first document set

Get Similarity Report for first Document Section

This method returns the “report_url” data for the first document section

Method: report.get_document

Arguments: id (document id), sid, exclude_biblio, exclude_quotes, exclude_small_matches

Returns: sid, api_status, response_timestamp, report_url, view_only_url,view_only_expires, exclude_quotes, exclude_biblio, exclude_small_matches

Errors: Returns an error if an invalid document id is passed

Message: None

Example Request  

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>report.get_document</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>8896</int></value> </member> <member> <name>exclude_quotes</name> <value><boolean>1</boolean></value> </member> <member> <name>exclude_biblio</name> <value><boolean>1</boolean></value> </member> <member> <name>exclude_small_matches</name> <value><boolean>1</boolean></value> </member> </struct></value> </param></params></methodCall>


Example Response  

<struct> <member> <name>sid</name> <value><string>432d8b581da65ae89f9683803e750884d022c568</string></value> </member> <member> <name>status</name> <value><int>200</int></value> </member> <member> <name>view_only_expires</name> <value><dateTime.iso8601>2008-06-27T20:54:24Z</dateTime.iso8601></value> </member> <member> <name>response_timestamp</name> <value><dateTime.iso8601>2008-06-27T20:34:24Z</dateTime.iso8601></value> </member> <member> <name>report_url</name> <value><string>https://api.ithenticate.com/report/1233814/similarity</string></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member> <member> <name>view_only_url</name> <value><string>https://api.ithenticate.com/view_report/6DE5D6A2-4488-11DD</string> </value> </member></struct>

Drop user

A method call to drop a user from the account. Only the administrator user is authorized to use this method.

Method Name: user.drop

Arguments: sid, id

Returns: sid, api_status, response_timestamp

Errors: Returns an error if an invalid user id was passed

Message: Returns a message indicating the user was deleted. No message will be returned if errors occurred

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>user.drop</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>23</int></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>User Joe User Deleted</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Trash a document

This method moves a document to the trash folder.

Method: document.trash

Arguments: sid, id

Returns: sid, api_status, response_timestamp

Errors: Returns an error if an invalid document id was passed

Message: Returns a message indicating the document was trashed. No message will be present if errors occurred

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>document.trash</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>2161</int></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Document moved to trash</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Trash a Folder

This method moves a folder to the trash folder group. The folder must be empty of documents.

Method: folder.trash

Arguments: sid, id

Returns: sid, api_status, response_timestamp

Errors: An error will be returned if the folder is not empty

Message: Returns a message indicating the group was deleted.

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>folder.trash</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>265</int></value> </member> </struct></value> </param></params></methodCall>

Example Response 

<struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Folder “7497_testfolder_199” Moved to Trash</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Delete a folder group

This method deletes a folder group. The group must be empty of folders to be deleted.

Method: group.drop

Arguments: sid, id

Returns: sid, api_status, response_timestamp

Errors: An error will be returned if the folder is not empty

Message: Returns a message indicating the group was deleted

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>group.drop</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>126</int></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Group “7497_test_group_794” removed</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Remove documents from a private node

This method removes document/s from the private node. This method only applies to
accounts that have purchased the private node.

Method: document.remove_from_index

Arguments: sid, id

Returns: sid, api_status, response_timestamp

Errors: Returns an error if an invalid document id was passed

Message: Returns a message indicating the document was removed from the private node. No message will be present if errors occurred

Example Request

<?xml version=”1.0” encoding=”UTF-8”?><methodCall> <methodName>document.remove_from_index</methodName> <params><param> <value><struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>id</name> <value><int>126</int></value> </member> </struct></value> </param></params></methodCall>

Example Response

<struct> <member> <name>sid</name> <value><string>5d58f1491c3355c6dfbdeccd76429a6c3a94cdc1</string></value> </member> <member> <name>messages</name> <value><array><data> <value><string>Document queued for removal from your index</string></value> </data></array></value> </member> <member> <name>api_status</name> <value><int>200</int></value> </member></struct>

Appendices

ID Time Zone

1-100

1 Europe/Andorra

2 Asia/Dubai

3 Asia/Kabul

4 America/Antigua

5 America/Anguilla

6 Europe/Tirrane

7 Asia/Yerevan

8 America/Curacao

9 Africa/Luanda

10 Antartica/McMurdo

11 Antartica/South_Pole

12 Antartica/Rothera

13 Antartica/Palmer

14 Antartica/Mawson

15 Antartica/Davis

16 Antartica/Casey

17 Antartica/Vostok

18 Antartica/DurmontDurville

19 Antartica/Syowa

20 America/Argentina/Buenos_Aries

21 America/Argentina/Cordoba

22 America/Argentina/Jujuy

23 America/Argentina/Tucuman

24 America/Argentina/Catamarca

25 America/Argentina/La_Roja

26 America/Argentina/San_Juan

27 America/Argentina/Mendoza

28 America/Argentina/Rio_Gallegos

29 America/Argentina/Ushuaia

30 Pacific/Pago_Pago

31 Europe/Vienna

32 Australia/Lord_Howe

33 Australia/Hobart

34 Australia/Currie

35 Australia/Melbourne

36 Australia/Sydney

37 Australia/Broken_Hill

38 Australia/Brisbane

39 Australia/Lindeman

40 Australia/Adelaide

41 Australia/Darwin

42 Australia/Perth

43 Australia/Eucla

44 America/Aruba

45 Europe/Mariehamn

46 Asia/Baku

47 Europe/Sarajevo

48 America/barbados

49 Asia/Dhka

50 Europe/Brussels

51 Africa/Ouagadougou

52 Europe/Sofia

53 Asia/Bahrain

54 Africa/Bujumbura

55 Africa/Porto-Novo

56 America/St_Barthelemy

57 Atlantic/Bermuda

58 Asia/Brumei

59 America/La_Paz

60 America/Noronha

61 America/Belem

62 America/Fortaleza

63 America/Recife

64 America/Araguaina

65 America/Maceio

66 America/Bahia

67 America/Sao_Paulo

68 America/Campo_Grande

69 America/Cuiaba

70 America/Porto_Velho

71 America/Boa_Vista

72 America/Manaus

73 America/Eirunepe

74 America/Rio_Branco

75 America/Nassau

76 Asia/Timphu

77 Africa/Gaborone

78 Europe/Minsk

79 America/Belize

80 America/St_Johns

81 America/Halifax

82 America/Glace_Bay

83 America/Moncton

84 America/Goose_Bay

85 America/Blanc-Sablon

86 America/Montreal

87 America/Toronto

89 America/Thunder_Bay

90 America/Iqaluit

91 America/Pangnirtung

92 America/Resolute

93 America/Atikokan

94 America/Rankin_Inlet

95 America/Winnipeg

96 America/Rainy_River

97 America/Regina

98 America/Swift_Current

99 America/Edmonton

100 America/Cambridge_Bay

101-200

101 America/Yellowknife

102 America/Inuvik

103 America/Dawson_Creek

104 America/Vancouver

105 America/Whitehorse

106 America/Dawson

107 Indian/Cocos

108 Africa/Kinshasa

109 Africa/Lubumbashi

110 Africa/Bangui

111 Africa/Brazzaville

112 Europe/Zurich

113 Africa/Abidjan

114 Pacific/Rarotonga

115 America/Santiago

116 Pacific/Easter

117 Africa/Douala

118 Asia/Shanghai

119 Asia/Harbin

120 Asia/Chongquig

121 Asia/Urumqi

122 Asia/Kashgar

123 America/Bogota

124 America/Costa_Rica

125 America/Havana

126 Atlantic/Cape_Verde

127 Indian/Christmas

128 Asia/Nicosia

129 Europe/Prague

130 Europe/Berlin

131 Africa/Djibouti

132 Europe/Copenhagen

133 America/Dominica

134 America/Santo_Domingo

135 Africa/Algiers

136 America/Guayaquil

137 Pacific/Galapagos

138 Europe/Tallinn

139 Africa/Cairo

140 Africa/El_Aaiun

141 Africa/Asmara

142 Europe/Madrid

143 Africa/Ceuta

144 Atlantic/Canary

145 Africa/Addis_Ababa

146 Europe/Helsinki

147 Pacific/Fiji

148 Atlantic/Stanley

149 Pacific/Truk

150 Pacific/Ponape

151 Pacific/Kosrae

152 Atlantic/Faroe

153 Europe/Paris

154 Africa/Libreville

155 Europe/London

156 America/Grenada

157 Asia/Tbilisi

158 America/Cayenne

159 Europe/Guernsey

160 Africa/Accra

161 Europe/Gibraltar

162 America/Godthab

163 America/Godthab

164 America/Scoresbysund

165 America/Thule

166 Africa/Banjul

167 Africa/Conakry

168 America/Guadeloupe

169 Africa/Malabo

170 Europe/Athens

171 Atlantic/South_Georgia

172 America/Guatemala

173 Pacific/Guam

174 Africa/Bissau

175 America/Guyana

176 Asia/Hong_Kong

177 America/Tegucigalpa

178 Europe/Zagreb

179 America/Port-au-Prince

180 Europe/Budapest

181 Asia/Jakarta

182 Asia/Pontianak

183 Asia/Makassar

184 Asia/Jayapura

185 Europe/Dublin

186 Asia/Jerusalem

187 Europe/Isle_of_Man

188 Asia/Calcutta

189 Indian/Chagos

190 Asia/Baghdad

191 Asia/Tehran

192 Atlantic/Reykjavik

193 Europe/Rome

194 Europe/Jersey

195 America/Jamaica

196 Asia/Amman

197 Asia/Tokyo

198 Africa/Nairobi

199 Asia/Bishkek

200 Asia/Phnom_Penh

201-300

201 Pacific/Tarawa

202 Pacific/Enderbury

203 Pacific/Kiritimati

204 Indian/Comoro

205 America/St_Kitts

206 Asia/Pyongyang

207 Asia/Seoul

208 Asia/Kuwait

209 America/Cayman

210 Asia/Almaty

211 Asia/Qyzylorda

212 Asia/Aqtobe

213 Asia/Aqtau

214 Asia/Oral

215 Asia/Vientiane

216 Asia/Beirut

217 America/St_Lucia

218 Europe/Vaduz

219 Asia/Colombo

220 Africa/Monrovia

221 Africa/Maseru

222 Europe/Vilnius

223 Europe/Luxembourg

224 Europe/Riga

225 Africa/Tripoli

226 Africa/Casablanca

227 Europe/Monaco

228 Europe/Chisinau

229 Europe/Podgorica

230 America/Marigot

231 Indian/Antananarivo

232 Pacific/Majuro

233 Pacific/Kwajalein

234 Europe/Skopje

235 Africa/Bamako

236 Asia/Rangoon

237 Asia/Ulaanbaatar

238 Asia/Hovd

239 Asia/Choibalsan

240 Asia/Macau

241 Pacific/Saipan

242 America/Martinique

243 Africa/Nouakchott

244 America/Montserrat

245 Europe/Malta

246 Indian/Mauritius

247 Indian/Maldives

248 Africa/Blantyre

249 America/Mexico_City

250 America/Cancun

251 America/Merida

252 America/Monterrey

253 America/Mazatlan

254 America/Chihuahua

255

America/Hermosillo

256 America/Tijuana

257 Asia/Kuala_Lumpur

258 Asia/Kuching

259 Africa/Maputo

260 Africa/Windhoek

261 Pacific/Noumea

262 Africa/Niamey

263 Pacific/Norfolk

264 Africa/Lagos

265

America/Managua

266 Europe/Amsterdam

267 Europe/Oslo

268 Asia/Katmandu

269 Pacific/Nauru

270 Pacific/Niue

271 Pacific/Auckland

272 Pacific/Chatham

273 Asia/Muscat

274 America/Panama

275 America/Lima

276 Pacific/Tahiti

277 Pacific/Marquesas

278 Pacific/Gambier

279 Pacific/Port_Moresby

280 Asia/Manila

281 Asia/Karachi

282 Europe/Warsaw

283 America/Miquelon

284 Pacific/Pitcairn

285 America/Puerto_Rico

286 Asia/Gaza

287 Europe/Lisbon

288 Atlantic/Madeira

289 Atlantic/Azores

290 Pacific/Palau

291 America/Asuncion

292 Asia/Qatar

293 Indian/Reunion

294 Europe/Bucharest

295 Europe/Belgrade

296 Europe/Kaliningrad

297 Europe/Moscow

298 Europe/Volgograd

299 Europe/Samara

300 Asia/Yekaterinburg

301-398

301 Asia/Omsk

302 Asia/Novosibirsk

303 Asia/Krasnoyarsk

304 Asia/Irkutsk

305 Asia/Yakutsk

306 Asia/Vladivostok

307 Asia/Sakhalin

308 Asia/Magadan

309 Asia/Kamchatka

310 Asia/Anadyr

311 Africa/Kigali

312 Asia/Riyadh

313 Pacific/Guadalcanal

314 Indian/Mahe

315 Africa/Khartoum

316 Europe/Stockholm

317 Asia/Singapore

318 Atlantic/St_Helena

319 Europe/Ljubljana

320 Arctic/Longyearbyen

321 Europe/Bratislava

322 Africa/Freetown

323 Europe/San_Marino

324 Africa/Dakar

325 Africa/Mogadishu

326 America/Paramaribo

327 Africa/Sao_Tome

328 America/El_Salvador

329 Asia/Damascus

330 Africa/Mbabane

331 America/Grand_Turk

332 Africa/Ndjamena

333 Indian/Kerguelen

334 Africa/Lome

335 Asia/Bangkok

336 Asia/Dushanbe

337 Pacific/Fakaofo

338 Asia/Dili

339 Asia/Ashgabat

340 Africa/Tunis

341 Pacific/Tongatapu

342 Europe/Istanbul

343 America/Port_of_Spain

344 Pacific/Funafuti

345 Asia/Taipei

346 Africa/Dar_es_Salaam

347 Europe/Kiev

348 Europe/Uzhgorod

349 Europe/Zaporozhye

350 Europe/Simferopol

351 Africa/Kampala

352 Pacific/Johnston

353 Pacific/Midway

354 Pacific/Wake

355 America/New_York

356 America/Detroit

357 America/Kentucky/Louisville

358 America/Kentucky/Monticello

359 America/Indiana/Indianapolis

360 America/Indiana/Vincennes

361 America/Indiana/Knox

362 America/Indiana/Winamac

363 America/Indiana/Marengo

364 America/Indiana/Vevay

365 America/Chicago

366 America/Indiana/Tell_City

367 America/Indiana/Petersburg

368 America/Menominee

369 America/North_Dakota/Center

370 America/North_Dakota/New_Salem

371 America/Denver

372 America/Boise

373 America/Shiprock

374 America/Phoenix

375 America/Los_Angeles

376 America/Anchorage

377 America/Juneau

378 America/Yakutat

379 America/Nome

380 America/Adak

381 Pacific/Honolulu

382 America/Montevideo

383 Asia/Samarkand

384 Asia/Tashkent

385 Europe/Vatican

386 America/St_Vincent

387 America/Caracas

388 America/Tortola

389 America/St_Thomas

390 Asia/Saigon

391 Pacific/Efate

392 Pacific/Wallis

393 Pacific/Apia

394 Asia/Aden

395 Indian/Mayotte

396 Africa/Johannesburg

397 Africa/Lusaka

398 Africa/Harare

Appendix B - PHP Development Notes

SSL

All connections to the iThenticate web service must be made using SSL. The recommended base module is IXR_Library.inc.php version 1.7.1 (beta). It provides an SSL client implementation in the IXR_ClientSSL constructor.

cURL Options

On some implementations, notably Windows running Apache with mod_php, curl calls may return false. The CURLOPT_CAINFO curl option must be set to the location of the curl certificate bundle file, example ‘C:\windows\system32\ca-bundle.crt’. It may be necessary to install a standalone curl package, as the php implementation does not always provide the certificate bundle.

It is not recommended to set the curl option CURLOPT_SSL_VERIFYPEER to 0. This disables peer SSL certificate verification, and makes your connection susceptible to interception via a man in the middle attack. Although many web resources give this as an example of how to overcome connection issues with PHP and curl, we strongly advise against disabling peer certificate verification.

Appendix C - Perl Development Notes

Perl Client Libraries The perl module WebService::iThenticate can be found on the Comprehensive Perl Archive Network (CPAN).

http://search.cpan.org/~phred/WebService-iThenticate-0.16/

This library contains all the necessary examples and methods to develop in Perl using the iThenticate API.

Troubleshooting

If you are experiencing any issues while using our service through the iThenticate API, please email our support team at:

api-info@ithenticate.com

Please include the following information in your email when contacting support:

    • The raw XML of the API request and response.

How you capture this is dependent on the library and programming language used in your client application. Our support team cannot assist you with this.

    • The exact time of the request.

This should be shown in the response XML, but it will help our support team if you note it along with the time zone (or convert the time into UTC).

    • The public IP address from which you are sending the request.

This will help us search our logs.

    • The email address used to log in.

Please do not send us your password. iThenticate support will never ask you to reveal your password.

 

 

Was this article helpful?
0 out of 0 found this helpful

Articles in this section

Powered by Zendesk