<docbook><section><title>OdsApi</title><bridgehead class="http://www.w3.org/1999/xhtml:h2">ODS API for data access &amp; manipulation</bridgehead>
<para>The code location is the ods_controllers.sql file from the ODS package.</para>
<para>All requests are authorized via one of : </para>
<orderedlist spacing="compact"><listitem>HTTP authentication (not yet supported) </listitem>
<listitem>OAuth </listitem>
<listitem>VSPX session (sid &amp; realm) </listitem>
<listitem>username=&lt;user&gt;&amp;password=&lt;pass&gt;</listitem>
</orderedlist><para>The authenticated account becomes the effective user.</para>
<para>Important Note: Any API method MUST follow naming convention as follows: </para>
<itemizedlist mark="bullet" spacing="compact"><listitem>methods : ods.&lt;object type&gt;.&lt;action&gt; </listitem>
<listitem>parameters : &lt;lower_case&gt; </listitem>
<listitem>composite parameters: atom-pub, <ulink url="OpenSocial">OpenSocial</ulink> XML format </listitem>
<listitem>response : GData format, i.e., Atom extension</listitem>
</itemizedlist><para>Note: some of the methods below use ods_api.sql code</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Supported Web Services Endpoints</bridgehead>
<para>Full collection of Supported Web Services Endpoints can be viewed <ulink url="ODSWebServicesEndpoints">here</ulink>.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h4">User account activity</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">User register</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: register ODS user </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.register&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>name: desired user account name </listitem>
<listitem>password: desired password </listitem>
<listitem>email: user&#39;s e-mail address</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Authenticate ODS account</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Authenticate ODS account using name &amp; password hash.
 Will establish a session in VSPX_SESSION table </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.authenticate&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>user_name: ODS user name </listitem>
<listitem>password_hash: password hash</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User Update</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Update user details </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.update&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>user_info: array of user details</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User password change</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Change user&#39;s password </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.password_change&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>new_password: new password</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User delete</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Deletes ODS user </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.delete&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>name: Name of the ODS user to be deleted</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User freeze</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Freeze User.
 This is ODS admin privilege </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.freeze&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>name: Name of the ODS user to be frozen.</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Get User Details</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Gets ODS user details </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.get&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>name: the name of the ODS user</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Search for user</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: performs search for ODS user by given pattern </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.search&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>pattern: the search pattern</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Social Network activity</bridgehead>
<para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">Invite User</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Sends invitation to friends </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.invite&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>friends_email: email to which the invitation to be sent </listitem>
<listitem>custom_message: the message to be included in the invitation</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Process invitation</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: process given invitation </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.invitation&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>invitation_id: id of the invitation </listitem>
<listitem>approve: if 1, approved; if 0, not approved.</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Get user&#39;s invitations</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: get user&#39;s invitations </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.invitations.get&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: none</listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">User terminate relation</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Terminates relation friend with user </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.relation_terminate&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>friend: the name of the user in relation with.</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3">User Settings</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">Tagging Rules</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">User Add Tagging Rules</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: adds tagging rules </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.tagging_rules.add&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>rulelist_name: name of the rule </listitem>
<listitem>rules: array of the rule set </listitem>
<listitem>is_public: if 1, public; else, private</listitem>
</itemizedlist></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">User Delete Tagging rule</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: deletes user tagging rule </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.tagging_rules.delete&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>rulelist_name: name of the rule to be deleted</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User Update Tagging Rule</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: updates user tagging rule </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.tagging_rules.update&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>rulelist_name: rule name </listitem>
<listitem>rule: array of values for the tagging rule to be updated.</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Hyperlinking Rules</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">User Add hyperlinking rules</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Adds hyperlinking to rules.
</listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.hyperlinking_rules.add&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>rules: rules to be added</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User Update hyperlinking rules</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Update hyperlinking rules </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.hyperlinking_rules.update&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>rules: rules to be updated</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User Delete hyperlinking rules</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Delete User hyperlinking rules </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.hyperlinking_rules.delete&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>rules: rules to be deleted</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">User get FOAF data</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Gets User data by given FOAF IRI </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;user.getFOAFData&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>foafIRI: foafIRI of the user</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Application instance activity</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Create</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Creates ODS instance </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.create&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>type: class type of the instance </listitem>
<listitem>name: name of the instance </listitem>
<listitem>description: short description </listitem>
<listitem>model: model of the instance </listitem>
<listitem>public: if 1&lt;/nowiki&gt;, public; else, private</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Update</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Update instance properties </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.update&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance </listitem>
<listitem>name: name of the instance </listitem>
<listitem>description: description of the instance </listitem>
<listitem>model: model type </listitem>
<listitem>public: if 1&lt;/nowiki&gt;, public; else, private</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Delete</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Delete Instance </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.delete&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance to be deleted</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Join to Instance</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Join existing instance </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.join&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance to join to</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Join instance Remove</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Remove existing join to instance </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.disjoin&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance to remove the join from</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Join Approve</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Approve request to join to instance </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.join_approve&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance to join </listitem>
<listitem>uname: username requested the join</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Notification Services</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Returns notification services properties </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;notification.services&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: none</listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Notification Services</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Returns instance services notification </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.notification.services&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: instance id</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Notification Set</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Instance notification set </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.notification.set&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance </listitem>
<listitem>services: array of services properties values</listitem>
</itemizedlist></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Notification Cancel</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Cancel Instance Notification </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.notification.cancel&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance </listitem>
<listitem>services: list of services</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Notification Log</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Shows instance notification log </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.notification.log&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Search</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Search for instance by given pattern </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.search&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>pattern: search pattern</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Instance Get</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Get Instance Properties </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;instance.get&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>inst_id: id of the instance</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Global Actions</bridgehead>
<bridgehead class="http://www.w3.org/1999/xhtml:h5">Site Search</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Search within the ODS Data Space </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.&quot;site.search&quot; </listitem>
<listitem><emphasis>Parameters</emphasis>: <itemizedlist mark="bullet" spacing="compact"><listitem>pattern: search pattern </listitem>
<listitem>options: search options</listitem>
</itemizedlist></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h5">Error Handler</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><emphasis>Description</emphasis>: Error handler </listitem>
<listitem><emphasis>API name</emphasis>: ODS.ODS_API.error_handler </listitem>
<listitem><emphasis>Parameters</emphasis>: none</listitem>
</itemizedlist><para> <ulink url="CategoryODS">CategoryODS</ulink> <ulink url="CategoryOpenSource">CategoryOpenSource</ulink> <ulink url="CategoryAPI">CategoryAPI</ulink> </para>
</section></docbook>