SpiraPlan: REST Web Service (v7.0)

How To Access The API

Using the Right URL

To access these REST web services, you need to use the specific URL of the application.

For instance, if you access the application in the browser from https://companyname.spiraservice.net, then that will be the base of the URL used for accessing the API. And if you are on version 7, the API URL would be: https://companyname.spiraservice.net/services/v7_0/RestService.svc

If you are viewing this page from your application, the base URL is:

https://api.inflectra.com/Spira/Services/v7_0/RestService.svc/

Specifying The Data Format

You can specify the format of data that will be returned (XML or JSON) by passing the following HTTP Headers:

  • Content-Type: application/xml - Sends data in XML format
  • accept: application/xml - Returns data in XML format
  • Content-Type: application/json - Sends data in JSON format
  • accept: application/json - Returns data in JSON format

Note: when sending data to Spira using XML, make sure all tags are sent in alphabetical order

Note: when making call to Spira it is safest to always include both "Content-Type" and "accept" headers

Authentication

There are three different ways to authenticate with the web service. They all need a username and an api-key. The api-key used is the same as the RSS token created by the application. You can find a user's RSS token by either going to the user profile (either by visiting your own profile page, or accessing it via the administration panel). If no RSS token is shown for a user, make sure "Enable RSS Feeds" is set to yes.

Copy the full RSS-token / api-key for the relevant user--including the curly braces { }. In the below examples the username "fredbloggs" is used, with an api-key of "{XXXXXXXXXXXXXXXX}"

  1. Append the username and application API-Key as an extra querystring parameter:
    ?username=fredbloggs&api-key={XXXXXXXXXXXXXXXX}
  2. Pass in the username application API-Key using the username and api-key HTTP headers:
    username: fredbloggs
    api-key: {XXXXXXXXXXXXXXXX}
  3. Pass in the username and api-key using the standard HTTP basic authentication header:
    Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXX
    where XXXXXXXXXXXXXXXXXXXXXXXXXX is username:api-key base64 encoded

Accessing Across Domains

If you need to send or receive information from a web page in another domain you need to use CORS. This protocol verifies that the domain requesting the information is one that the application accepts. This can be set in Spira's security settings in its administration.

Gotchas

  • URL parameters: make sure to always specify all required parameters. Where 'null' can be passed in before the query string part of the URL (before the ?) use a space to represent null. To enter null after the query string, simply omit the parameter
  • Headers: make sure to specify the correct headers for the format required - eg XML or JSON
  • Accepted Verbs: some internal networks can restrict specific verbs (eg PUT) or blacklist certain API calls. If you get no response to an API request, check all relevant logs to trace the problem
  • Posting: we provide sample object structures for each relevant POST request. These often have null values or 0 for their keys. Do not send these values. Only fields containing data need to be included in the POST body.

Example REST Call

When starting to try out the API we recommend starting with a simple GET request, to make sure the connection is working as expected.

A good first API call to make is to get a list of all projects the user connecting via the API has access to. To make this call we need the following information

  1. The base url for accessing the service (for this current application it is https://api.inflectra.com/Spira/Services/v7_0/RestService.svc/)
  2. The additional query string to get the list of projects (projects)
  3. The username of a user with sufficient access to the system (let's use Fred Bloggs)
  4. The API-key for that user (in this case, let's assume it's {XXXXXXXXXXXXXXXX})
  5. Finally, we need to decide what form we want the information to be sent to us in (we will ask for JSON here)

Putting that all together we can create the URL we need. If we put the authentication into the URL, the full URL will be:

https://api.inflectra.com/Spira/Services/v7_0/RestService.svc/projects?username=fredbloggs&api-key={XXXXXXXXXXXXXXXX}
with a header of accept: application/json

Artifact Types and their IDs

In a number of API calls you can link one artifact to another (artifacts are things like documents, requirements, test cases). To do this you will need to know the ArtifactTypeId of the relevant artifact(s). Below is a list of all artifacts in SpiraPlan (these are not all available in SpiraTest or SpiraTeam

  • Requirement = 1
  • TestCase = 2
  • Incident = 3
  • Release = 4
  • TestRun = 5
  • Task = 6
  • TestStep = 7
  • TestSet = 8
  • AutomationHost = 9
  • AutomationEngine = 10
  • RequirementStep = 12
  • Document = 13
  • Risk = 14
  • RiskMitigation = 15

Using Filters to Retrieve Results

In a number of POST API calls you can pass in a filter to retrieve specific subsets of results. These calls require a body with the filter. This should be in the following format: an array of objects, with each object having two key:value pairs - one for the name of the field and the other for the value to filter on. For example:

[{
  "PropertyName": "Name",
  "StringValue": "Test"
}]

Make sure you pick the correct field type. Available options are:

  • IntValue
  • StringValue
  • MultiValue (requires an array of ints as its value)
  • DateRangeValue (see KB327 for more information)

DateTime Formats

When passing dateTime fields to the API calls, make sure to use the ISO 8601 international format standard, as shown below:

"StartDate":"2023-11-14T19:15:02.533Z",
"EndDate":"2024-05-22T22:34:57.533Z"

Also, always provide the times considering UTC. Spira automatically converts the provided time to the user's configured regional time when displaying times in the application.
When using API calls to retrieve data from Spira, please note that the displayed times are always UTC.

Resources

This table provides a list of all the resources exposed by this REST web service.
More detail about each resource is explored after this table: Export as WADL-JSON

ResourceMethodsDescription
Artifact Document POST
Artifact Documents GET , POST , DELETE This resource lets you view/add documents associated to an artifact
Association POST , PUT , GET , DELETE This resource lets you create, view and update artifact associations
Automated Test Run POST , GET This resource allows you to retrieve, create, modify and delete automated test runs in a specific project in the system.
Automation Engine GET , POST , PUT This resource lets you create, and view automation engines in the system
Automation Host GET , POST , PUT , DELETE This resource lets you create, view, update and delete automation hosts in the system
Capabilities GET , POST , PUT , DELETE This resource lets you create, view, and update capabilities in a given program
Capability Priority GET , POST , PUT This resource lets you create, view, and update capability priorities in the system
Capability Requirement Association GET , POST , DELETE This resource allows you to retrieve, create, and remove associations between a Capability and Requirement(s)
Capability Status GET , POST , PUT This resource lets you create, view, and update capability statuses in the system
Capability Type GET , POST , PUT This resource lets you create, view, and update capability types in the system
Component GET , POST , PUT , DELETE This resource lets you create, edit, delete and view components in a project
Custom List GET , POST , PUT This resource allows you to retrieve and edit the custom lists defined in a specific project template
Custom List Value POST This resource allows you to add custom list values to a custom list in a project template
Custom Property GET , POST , PUT , DELETE This resource allows you to retrieve and edit the custom properties defined in a specific project template
Custom Query POST This resource lets you create custom ESQL queries and return data
Data Mapping Artifacts GET , POST , DELETE This resource lets you create and retrieve the data mapping for artifacts
Data Mapping Custom Properties GET This resource lets you view the custom property data mappings
Data Mapping Custom Property Values GET This resource lets you view the custom property value data mappings
Data Mapping Field Values GET This resource lets you view the standard field data mappings
Data Mapping Projects GET This resource lets you view the project data mappings
Data Mapping Users POST , GET This resource lets you view and add user data mappings
Data Sync GET , POST , PUT This resource lets you retrieve the data synchronization plugins configured and update the synchronization status
Data Sync Event POST This resource lets you record events in Spira from data-synchronization activities
Document PUT , GET , POST , DELETE This resource allows access to the document attachments in the system
Document Folder GET , POST , DELETE , PUT This resources provides access to the active document folders in the project
Document Status GET , POST , PUT This resources provides access to the active document statuses in the product template
Document Type GET , POST , PUT This resources provides access to the active document types in the product template
Document Version POST , GET , DELETE This resource lets you add new versions of documents
Document Workflow GET , POST , PUT , DELETE
Floating Licenses POST , PUT , DELETE , GET This resource lets you manage floating licenses
Graphs GET This resource lets you retrieve custom graph data and images
History GET , POST This resource lets you view the history of changes made to artifacts
Incident GET , POST , PUT , DELETE This resource allows you to retrieve, create, modify and delete incidents in a specific project in the system.
Incident Comment GET , POST This resource allows you to retrieve the comments associated with an incident as well as add new comments to an existing incident.
Incident Priority GET , POST , PUT This resource allows you to retrieve/create incident priorities defined in a specific project template
Incident Severity GET , POST , PUT This resource allows you to retrieve/create incident severities defined in a specific project template
Incident Status GET , POST , PUT This resource allows you to retrieve/create incident statuses defined in a specific project template
Incident Type GET , POST , PUT This resource allows you to retrieve/create incident types defined in a specific project template
Incident Workflow GET , POST , PUT , DELETE
Manual Test Run POST , PUT , GET This resource allows you to retrieve, create, modify and delete manual test runs in a specific project in the system.
Message GET , POST , DELETE This resource lets you receive and send instant messages
Program Milestone Releases GET , POST , DELETE This resource allows you to retrieve, add and remove project releases associations to program milestones
Program Milestone Statuses GET , POST , PUT This resource allows you to retrieve, add, and update system wide program milestone statuses
Program Milestone Types GET , POST , PUT This resource allows you to retrieve, add, and update the system wide program milestone types
Program Milestones GET , POST , PUT , DELETE This resource allows you to retrieve, create, modify & delete program milestones within a given program
Programs GET This resource allows you to retrieve programs you have permissions to view
Project GET , POST , DELETE , PUT This resource allows you to retrieve projects in the system
Project Role GET , POST , DELETE , PUT This resource lets you view, create, update and delete project roles in the system
Project Template GET , POST , DELETE , PUT This resource allows you to retrieve, create, delete, and update project templates in the system
Project User GET , POST , PUT , DELETE This resource allows you to retrieve and modify the users associated with a specific project
Pull Request GET , POST , PUT , DELETE
Release GET , POST , PUT , DELETE This resource allows you to retrieve and manage the releases and iterations defined in a specific project
Release Build GET , POST , DELETE This resource lets you create, and view automated builds in the system
Release Comments GET , POST This resource allows you to retrieve the comments associated with a release as well as add new comments to an existing release.
Release Status GET This resource lets you retrieve the list of release statuses in the system
Release Test Cases POST , DELETE , GET This resource lets you retrieve, add and remove test cases to/from releases
Release Type GET This resource lets you retrieve the list of release types in the system
Release Workflow GET , POST , PUT , DELETE
Reports: Generated GET This resource lets you check the status and retrieve a generated reports
Reports: Saved GET , POST This resource lets you retrieve and generate a saved report
Requirement GET , POST , PUT , DELETE This resource allows you to retrieve, create, modify and delete requirements in a specific project in the system.
Requirement Comment GET , POST This resource lets you retrieve and add comments to a requirement in the system.
Requirement Importance GET , POST , PUT This resource lets you retrieve the list of requirement importances in the project template
Requirement Status GET This resource lets you retrieve the list of requirement statuses in the project template
Requirement Step GET , POST , PUT , DELETE This resource lets you create, modify and retrieve requirement steps
Requirement Test Coverage POST , DELETE , GET This resource lets you view, add and remove test cases from requirements.
Requirement Test Step Coverage POST , GET , DELETE This resource lets you view, add and remove test steps from requirements.
Requirement Type GET , POST , PUT This resource lets you retrieve the list of requirement types in the project template
Requirement Workflow GET , PUT , POST , DELETE
Risk POST , GET , PUT , DELETE This resource allows you to retrieve, create, modify and delete risks in a specific project in the system.
Risk Comment GET , POST This resource allows you to add and retrieve risk comments in the system
Risk Impact GET , POST , PUT This resource lets you retrieve the list of risk impacts in the project template
Risk Mitigation GET , POST , PUT , DELETE This resource lets you create, modify and retrieve risk mitigations
Risk Probability GET , POST , PUT This resource lets you retrieve the list of risk probabilities in the project template
Risk Status GET , POST , PUT This resource lets you retrieve the list of Risk statuses in the system
Risk Type GET , POST , PUT This resource lets you retrieve the list of Risk types in the project template
Risk Workflow GET , POST , PUT , DELETE
Saved Filters GET , PUT This resource lets you retrieve the saved filters for a user
Source Code GET This resource lets you view changes and code in linked source code repositories
Source Code File GET This resource lets you view the source code files
Source Code Folder GET This resource lets you view the source code folders
Source Code Revision POST , GET This resource lets you view the revisions in linked source code repositories
Subscriptions DELETE , GET , POST This resource lets you view subscribed items as well as subscribe/unsubscribe to artifacts
System GET , POST This resource contains information on the overall product instance, including version and settings information
System Custom List GET , POST , PUT , DELETE This resource allows you to retrieve and edit the custom lists defined for global objects
System Custom Property GET , POST , PUT , DELETE This resource allows you to retrieve and edit the custom properties defined for global objects
Task POST , GET , PUT , DELETE This resource allows you to retrieve, create, modify and delete tasks in a specific project in the system.
Task Comment GET , POST This resource allows you to add and retrieve task comments in the system
Task Folder GET , POST , DELETE , PUT This resource allows you to retrieve, create, modify and delete task folders in the project
Task Priority GET , POST , PUT This resource lets you retrieve the list of task priorities in the project template
Task Status GET This resource lets you retrieve the list of Task statuses in the system
Task Type GET , POST , PUT This resource lets you retrieve the list of Task types in the project template
Task Workflow GET , POST , PUT , DELETE
Test Case POST , GET , PUT , DELETE This resource allows you to retrieve, create, modify and delete test cases in a specific project in the system.
Test Case Comment GET , POST This resource lets you add and view comments associated with test cases
Test Case Folder POST , GET , DELETE , PUT This resource allows you to retrieve, create, modify and delete test case folders in the project
Test Case Folder Test Cases GET , POST This resources lets you retrieve test cases and count test cases by their containing folder
Test Case Link POST This resource lets you add linked test cases to a test case
Test Case Parameter POST , PUT , DELETE , GET This resource allows you to add/remove parameters to test cases
Test Case Priority GET , POST , PUT This resource lets you retrieve the list of Test Case priorities in the project template
Test Case Requirement Coverage GET This resource lets you retrieve the list of Requirements that a Test Case is covering
Test Case Status GET This resource lets you retrieve the list of Test Case statuses in the system
Test Case Type GET , POST , PUT This resource lets you retrieve the list of Test Case types in the project template
Test Case Workflow GET , POST , PUT , DELETE
Test Configuration Set GET This resource lets you retrieve test configuration sets
Test Run GET , POST , DELETE This resource allows you to retrieve, create, modify and delete test runs in a specific project in the system.
Test Set POST , GET , PUT , DELETE This resource lets you create, view, edit and delete test sets in the system
Test Set Comment GET , POST This resource lets you add and view comments associated with test sets
Test Set Folder POST , GET , DELETE , PUT This resource lets you create, view, edit and delete test set folders in the system
Test Set Folder Test Sets GET , POST This resources lets you retrieve test sets and count test sets by their containing folder
Test Set Parameter GET , POST , PUT , DELETE This resource lets you the retrieve test parameter values associated with test sets
Test Set Test Case POST , DELETE , GET , PUT This resource lets you create, view, modify the test cases associated with test sets
Test Set Test Case Parameter GET , POST , PUT , DELETE This resource lets you retrieve the test parameter values associated with the test cases inside a test set
Test Step POST , DELETE , GET , PUT This resource lets you create and delete test steps from test cases in the system
Test Step Parameter GET , POST , PUT , DELETE This resource lets you retrieve the parameters associated with a specific test step
Test Step Requirements Coverage GET
User POST , GET , DELETE , PUT This resource lets you create, retrieve and delete users in the system
User Contact GET , POST , DELETE This resource lets you view a list of contacts, add a contact and remove one

Resources Details

Artifact Document

URI Method Description
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/documents/search?sort_by={sort_by} POST Retrieves the list of documents/attachments in a project attached to a specific artifact
Export to Rapise .REST File

Artifact Documents

URI Method Description
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/documents GET Retrieves the list of documents/attachments in a project attached to a specific artifact
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/documents/{document_id} POST Adds an existing attachment to the specified artifact.
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/documents/{document_id} DELETE Deletes an attachment from an artifact. The attachment will still remain in the project
Export to Rapise .REST File

Association

URI Method Description
projects/{project_id}/associations POST Adds a new association in the system
projects/{project_id}/associations PUT Updates the specified Association's information
projects/{project_id}/associations/{artifact_link_id} DELETE Deletes an association between two artifacts
projects/{project_id}/associations/{artifact_type_id}/{artifact_id} GET Retrieves a set of associations to the specified artifact
projects/{project_id}/associations/{artifact_type_id}/{artifact_id}/search?sort_by={sort_by} POST Retrieves a set of associations to the specified artifact
Export to Rapise .REST File

Automated Test Run

URI Method Description
projects/{project_id}/test-runs/{test_run_id}/automated GET Retrieves a single automated test run in the system including the automation-specific information
projects/{project_id}/test-runs/automated?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} GET Retrieves a list of automated test runs in the project
projects/{project_id}/test-runs/create/automation_host/{automation_host_token} POST Creates a shell set of test runs for an external automated test runner based on the provided automation host token and the specified date range
projects/{project_id}/test-runs/create/test_set/{test_set_id}/automation_host/{automation_host_token} POST Creates a shell set of test runs for an external automated test runner based on the provided test set id
projects/{project_id}/test-runs/record POST Records the results of executing an automated test
projects/{project_id}/test-runs/record-multiple POST Records the results of executing multiple automated tests
projects/{project_id}/test-runs/search/automated?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} POST Retrieves a list of automated test runs in the system that match the provided filter/sort
Export to Rapise .REST File

Automation Engine

URI Method Description
automation-engines POST Creates a new Automation Engine in the system.
automation-engines PUT Updates an existing automation engine in the system
automation-engines/{automation_engine_id} GET Retrieves a single automation engine record by its ID
automation-engines/tokens{token} GET Retrieves a single automation engine record by its Token
automation-engines?active_only={active_only} GET Retrieves the list of automation engines in the system
Export to Rapise .REST File

Automation Host

URI Method Description
projects/{project_id}/automation-hosts GET Retrieves the list of all the automation hosts in the current project
projects/{project_id}/automation-hosts POST Creates a new automation host in the system
projects/{project_id}/automation-hosts PUT Updates an automation host in the system
projects/{project_id}/automation-hosts/{automation_host_id} GET Retrieves a single automation host by its id
projects/{project_id}/automation-hosts/{automation_host_id} DELETE Deletes a automation host in the system
projects/{project_id}/automation-hosts/search?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} POST Retrieves the list of automation hosts in the current project
projects/{project_id}/automation-hosts/tokens/{token} GET Retrieves a single automation host by its token name
Export to Rapise .REST File

Capabilities

URI Method Description
programs/{program_id}/capabilities POST Creates a new program capability
programs/{program_id}/capabilities/{capability_id} GET Retrieves a single program capability from the program
programs/{program_id}/capabilities/{capability_id} PUT Updates a program capability
programs/{program_id}/capabilities/{capability_id} DELETE Deletes a capability from a given program
programs/{program_id}/capabilities/{capability_id}/children GET Retrieves all the children capability of a given capabilityId from the program
programs/{program_id}/capabilities/{capability_id}/indent PUT Indents a capability from a given program
programs/{program_id}/capabilities/{capability_id}/move/{dest_capability_id} PUT Moves a capability in the hierarchy in a given program
programs/{program_id}/capabilities/{capability_id}/outdent PUT Outdents a capability from a given program
programs/{program_id}/capabilities/{parent_capability_id} POST Creates a new program capability under the specified parent Capability
programs/{program_id}/capabilities/search?current_page={current_page}&page_size={page_size} GET Retrieves a list of capabilities in a given program
programs/{program_id}/capabilities/search?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} POST Retrieves a sorted list of capabilities in a given program that match the provided filter
Export to Rapise .REST File

Capability Priority

URI Method Description
capabilities/priorities GET Retrieves the list of capability priorities in the system
capabilities/priorities POST Adds a new capability priority to the system
capabilities/priorities PUT Updates a capability priority in the system
capabilities/priorities/{capability_priority_id} GET Retrieves a single capability priority from the system
Export to Rapise .REST File

Capability Requirement Association

URI Method Description
programs/{program_id}/capabilities/{capability_id}/requirements GET Retrieves the requirement associations for a given capability
programs/{program_id}/capabilities/{capability_id}/requirements/{requirement_id} POST Adds a requirement association to a capability
programs/{program_id}/capabilities/{capability_id}/requirements/{requirement_id} DELETE Removes a requirement association from a capability
programs/{program_id}/capabilities/{capability_id}/requirements?current_page={current_page}&page_size={page_size} POST Retrieves a paginated list of requirement associations for a given capability
Export to Rapise .REST File

Capability Status

URI Method Description
capabilities/statuses GET Retrieves a list of the capability statuses of the system
capabilities/statuses POST Adds a new capability status to the system
capabilities/statuses PUT Updates an existing capability status in the in the system
capabilities/statuses/{capability_status_id} GET Retrieves a single capability status from the system
Export to Rapise .REST File

Capability Type

URI Method Description
capabilities/types GET Retrieves the list of capability types in the system
capabilities/types POST Adds a new capability type to the system
capabilities/types PUT Updates a capability type in the system
capabilities/types/{capability_type_id} GET Retrieves a single capability type from the system
Export to Rapise .REST File

Component

URI Method Description
projects/{project_id}/components POST Creates a new component in the current project
projects/{project_id}/components/{component_id} GET Retrieves a single component by its ID
projects/{project_id}/components/{component_id} PUT Updates an existing component in the current project
projects/{project_id}/components/{component_id} DELETE Deletes a component in the current project
projects/{project_id}/components/{component_id}/undelete POST Undeletes a component in the current project
projects/{project_id}/components?active_only={active_only}&include_deleted={include_deleted} GET Retrieves a list of all the components in the current project
Export to Rapise .REST File

Custom List

URI Method Description
project-templates/{project_template_id}/custom-lists POST Adds a new custom list into the project template
project-templates/{project_template_id}/custom-lists GET Retrieves all the custom lists in the current project template
project-templates/{project_template_id}/custom-lists/{custom_list_id} GET Retrieves a custom list by its ID, including any custom list values
project-templates/{project_template_id}/custom-lists/{custom_list_id} PUT Updates a custom list and any associated values in the system
Export to Rapise .REST File

Custom List Value

URI Method Description
project-templates/{project_template_id}/custom-lists/{custom_list_id}/values POST Adds a new custom property list value into the system
Export to Rapise .REST File

Custom Property

URI Method Description
project-templates/{project_template_id}/custom-properties/{artifact_type_name} GET Retrieves the list of custom properties configured for the current project template and the specified artifact type
project-templates/{project_template_id}/custom-properties/{custom_property_id} PUT Updates a custom property definition, including any associated options
project-templates/{project_template_id}/custom-properties/{custom_property_id} DELETE Deletes a custom property definition from the system, including any associated options
project-templates/{project_template_id}/custom-properties?custom_list_id={custom_list_id} POST Adds a new custom property definition to the project template for the specified artifact type
Export to Rapise .REST File

Custom Query

URI Method Description
query POST Returns the grid of data from a specific custom graph created by an administrator
Export to Rapise .REST File

Data Mapping Artifacts

URI Method Description
data-mappings/{data_sync_system_id}/artifacts/{artifact_type_id}/search POST Retrieves a list of data mappings for a specific artifact across all projects in the system the user is authorized to view
projects/{project_id}/data-mappings/{data_sync_system_id}/artifacts/{artifact_type_id} GET Retrieves a list of data mappings for artifact ids in the system
projects/{project_id}/data-mappings/{data_sync_system_id}/artifacts/{artifact_type_id} POST Adds new artifact data mapping entries
projects/{project_id}/data-mappings/{data_sync_system_id}/artifacts/{artifact_type_id} DELETE Removes existing artifact data mapping entries
Export to Rapise .REST File

Data Mapping Custom Properties

URI Method Description
projects/{project_id}/data-mappings/{data_sync_system_id}/artifacts/{artifact_type_id}/custom-properties/{custom_property_id} GET Retrieves the data mapping for a custom property
Export to Rapise .REST File

Data Mapping Custom Property Values

URI Method Description
projects/{project_id}/data-mappings/{data_sync_system_id}/artifacts/{artifact_type_id}/custom-properties/{custom_property_id}/values GET Retrieves a list of data mappings for custom property values
Export to Rapise .REST File

Data Mapping Field Values

URI Method Description
projects/{project_id}/data-mappings/{data_sync_system_id}/field-values/{artifact_field_id} GET Retrieves a list of data mappings for artifact field values
Export to Rapise .REST File

Data Mapping Projects

URI Method Description
data-mappings/{data_sync_system_id}/projects GET Retrieves a list of data mappings for projects in the system
Export to Rapise .REST File

Data Mapping Users

URI Method Description
data-mappings/{data_sync_system_id}/users POST Adds new user data mapping entries
data-mappings/{data_sync_system_id}/users GET Retrieves a list of data mappings for users in the system
Export to Rapise .REST File

Data Sync

URI Method Description
data-syncs GET Retrieves a list of data-sync plug-ins that need to be synchronized with
data-syncs POST Creates a new data sync system entry
data-syncs/{data_sync_system_id} GET Retrieves a single data sync system by its ID
data-syncs/{data_sync_system_id} PUT Updates an existing data sync system entry
data-syncs/{data_sync_system_id}/failure POST Updates the status for a failed data-sync plug-in
data-syncs/{data_sync_system_id}/success POST Updates the status for a successful data-sync plug-in
data-syncs/{data_sync_system_id}/warning POST Updates the status for a data-sync plug-in that executed with warnings
Export to Rapise .REST File

Data Sync Event

URI Method Description
data-syncs/events POST Writes an error/warning event entry to the SpiraTeam database log
Export to Rapise .REST File

Document

URI Method Description
projects/{project_id}/document-folders/{folder_id}/documents/search?start_row={start_row}&number_rows={number_rows}&sort_by={sort_by} POST Retrieves a filtered list of documents/attachments in a project for the specified folder
projects/{project_id}/documents PUT Updates information about a document (version information is not updated)
projects/{project_id}/documents GET Retrieves a list of all the documents/attachments in a project across all folders
projects/{project_id}/documents/{document_id} GET Retrieves a single project document by its id
projects/{project_id}/documents/{document_id} DELETE Deletes an attachment from the project completely
projects/{project_id}/documents/{document_id}/open GET Returns the actual binary content of a file attachment in the system
projects/{project_id}/documents/file POST Adds a new document (file) into the system and associates it with the provided artifact (optional) and project folder/type (optional)
projects/{project_id}/documents/search?start_row={start_row}&number_rows={number_rows}&sort_by={sort_by} POST Retrieves a filtered list of documents/attachments in a project across all folders
projects/{project_id}/documents/url POST Adds a new document (url) into the system and associates it with the provided artifact (optional) and project folder/type (optional)
Export to Rapise .REST File

Document Folder

URI Method Description
projects/{project_id}/document-folders GET Retrieves a list of all the document folders in the current project
projects/{project_id}/document-folders POST Adds a new document folder into the current project
projects/{project_id}/document-folders/{folder_id} GET Retrieves the folder by the specified ID.
projects/{project_id}/document-folders/{folder_id} DELETE Deletes an existing document folder from the current project
projects/{project_id}/document-folders/{folder_id} PUT Updates the name and position of an existing folder in the project
projects/{project_id}/document-folders/children?parent_folder_id={parent_folder_id} GET Retrieves a list of all the document folders directly under the specified parent folder
Export to Rapise .REST File

Document Status

URI Method Description
project-templates/{project_template_id}/document-statuses GET Retrieves a list of all the document statuses in the current project
project-templates/{project_template_id}/document-statuses POST Adds a new document status to the current project template
project-templates/{project_template_id}/document-statuses PUT Updates a document status in the system
Export to Rapise .REST File

Document Type

URI Method Description
projects/{project_id}/documents/types/{document_type_id}/workflow/transitions?status_id={document_status_id}&is_creator={is_creator}&isOwner={is_owner} GET Will retrieve available transitions for the specied status ID for the currently logged-on user.
project-templates/{project_template_id}/documents/types/{document_type_id}/workflow/custom-properties?status_id={document_status_id} GET Retrieves the list of document custom properties and their workflow state for a given type and status/step.
project-templates/{project_template_id}/documents/types/{document_type_id}/workflow/fields?status_id={document_status_id} GET Retrieves the list of fields and their workflow status for a given type and status/step.
project-templates/{project_template_id}/document-types POST Adds a new document type to the current project template
project-templates/{project_template_id}/document-types PUT Updates an existing document type to the current project template
project-templates/{project_template_id}/document-types/default GET Retrieves the default document type for the current project template
project-templates/{project_template_id}/document-types?active_only={active_only} GET Retrieves a list of all the document types in the current project
Export to Rapise .REST File

Document Version

URI Method Description
projects/{project_id}/documents/{document_id}/versions/file?make_current={make_current} POST Adds a new version to a file attachment in the system
projects/{project_id}/documents/{document_id}/versions/url?make_current={make_current} POST Adds a new version to a URL attachment in the system
projects/{project_id}/documents/versions/{attachment_version_id} DELETE Deletes an attachment version from the project completely
projects/{project_id}/documents/versions/{attachment_version_id}/open GET Returns the actual binary content of a specific version of an attachment in the system
Export to Rapise .REST File

Document Workflow

URI Method Description
project-templates/{project_template_id}/documents/workflows GET Retrieves all workflows for tasks in a given project template
project-templates/{project_template_id}/documents/workflows POST Creates a new blank workflow for documents in the specified project template
project-templates/{project_template_id}/documents/workflows/{workflow_id} GET Retrieves a single workflow object by its ID
project-templates/{project_template_id}/documents/workflows/{workflow_id} PUT Updates a single workflow object
project-templates/{project_template_id}/documents/workflows/{workflow_id} DELETE Deletes a workflow from a project template
project-templates/{project_template_id}/documents/workflows/{workflow_id}/custom-properties/{document_status_id} GET Retrieves workflow custom property states for a given artifact status
project-templates/{project_template_id}/documents/workflows/{workflow_id}/custom-properties/{document_status_id} PUT Updates workflow custom property states for a given artifact status + workflow
project-templates/{project_template_id}/documents/workflows/{workflow_id}/fields/{document_status_id} GET Retrieves the list of fields and their workflow status for a given workflow and status.
project-templates/{project_template_id}/documents/workflows/{workflow_id}/fields/{document_status_id} PUT Updates a batch of workflow fields for a given status to fit the desired workflow state for all fields
project-templates/{project_template_id}/documents/workflows/{workflow_id}/transitions POST Creates a new workflow transition for a document workflow. Does not support NotificationSubject.
project-templates/{project_template_id}/documents/workflows/{workflow_id}/transitions/{document_status_id} GET Retrieves all transitions from a given document status in a specified workflow
project-templates/{project_template_id}/documents/workflows/{workflow_id}/transitions/{workflow_transition_id} PUT Updates a workflow transition in the same ways you can in the UI.
project-templates/{project_template_id}/documents/workflows/{workflow_id}/transitions/{workflow_transition_id} DELETE Deletes a workflow transition
Export to Rapise .REST File

Floating Licenses

URI Method Description
floating-licenses POST Creates a new floating license session
floating-licenses/{session_id}/engine/{automation_engine_token}/host/{automation_host} DELETE Releases the current floating license session for use by another user
floating-licenses/{session_id}/engine/{automation_engine_token}/host/{automation_host} GET Retrieves the current floating license session
floating-licenses/{session_id}/engine/{automation_engine_token}/host/{automation_host}?expiration_date={expiration_date} PUT Extends the current floating license session
floating-licenses/engine/{automation_engine_token} GET Gets the count of licenses purchased, available and in use at the present time
Export to Rapise .REST File

Graphs

URI Method Description
graphs/{custom_graph_id}/data?project_id={project_id}&project_group_id={project_group_id} GET Returns the grid of data from a specific custom graph created by an administrator
Export to Rapise .REST File

History

URI Method Description
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/history?start_row={start_row}&number_rows={number_rows}&sort_property={sort_property}&sort_direction={sort_direction} GET Retrieves the history of changes for a specific artifact
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/history?start_row={start_row}&number_rows={number_rows}&sort_property={sort_property}&sort_direction={sort_direction} POST Retrieves the history of changes for a specific artifact
projects/{project_id}/history/{history_change_set_id} GET Retrieves the details of a specific change made
Export to Rapise .REST File

Incident

URI Method Description
incidents GET Retrieves all incidents owned by the currently authenticated user
projects/{project_id}/incidents GET Retrieves the list of incidents in the project, ordered by the most recent. Only returns the first 500 results
projects/{project_id}/incidents POST Creates a new incident in the specified project in the system
projects/{project_id}/incidents/{incident_id} GET Retrieves a single incident in the system
projects/{project_id}/incidents/{incident_id} PUT Updates an incident already present in the system.
projects/{project_id}/incidents/{incident_id} DELETE Deletes an incident in a specific project in the system
projects/{project_id}/incidents/{incident_id}/fixed/{fixed_build_id} PUT Updates the field 'ResolvedBuild' of a given incident (already present in the system)
projects/{project_id}/incidents/count GET Returns the count of the number of incidents in the project
projects/{project_id}/incidents/recent?start_row={start_row}&number_rows={number_rows}&creation_date={creation_date} GET Retrieves all new incidents added in the system since the date specified
projects/{project_id}/incidents/search?start_row={start_row}&number_rows={number_rows}&sort_by={sort_by} GET Retrieves the list of incidents in the project. This operation allows you to specify the sort column and the pagination range
projects/{project_id}/incidents/search?start_row={start_row}&number_rows={number_rows}&sort_by={sort_by} POST Searches the list of incidents in the project. This operation allows you to specify a list of filters, the sort column (optional) and the pagination range
projects/{project_id}/incidents/search-by-ids?ids={incident_ids} GET Retrieves a list of incidents that match the comma-separated list of ids
projects/{project_id}/incidents/search-by-test-case/{test_case_id}?open_only={open_only} GET Retrieves a list of incidents in the system that are linked to a specific test case (either through test runs or test steps)
projects/{project_id}/incidents/search-by-test-run-step/{test_run_step_id} GET Retrieves a list of incidents in the system that are linked to a specific test run step
projects/{project_id}/incidents/search-by-test-step/{test_step_id} GET Retrieves a list of incidents in the system that are linked to a specific test step (either directly or indirectly through test runs)
Export to Rapise .REST File

Incident Comment

URI Method Description
projects/{project_id}/incidents/{incident_id}/comments GET Retrieves a list of comments that belong to the specified incident
projects/{project_id}/incidents/{incident_id}/comments POST Adds new incident comments to an incident in a project in the system
Export to Rapise .REST File

Incident Priority

URI Method Description
project-templates/{project_template_id}/incidents/priorities GET Retrieves a list of the active incident priorities for the current project template
project-templates/{project_template_id}/incidents/priorities POST Creates a new incident priority in the specified project template in the system
project-templates/{project_template_id}/incidents/priorities PUT Updates an existing incident priority in the specified project template in the system
Export to Rapise .REST File

Incident Severity

URI Method Description
project-templates/{project_template_id}/incidents/severities GET Retrieves a list of the active incident severities for the current project template
project-templates/{project_template_id}/incidents/severities POST Creates a new incident severity in the specified project template in the system
project-templates/{project_template_id}/incidents/severities PUT Updates an existing incident severity in the specified project template in the system
Export to Rapise .REST File

Incident Status

URI Method Description
project-templates/{project_template_id}/incidents/statuses GET Retrieves a list of the active incident statuses for the current project template
project-templates/{project_template_id}/incidents/statuses POST Creates a new incident status in the specified project template in the system
project-templates/{project_template_id}/incidents/statuses PUT Updates an existing incident status in the specified project template in the system
project-templates/{project_template_id}/incidents/statuses/default GET Retrieves the default incident status for the current project template
Export to Rapise .REST File

Incident Type

URI Method Description
projects/{project_id}/incidents/types/{incident_type_id}/workflow/transitions?status_id={incident_status_id}&is_creator={is_creator}&isOwner={is_owner} GET Will retrieve available transitions for the specied status ID for the currently logged-on user.
project-templates/{project_template_id}/incidents/types GET Retrieves a list of the active incident types for the current project template
project-templates/{project_template_id}/incidents/types POST Creates a new incident type in the specified project template in the system
project-templates/{project_template_id}/incidents/types PUT Updates an existing incident type in the specified project template in the system
project-templates/{project_template_id}/incidents/types/{incident_type_id}/workflow/custom-properties?status_id={incident_status_id} GET Retrieves the list of incident custom properties and their workflow state for a given type and status/step.
project-templates/{project_template_id}/incidents/types/{incident_type_id}/workflow/fields?status_id={incident_status_id} GET Retrieves the list of fields and their workflow status for a given type and status/step.
project-templates/{project_template_id}/incidents/types/default GET Retrieves the default incident type for the current project template
Export to Rapise .REST File

Incident Workflow

URI Method Description
project-templates/{project_template_id}/incidents/workflows GET Retrieves all workflows for tasks in a given project template
project-templates/{project_template_id}/incidents/workflows POST Creates a new blank workflow for incidents in the specified project template
project-templates/{project_template_id}/incidents/workflows/{workflow_id} GET Retrieves a single workflow object by its ID
project-templates/{project_template_id}/incidents/workflows/{workflow_id} PUT Updates a single workflow object
project-templates/{project_template_id}/incidents/workflows/{workflow_id} DELETE Deletes a workflow from a project template
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/custom-properties/{incident_status_id} GET Retrieves workflow custom property states for a given artifact status
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/custom-properties/{incident_status_id} PUT Updates workflow custom property states for a given artifact status + workflow
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/fields/{incident_status_id} GET Retrieves the list of fields and their workflow status for a given workflow and status.
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/fields/{incident_status_id} PUT Updates a batch of workflow fields for a given status to fit the desired workflow state for all fields
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/transitions POST Creates a new workflow transition for a incident workflow.
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/transitions/{incident_status_id} GET Retrieves all transitions from a given incident status in a specified workflow
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/transitions/{workflow_transition_id} PUT Updates a workflow transition in the same ways you can in the UI.
project-templates/{project_template_id}/incidents/workflows/{workflow_id}/transitions/{workflow_transition_id} DELETE Deletes a workflow transition
Export to Rapise .REST File

Manual Test Run

URI Method Description
projects/{project_id}/test-runs/{test_run_id}/manual GET Retrieves a single manual test run in the system including any associated steps
projects/{project_id}/test-runs/create/test_set/{test_set_id} POST Creates a new test run shell from the provided test set
projects/{project_id}/test-runs/create?release_id={release_id} POST Creates a new test run shell from the provided test case(s)
projects/{project_id}/test-runs/manual?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} GET Retrieves a list of manual test runs in the project
projects/{project_id}/test-runs/search/manual?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} POST Retrieves a list of manual test runs in the system that match the provided filter/sort
projects/{project_id}/test-runs?end_date={end_date} PUT Saves set of test runs, each containing test run steps
Export to Rapise .REST File

Message

URI Method Description
messages GET Retrieves the IM status for the current user
messages POST Posts a new message to a specific recipient
messages/senders GET Gets the list of users and number of unread messages from them
messages/senders/{sender_user_id} DELETE Marks all the messages as read for a specific sending user
messages/unread GET Retrieves the list of unread messages
Export to Rapise .REST File

Program Milestone Releases

URI Method Description
programs/{program_id}/milestones/{milestone_id}/releases GET Retrieves the release associations for a given milestone
programs/{program_id}/milestones/{milestone_id}/releases/{release_id} POST Adds a release association to a milestone
programs/{program_id}/milestones/{milestone_id}/releases/{release_id} DELETE Removes a release association from a milestone
programs/{program_id}/milestones/{milestone_id}/releases?page_size={page_size}¤t_page={current_page} POST Retrieves a paginated list of release associations for a given milestone
Export to Rapise .REST File

Program Milestone Statuses

URI Method Description
program-milestones/statuses GET Retrieves the statuses for program milestones
program-milestones/statuses POST Creates a program milestone status
program-milestones/statuses PUT Updates an existing program milestone status
program-milestones/statuses/{status_id} GET Retrieves a specific program milestone status
Export to Rapise .REST File

Program Milestone Types

URI Method Description
program-milestones/types GET Retrieves the types for program milestones
program-milestones/types POST Creates a program milestone type
program-milestones/types PUT Updates an existing program milestone type
program-milestones/types/{type_id} GET Retrieves a specific program milestone type
Export to Rapise .REST File

Program Milestones

URI Method Description
programs/{program_id}/milestones GET Retrieves all the milestones within a program
programs/{program_id}/milestones POST Creates a new program milestone
programs/{program_id}/milestones/{milestone_id} GET Retrieves 1 program milestone by ID
programs/{program_id}/milestones/{milestone_id} PUT Updates a program milestone
programs/{program_id}/milestones/{milestone_id} DELETE Deletes a milestone from a given program
programs/{program_id}/milestones/search?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} POST Retrieves pages of the milestones within a program
Export to Rapise .REST File

Programs

URI Method Description
programs GET Retrieves a particular program by its ID
programs/{program_id} GET Retrieves a particular program by its ID
Export to Rapise .REST File

Project

URI Method Description
projects GET Retrieves a list of projects that the authenticated user has access to.
projects/{project_id} GET Retrieves a single project in the system
projects/{project_id} DELETE Deletes an existing project in the system
projects/{project_id} PUT Updates an existing project
projects/{project_id}/refresh-caches/{release_id}?run_async={run_async} POST Refreshes the task progress and test execution status for a project. Typically this needs to be called after TestRun_RecordAutomated3(...) API calls to ensure the data in the system is consistent
projects/{project_id}/refresh-caches?run_async={run_async} POST Refreshes the task progress and test execution status for a project. Typically this needs to be called after TestRun_RecordAutomated3(...) API calls to ensure the data in the system is consistent
projects?existing_project_id={existing_project_id} POST Creates a new project in the system and makes the authenticated user owner of it. "Name" is the only required field in the body of the request (eg {"Name": "New Project"})
Export to Rapise .REST File

Project Role

URI Method Description
project-roles GET Retrieves a list of project roles in the system
project-roles POST Allows a user to add a project role to the list of project roles. Only takes into account name, description, admin, active, discussionsAdd, SourceCodeView and permissions.
project-roles PUT Updates a project role and its permissions
project-roles/{project_role_id} DELETE Deletes a project role from the system. Fails if the project role is undeletable or currently in use for any user in any product.
Export to Rapise .REST File

Project Template

URI Method Description
project-templates GET Retrieves the list of project templates
project-templates/{project_template_id} DELETE Deletes an existing project template
project-templates/{project_template_id} PUT Updates an existing project template
project-templates/{project_template_id} GET Retrieves a single project template
project-templates/blank POST Creates a blank project template (This template will not be functional without admin configuration of at least types, statuses and workflows for all artifacts.)
project-templates?existing_project_template_id={existing_project_template_id} POST Creates a new project template
Export to Rapise .REST File

Project User

URI Method Description
projects/{project_id}/users GET Retrieves the list of active users that are members of the current project
projects/{project_id}/users POST Adds users to a project with a specific role
projects/{project_id}/users PUT Updates the user's role on a specific project
projects/{project_id}/users/{user_id} DELETE Removes users from a project
Export to Rapise .REST File

Pull Request

URI Method Description
projects/{project_id}/pull-requests POST Creates a pull request using the source and dest branch names. If the name of the pull request is left blank it will be populated with the default PR naming scheme.
projects/{project_id}/pull-requests PUT Updates a pull request in the system. Pull request branches cannot be changed after pull request creation.
projects/{project_id}/pull-requests/{pull_request_id} GET Retrieves a pull request by its Id (TaskId)
projects/{project_id}/pull-requests/{pull_request_id} DELETE Deletes a pull request from the internal system
projects/{project_id}/pull-requests?start_row={start_row}&number_of_rows={number_of_rows} GET Retrieves all pull requests from a certain project
Export to Rapise .REST File

Release

URI Method Description
projects/{project_id}/releases POST Creates a new release in the system at the root level
projects/{project_id}/releases PUT Updates a release in the system
projects/{project_id}/releases/{parent_release_id} POST Creates a new release in the system under a specified parent release
projects/{project_id}/releases/{release_id} GET Retrieves a single release in the system
projects/{project_id}/releases/{release_id} DELETE Deletes a release in the system
projects/{project_id}/releases/{release_id}/children GET Retrieves children of a provided release
projects/{project_id}/releases/{release_id}/indent POST Indents a release one position
projects/{project_id}/releases/{release_id}/move?destination_release_id={destination_release_id} POST Moves a release to another location in the hierarchy
projects/{project_id}/releases/{release_id}/outdent POST Outdents a release one position
projects/{project_id}/releases/count POST Returns the number of releases that match the filter.
projects/{project_id}/releases/search?start_row={start_row}&number_rows={number_rows} POST Retrieves a list of releases in the system that match the provided filter
projects/{project_id}/releases?active_only={active_only} GET Retrieves all the releases belonging to the current project
Export to Rapise .REST File

Release Build

URI Method Description
projects/{project_id}/releases/{release_id}/builds GET Retrieves the list of builds that are associated with a specific Release
projects/{project_id}/releases/{release_id}/builds POST Creates a new build in the system, including any linked source code revisions
projects/{project_id}/releases/{release_id}/builds DELETE Deletes all builds on a release
projects/{project_id}/releases/{release_id}/builds/{build_id} GET Retrieves the a single build (and associated source code revisions) by its id
projects/{project_id}/releases/{release_id}/builds/{build_id}/no_description GET Retrieves the a single build (and associated source code revisions) by its id, without including the build description field
projects/{project_id}/releases/{release_id}/builds/no_description GET Retrieves the list of builds that are associated with a specific Release, without including the build description fields
projects/{project_id}/releases/{release_id}/builds?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_by={sort_by} POST Retrieves the list of builds that are associated with a specific Release
Export to Rapise .REST File

Release Comments

URI Method Description
projects/{project_id}/releases/{release_id}/comments GET Retrieves comments for a specified release.
projects/{project_id}/releases/{release_id}/comments POST Creates a new comment for a release.
Export to Rapise .REST File

Release Status

URI Method Description
project-templates/{project_template_id}/releases/statuses GET Retrieves the list of release statuses in the system
Export to Rapise .REST File

Release Test Cases

URI Method Description
projects/{project_id}/releases/{release_id}/test-cases POST Maps a release to a test case, so that the test case is needs to be tested for that release
projects/{project_id}/releases/{release_id}/test-cases GET Retrieves the mapped test cases for a specific release
projects/{project_id}/releases/{release_id}/test-cases/{test_case_id} DELETE Removes a mapping entry for a specific release and test case
Export to Rapise .REST File

Release Type

URI Method Description
projects/{project_id}/releases/types/{Release_type_id}/workflow/transitions?status_id={Release_status_id}&is_creator={is_creator}&isOwner={is_owner} GET Will retrieve available transitions for the specied status ID for the currently logged-on user.
project-templates/{project_template_id}/releases/types GET Retrieves the list of release types in the system
project-templates/{project_template_id}/releases/types/{release_type_id}/workflow/custom-properties?status_id={release_status_id} GET Retrieves the list of release custom properties and their workflow state for a given type and status/step.
project-templates/{project_template_id}/releases/types/{release_type_id}/workflow/fields?status_id={release_status_id} GET Retrieves the list of fields and their workflow status for a given type and status/step.
Export to Rapise .REST File

Release Workflow

URI Method Description
project-templates/{project_template_id}/releases/workflows GET Retrieves all workflows for tasks in a given project template
project-templates/{project_template_id}/releases/workflows POST Creates a new blank workflow for releases in the specified project template
project-templates/{project_template_id}/releases/workflows/{workflow_id} GET Retrieves a single workflow object by its ID
project-templates/{project_template_id}/releases/workflows/{workflow_id} PUT Updates a single workflow object
project-templates/{project_template_id}/releases/workflows/{workflow_id} DELETE Deletes a workflow from a project template
project-templates/{project_template_id}/releases/workflows/{workflow_id}/custom-properties/{release_status_id} GET Retrieves workflow custom property states for a given artifact status
project-templates/{project_template_id}/releases/workflows/{workflow_id}/custom-properties/{release_status_id} PUT Updates workflow custom property states for a given artifact status + workflow
project-templates/{project_template_id}/releases/workflows/{workflow_id}/fields/{release_status_id} GET Retrieves the list of fields and their workflow status for a given workflow and status.
project-templates/{project_template_id}/releases/workflows/{workflow_id}/fields/{release_status_id} PUT Updates a batch of workflow fields for a given status to fit the desired workflow state for all fields
project-templates/{project_template_id}/releases/workflows/{workflow_id}/transitions POST Creates a new workflow transition for a release workflow. Does not support NotificationSubject.
project-templates/{project_template_id}/releases/workflows/{workflow_id}/transitions/{Release_status_id} GET Retrieves all transitions from a given release status in a specified workflow
project-templates/{project_template_id}/releases/workflows/{workflow_id}/transitions/{workflow_transition_id} PUT Updates a workflow transition in the same ways you can in the UI.
project-templates/{project_template_id}/releases/workflows/{workflow_id}/transitions/{workflow_transition_id} DELETE Deletes a workflow transition
Export to Rapise .REST File

Reports: Generated

URI Method Description
projects/{project_id}/reports/generated/{generated_report_id} GET Retrieves the contents of the generated report (step 4 in getting the output of a report)
projects/{project_id}/reports/generated?report_generation_id={report_generation_id} GET Checks on the status of the generation of a specific user's saved report (step 3 in getting the output of a report)
Export to Rapise .REST File

Reports: Saved

URI Method Description
projects/{project_id}/reports/saved/{saved_report_id}/generate POST Starts the generation of a specific user's saved report (step 2 in getting the output of a report)
projects/{project_id}/reports/saved?include_shared={include_shared} GET Retrieves the list of saved reports for a specific user (step 1 in getting the output of a report)
Export to Rapise .REST File

Requirement

URI Method Description
projects/{project_id}/requirements POST Creates a new requirement record in the current project at the end of the list the user has access to. Note: the indent level is set at the same as the last one in the list the user has access to
projects/{project_id}/requirements PUT Updates a requirement in the system
projects/{project_id}/requirements/{requirement_id} GET Retrieves a single requirement in the system
projects/{project_id}/requirements/{requirement_id} DELETE Deletes a requirement in the system
projects/{project_id}/requirements/{requirement_id}/children GET Retrieves children requirements of a requirement
projects/{project_id}/requirements/{requirement_id}/indent POST Indents a requirement one position
projects/{project_id}/requirements/{requirement_id}/move?destination_requirement_id={destination_requirement_id} POST Moves a requirement to another location in the hierarchy
projects/{project_id}/requirements/{requirement_id}/outdent POST Outdents a requirement one position
projects/{project_id}/requirements/count GET Returns the number of requirements that match the filter.
projects/{project_id}/requirements/count POST Returns the number of requirements that match the filter.
projects/{project_id}/requirements/indent/{indent_position} POST Creates a new requirement record in the current project using the position offset method. In the body, the only required field is Name.
projects/{project_id}/requirements/parent/{parent_requirement_id} POST Creates a new requirement in the system. The only required field is Name.
projects/{project_id}/requirements/search?starting_row={starting_row}&number_of_rows={number_of_rows} POST Retrieves a list of requirements in the system that match the provided filter
projects/{project_id}/requirements?starting_row={starting_row}&number_of_rows={number_of_rows} GET Retrieves a list of requirements in the system
requirements GET Retrieves all requirements owned by the currently authenticated user
Export to Rapise .REST File

Requirement Comment

URI Method Description
projects/{project_id}/requirements/{requirement_id}/comments GET Retrieves comments for a specified requirement.
projects/{project_id}/requirements/{requirement_id}/comments POST Creates a new comment for a requirement.
Export to Rapise .REST File

Requirement Importance

URI Method Description
project-templates/{project_template_id}/requirements/importances GET Retrieves the list of requirement importances in the project template
project-templates/{project_template_id}/requirements/importances POST Adds a new requirement importance to the project template
project-templates/{project_template_id}/requirements/importances PUT Updates a requirement importance in the system
Export to Rapise .REST File

Requirement Status

URI Method Description
project-templates/{project_template_id}/requirements/statuses GET Retrieves the list of active requirement statuses in the system
Export to Rapise .REST File

Requirement Step

URI Method Description
projects/{project_id}/requirements/{requirement_id}/steps GET Retrieves a list of requirement steps
projects/{project_id}/requirements/{requirement_id}/steps PUT Updates an existing requirement step
projects/{project_id}/requirements/{requirement_id}/steps/{requirement_step_id} GET Retrieves a single requirement step by its ID
projects/{project_id}/requirements/{requirement_id}/steps/{requirement_step_id} DELETE Deletes a requirement step in the list
projects/{project_id}/requirements/{requirement_id}/steps/{source_requirement_step_id}/move?destination_requirement_step_id={destination_requirement_step_id} POST Moves a requirement step in the list
projects/{project_id}/requirements/{requirement_id}/steps?existing_requirement_step_id={existing_requirement_step_id}&creator_id={creator_id} POST Adds a requirement step to a requirement
Export to Rapise .REST File

Requirement Test Coverage

URI Method Description
projects/{project_id}/requirements/{requirement_id}/test-cases GET Retrieves the test coverage for a specific requirement
projects/{project_id}/requirements/test-cases POST Maps a requirement to a test case, so that the test case 'covers' the requirement
projects/{project_id}/requirements/test-cases DELETE Removes a coverage mapping entry for a specific requirement and test case
Export to Rapise .REST File

Requirement Test Step Coverage

URI Method Description
projects/{project_id}/requirements/{requirement_id}/test-steps GET Retrieves the list of test steps associated with a requirement
projects/{project_id}/requirements/test-steps POST Adds a test step to a requirement
projects/{project_id}/requirements/test-steps DELETE Removes a test step from a requirement
Export to Rapise .REST File

Requirement Type

URI Method Description
projects/{project_id}/requirements/types/{requirement_type_id}/workflow/transitions?status_id={requirement_status_id}&is_creator={is_creator}&isOwner={is_owner} GET Will retrieve available transitions for the specied status ID for the currently logged-on user.
project-templates/{project_template_id}/requirements/types GET Retrieves the list of requirement types in the project template
project-templates/{project_template_id}/requirements/types POST Adds a new requirement type to the project template
project-templates/{project_template_id}/requirements/types PUT Updates a requirement type in the system
project-templates/{project_template_id}/requirements/types/{requirement_type_id}/workflow/custom-properties?status_id={requirement_status_id} GET Retrieves the list of requirement custom properties and their workflow state for a given type and status/step.
project-templates/{project_template_id}/requirements/types/{requirement_type_id}/workflow/fields?status_id={requirement_status_id} GET Retrieves the list of requirement fields and their workflow status for a given type and status/step.
Export to Rapise .REST File

Requirement Workflow

URI Method Description
project-templates/{project_template_id}/requirements/workflows GET Retrieves all workflows for requirements in a given project template
project-templates/{project_template_id}/requirements/workflows POST Creates a new blank workflow for requirements in the specified project template
project-templates/{project_template_id}/requirements/workflows/{workflow_id} GET Retrieves a single workflow object by its ID
project-templates/{project_template_id}/requirements/workflows/{workflow_id} PUT Updates a single workflow object
project-templates/{project_template_id}/requirements/workflows/{workflow_id} DELETE Deletes a workflow from a project template
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/custom-properties/{requirement_status_id} GET Retrieves workflow custom property states for a given artifact status
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/custom-properties/{requirement_status_id} PUT Updates workflow custom property states for a given artifact status + workflow
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/fields/{requirement_status_id} GET Retrieves the list of requirement fields and their workflow status for a given workflow and status.
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/fields/{requirement_status_id} PUT Updates a batch of workflow fields for a given status to fit the desired workflow state for all fields
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/transitions POST Creates a new workflow transition for a requirement workflow. Does not support NotificationSubject.
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/transitions/{current_status_id} GET Retrieves all transitions from a given requirement status in a specified workflow
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/transitions/{workflow_transition_id} PUT Updates a workflow transition in the same ways you can in the UI.
project-templates/{project_template_id}/requirements/workflows/{workflow_id}/transitions/{workflow_transition_id} DELETE Deletes a workflow transition
Export to Rapise .REST File

Risk

URI Method Description
projects/{project_id}/risks POST Creates a new risk in the system
projects/{project_id}/risks PUT Updates a risk in the system
projects/{project_id}/risks/{risk_id} GET Retrieves a single risk in the system
projects/{project_id}/risks/{risk_id} DELETE Deletes a risk in the system
projects/{project_id}/risks/count GET Returns the number of risks in the project.
projects/{project_id}/risks/count POST Returns the number of risks that match the filter.
projects/{project_id}/risks?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} POST Retrieves a list of risks in the system that match the provided filter/sort
risks GET Retrieves all risks owned by the currently authenticated user
Export to Rapise .REST File

Risk Comment

URI Method Description
projects/{project_id}/risks/{risk_id}/comments GET Retrieves comments for a specified risk.
projects/{project_id}/risks/{risk_id}/comments POST Creates a new comment for a risk.
Export to Rapise .REST File

Risk Impact

URI Method Description
project-templates/{project_template_id}/risks/impacts GET Retrieves the list of risk probabilities in the project template
project-templates/{project_template_id}/risks/impacts POST Adds a new risk impact to the project template
project-templates/{project_template_id}/risks/impacts PUT Updates a risk impact in the system
Export to Rapise .REST File

Risk Mitigation

URI Method Description
projects/{project_id}/risks/{risk_id}/mitigations GET Retrieves a list of risk mitigations
projects/{project_id}/risks/{risk_id}/mitigations PUT Updates an existing risk mitigation
projects/{project_id}/risks/{risk_id}/mitigations/{risk_mitigation_id} GET Retrieves a single risk mitigation by its ID
projects/{project_id}/risks/{risk_id}/mitigations/{risk_mitigation_id} DELETE Deletes a risk mitigation in the list
projects/{project_id}/risks/{risk_id}/mitigations?existing_risk_mitigation_id={existing_risk_mitigation_id}&creator_id={creator_id} POST Adds a risk mitigation to a risk
Export to Rapise .REST File

Risk Probability

URI Method Description
project-templates/{project_template_id}/risks/probabilities GET Retrieves the list of risk probabilities in the project template
project-templates/{project_template_id}/risks/probabilities POST Adds a new risk probability to the project template
project-templates/{project_template_id}/risks/probabilities PUT Updates a risk probability in the system
Export to Rapise .REST File

Risk Status

URI Method Description
project-templates/{project_template_id}/risks/statuses GET Retrieves the list of risk statuses in the system
project-templates/{project_template_id}/risks/statuses POST Adds a new risk status to the project template
project-templates/{project_template_id}/risks/statuses PUT Updates a risk status in the system
Export to Rapise .REST File

Risk Type

URI Method Description
projects/{project_id}/risks/types/{Risk_type_id}/workflow/transitions?status_id={Risk_status_id}&is_creator={is_creator}&isOwner={is_owner} GET Will retrieve available transitions for the specied status ID for the currently logged-on user.
project-templates/{project_template_id}/risks/types GET Retrieves the list of risk types in the project template
project-templates/{project_template_id}/risks/types POST Adds a new risk type to the project template
project-templates/{project_template_id}/risks/types PUT Updates a risk type in the system
project-templates/{project_template_id}/risks/types/{risk_type_id}/workflow/custom-properties?status_id={risk_status_id} GET Retrieves the list of risk custom properties and their workflow state for a given type and status/step.
project-templates/{project_template_id}/risks/types/{risk_type_id}/workflow/fields?status_id={risk_status_id} GET Retrieves the list of fields and their workflow status for a given type and status/step.
Export to Rapise .REST File

Risk Workflow

URI Method Description
project-templates/{project_template_id}/risks/workflows GET Retrieves all workflows for tasks in a given project template
project-templates/{project_template_id}/risks/workflows POST Creates a new blank workflow for risks in the specified project template
project-templates/{project_template_id}/risks/workflows/{workflow_id} GET Retrieves a single workflow object by its ID
project-templates/{project_template_id}/risks/workflows/{workflow_id} PUT Updates a single workflow object
project-templates/{project_template_id}/risks/workflows/{workflow_id} DELETE Deletes a workflow from a project template
project-templates/{project_template_id}/risks/workflows/{workflow_id}/custom-properties/{risk_status_id} GET Retrieves workflow custom property states for a given artifact status
project-templates/{project_template_id}/risks/workflows/{workflow_id}/custom-properties/{risk_status_id} PUT Updates workflow custom property states for a given artifact status + workflow
project-templates/{project_template_id}/risks/workflows/{workflow_id}/fields/{risk_status_id} GET Retrieves the list of fields and their workflow status for a given workflow and status.
project-templates/{project_template_id}/risks/workflows/{workflow_id}/fields/{risk_status_id} PUT Updates a batch of workflow fields for a given status to fit the desired workflow state for all fields
project-templates/{project_template_id}/risks/workflows/{workflow_id}/transitions POST Creates a new workflow transition for a risk workflow. Does not support NotificationSubject.
project-templates/{project_template_id}/risks/workflows/{workflow_id}/transitions/{risk_status_id} GET Retrieves all transitions from a given risk status in a specified workflow
project-templates/{project_template_id}/risks/workflows/{workflow_id}/transitions/{workflow_transition_id} PUT Updates a workflow transition in the same ways you can in the UI.
project-templates/{project_template_id}/risks/workflows/{workflow_id}/transitions/{workflow_transition_id} DELETE Deletes a workflow transition
Export to Rapise .REST File

Saved Filters

URI Method Description
saved-filters GET Retrieves the list of saved filters for the current user
saved-filters PUT Updates a list page saved filter which is owned by the modifying user. Only the Name, IsShared, and Entries properties can be updated. Use a int value of -999 for (none) option. This API endpoint will let you create invalid saved filters, and this will throw an error on artifact list pages when applied or always return empty results. It is recommended to primarily use this endpoint to update existing filtered fields (Such as updating a ReleaseId within a saved filter to a new release at the beginning of a sprint) In order to influence which columns are viewable and their order, you should modify filters with property names formatted as "_{FieldName}", and set the StringValue to "Y_0" or "N_0" to declare Yes or No for displaying that property. The 0 should be replaced with numbers which convey the order of displayable fields. The UI uses 1 through X where X is the total number of fields, but it is arbitrary. A lower number makes the column closer to the left on the list page. This can be done alongside a filtered field with a property name formatted as "{FieldName}" for the same field, and the one without the underscore (_) should contain the filter value instead of the display order information. Do not try to put both the "Y_0" and the actual filter value in the same RemoteFilter object (the objects in "Filters") as that will not work.
Export to Rapise .REST File

Source Code

URI Method Description
projects/{project_id}/source-code GET Retrieves a list of source code branches in the project
projects/{project_id}/source-code/connection GET Returns the source code information for a specific product in Spira
Export to Rapise .REST File

Source Code File

URI Method Description
projects/{project_id}/source-code/{branch_id}/files/{file_id} GET Retrieves a specific file by its ID
projects/{project_id}/source-code/{branch_id}/files/{file_id}/open?revision_id={revision_id} GET Returns the physical contents of a file in a linked source code repository
projects/{project_id}/source-code/{branch_id}/files?artifact_type_id={artifact_type_id}&artifact_id={artifact_id} GET Retrieves a list of files associated with a specific artifact
projects/{project_id}/source-code/{branch_id}/folders/{folder_id}/files GET Retrieves a list of files in a specific folder
projects/{project_id}/source-code/{branch_id}/revisions/{revision_id}/files GET Retrieves a list of files contained in a specific revision
Export to Rapise .REST File

Source Code Folder

URI Method Description
projects/{project_id}/source-code/{branch_id}/folders?parent_folder_id={parent_folder_id} GET Retrieves a list of folders by their parent (unless root)
Export to Rapise .REST File

Source Code Revision

URI Method Description
projects/{project_id}/source-code/{branch_id}/files/{file_id}/revisions GET Retrieves a list of revisions for a specific file
projects/{project_id}/source-code/{branch_id}/revisions/{revision_id} GET Retrieves a revision by its ID
projects/{project_id}/source-code/{branch_id}/revisions/{revision_id}/associations GET Retrieves a list of artifacts associated with a specific revision
projects/{project_id}/source-code/{branch_id}/revisions?artifact_type_id={artifact_type_id}&artifact_id={artifact_id} GET Retrieves a list of revisions associated with a specific artifact
projects/{project_id}/source-code/{branch_id}/revisions?start_Row={start_Row}&number_rows={number_rows}&sort_property={sort_property}&sort_direction={sort_direction} POST Retrieves a sorted, filtered, paginated list of revisions in the repository
Export to Rapise .REST File

Subscriptions

URI Method Description
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/subscriptions DELETE Unsubscribes from a specified artifact
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/subscriptions GET Retrieves a list of all the users subscribed to an artifact
projects/{project_id}/artifact-types/{artifact_type_id}/artifacts/{artifact_id}/subscriptions POST Subscribes to a specified artifact
subscriptions GET Retrieves a list of all the items the current user is subscribed to (all projects)
Export to Rapise .REST File

System

URI Method Description
system/artifact-types/{artifact_type_id}/{artifact_id}/project-id GET Returns the project ID number that the queried artifact exists in.
system/artifact-types/{navigation_link_id}/project/{project_id}/artifact/{artifact_id}?tab_name={tab_name} GET Returns the application-relative URL to a particular artifact in the system
system/events/search?starting_row={starting_row}&number_of_rows={number_of_rows}&sort_field={sort_field}&sort_direction={sort_direction} POST Retrieves a filtered list of event logs from across the system
system/notifications POST Executes any scheduled notification events
system/product-version GET Retrieves the version number of the current installation.
system/settings GET Returns the current configuration settings for the installation.
system/settings/product-name GET Gets the brand name of the product installed
system/settings/server-date-time GET Retrieves the current date-time on the server converted into UTC
system/settings/web-server-url GET Gets the base URL of the website that the system is running under. Used for notifications and exported artifacts
Export to Rapise .REST File

System Custom List

URI Method Description
system/custom-lists GET Retrieves all the custom lists in the current project template
system/custom-lists POST Creates a new system level custom list. Does not handle creating the custom list values, that has a separate endpoint.
system/custom-lists PUT Updates a system custom list's name, active status, and/or sort option (SortedOnValue = true sorts alphabetically, SortedOnValue = false sorts by ID)
system/custom-lists/{custom_list_id} GET Retrieves a custom list by its ID, including any custom list values
system/custom-lists/{custom_list_id} DELETE Deletes a system custom list from the database
system/custom-lists/{custom_list_id}/values POST Adds a custom list value to a specified custom list
system/custom-lists/{custom_list_value_id}/values DELETE Deletes a system custom list value
Export to Rapise .REST File

System Custom Property

URI Method Description
system/custom-properties/{artifact_type_name} GET Retrieves the list of custom properties configured for the current project template and the specified artifact type
system/custom-properties/{artifact_type_name} PUT Creates a new system custom property
system/custom-properties/{artifact_type_name}/{property_number} DELETE Deletes a custom property definition from a system artifact
system/custom-properties/{artifact_type_name}?custom_list_id={custom_list_id} POST Creates a new system custom property
Export to Rapise .REST File

Task

URI Method Description
projects/{project_id}/tasks POST Creates a new task in the system
projects/{project_id}/tasks PUT Updates a task in the system
projects/{project_id}/tasks/{task_id} GET Retrieves a single task in the system
projects/{project_id}/tasks/{task_id} DELETE Deletes a task in the system
projects/{project_id}/tasks/count GET Returns the number of tasks in the project.
projects/{project_id}/tasks/count POST Returns the number of tasks that match the filter.
projects/{project_id}/tasks/new?creation_date={creation_date}&start_row={start_row}&number_of_rows={number_of_rows} GET Retrieves all new tasks added in the system since the date specified