Jama Connect REST API

The Jama Connect REST API (v1) provides programmatic access to items, projects, relationships, item types, baselines, test plans, test cycles, test runs, users, user groups, tags, attachments, comments, and activities in a Jama Connect instance. It is served per tenant at https://{instance}.jamacloud.com/rest/v1/ and supports HTTP Basic and OAuth 2.0 client-credentials authentication.

Operations 128

GET /abstractitems Search for items using abstract items endpoint with dynamic filtering. #
GET /abstractitems/{id} Get any item, test plan, test cycle, test run, or attachment with the specified ID #
GET /abstractitems/{id}/versionedrelationships Get all versioned relationships that were associated to the item at the specified time #
GET /abstractitems/{id}/versions Get all versions for the item with the specified ID #
GET /abstractitems/{id}/versions/{versionnum} Get the numbered version for the item with the specified ID #
GET /abstractitems/{id}/versions/{versionnum}/versioneditem Get the snapshot of the item at the specified version #
GET /activities Get all activities in the project with the specified ID #
GET /activities/{activityid} Get the activity with the specified ID #
GET /activities/{activityid}/affecteditems Get all items affected by the activity with the specified ID #
POST /activities/{activityid}/restore Restore item(s) associated with a delete activity. #
GET /attachments/{attachmentid}/comments Get all comments for the item with the specified ID #
GET /attachments/{attachmentid}/file Download attachment file from the attachment with the specified ID #
GET /attachments/{attachmentid}/lock Get the locked state, last locked date, and last locked by user for the item with the specified ID #
PUT /attachments/{attachmentid}/lock Update the locked state of the item with the specified ID #
GET /attachments/{attachmentid}/versions Get all versions for the item with the specified ID #
GET /attachments/{attachmentid}/versions/{versionnum} Get the numbered version for the item with the specified ID #
GET /attachments/{attachmentid}/versions/{versionnum}/versioneditem Get the snapshot of the attachment at the specified version #
GET /baselines Get all baselines in the project with the specified ID #
DELETE /baselines/{baselineid} Delete the baseline with the specified ID #
GET /baselines/{baselineid} Get the baseline with the specified ID #
PUT /baselines/{baselineid} Update the baseline with the specified ID #
GET /baselines/{baselineid}/versioneditems Get all versioned items for the baseline with the specified ID #
GET /baselines/{baselineid}/versioneditems/{itemid} Get the versioned item with the specified item ID for the baseline with the specified baseline ID #
GET /baselines/{baselineid}/versioneditems/{itemid}/versionedrelationships Get all versioned relationships for the item in the baseline #
GET /categories Get all categories. #
POST /categories Create a new category. #
PUT /categories/{categorypathid}/visibility Update category visibility. #
GET /comments Get all comments viewable by the current user #
POST /comments Create a new comment #
GET /comments/{id} Get the comment with the specified ID #
GET /comments/{id}/replies Get all reply comments for the comment with the specified ID #
GET /files Download attachment file from the attachment with the specified Jama URL #
GET /filters Get all filters viewable by the current user #
GET /filters/{filterid} Get the filter with the specified ID #
GET /filters/{filterid}/count Get the count for the filter with the specified ID #
GET /filters/{filterid}/results Get all results for the filter with the specified ID #
PUT /item/{id} Update a Jama item's rich text field with clickable attachment links. #
GET /items Search for items #
PATCH /items Update items in bulk #
POST /items Create a new item #
DELETE /items/{id} Delete the item with the specified ID #
PATCH /items/{id} Update the item with the specified ID #
PUT /items/{id} Update the item with the specified ID #
GET /items/{id}/activities Get all activities for the item with the specified ID #
GET /items/{id}/attachments Get all attachments for the item with the specified ID #
DELETE /items/{id}/attachments/{attachmentid} Remove an attachment from the item with the specified ID #
GET /items/{id}/baselinedcategories Get all baselined categories for the item with the specified ID #
DELETE /items/{id}/categories Remove categories from the item with the specified ID #
GET /items/{id}/children Get all child items for the item with the specified ID #
GET /items/{id}/comments Get all comments for the item with the specified ID #
GET /items/{id}/downstreamrelated Get all downstream related items for the item with the specified ID #
GET /items/{id}/downstreamrelationships Get all downstream relationships for the item with the specified ID #
POST /items/{id}/duplicate Duplicate the item with the specified ID #
POST /items/{id}/links Create a new link for the item with the specified ID #
GET /items/{id}/location Get the location information for the item with the specified ID #
PUT /items/{id}/location Move an item to a new location (can be used for moving items between projects) #
GET /items/{id}/lock Get the locked state, last locked date, and last locked by user for the item with the specified ID #
PUT /items/{id}/lock Update the locked state of the item with the specified ID #
GET /items/{id}/parent Get the parent item for the item with the specified ID #
GET /items/{id}/synceditems Get all synced items for the item with the specified ID #
POST /items/{id}/synceditems Create a new synced item for the item with the specified ID #
DELETE /items/{id}/synceditems/{synceditemid} Delete synced item relationship for the item with the specified ID #
GET /items/{id}/synceditems/{synceditemid}/syncstatus Get sync status for the synced item with the specified ID #
GET /items/{id}/tags Get all tags for the item with the specified ID #
POST /items/{id}/tags Create or add a tag to the item with the specified ID #
DELETE /items/{id}/tags/{tagid} Remove a tag from the item with the specified ID #
GET /items/{id}/tags/{tagid} Get the tag with the specified ID for the item with the specified ID #
GET /items/{id}/upstreamrelated Get all upstream related items for the item with the specified ID #
GET /items/{id}/upstreamrelationships Get all upstream relationships for the item with the specified ID #
GET /items/{id}/versionedcategories Get all categories for the item at the specified version #
GET /items/{id}/versions Get all versions for the item with the specified ID #
GET /items/{id}/versions/{versionnum} Get the numbered version for the item with the specified ID #
GET /items/{id}/versions/{versionnum}/versioneditem Get the snapshot of the item at the specified version #
GET /items/{id}/workflowtransitionoptions Get available workflow transition options for the item with the specified ID #
POST /items/{id}/workflowtransitions Create a new workflow transition for the item with the specified ID #
GET /itemtypes Get all item types #
POST /itemtypes Create a new item type #
GET /itemtypes/{itemtypeid} Get item type by ID. #
POST /itemtypes/{itemtypeid}/fields Create info tips for field labels in picklists. #
PUT /jama/rest/v1/items/{itemid} PUT /jama/rest/v1/items/{itemId} #
GET /picklistoptions/{picklistoptionid} Get picklist option by ID. #
PUT /picklistoptions/{picklistoptionid} Update picklist option by ID. #
POST /picklists Create a new pick list #
DELETE /picklists/{picklistid} Delete the pick list #
POST /picklists/{picklistid}/options Create a new picklist option. #
POST /projects/{projectid}/attachments Create an attachment item as a container for attachment metadata. #
DELETE /projects/{projectid}/permissions Remove the existing permission entry for a specified [user or user group] to a specified [project or folder of projects]. #
GET /projects/{projectid}/permissions Read the permission entries for a specified [user or user group] for a specified [project or folder of projects]. #
POST /projects/{projectid}/permissions Create or override permission entry for a specified [user or user group] to a specified [project or folder of projects]. #
PUT /projects/{projectid}/permissions Update existing permission entry for a specified [user or user group] to a specified [project or folder of projects]. #
GET /relationships Get all relationships. #
POST /rest/oauth/token POST /rest/oauth/token #
GET /rest/v GET /rest/v #
GET /rest/v1/attachment/{attachmentid}/file Download the attached file #
PUT /rest/v1/attachment/{attachmentid}/file Upload file to attachment. #
GET /rest/v1/attachments/{attachmentid}/comments Gets all comments for attachment Item #
POST /rest/v1/comments Create a comment on a project or item. #
DELETE /rest/v1/item/{id}/attachments/{attachmentid} Removes the association from the item #
GET /rest/v1/items/{id}/attachments Gets attachments on an Item #
POST /rest/v1/items/{id}/attachments Associates attachment item to the item #
PUT /rest/v1/items/{id}/location Move an item by setting its parent location in the project tree. #
GET /rest/v1/items/{itemid} GET /rest/v1/items/{itemId} #
PATCH /rest/v1/testruns/{testrunid} Update the status of a Test Run using PATCH operations. #
PUT /rest/v1/testruns/{testrunid} Update the status of a test run. #
GET /rest/v1/users/current GET /rest/v1/users/current #
GET /rest/v1/{attachmentid} Get attachment metadata. #
GET /reviewmoderators Get all moderators for reviews. #
GET /reviews Get all reviews in the project with the specified ID. #
GET /reviews/{reviewid} Get review by ID. #
GET /reviews/{reviewid}/comments Get review comments. #
GET /reviews/{reviewid}/revisions Get all revisions for a review by ID. #
GET /reviews/{reviewid}/revisions/{revisionid} Get the revision with the specified ID. #
GET /reviews/{reviewid}/revisions/{revisionid}/participants Get participants for a specified revision. #
GET /reviews/{reviewid}/revisions/{revisionid}/progress Get revision progress by revision id and review ID. #
GET /reviews/{reviewid}/revisions/{revisionid}/revisionitems Get revision items by revision ID and review ID. #
POST /testplans Create a new Test Plan. #
GET /testplans/{testplanid} Retrieve test plan details including embedded attachment links. #
GET /testplans/{testplanid}/testcycles Get the Test Cycles in a Test Plan. #
POST /testplans/{testplanid}/testcycles Create a new Test Cycle in a Test Plan. #
GET /testplans/{testplanid}/testgroups Get the Test Groups in a Test Plan. #
POST /testplans/{testplanid}/testgroups Create a new Test Group in a Test Plan. #
POST /testplans/{testplanid}/testgroups/{testgroupid}/testcases Add a Test Case to a Test Group. #
GET /testruns/{testrunid} Retrieve test run details including embedded attachment links. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/jama-software:jama-connect-rest-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

jama-software-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Jama Software API
  version: '2026-10-20'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-20: 128 operation(s) read from 3 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; Jama Software has published no machine-readable contract
    that the pipeline could find. Engine: anthropic.'
  x-evidence-tiers:
    code-example: 6
    documentation: 122
    pages-with-code: 2
    pages-read: 3
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-20'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://dev.jamasoftware.com/api
  - https://dev.jamasoftware.com/cookbook
  - https://rest.jamasoftware.com
servers:


# --- truncated at 32 KB (99 KB total) ---
# Full source: https://artifacts.apis.io/jama-software/openapi/_ae-authored/jama-software-openapi-generated.yml