OpenText Core Application Security (Fortify on Demand) API

The REST API behind OpenText Core Application Security, still branded Fortify on Demand across the contract and the tooling. 159 operations over 125 paths cover applications, releases, static, dynamic, mobile and open-source scans, vulnerability audit and triage, reports, API keys, personal access tokens, users and tenant entitlements. The spec is served live and unauthenticated from every regional API host and every operation declares its required OAuth scope in its description.

Operations 159

GET /api/v3/api-keys Returns a list of API keys #
POST /api/v3/api-keys Creates a new API key #
GET /api/v3/api-keys/{apiKeyId} Returns an API key #
PUT /api/v3/api-keys/{apiKeyId} Updates an existing API key #
DELETE /api/v3/api-keys/{apiKeyId} Deletes the given ApiKey #
POST /api/v3/api-keys/{apiKeyId}/newsecret Creates a new secret for an existing api key #
GET /api/v3/api-keys/{apiKeyId}/application-access Returns a list of Applications assigned to an API Key #
PUT /api/v3/api-keys/{apiKeyId}/application-access Assign applications to API Key #
PUT /api/v3/api-keys/{apiKeyId}/unassign-application-access Unassign applications to API Key #
GET /api/v3/applications/{applicationId} Retrieves an individual application by id #
PUT /api/v3/applications/{applicationId} Update an application #
DELETE /api/v3/applications/{applicationId} Deletes an application #
GET /api/v3/applications Retrieve a collection of applications #
POST /api/v3/applications Create a new application and release #
GET /api/v3/applications/{applicationId}/auto-report Returns the associated auto-run report type for the application. #
POST /api/v3/applications/{applicationId}/auto-report Set-up the associated auto-run report for the application #
GET /api/v3/applications/{applicationId}/users Returns a list of users that have access to the application #
GET /api/v3/applications/{applicationId}/user-groups Returns a list of user groups that have access to the application #
GET /api/v3/applications/owners Returns a list of users that can be set as an application owner #
GET /api/v3/applications/{applicationId}/user-permissions Returns the permissions the current user has for the application #
GET /api/v3/applications/{applicationId}/releases Returns a list of releases for the given application #
GET /api/v3/applications/{applicationId}/issue-count-by-severity Retrieves number of issues by severity for an application #
GET /api/v3/applications/{applicationId}/scans Returns a list of scans for the given application #
GET /api/v3/applications/{applicationId}/bug-tracker Returns the bug tracker settings for the given application #
GET /api/v3/applications/{applicationId}/microservices Retrieves a list of Microservices for an application #
POST /api/v3/applications/{applicationId}/microservices Add a Microservice to an application #
PUT /api/v3/applications/{applicationId}/microservices/{microserviceId} Edit a Microservice for an application #
DELETE /api/v3/applications/{applicationId}/microservices/{microserviceId} Delete a Microservice for an application #
GET /api/v3/applications/{applicationId}/audittemplates Returns a list of audit templates for the given application #
PUT /api/v3/applications/{applicationId}/audittemplates Creates/Update Audit templates for the given application #
GET /api/v3/applications/{applicationId}/vulnerabilities/{Id} Returns a list of vulnerabilities with matching InstanceId #
GET /api/v3/attributes Retrieve a list of attributes #
POST /api/v3/attributes Create a new attribute #
PUT /api/v3/attributes/{attributeId} Update an attribute #
DELETE /api/v3/attributes/{attributeId} Deletes an attribute #
GET /api/v3/audittemplate/globalaudittemplates Returns a list of global audit templates #
PUT /api/v3/audittemplate/globalaudittemplates Creates/Update Global Audit templates #
GET /api/v3/releases/{releaseId}/dast-automated-scans/scan-setup Get Dast Automated scan setup details #
PUT /api/v3/releases/{releaseId}/dast-automated-scans/website-scan-setup Saves Dast Automated Website scan setup details #
PUT /api/v3/releases/{releaseId}/dast-automated-scans/workflow-scan-setup Saves Dast Automated Workflow scan setup details #
PUT /api/v3/releases/{releaseId}/dast-automated-scans/openapi-scan-setup Saves Dast Automated Open API scan setup details #
PUT /api/v3/releases/{releaseId}/dast-automated-scans/graphql-scan-setup Saves Dast Automated GraphQL scan setup details #
PUT /api/v3/releases/{releaseId}/dast-automated-scans/grpc-scan-setup Saves Dast Automated GRPC scan setup details #
PUT /api/v3/releases/{releaseId}/dast-automated-scans/postman-scan-setup Saves Dast Automated Postman scan setup details #
PATCH /api/v3/releases/{releaseId}/dast-automated-scans/scan-setup/file-upload Uploads a Dast Automated file to release #
POST /api/v3/releases/{releaseId}/dast-automated-scans/start-scan Starts a DAST Automated scan using the current scan setup settings #
GET /api/v3/releases/{releaseId}/dynamic-scans/scan-setup Get dynamic scan setup details #
PUT /api/v3/releases/{releaseId}/dynamic-scans/scan-setup Saves dynamic scan setup details #
PATCH /api/v3/releases/{releaseId}/dynamic-scans/scan-setup/manifest Uploads a web service manifest to the release #
POST /api/v3/releases/{releaseId}/dynamic-scans/start-scan Starts a dynamic scan using the current scan setup settings #
PUT /api/v3/releases/{releaseId}/dynamic-scans/import-scan Saves the contents to import scan file #
PUT /api/v3/releases/{releaseId}/dynamic-scans/dynamic-to-dast Switches Dynamic Scan Setup to Dast Automated #
POST /api/v3/dynamic-scans/parse-totp-qr Parses a TOTP QR code image and extracts the TOTP secret. #
GET /api/v3/eventlogs/download Download the last 24 hours of event log data in csv format #
GET /api/v3/fortify-on-demand-connect-networks Retrieve a list of Fortify on Demand Connect networks #
GET /api/v3/lookup-items Returns a list of lookup items for the given type. #
GET /api/v3/releases/{releaseId}/mobile-scans/scan-setup Get mobile scan setup details #
PUT /api/v3/releases/{releaseId}/mobile-scans/scan-setup Saves mobile scan setup details #
POST /api/v3/releases/{releaseId}/mobile-scans/start-scan Starts a mobile scan for the given release #
PUT /api/v3/releases/{releaseId}/mobile-scans/import-scan Saves the contents to import scan file #
POST /api/v3/multi-factor-authorization-code Send an Authorization code #
GET /api/v3/notifications/unread Get a list of unread notifications #
GET /api/v3/notifications/read Get a list of read notifications #
POST /api/v3/notifications/markasread Marks the notification(s) as read #
GET /api/v3/applications/open-source-components Retrieve a collection of open source components. #
GET /api/v3/open-source-scans/{scanId}/sbom Download the Open Source SBOM file #
POST /api/v3/releases/{releaseId}/open-source-scans/start-scan Start an open source scan #
GET /api/v3/personal-access-tokens/{personalAccessTokenId} Get a specific personal access token #
PUT /api/v3/personal-access-tokens/{personalAccessTokenId} Update an existing personal access token #
DELETE /api/v3/personal-access-tokens/{personalAccessTokenId} Deletes a personal access token #
GET /api/v3/personal-access-tokens Returns a list of personal access tokens. #
POST /api/v3/personal-access-tokens Creates a personal access token. #
PUT /api/v3/personal-access-tokens/{personalAccessTokenId}/secret Creates a new personal access token secret. #
GET /api/v3/releases/{releaseId} Returns the specific release #
PUT /api/v3/releases/{releaseId} Updates an existing release #
DELETE /api/v3/releases/{releaseId} Deletes the given release #
GET /api/v3/releases Returns a list of releases #
POST /api/v3/releases Creates a new release #
GET /api/v3/releases/{releaseId}/scans/{scanId}/polling-summary Returns Scan status for a specific scan #
GET /api/v3/releases/{releaseId}/fpr Get the fpr for the given release #
GET /api/v3/releases/{releaseId}/category-rollups List and count of vulnerabilities categories, by severity for this release #
GET /api/v3/releases/{releaseId}/scans/{scanId} Returns summary information for the requested scan id #
GET /api/v3/releases/{releaseId}/scans Get a list of scans for a release #
POST /api/v3/releases/{releaseId}/audit-action Sets the audit action for the given release #
GET /api/v3/releases/{releaseId}/audit-options Get audit options for the given release #
GET /api/v3/releases/{releaseId}/static-scan-options Get a list of options available for starting a static scan #
GET /api/v3/releases/{releaseId}/assessment-types Get a list of available assessment types for the given release #
GET /api/v3/releases/{releaseId}/import-scan-session-id Initiates an import scan session #
PUT /api/v3/releases/{releaseId}/open-source-scans/import-cyclonedx-sbom Imports a CycloneDx Software Bill of Materials (SBOM) #
POST /api/v3/releases/{releaseId}/scans/{scanId}/cancel-scan Cancels a scan #
GET /api/v3/releases/{releaseId}/static-scan-bsi-token Get the build server integration token for the given release #
GET /api/v3/reports/{reportId} Get report summary data for the given report #
DELETE /api/v3/reports/{reportId} Delete a report #
GET /api/v3/reports Get a list of report summary data #
POST /api/v3/reports Create a new report #
GET /api/v3/reports/{reportId}/download Download the report in binary format #
GET /api/v3/reports/dataexports Get a list of export report summary data #
POST /api/v3/reports/dataexports Create a new data export #
GET /api/v3/reports/dataexports/{dataExportId}/download Download the export report in binary format #
GET /api/v3/reports/dataexports/templates Get a list of data export templates #
GET /api/v3/reports/dataexports/{dataExportId} Get data export details #
GET /api/v3/scans Returns a list of scans #
GET /api/v3/scans/{scanId}/summary Returns summary information for the requested scan id #
GET /api/v3/scans/{scanId}/manifest Download the scan manifest #
GET /api/v3/scans/{scanId}/site-tree Get the site tree #
GET /api/v3/scans/{scanId}/static-source-file Download the static scan source file #
GET /api/v3/scans/{scanId}/fpr Download the FPR file for the given ScanId #
GET /api/v3/scans/{scanId}/mobile-scans/payload-validation-results Returns mobile validation status and results #
PUT /api/v3scans/{scanId} Updates an existing scan #
POST /api/v3/releases/{releaseId}/static-scans/start-scan Start a static scan #
POST /api/v3/releases/{releaseId}/static-scans/start-scan-with-defaults Start a static scan using the default settings #
POST /api/v3/releases/{releaseId}/static-scans/start-scan-advanced Start a static scan using advanced options #
PUT /api/v3/releases/{releaseId}/static-scans/import-scan Saves the contents to import scan file #
GET /api/v3/releases/{releaseId}/static-scans/scan-setup Get static scan setup details #
PUT /api/v3/releases/{releaseId}/static-scans/scan-setup Saves static scan setup details #
PUT /api/v3/releases/{releaseId}/static-scans/import-sarif Imports a Static Analysis Resource Interchange Format (SARIF) file #
GET /api/v3/tenant-entitlements Returns a list of active tenant entitlements #
GET /api/v3/tenant-open-source-entitlements Returns a list of active open source entitlements for tenant #
GET /api/v3/tenant-heat-maps Retrieve a list of tenant heat map values #
GET /api/v3/tenants/features Get tenant features #
GET /api/v3/tenants Get tenant data #
GET /api/v3/tenant-summary Retrieves a summary of the tenant #
GET /api/v3/user-application-access/{userId} Get a list of applications a user has access to #
POST /api/v3/user-application-access/{userId} Create user access for the given user and application(s) #
DELETE /api/v3/user-application-access/{userId}/{applicationId} Delete user access for the given user and application #
GET /api/v3/user-group-application-access/{userGroupId} Get a list of applications a user group has access to #
POST /api/v3/user-group-application-access/{userGroupId} Create user group access for the given user group and application #
DELETE /api/v3/user-group-application-access/{userGroupId}/{applicationId} Delete user group access for the given user group and application #
GET /api/v3/user-management/user-groups Get a list of user groups #
POST /api/v3/user-management/user-groups Create a user group #
PUT /api/v3/user-management/user-groups/{groupId} Update a user group #
DELETE /api/v3/user-management/user-groups/{groupId} Delete a user group #
GET /api/v3/user-management/user-groups/{groupId}/members Get a list of user group members #
PATCH /api/v3/user-management/user-groups/{groupId}/members Update user group membership #
GET /api/v3/users/{userId} Get a specific user #
PUT /api/v3/users/{userId} Update an existing user #
DELETE /api/v3/users/{userId} Delete a specific user #
GET /api/v3/users Get a list of users #
POST /api/v3/users Create a new user #
GET /api/v3/releases/{releaseId}/vulnerabilities Returns a list of vulnerabilities #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/all-data Returns all of the data for the vulnerability #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/summary Returns the vulnerability summary #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/details Returns the vulnerability details #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/recommendations Returns the vulnerability recommendations #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/history Returns the vulnerability history #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/screenshots Returns the vulnerability screenshots #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/screenshot/{screenshotId} Returns a screenshot #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/request-response Returns the vulnerability request and response #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/headers Returns the vulnerability headers #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/parameters Returns the vulnerability parameters #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/traces Returns the vulnerability traces #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/traces/{traceIndex}/{traceEntryIndex}/code Returns the trace code for the specific index #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/traces/{traceIndex}/{traceEntryIndex}/snippet Returns the trace snippet for the specific index #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/audit-options Returns the vulnerability audit options #
POST /api/v3/releases/{releaseId}/vulnerabilities/bulk-edit Saves audit data for the vulnerabilities #
GET /api/v3/releases/{releaseId}/vulnerability-filters Get available vulnerability filters #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/comments Returns the vulnerability audit comments #
GET /api/v3/releases/{releaseId}/vulnerabilities/{vulnId}/aviator-remediation-guidance Returns machine readable aviator remediation details in json format for each individual issue #

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/fortify-on-demand-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

opentext-cybersecurity-fortify-on-demand-openapi.json Raw ↑
{"swagger":"2.0","info":{"version":"v3","title":"Fortify on Demand Web API Explorer"},"host":"api.ams.fortify.com","schemes":["https"],"paths":{"/api/v3/api-keys":{"get":{"tags":["ApiKeyManagement"],"summary":"Returns a list of API keys","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_GetApiKeys","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"offset","in":"query","description":"Offset of the starting record. 0 indicates the first record.","required":false,"type":"integer","format":"int32"},{"name":"limit","in":"query","description":"Maximum records to return. The maximum value allowed is 50.","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApiKeyListResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"post":{"tags":["ApiKeyManagement"],"summary":"Creates a new API key","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_PostApiKey","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"requestModel","in":"body","description":"PostApiKeyRequest model","required":true,"schema":{"$ref":"#/definitions/ApiKeyRequest"}}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/PostApiKeyResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/ErrorResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/api-keys/{apiKeyId}":{"get":{"tags":["ApiKeyManagement"],"summary":"Returns an API key","description":"Allowed Scopes: api-tenant,","operationId":"ApiKeyManagementV3_GetApiKey","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"apiKeyId","in":"path","description":"The Api Key id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApiKey"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"put":{"tags":["ApiKeyManagement"],"summary":"Updates an existing API key","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_PutApiKey","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"apiKeyId","in":"path","description":"The Api Key id","required":true,"type":"integer","format":"int32"},{"name":"requestModel","in":"body","description":"PostApiKeyRequest model","required":true,"schema":{"$ref":"#/definitions/ApiKeyRequest"}}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/ApiKeyResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/ErrorResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"delete":{"tags":["ApiKeyManagement"],"summary":"Deletes the given ApiKey","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_DeleteApiKey","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"apiKeyId","in":"path","description":"The api key id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/DeleteApiKeyResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/DeleteApiKeyResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/api-keys/{apiKeyId}/newsecret":{"post":{"tags":["ApiKeyManagement"],"summary":"Creates a new secret for an existing api key","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_PostNewSecret","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"apiKeyId","in":"path","description":"The Api Key id","required":true,"type":"integer","format":"int32"}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/PostApiKeyResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/ErrorResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/api-keys/{apiKeyId}/application-access":{"get":{"tags":["ApiKeyManagement"],"summary":"Returns a list of Applications assigned to an API Key","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_GetAssignedApplicationsToApiKey","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"apiKeyId","in":"path","description":"Api Key Id","required":true,"type":"integer","format":"int32"},{"name":"offset","in":"query","description":"Offset of the starting record. 0 indicates the first record.","required":false,"type":"integer","format":"int32"},{"name":"limit","in":"query","description":"Maximum records to return. The maximum value allowed is 50.","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApiKeyApplicationListResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"put":{"tags":["ApiKeyManagement"],"summary":"Assign applications to API Key","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_ApplicationAccess","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"apiKeyId","in":"path","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","required":true,"schema":{"$ref":"#/definitions/ApiKeyApplicationAccessRequest"}}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/ApiKeyResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/ErrorResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/api-keys/{apiKeyId}/unassign-application-access":{"put":{"tags":["ApiKeyManagement"],"summary":"Unassign applications to API Key","description":"Allowed Scopes: api-tenant","operationId":"ApiKeyManagementV3_UnassignApplicationAccess","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"apiKeyId","in":"path","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","required":true,"schema":{"$ref":"#/definitions/ApiKeyUnassignApplicationsRequest"}}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/ApiKeyResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/ErrorResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}":{"get":{"tags":["Applications"],"summary":"Retrieves an individual application by id","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplication","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/Application"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"put":{"tags":["Applications"],"summary":"Update an application","description":"Allowed Scopes: api-tenant, manage-apps","operationId":"ApplicationsV3_PutApplication","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"requestModel","in":"body","description":"The application data","required":true,"schema":{"$ref":"#/definitions/PutApplicationRequest"}}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/PutApplicationResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/PutApplicationResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/PutApplicationResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"delete":{"tags":["Applications"],"summary":"Deletes an application","description":"Allowed Scopes: api-tenant, manage-apps","operationId":"ApplicationsV3_Delete","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/DeleteApplicationResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/DeleteApplicationResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications":{"get":{"tags":["Applications"],"summary":"Retrieve a collection of applications","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplications","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"filters","in":"query","description":"A delimited list of field filters.\r\n<br /><br />Field name and value should be separated by a colon (:).\r\n<br /><br />Multiple fields should be separated by a plus (+). Multiple fields are treated as an AND condition. Example, fieldname1:value+fieldname2:value\r\n<br /><br />Multiple values for a field should be separated by a pipe (|). Mulitple values for a field are treated as an OR condition. Example, fieldname1:value1|value2\r\n<br /><br />Filtering is not supported for the following fields: applicationDescription, attributes","required":false,"type":"string"},{"name":"orderBy","in":"query","description":"The field name to order the results by.","required":false,"type":"string"},{"name":"orderByDirection","in":"query","description":"The direction to order the results by. ASC and DESC are valid values.","required":false,"type":"string"},{"name":"fields","in":"query","description":"Comma separated list of fields to return.","required":false,"type":"string"},{"name":"offset","in":"query","description":"Offset of the starting record. 0 indicates the first record.","required":false,"type":"integer","format":"int32"},{"name":"limit","in":"query","description":"Maximum records to return. The maximum value allowed is 50.","required":false,"type":"integer","format":"int32"},{"name":"modifiedStartDate","in":"query","description":"The modified on or after date.","required":false,"type":"string","format":"date-time"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApplicationListResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"post":{"tags":["Applications"],"summary":"Create a new application and release","description":"Allowed Scopes: api-tenant, manage-apps","operationId":"ApplicationsV3_PostApplication","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"requestModel","in":"body","description":"The application data","required":true,"schema":{"$ref":"#/definitions/PostApplicationRequest"}}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/PostApplicationResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/ErrorResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/auto-report":{"get":{"tags":["Applications"],"summary":"Returns the associated auto-run report type for the application.","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetAutoReport","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/GetAutoReportResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"post":{"tags":["Applications"],"summary":"Set-up the associated auto-run report for the application","description":"Allowed Scopes: api-tenant, manage-apps","operationId":"ApplicationsV3_PostAutoReport","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"requestModel","in":"body","description":"The auto report data","required":true,"schema":{"$ref":"#/definitions/PostAutoReportRequest"}}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/PostAutoReportResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/PostAutoReportResponse"}},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/users":{"get":{"tags":["Applications"],"summary":"Returns a list of users that have access to the application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationUsers","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/GetApplicationUsersResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/user-groups":{"get":{"tags":["Applications"],"summary":"Returns a list of user groups that have access to the application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationUserGroups","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/GetApplicationUserGroupsResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/owners":{"get":{"tags":["Applications"],"summary":"Returns a list of users that can be set as an application owner","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationOwners","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApplicationUserListResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/user-permissions":{"get":{"tags":["Applications"],"summary":"Returns the permissions the current user has for the application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationUserPermissions","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApplicationUserPermissions"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/releases":{"get":{"tags":["Applications"],"summary":"Returns a list of releases for the given application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationReleases","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A delimited list of field filters.\r\n<br /><br />Field name and value should be separated by a colon (:).\r\n<br /><br />Multiple fields should be separated by a plus (+). Multiple fields are treated as an AND condition. Example, fieldname1:value+fieldname2:value\r\n<br /><br />Multiple values for a field should be separated by a pipe (|). Mulitple values for a field are treated as an OR condition. Example, fieldname1:value1|value2\r\n<br /><br />Filtering is not supported for the following fields: suspended","required":false,"type":"string"},{"name":"orderBy","in":"query","description":"The field name to order the results by.","required":false,"type":"string"},{"name":"orderByDirection","in":"query","description":"The direction to order the results by. ASC and DESC are valid values.","required":false,"type":"string"},{"name":"fields","in":"query","description":"Comma separated list of fields to return.","required":false,"type":"string"},{"name":"offset","in":"query","description":"Offset of the starting record. 0 indicates the first record.","required":false,"type":"integer","format":"int32"},{"name":"limit","in":"query","description":"Maximum records to return. The maximum value allowed is 50.","required":false,"type":"integer","format":"int32"},{"name":"modifiedStartDate","in":"query","description":"The modified on or after date.","required":false,"type":"string","format":"date-time"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ReleaseListResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/issue-count-by-severity":{"get":{"tags":["Applications"],"summary":"Retrieves number of issues by severity for an application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationIssueCount","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApplicationIssueCountListResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/scans":{"get":{"tags":["Applications"],"summary":"Returns a list of scans for the given application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetScansByApplicationId","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"orderBy","in":"query","description":"The field name to order the results by.","required":false,"type":"string"},{"name":"orderByDirection","in":"query","description":"The direction to order the results by. ASC and DESC are valid values.","required":false,"type":"string"},{"name":"fields","in":"query","description":"Comma separated list of fields to return.","required":false,"type":"string"},{"name":"offset","in":"query","description":"Offset of the starting record. 0 indicates the first record.","required":false,"type":"integer","format":"int32"},{"name":"limit","in":"query","description":"Maximum records to return. The maximum value allowed is 50.","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ScanListResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/bug-tracker":{"get":{"tags":["Applications"],"summary":"Returns the bug tracker settings for the given application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationBugTracker","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/ApplicationBugTracker"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/microservices":{"get":{"tags":["Applications"],"summary":"Retrieves a list of Microservices for an application","description":"Allowed Scopes: api-tenant, view-apps","operationId":"ApplicationsV3_GetApplicationMicroservices","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"includeReleases","in":"query","description":"Value defaults to true if not specified.","required":false,"type":"boolean"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/MicroserviceListResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"post":{"tags":["Applications"],"summary":"Add a Microservice to an application","description":"Allowed Scopes: api-tenant, manage-apps","operationId":"ApplicationsV3_PostApplicationMicroservice","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"requestModel","in":"body","description":"The microservice data","required":true,"schema":{"$ref":"#/definitions/PostMicroserviceRequest"}}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/PostMicroserviceResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/microservices/{microserviceId}":{"put":{"tags":["Applications"],"summary":"Edit a Microservice for an application","description":"Allowed Scopes: api-tenant, manage-apps","operationId":"ApplicationsV3_PutApplicationMicroservice","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded","multipart/form-data"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"microserviceId","in":"path","description":"The microservice id","required":true,"type":"integer","format":"int32"},{"name":"requestModel","in":"body","description":"The microservice data","required":true,"schema":{"$ref":"#/definitions/PostMicroserviceRequest"}}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/PostMicroserviceResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"delete":{"tags":["Applications"],"summary":"Delete a Microservice for an application","description":"Allowed Scopes: api-tenant, manage-apps","operationId":"ApplicationsV3_DeleteApplicationMicroservice","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"microserviceId","in":"path","description":"The microservice id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/PostMicroserviceResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/audittemplates":{"get":{"tags":["Applications"],"summary":"Returns a list of audit templates for the given application","description":"Allowed Scopes: api-tenant, manage-issues","operationId":"ApplicationsV3_GetAuditTemplates","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application id","required":true,"type":"integer","format":"int32"},{"name":"scanType","in":"query","description":"The scan type<br /><br />Values can be obtained by calling GET /api/v3/lookup-items?type=ScanTypes","required":false,"type":"string"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/AuditTemplateListResponse"}},"401":{"description":"Unauthorized"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}},"put":{"tags":["Applications"],"summary":"Creates/Update Audit templates for the given application","description":"Allowed Scopes: api-tenant, manage-issues","operationId":"ApplicationsV3_PutApplicationAuditTemplates","consumes":["application/json","text/json","application/xml","text/xml","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","required":true,"type":"integer","format":"int32"},{"name":"auditTemplatesRequest","in":"body","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/PutAuditTemplateFilterRequest"}}}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/AuditTemplateResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/AuditTemplateResponse"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"NotFound"},"429":{"description":"TooManyRequests"},"500":{"description":"InternalServerError"}}}},"/api/v3/applications/{applicationId}/vulnerabilities/{Id}":{"get":{"tags":["Applications"],"summary":"Returns a list of vulnerabilities with matching InstanceId","description":"Allowed Scopes: api-tenant, view-issues","operationId":"ApplicationsV3_GetVulnerabilityInstancesinApplicationByVulnerabilityId","consumes":[],"produces":["application/json","text/json","application/xml","text/xml"],"parameters":[{"name":"applicationId","in":"path","description":"The application Id","required":true,"type":"integer","format":"int32"},{"name":"Id","in":"path","description":"The Issue id","required":true,"type":"integer","format":"int32"},{"name":"filters","in":"query","description":"A delimited list of field filters.\r\n<br /><br />Field name and value should be separated by a colon (:).\r\n<br /><br />Multiple fields should be separated by a plus (+). Multiple fields are treated as an AND condition. Example, fieldname1:value+fieldname2:value.\r\n<br /><br />Multiple values for a field should be separated by a pipe (|). Mulitple values for a field are treated as an OR condition. Example, fieldname1:value1|value2.\r\n<br /><br />Filtering is not supported for the following fields: auditPendingAuditorStatus, auditPendingSuppression, checkId, closedDate, closedStatus, falsePositiveChallenge, instanceId, pci1_2, sink, source, stig6, suppressedBy, timeToFixDays","required":false,"type":"string"},{"name":"orderBy","in":"query","description":"The field name to order the results by.","required":false,"type":"string"},{"name":"orderByDirection","in":"query","description":"The direction to order the results by. ASC and DESC are valid values.","required":false,"type":"string"},{"name":"fields","in":"query","description":"Comma separated list of fields to return.","required":false,"type":"string"},{"name":"offset","in":"query","description":"Offset of the starting record. 0 indicates the first record.","required":false,"type":"integer","format":"int32"},{"name":"limit","in":"query","description":"Maximum records to return. The maximum value allowed is 50.","required":false,"type":"integer","format":"int32"},{"name":"includeFixed","in":"query","description":"Indicates if items that have been fixed should be included in the return value. Value defaults to false if not specified.","required":false,"type":"boolean"},{"name":"includeSuppressed","in":"query","description":"Indicates if items that have been suppressed should be included in the return value. Value defaults to false if not specified.","required":false,"type":"boolean"},{"name":"keywordSearch","in":"query","description":"Used for keyword searches","required":false,"type":"string"}],"responses":{"200":{"description":"Ok","schema":{"$ref":"#/definitions/GetVulnerabilitiesResponseVulnerabilityDTOLight"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/ErrorResponse"}},"400":{"description":"BadRequest","schema":{"$ref":"#

# --- truncated at 32 KB (344 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/opentext-cybersecurity/refs/heads/main/openapi/opentext-cybersecurity-fortify-on-demand-openapi.json