GetRetentionSourceAuthorities API

Returns a list of all retention source authorities defined in the system. Retention source authorities are used to specify the governing body or regulation that mandates retention requirements for records and documents.

Endpoint

/srv.asmx/GetRetentionSourceAuthorities

Methods

Parameters

Parameter Type Required Description
authenticationTicket string Yes Authentication ticket obtained from AuthenticateUser

Response

Success Response

<root success="true">
  <RetentionSourceAuthorities>
    <Authority Name="SEC - Securities and Exchange Commission" />
    <Authority Name="HIPAA - Health Insurance Portability and Accountability Act" />
    <Authority Name="SOX - Sarbanes-Oxley Act" />
    <Authority Name="GDPR - General Data Protection Regulation" />
  </RetentionSourceAuthorities>
</root>

Response Structure

Element Description
RetentionSourceAuthorities Container element for all authorities
Authority Individual authority entry with Name attribute

Error Response

<root success="false" error="[ErrorCode] Error message" />

Required Permissions

Use Cases

  1. R&D Schedule Configuration

    • When creating or editing retention and disposition schedules
    • Select appropriate source authority that mandates the retention requirements
  2. Compliance Documentation

    • Document which regulations govern record retention
    • Maintain audit trail of compliance requirements
  3. Dropdown Population

    • Populate UI dropdowns for source authority selection
    • Standardize authority references across the system
  4. Reporting and Analytics

    • Generate compliance reports showing retention requirements by authority
    • Analyze retention policies grouped by governing regulation

Example

Request (GET)

GET /srv.asmx/GetRetentionSourceAuthorities?authenticationTicket=abc123-def456 HTTP/1.1
Host: server.example.com

Request (POST)

POST /srv.asmx/GetRetentionSourceAuthorities HTTP/1.1
Content-Type: application/x-www-form-urlencoded

authenticationTicket=abc123-def456

Request (SOAP 1.1)

POST /srv.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/GetRetentionSourceAuthorities"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetRetentionSourceAuthorities xmlns="http://tempuri.org/">
      <authenticationTicket>abc123-def456</authenticationTicket>
    </GetRetentionSourceAuthorities>
  </soap:Body>
</soap:Envelope>

Success Response Example

<?xml version="1.0" encoding="utf-8"?>
<root success="true">
  <RetentionSourceAuthorities>
    <Authority Name="FDA - Food and Drug Administration" />
    <Authority Name="IRS - Internal Revenue Service" />
    <Authority Name="OSHA - Occupational Safety and Health Administration" />
    <Authority Name="ISO 15489 - Records Management Standard" />
    <Authority Name="DoD 5015.2 - Department of Defense Records Management" />
  </RetentionSourceAuthorities>
</root>

Empty List Response

If no retention source authorities are defined:

<?xml version="1.0" encoding="utf-8"?>
<root success="true">
  <RetentionSourceAuthorities />
</root>

Retention & Disposition Schedule Management

Document Retention

Folder Retention

Notes

Common Source Authorities

Organizations typically define authorities based on their industry and jurisdiction:

Financial Services:

Healthcare:

Government:

International:

General Business:

Error Codes

Common error responses:

Error Description
[901]Session expired or Invalid ticket Invalid authentication ticket
[2730]Insufficient rights. Anonymous users cannot perform this action User is not authenticated
System error accessing retention settings Database or configuration access error

Integration Example

JavaScript/Client-Side Usage

async function loadRetentionAuthorities() {
    const ticket = getUserAuthTicket();
    const response = await fetch(
        `/srv.asmx/GetRetentionSourceAuthorities?authenticationTicket=${ticket}`
    );
    
    const xmlText = await response.text();
    const parser = new DOMParser();
    const xmlDoc = parser.parseFromString(xmlText, "text/xml");
    
    const authorities = xmlDoc.querySelectorAll("Authority");
    const dropdown = document.getElementById("authoritySelect");
    
    authorities.forEach(auth => {
        const option = document.createElement("option");
        option.value = auth.getAttribute("Name");
        option.text = auth.getAttribute("Name");
        dropdown.appendChild(option);
    });
}

C# Client Usage

using (var client = new SrvSoapClient())
{
    var response = await client.GetRetentionSourceAuthoritiesAsync(authTicket);
    var authorities = response.Descendants("Authority")
        .Select(a => a.Attribute("Name")?.Value)
        .Where(n => n != null)
        .ToList();
    
    // Populate dropdown or process authorities
    authorityDropDown.DataSource = authorities;
}

Best Practices

  1. Cache Results: Authority lists change infrequently - cache for improved performance
  2. Display Format: Present full authority names in UI for clarity
  3. Validation: Validate selected authority against current list before saving
  4. Documentation: Maintain documentation of what each authority represents
  5. Naming Convention: Use consistent format (e.g., "CODE - Full Name")
  6. Regular Review: Periodically review and update authority list as regulations change

Version History