GetSubscriptions API¶
Returns the list of documents and folders that the current authenticated user is subscribed to. Subscriptions are created via the AddUserToDocumentSubscribers and AddUserToFolderSubscribers APIs. The response uses the same full-detail folder and document element format as GetFoldersAndDocuments. Optional flags control whether additional detail (folder rules, property sets, security, owner, version history) is included for each item.
Endpoint¶
Methods¶
-
GET
/srv.asmx/GetSubscriptions?authenticationTicket=...&withrules=...&withpropertysets=...&withsecurity=...&withOwner=...&withVersions=... -
POST
/srv.asmx/GetSubscriptions(form data) -
SOAP Action:
http://tempuri.org/GetSubscriptions
Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
authenticationTicket |
string | Yes | Authentication ticket obtained from AuthenticateUser. Subscriptions are always returned for the user associated with this ticket. |
withrules |
bool | Yes | If true, include folder rules (<Rules> child element) for each subscribed folder. Has no effect on document items. |
withpropertysets |
bool | Yes | If true, include applied custom property set data (<PropertySets> child element) for each item. |
withsecurity |
bool | Yes | If true, include the access control list (<AccessList> child element) for each item. |
withOwner |
bool | Yes | If true, include owner user information for each item. |
withVersions |
bool | Yes | If true, include document version history (<Versions> child element) for each document. Has no effect on folder items. |
Performance tip: Pass
falsefor all boolean flags for the fastest, most compact response. Enable only the flags your application actually needs.
Response¶
Success Response¶
Returns a <root> element with success="true" containing <folder> and <document> child elements -" subscribed folders first, then subscribed documents, both sorted by name ascending. If the user has no subscriptions, an empty root element is returned (not an error).
<root success="true">
<!-- Subscribed folder items -->
<folder FolderID="42"
ParentID="10"
Name="Q1 Reports"
Path="/Finance/Reports/Q1 Reports"
Description="First quarter reports"
CreationDate="2024-01-15"
OwnerName="jsmith"
DomainId="3"
ClassificationLevel="NoMarkings"
ClassificationLevelId="0"
DeclassifyOn=""
DowngradeOn=""
RDDefId="0"
RetentionDate=""
DispositionDate=""
CutoffDate="">
<!-- Included only when withrules=true -->
<Rules>
<Rule Name="AllowableFileTypes" Value="*" />
<Rule Name="Checkins" Value="allows" />
<Rule Name="Checkouts" Value="allows" />
<Rule Name="DocumentDeletes" Value="allows" />
<Rule Name="FolderDeletes" Value="allows" />
<Rule Name="NewDocuments" Value="allows" />
<Rule Name="NewFolders" Value="allows" />
<Rule Name="ClassifiedDocuments" Value="disallows" />
</Rules>
<!-- Included only when withpropertysets=true -->
<PropertySets> ... </PropertySets>
<!-- Included only when withsecurity=true -->
<AccessList DateApplied="2024-01-15" AppliedBy="admin" InheritedSecurity="false"> ... </AccessList>
<!-- Included only when withOwner=true -->
<User UserID="7" UserName="jsmith" FullName="John Smith" />
</folder>
<!-- Subscribed document items -->
<document DocumentID="1234"
ParentID="42"
Name="Q1-2024-Report.pdf"
Path="/Finance/Reports/Q1 Reports/Q1-2024-Report.pdf"
MimeTypeDesc="PDF Document"
DocumentSource="Upload"
Author="jsmith"
Language="en"
OwnerName="jsmith"
Importance="Normal"
ImportanceId="1"
ClassificationLevel="NoMarkings"
ClassificationLevelId="0"
DocumentType=""
DocumentTypeId="0"
CheckedOutBy=""
CheckedOutById="0"
CheckOutDate=""
LastVersion="2000000"
PublishedVersion="2000000"
ReleasedVersion="2000000"
LastUpdate="2024-06-15T10:30:00.000Z"
LastUpdatedBy="jsmith"
LastPublisher="jsmith"
DocumentSize="524288"
ApprovalStatus="Approved"
ApprovalStatusId="2"
FlowId="0"
FlowName=""
FlowStepNumber="0"
FlowStepName=""
ISOReviewDate=""
ExpirationDate=""
CutoffDate=""
DomainId="3"
ShortID="~D1234"
RDDefId="0"
RetentionDate=""
DispositionDate=""
IsPublished="true"
IsDynamic="false"
DeclassifyOn=""
DowngradeOn=""
UserViewStatus="2">
<!-- Included only when withpropertysets=true -->
<PropertySets> ... </PropertySets>
<!-- Included only when withsecurity=true -->
<AccessList DateApplied="2024-01-15" AppliedBy="admin" InheritedSecurity="false"> ... </AccessList>
<!-- Included only when withOwner=true -->
<User UserID="7" UserName="jsmith" FullName="John Smith" />
<!-- Included only when withVersions=true -->
<Versions> ... </Versions>
</document>
</root>
Empty Result (No Subscriptions)¶
Documents come back as the full <document> element. Since 9.0 it also carries AIEnhanced and
AIExtractConfidence. The first says which of the document's attributes infoRouter Connect
produced, as a set of bits - 0 when none did; the second how sure it was about the weakest value
it put in a property set, as a percentage. See AIEnhanced and
AIExtractConfidence.
Error Response¶
Required Permissions¶
Any authenticated user can call this API. The response always contains subscriptions for the user associated with the provided authenticationTicket. It is not possible to retrieve subscriptions for another user via this API.
Example¶
GET Request¶
GET /srv.asmx/GetSubscriptions
?authenticationTicket=3f2504e0-4f89-11d3-9a0c-0305e82c3301
&withrules=false
&withpropertysets=false
&withsecurity=false
&withOwner=false
&withVersions=false
HTTP/1.1
POST Request¶
POST /srv.asmx/GetSubscriptions HTTP/1.1
Content-Type: application/x-www-form-urlencoded
authenticationTicket=3f2504e0-4f89-11d3-9a0c-0305e82c3301
&withrules=false
&withpropertysets=false
&withsecurity=false
&withOwner=false
&withVersions=false
SOAP Request¶
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://tempuri.org/">
<soap:Body>
<tns:GetSubscriptions>
<tns:AuthenticationTicket>3f2504e0-4f89-11d3-9a0c-0305e82c3301</tns:AuthenticationTicket>
<tns:withrules>false</tns:withrules>
<tns:withpropertysets>false</tns:withpropertysets>
<tns:withsecurity>false</tns:withsecurity>
<tns:withOwner>false</tns:withOwner>
<tns:withVersions>false</tns:withVersions>
</tns:GetSubscriptions>
</soap:Body>
</soap:Envelope>
JavaScript¶
Every call answers XML with HTTP 200, success or not, so success is the thing to branch on and
errorCode is the number to report.
async function call(action, params) {
const response = await fetch(`/srv.asmx/${action}?${new URLSearchParams(params)}`);
const root = new DOMParser()
.parseFromString(await response.text(), 'text/xml')
.documentElement;
if (root.getAttribute('success') !== 'true') {
throw new Error(`${root.getAttribute('errorCode')}: ${root.getAttribute('error')}`);
}
return root;
}
The caller's own subscriptions. It takes no user name - the ticket decides whose list it is.
const root = await call('GetSubscriptions', {
authenticationTicket: ticket,
withrules: false,
withpropertysets: false,
withsecurity: false,
withOwner: false,
withVersions: false,
});
The five with... flags each add a block to every document returned, so leave them false unless
the extra detail is wanted - they cost a query per document.
Notes¶
-
Current User Only: This API always returns subscriptions for the authenticated user. It is not possible to retrieve subscriptions for a different user.
-
Folders First: Subscribed folders appear before subscribed documents. Within each group, items are sorted by name in ascending order.
-
Empty Response: An empty
<root success="true" />is returned when the user has no subscriptions -" this is not an error. -
Event Flags Not Returned: The response shows which documents and folders the user is subscribed to, but does not include the configured event notification flags (
ON_READ,ON_UPDATE, etc.). UseGetSubscriberswith the item's path to retrieve event flag details for a specific item. -
Performance: All five boolean flags add significant data to the response. Pass
falsefor flags your application does not use. -
Document vs Folder Items: Items are distinguished by element name:
<document>for document subscriptions,<folder>for folder subscriptions. -
UserViewStatus: Each
<document>element includes aUserViewStatusinteger attribute:0= never viewed,1= viewed but the published version has since changed,2= viewed the current published version.
Related APIs¶
-
AddUserToDocumentSubscribers - Subscribe a user to a document
-
AddUserToFolderSubscribers - Subscribe a user to a folder
-
GetSubscribers - Get all subscribers of a document or folder including event flag details
-
RemoveUserFromDocumentSubscribers - Unsubscribe a user from a document
-
GetFavorites - Get the current user's favorites list (same response structure)
Error Codes¶
The errorCode values this operation returns, checked against a running server:
errorCode |
When |
|---|---|
4010 |
the ticket is expired or unknown, or there is no ticket at all |