Skip to main content

API Categories

Data Access & Querying

OData API Endpoints — Standard Polarion OData services for querying work items, links, and metadata. Access read-only data across projects with filtering, sorting, and pagination. Suggestion and Autocomplete API — Autocomplete endpoints that power search fields, multi-select dropdowns, and live suggestions. Configure custom suggestion sources and result formatting.

Customization APIs

JavaScript API — Core JavaScript functions available in cell decorators, custom renderers, and formulas. Manipulate DOM elements, access item data, and trigger actions. Velocity Template Context — Template variables and helper functions for Velocity templates used in exports and custom rendering.

Workflow & Integration

Workflow Actions API — Programmatically trigger workflow transitions and status changes. Define valid actions for work item states. PDF Export API — Configure PDF export behavior, templates, and styling. Control page breaks, custom scripts, and multi-page images.

API Architecture

diagram

Quick API Reference

APIPurposeAuthenticationUse Case
ODataQuery work item dataRequiredData export, reporting, cross-project linking
SuggestionsAutocomplete searchesRequiredDropdown options, link suggestions
JavaScriptGrid customizationImplicitCell styling, formula calculations
VelocityTemplate renderingImplicitPDF export, document generation
WorkflowStatus transitionsRequiredCustom actions, state management
PDF ExportDocument generationRequiredCustom export scripts, page layout

Authentication & Access

  • OData API — Uses Polarion session authentication (automatic in widget context)
  • JavaScript API — No auth required (runs client-side in user’s browser session)
  • Velocity Context — No auth required (executed server-side in Polarion’s context)
  • PDF Export API — Uses Polarion session (automatic)
  • Workflow Actions — Uses Polarion user permissions

Common Integration Patterns

1. Fetch Work Item Data

Use OData API to retrieve work items:
// In formulas or custom renderers
fetch('/polarion/rest/v1/workitems?query=type:Requirement', {
  headers: { 'Authorization': 'Bearer ' + token }
})
.then(r => r.json())
.then(data => console.log(data.workitems));

2. Dynamic Suggestions

Configure custom autocomplete for a column:
{
  "columns": [{
    "id": "requirement",
    "header": "Requirement",
    "type": "itemLink",
    "queryFactory": "customRequirementQuery"
  }]
}
Then define the query factory in formulas:
"customRequirementQuery": "function(searchText) { return 'type:Requirement AND title:*' + searchText + '*'; }"

3. Conditional Cell Styling

Use JavaScript API in decorators:
"riskColorDecorator": "function(info) {\n var rpn = info.value;\n if (rpn > 250) {\n $(info.cell).css('background-color', '#f8eae7');\n $(info.cell).css('font-weight', 'bold');\n }\n}"

4. PDF Export Customization

Use Velocity Context to format data in exports:
#foreach($item in $items)
  | $item.getId() | $item.title | $utils.severityToColor($item.severity) |
#end

Error Handling

All APIs return errors that should be handled gracefully:
Error TypeCauseHandling
400 Bad RequestInvalid query syntaxValidate OData filters
401 UnauthorizedMissing/expired authRe-authenticate session
403 ForbiddenInsufficient permissionsCheck user role
404 Not FoundWork item doesn’t existValidate item ID
500 Server ErrorBackend issueRetry with exponential backoff

API Versioning

Nextedy RISKSHEET APIs are versioned to maintain backward compatibility:
  • Current Version — v1 (stable)
  • Deprecation Policy — Deprecated APIs warn in logs 2 releases before removal
  • Breaking Changes — Only in major version updates

Rate Limiting

OData and PDF Export APIs are subject to rate limits:
  • OData Queries — 100 requests per minute per user
  • PDF Exports — 10 exports per minute per user
  • Suggestions — 50 requests per minute per user
Rate limit headers are included in responses:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1234567890
Source Code
  • AppConfig.ts
  • AppConfigParser.ts
  • RisksheetViewServlet.java
  • SystemConsts.java