As we reach the end of September 2024, ThreadFix version 3.x on-premises has officially reached its End-of-Life. Therefore, there is no longer support or updates for this version of the product. We have fully transitioned our product and development teams to focus ThreadFix SaaS and migrating all customers over from the on-premises versions. Our Customer Success and Support teams are here to help you in migrating to ThreadFix SaaS and maximizing the value you see from this improved offering from Coalfire. This is the next phase of ThreadFix and our team is looking forward to continuing to support you on this journey.

Get All Policies 3.0 - API

/rest/{version}/policies

Descriptor

Value

HTTP Method

GET

Description

Get a list of all policies in ThreadFix.

Required Permission

Manage Policies

Version Introduced

2.4.0

Changes in 2.4.1

Added the statusLastChanged and lastEvaluated fields to the response.  These fields are also now in the older versions of the call.

Changes in 2.5.1.12

Changed the "passing" field to "currentStatus".  The values are "PASSING", "FAILING", and "NO SCANS FOUND".

Changes in 2.6

Added the "addedManually", "addedByTeam", and "addedByTag" to the response. 

Changes in 2.7.5

Added "testEnvironment", "releaseFrequency", and "isInternal" to the REST call response.

Changes in 2.8

Added "timeToRemediateCriteria" to the REST call response, and added "type" parameter.

Request Header Parameters

Parameter

Value

Required

Description

Accept

String

Yes

A value of ‘application/json’ must be provided.

GET Parameters

Parameter

Value

Required

Description

type

String

No

Types of Policies to return.  Leave out or provide "all" to see all policies, provide "filter" to see policies that evaluate on filter criteria, or provide "remediation" to see Time to Remediate policies.

Sample Call:

curl --insecure -H 'Accept: application/json' -H "Authorization: APIKEY {apiKey}" http://localhost:8080/threadfix/rest/latest/policies?type=all

Sample Output:

Values for statusLastChanged and lastEvaluated are returned as Epoch time in milliseconds.

{     "message": "",     "success": true,     "responseCode": -1,     "object": [         {             "id": 1,             "name": "Critical Policy",             "policyStatuses": [                 {                     "id": 2,                     "currentStatus": "PASSING",                     "emailLists": [],                     "emailAddresses": [                         "email1@testemail.com",                         "email3@testemail.com"                     ],                     "sendEmail": false,                     "statusLastChanged": 1469133001000, "addedManually": true, "addedByTeam": false, "addedByTag": false,                     "name": "Passing App",                     "lastEvaluated": 1469133001000,                     "policy": {                         "name": "Critical Policy",                         "filterName": "Critical Filter",                         "id": 1                     },                     "application": {                         "name": "Passing App",                         "id": 1,                         "team": {                             "name": "Test Team",                             "id": 1                         }                     }                 },                 {                     "id": 1,                     "currentStatus": "FAILING",                     "emailLists": [                         {                             "id": 1,                             "name": "Sample Email List",                             "emailAddresses": [                                 "email1@testemail.com",                                 "email2@testemail.com"                             ]                         }                     ],                     "emailAddresses": [],                     "sendEmail": false,                     "statusLastChanged": null,                     "name": "Failing App",                     "lastEvaluated": 1469132998000,                     "policy": {                         "name": "Critical Policy",                         "filterName": "Critical Filter",                         "id": 1                     },                     "application": {                         "name": "Failing App",                         "id": 2,                         "team": {                             "name": "Test Team",                             "id": 1                         }                     }                 }             ],             "filterJsonBlob": {                 "id": 1,                 "json": "{\"scanners\":[],\"genericVulnerabilities\":[],\"severities\":{\"critical\":true},\"numberMerged\":null,\"path\":null,\"parameter\":null,\"numberVulnerabilities\":10,\"showOpen\":true,\"showClosed\":false,\"showFalsePositive\":false,\"showHidden\":false,\"showDefectPresent\":false,\"showDefectNotPresent\":false,\"showDefectOpen\":false,\"showDefectClosed\":false,\"showInconsistentClosedDefectNeedsScan\":false,\"showInconsistentClosedDefectOpenInScan\":false,\"showInconsistentOpenDefect\":false,\"daysOldModifier\":null,\"daysOld\":null,\"startDate\":null,\"endDate\":null,\"filterType\":{\"isVulnSearchFilter\":true},\"genericSeverities\":[{\"intValue\":5}],\"channelTypes\":[],\"usingComponentsWithKnownVulnerabilities\":false}",                 "name": "Critical Filter",                 "defaultTrending": false             }, "timeToRemediateCriteria": null,             "emailLists": [                 {                     "id": 1,                     "name": "Sample Email List",                     "emailAddresses": [                         "email1@testemail.com",                         "email2@testemail.com"                     ]                 }             ],             "emailAddresses": [                 "email3@testemail.com"             ],             "sendEmail": false,             "applications": [                 { "id": 1, "name": "Example", "url": null, "applicationCriticality": { "id": 2, "name": "Medium" }, "policyStatuses": [ { "id": 1, "currentStatus": "FAILING", "emailLists": [], "emailAddresses": [], "sendEmail": false, "statusLastChanged": 1849573918375, "addedManually": true, "addedByTeam": false, "addedByTag": false, "name": "Example", "lastEvaluated": 19467593748947, "application": { "name": "Example", "id": 1, "team": { "name": "Example", "id": 1 } }, "policy": { "name": "New Policy", "filterName": "Default", "id": 1 } } ], "description": null, "releaseFrequency": "UNKNOWN", "testEnvironment": null, "isInternal": false, "team": { "name": "Example", "id": 1 } }                 {                     "id": 2,                     "name": "Failing App",                     "url": null,                     "applicationCriticality": {                         "id": 2,                         "name": "Medium"                     },                     "team": {                         "name": "Team name",                         "id": 1                     }                 }             ]         }, { "id": 2, "name": "Test", "policyStatuses": [ { "id": 20, "currentStatus": "FAILING", "emailLists": [], "emailAddresses": [], "sendEmail": false, "statusLastChanged": 1587158441000, "addedManually": true, "addedByTeam": false, "addedByTag": false, "name": "7526", "lastEvaluated": 1587158474000, "policy": { "name": "Test", "filterName": null, "id": 2 }, "application": { "name": "7526", "id": 28, "team": { "name": "Test Team", "id": 1 } } } ], "filterJsonBlob": null, "timeToRemediateCriteria": { "id": 1, "criteriaMap": { "critical": 1 } }, "emailLists": [], "emailAddresses": [], "sendEmail": false, "tags": [], "applications": [ { "id": 28, "name": "7526", "url": null, "applicationCriticality": { "id": 2, "name": "Medium" }, "policyStatuses": [ { "id": 21, "currentStatus": "FAILING", "emailLists": [], "emailAddresses": [], "sendEmail": false, "statusLastChanged": 1587399731000, "addedManually": true, "addedByTeam": false, "addedByTag": false, "name": "7526", "lastEvaluated": 1587399731000, "policy": { "name": "Policy", "filterName": "Filter", "id": 1 }, "application": { "name": "7526", "id": 28, "team": { "name": "Test Team", "id": 1 } } }, { "id": 20, "currentStatus": "FAILING", "emailLists": [], "emailAddresses": [], "sendEmail": false, "statusLastChanged": 1587158441000, "addedManually": true, "addedByTeam": false, "addedByTag": false, "name": "7526", "lastEvaluated": 1587158474000, "policy": { "name": "Test", "filterName": null, "id": 2 }, "application": { "name": "7526", "id": 28, "team": { "name": "Test Team", "id": 1 } } } ], "description": null, "releaseFrequency": "UNKNOWN", "testEnvironment": null, "isInternal": false, "team": { "name": "Test Team", "id": 1 } } ], "teams": [] }     ] }

www.threadfix.it | www.coalfire.com
Copyright © 2024 Coalfire. All rights reserved.

This Information Security Policy is CoalFire - Public: Distribution of this material is not limited.