---
updatedAt: 2026-09-28T15:40:01.000Z
agentTools:
  projectIndex: https://securityscorecard.readme.io/llms.txt
---

# Get "links_to_insecure_website" historical issues 

Get "links_to_insecure_website" historical issues in a scorecard

# OpenAPI definition

````json
{
  "openapi": "3.0.0",
  "info": {
    "title": "SecurityScorecard API",
    "version": "1.9.73",
    "contact": {
      "name": "SecurityScorecard Support",
      "email": "support@securityscorecard.io"
    },
    "description": "SecurityScorecard enables users to instantly rate and understand the security\nrisk of any company. Users can view and monitor security ratings, easily add\nvendors or partner organizations, and report on the cyberhealth of their\necosystem. It also provides access to analytics,\ncompliance frameworks, collaboration, digital asset management, and other tools that\nhelp enterprises better manage security and meet compliance objectives.\n\nThis document describes the SecurityScorecard API that is available along with\nthe [SecurityScorecard platform](https://platform.securityscorecard.io).\nAPI endpoints are configured on a per client basis, and individual endpoints\nmay vary based on the agreement with the client. This document contains all\npossible endpoints.\n\nFor technical support please contact us at\n[support@securityscorecard.io](support@securityscorecard.io). We typically\nrespond in 48 hours and operate Monday thru Friday 9am - 5pm EST (excluding\nUS federal holidays).\n\n## Schema\n\nAll API access is over HTTPS. All data is sent and received as JSON unless specified otherwise.\n\n## Upgrades and Backwards compatibility\n\nAll resources and representations are maintained in a backwards compatible manner\n(please see the section below for what are considered backward compatible changes).\nIf any url or schema is updated in a future version, support for all pre-existent operations and schemas\nis preserved to ensure backwards compatibility.\n\nThis means that if a program is written against a version of our API, you can expect it will continue to work\nagainst future versions if implemented with the considerations detailed below.\n\n### Evolving scorecard issue types and factors\n\nA very important exception to endpoint stability is that given our continuously evolving set of\nscorecard issue types and factors,\nendpoints specific to each of them might change as new type of security signals are added (or retired)\nfrom SecurityScorecard, or the specific attributes associated to their findings evolve.\n\nIn order to ensure integrations are prepared for this, it's important you use the endpoints available\nto determine the\n[existing issue types](https://platform.securityscorecard.io/docs/index.html#tag/metadata/paths/~1metadata~1issue-types/get)\nor simply navigate to specific issue types using link urls in parent responses,\neg. see `detail_url` for scorecard issues\n[here](https://platform.securityscorecard.io/docs/index.html#tag/scores/paths/~1companies~1{scorecard_identifier}/get),\navoiding for example relying on a fixed list of issue types.\n\n### What is considered a non-breaking or backward compatible change?\n\nAll our API operations and schemas are kept backward compatible to ensure:\n- all existing requests working against the current version will continue to work in the future\n- all the responses continue to include the same information included currently, but can include additional\nnew properties anywhere in the json response, that should be ignored or omitted on deserialization.\n\nWith this criteria, these are considered non-breaking or backward compatible changes:\n- new endpoints\n- new optional parameters:\n  - query parameters\n  - new optional properties in any part of a json request body\n  - new optional request http headers\n- new supported values of these request parameters\n- new properties in any part of a json response body\n- new response http headers\n  - this can include a pagination `Link` header, added to collections that after reaching\na very large size we might need to introduce a fixed page size, see Pagination section.\n- changes to the length or format of entity IDs or other opaque strings.\n- issue types or factors being added, retired (if deemed obsolete as security signals),\nor changes to their associated severity and details\n- new event types in [event logs](https://platform.securityscorecard.io/docs/index.html#tag/event-log)\n(your code should ignore or gracefully handle unfamiliar event types)\n\nAnd these would be considered breaking changes:\n- retiring existing endpoints\n- new required parameters\n- retiring support for values of these request parameters\n- retiring properties in any part of a json response body\n- modifying the type or meaning of existing properties\n- retiring response http headers\n- changes to expected http status codes\n\n### Additional properties in json responses\n\nIn most tech stacks this a non-issue and already contemplated in json libraries, but here are some references\nto special cases:\n- In java, when using jackson serializer set `FAIL_ON_UNKNOWN_PROPERTIES` to `false`,\nan example from swagger's official API client generator is\nshown [here](https://github.com/OpenAPITools/openapi-generator/blob/0eb385c0d6497c38c09b42158b2d66109b78b15b/samples/server/petstore/jaxrs/jersey1-useTags/src/gen/java/org/openapitools/api/JacksonJsonProvider.java#L22)\n\n### Breaking Changes\n\nWhile we're committed to keep all existing endpoints backward compatible it is possible a specific\nfeature or functionality is retired from our product, whenever this happens:\n- we'll notify customers with a notice of 3 months minimum\n- we'll publish the event in this section\n- we'll provide assistance detailing a migration path if one is available\n\n### Changelog\nAll these changes are backwards-compatible unless specified otherwise.\n\n#### 1.9.73\n\n- Removed `POST` `/expressions'\n\n#### 1.9.72\n\n- Added `POST`  `/scorecard-tags/all-companies/bulk-create'\n\n#### 1.9.71\n\n- Added `DELETE`  `/scorecard-tags/all-companies/bulk-delete'\n- Added `GET`  `'/v1/scorecard-notes/{domain}'\n\n#### 1.9.70\n\n- Added `GET`  `'/max/v1/users/access'\n\n#### 1.9.69\n\n- Added `DELETE`  `'/v1/all-companies/{domain}'\n\n#### 1.9.68\n\n- Added `GET`  `'/v1/issues/:issue_id'\n\n#### 1.9.67\n\n- Added `PATCH`  `'/v1/all-companies/{domain}'\n\n#### 1.9.66\n\n- Added `POST`  `'/black-ice/ai-assessment-soc2-typeii'\n\n#### 1.9.65\n\n- Added `GET`  `'/v1/all-companies/{domain}'\n- Added `POST`  `'/v1/all-companies/bulk-update'\n\n#### 1.9.64\n\n- Added `DELETE` `'/max/v1/management-request/{id}'\n- UPDATES `GET` `'/v1/management-request/{id}' to /max/v1/management-request/{id}\n\n#### 1.9.63\n\n- Added `GET` `'/v1/management-request/{id}'\n\n#### 1.9.62\n\n- Added `POST` `'/reports/compliance/csv/export'\n\n#### 1.9.61\n\n- Added add-optional-object-property: paths//managed-services/managed-customers/{customerId} - Optional property status added\n- Added add-optional-object-property: paths//managed-services/managed-customers/{customerId} - Optional property request_id added\n- Updated `POST` '/vendor-portfolio-automation/ingest' to get 'source' from header instead of post body\n- Updated `POST` '/vendor-portfolio-automation/ingest' body to require 'source_id' to identify incoming records\n\n#### 1.9.60\n\n- Added `POST` `'/all-companies/bulk-delete'\n\n#### 1.9.59\n\n- Added `POST` `/v1/signups/assessments/user/validate'\n\n#### 1.9.56\n\n- Added `GET` `'/all-companies'\n\n#### 1.9.55\n\n- Added `GET` `'/footprint/:parentDomain/attribution-log'\n\n#### 1.9.54\n\n- Added `DELETE` `/managed-services/documents'\n- Added `GET` `/managed-services/documents/download/:documentId'\n\n#### 1.9.53\n\n- Added `PUT` `/managed-services/documents/upload'\n\n#### 1.9.52\n\n- Added `POST` `/plans/managed-services'\n- Added `POST` `/plans/managed-services-dashboard'\n- Added `POST` `/managed-services/documents/upload'\n- Added `GET` `/managed-services/documents/:customerId'\n\n#### 1.9.51\n\n- Updated `POST` `/parent-domains/:parent_domain/domains'\n\n#### 1.9.50\n\n- Replaced GET /bod-reports/measurements/portfolios-severity-measurement-count/:from/:to to /bod-reports/measurements/portfolios-severity-average-over-days/:from/:to\n- Replaced GET /bod-reports/measurements/scorecards-severity-measurement-count/:from/:to to /bod-reports/measurements/scorecards-severity-average-over-days/:from/:to\n\n#### 1.9.49\n\n- Added /reports/assessments\n\n#### 1.9.48\n\n- Added `GET` `/managed-services/reports'\n\n#### 1.9.47\n\n- Added `GET` `/scorecards/:scorecard_id/metrics/score'\n\n#### 1.9.46\n\n- Added `PUT` `/custom-scorecards/:id'\n- Added `DELETE` `/custom-scorecards/:id'\n\n#### 1.9.45\n\n- Added `POST` `/custom-scorecards'\n- Added `GET` `/custom-scorecards/:id'\n- Added `PATCH` `/custom-scorecards/:id/filters'\n- Added `DELETE` `/custom-scorecards/:id/filters'\n- Added `PATCH` `/custom-scorecards/:id/sources'\n- Added `DELETE` `/custom-scorecards/:id/sources'\n\n#### 1.9.44\n\n- Replace `POST` `/v1/signups/user/validate'\n\n#### 1.9.43\n\n- Added `POST` `/v1/signups/user/validate'\n\n#### 1.9.42\n\n- Added `GET` `/v1/organizations/:id/profile/open-graph'\n- Added `GET` `/v1/organizations/:id/profile/favicon'\n\n#### 1.9.41\n\n- Added `GET` `/v1/organizations/:id/profile/header'\n\n#### 1.9.40\n\n- Added `GET` `/atlas/forms_simple/:id'\n\n#### 1.9.39\n\n- Added `POST` `/v1/organizations/:id/profile/announcements'\n\n#### 1.9.38\n\n- Added `GET` `/apps/installation-data/app/:id/username/:username'\n\n#### 1.9.37\n\n- Removed `PUT` `/companies/bulk-searches'\n- Removed `POST` `/tags/merge-custom-tags'\n- Removed `GET` `/v1/findings/:parent_domain/:issue_type/csv-download'\n- Removed `GET` `/v1/merge-custom-scorecards'\n- Removed `POST` `/v1/merge-custom-scorecards'\n- Removed `GET` `/v1/merge-followers/:origin/to/:target'\n- Removed `PUT` `/v1/merge-followers/:origin/to/:target/update'\n- Removed `GET` `/v1/migrate-domains/:origin/to/:target'\n- Removed `PUT` `/v1/migrate-domains/:origin/to/:target/update'\n- Removed `POST` `/v1/scorecards/scorecards-with-names'\n\n#### 1.9.36\n\n- Added `GET` `/plans'\n- Added `POST` `/plans/archive'\n- Added `POST` `/plans/expression'\n- Added `POST` `/plans/expression/:id'\n- Added `POST` `/plans/factor-score-improvement'\n- Added `PATCH` `/plans/factor-score-improvement/:id'\n- Added `POST` `/plans/issue-resolution'\n- Added `PATCH` `/plans/issue-resolution/:id'\n- Added `POST` `/plans/overall-score-improvement'\n- Added `PATCH` `/plans/overall-score-improvement/:id'\n- Added `POST` `/plans/unarchive'\n- Added `GET` `/plans/:id'\n- Added `DELETE` `/plans/:id'\n- Added `POST` `/plans/:id/guests'\n- Added `DELETE` `/plans/:id/guests'\n- Added `DELETE` `/plans/:id/items'\n\n#### 1.9.35\n\n- Fix python code-sample\n\n#### 1.9.33\n\n- Add `GET` `/sentinel/search/tprm/company/:domain',\n\n#### 1.9.31\n\n- Replace filter 'severity' with 'confidence' in expanded-risk endpoints,\n- Replace 'association_label' with 'confidence' in ExpandedRiskEvent,\n- Remove 'page' from ExpandedRiskCollectionResponse,\n\n#### 1.9.30\n\n- Add `GET` `/companies/:domain/expanded-risk',\n- Add `GET` `/portfolios/:portfolioId/expanded-risk',\n\n#### 1.9.29\n\n- Add `GET` `/sentinel/search/v3-experimental/:query'\n\n#### 1.9.28\n\n- Add `POST` `/expressions/result/portfolio/:id'\n\n#### 1.9.27\n\n- Added `GET` `/sentinel/custom-queries'\n\n#### 1.9.26\n\n- Add `GET` `/atlas/companies/:domain/standards/list',\n- Add `GET` `/atlas/companies/:domain/standards/:standard_id/controls'\n\n#### 1.9.25\n\n- Add `POST` `/expressions/portfolio/:id'\n\n#### 1.9.24\n\n- Add `GET` `/atlas/companies/:domain/questionnaire_metadata'\n\n#### 1.9.23\n\n- Add `GET` `/expressions/portfolio/:id'\n\n#### 1.9.21\n\n- Added `POST` `/v1/search/clear-pending-tasks\n\n#### 1.9.20\n\n- Added `POST` `/aegis/evidence_locker/:id/request_custom_access/\n\n#### 1.9.19\n\n- Added `PATCH` `/aegis/evidence_locker/:id/custom_accesses/:caId\n\n#### 1.9.18\n\n- Added `GET` `/sentinel/facets/v2'\n- Added `GET` `/sentinel/search/v2/:query'\n- Added `POST` `/sentinel/search/v2'\n- Added `POST` `/sentinel/search-filter-suggestions'\n\n#### 1.9.17\n\n- Add `GET` `/v1/findings/:parent_domain/:issue_type/csv-download'\n\n#### 1.9.16\n\n- Add `POST` `/apps/:id/clone'\n\n#### 1.9.15\n\n- Add `GET` `/v1/search/pending-tasks/:entity/:entity_id'\n\n#### 1.9.14\n\n- Add `GET` `/v1/organizations/:id/data-residency-settings'\n\n#### 1.9.13\n\n- Add `GET` `/sentinel/footprint/:parentDomain/assets/domain/:domain/related/ips'\n\n#### 1.9.12\n\n- Added `POST` `/parent-domains/:parent_domain/domains'\n- Added `POST` `/parent-domains/:parent_domain/ips'\n- Add `GET` `/ip-domain-tags/parent-domains/:parent_domain/domains'\n\n#### 1.9.11\n\n- Added `GET` `/portfolios/:id/get-added-date-by-domains'\n\n#### 1.9.10\n\n- Added `GET` `/ip-domain-tags'\n\n#### 1.9.9\n\n- Added `GET` `/portfolios/companies-stats-by-tag-id/:id'\n\n#### 1.9.8\n\n- Added `GET` `/users/by-username/:username/first-login-date'\n\n#### 1.9.7\n\n- Add `GET` `/sentinel/footprint/details/:domain/:ip'\n\n#### 1.9.6\n\n- Remove `GET` `/asi/footprint/:parentDomain/assets/ip/:ip/details'\n\n#### 1.9.5\n\n- Added `GET` `/asi/footprint/:parentDomain/assets/ip/:ip/details'\n\n#### 1.9.4\n\n- Added `GET` `/v1/organizations/company-sets/status'\n\n#### 1.9.3\n\n- Added `GET` `/portfolios/get-products-by-domains'\n\n#### 1.9.2\n\n- Added `GET` `/portfolios/companies-scores'\n\n#### 1.9.1\n\n- Updated `GET` `reports/recalibration/:reportName'\n\n#### 1.9.0\n\n- Removed `GET` `/fourth-party/:domain'\n- Added `GET` `/vendor-detection/:domain/fourth-party'\n- Added `GET` `/vendor-detection/:domain/risk'\n- Added `GET` `/vendor-detection/:domain/products'\n- Added `GET` `/vendor-detection/portfolios/:portfolioId'\n\n#### 1.8.2\n\n- Added `POST` `/bulk-data-export/v1/run/breach-score-predictions/my-organization/:organization/'\n\n#### 1.8.1\n\n- Added `PUT` `/atlas/users/current/settings/ui-preference'\n\n#### 1.8.0\n\n- Removed `GET` `/avd/:domain/third-party'\n- Added `GET` `/vendor-detection/:domain/third-party'\n\n#### 1.7.18\n\n- Added `POST` `/apps/zendesk/installation-error'\n\n#### 1.7.17\n\n- Added /companies/{scorecard_identifier}/issues/open_resolver'\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/open_resolver'\n\n#### 1.7.16\n\n- Added `GET` `/avd/:domain/third-party'\n\n#### 1.7.15\n\n- Added `POST` `/atlas/tools/tasks'\n\n#### 1.7.14\n\n- Added `POST` `/scorecard-tags/bulk-delete'\n\n#### 1.7.13\n\n- Added `POST` `/atlas/definitions/:definition_id/preview'\n\n#### 1.7.12\n\n- Added `POST` `/v1/tags/upload-public-tag'\n\n#### 1.7.11\n\n- Added `POST` `/insurance-program/:portfolioId/program/:programId/subscription/:subscriptionId'\n\n#### 1.7.10\n\n- Added `DELETE` `/insurance-program/:portfolioId/program/:programId'\n\n#### 1.7.9\n\n- Added `PUT` `/insurance-program/:portfolioId/program/:programId'\n\n#### 1.7.8\n\n- Added `POST` `/apps/aws/worker-executions'\n\n#### 1.7.7\n\n- Added `PUT` `/insurance-program/:portfolioId/program/:programId/status'\n\n#### 1.7.6\n\n- Added add-optional-object-property: paths//scorecard-tags/{id}/put/parameters/TagUpdate/schema - Optional property id added\n- Added add-optional-object-property: paths//scorecard-tags/{id}/put/parameters/TagUpdate/schema - Optional property privacy added\n\n#### 1.7.5\n\n- Added `GET` `/apps/aws/ping/'\n\n#### 1.7.4\n\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_all_device_sensor_policy_applied\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_device_control_policy_not_applied\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_device_firewall_policy_not_applied\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_device_prevention_policy_not_applied\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_device_remote_response_policy_not_applied\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_device_sensor_update_policy_not_applied\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_incident_closed\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_incident_detected\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_os_settings_not_meet_zero_trust_requirements\n- Added add-path: /companies/{scorecard_identifier}/issues/iss_sensor_policies_not_meet_zero_trust_requirements\n- Added add-path: /companies/{scorecard_identifier}/issues/potentially_vulnerable\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_all_device_sensor_policy_applied/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_device_control_policy_not_applied/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_device_firewall_policy_not_applied/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_device_prevention_policy_not_applied/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_device_remote_response_policy_not_applied/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_device_sensor_update_policy_not_applied/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_incident_closed/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_incident_detected/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_os_settings_not_meet_zero_trust_requirements/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_sensor_policies_not_meet_zero_trust_requirements/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/potentially_vulnerable/\n\n#### 1.7.3\n\n- Added `POST` `/apps/aws/install_status/'\n\n#### 1.7.2\n\n- Added `POST` `/apps/aws/hooks/'\n\n#### 1.7.1\n\n- Added `GET` `/v1/billings/subscribe-to-free-trial/'\n- Added `GET` `/v1/billings/free-trial-details/{id}'\n\n#### 1.7.0\n\n- Added `DELETE` `/v1/users/{username}/complete-data/'\n\n#### 1.6.9\n\n- Added `DELETE` `/apps/installation-data/:id'\n\n#### 1.6.8\n\n- Added `GET` `/scorecard-tags'\n\n#### 1.6.7\n\n- Added `GET` `/v1/users/{username}/complete-data/'\n\n#### 1.6.6\n\n- Added `POST` `/bulk-data-export/v1/run/scorecard-digital-footprint/my-organization/:organization/'\n\n#### 1.6.5\n\n- Updated `GET` `/apps/github/api/auth/session/'\n\n#### 1.6.4\n\n- Added `POST` `/apps/github/api/auth/session/'\n- Added `GET` `/apps/github/github-ssc.png/*'\n\n#### 1.6.3\n\n- Added `POST` `/apps/aws/install_data/'\n- Added `GET` `/_next/data/github-build/*'\n\n#### 1.6.2\n\n- Added `GET` `/apps/aws/installed/'\n- Added `POST` `/apps/aws/install_data/'\n- Added `GET` `/_next/data/aws-build/*'\n\n#### 1.6.1\n\n- Added `GET` `/apps/aws/_next/data/'\n- Added `GET` `/apps/aws/_next/static/'\n- Added `GET` `/apps/github/_next/data/'\n- Added `GET` `/apps/github/_next/static/'\n\n#### 1.6.0\n\n- Added `GET` `/apps/github/install'\n- Added `GET` `/apps/github/authorize'\n\n#### 1.5.9\n\n- Added `GET` `/apps/aws/install'\n- Added `GET` `/apps/aws/authorize'\n\n#### 1.5.8\n\n- Added `GET` `/tags'\n\n#### 1.5.7\n\n- Added `POST` `/insurance-analytics/:portfolioId/alerts/all'\n- Added `POST` `/insurance-analytics/:portfolioId/alerts'\n- Added `POST` `/sentinel/search'\n- Added `GET` `/whiteglove/contributory-data/data'\n- Added `GET` `/whiteglove/contributory-data/tags'\n- Added `GET` `/whiteglove/contributory-data/comments'\n- Added `GET` `/whiteglove/contributory-data/evidence-locker'\n- Added `GET` `/whiteglove/contributory-data/company-profile'\n- Added `GET` `/whiteglove/contributory-data/adding-questionnaires'\n\n#### 1.5.6\n\n- Added `POST` `/bulk-data-export/v1/run/scorecard-issue-details/my-organization/:organization/'\n\n#### 1.5.5\n\n- Removed `GET` `/v1/organizations/:id/follows-csv'\n- Added add-optional-object-property: paths//users/by-username/{username}/notifications/recent/get/responses/200/schema/properties/entries/items\n- Added add-path: /companies/{scorecard_identifier}/issues/outdated_browser_domain\n- Added add-path: /companies/{scorecard_identifier}/issues/outdated_os_domain\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/outdated_browser_domain/\n- Added add-path: /companies/{scorecard_identifier}/history/events/{effective_date}/issues/outdated_os_domain/\n\n#### 1.5.4\n\n- Added `GET` `/apps/jira/redirect-from-ssc'\n\n#### 1.5.3\n\n- Added `GET` `/scorecards/invite-suggestions'\n\n#### 1.5.2\n\n- Added add-optional-object-property: paths//companies/{scorecard_identifier}/issues/outdated_browser/get/responses/200/schema/properties/entries/items\n- Added add-optional-object-property: paths//companies/{scorecard_identifier}/issues/outdated_os/get/responses/200/schema/properties/entries/items\n- Added add-optional-object-property: paths//companies/{scorecard_identifier}/history/events/{effective_date}/issues/outdated_browser//get/responses/200/schema/properties/entries/items\n- Added add-optional-object-property: paths//companies/{scorecard_identifier}/history/events/{effective_date}/issues/outdated_os//get/responses/200/schema/properties/entries/items\n\n#### 1.5.1\n\n- Added `POST` `/insurance-policy-info/scorecardIds-organizationId/:organizationId'\n\n#### 1.5.0\n\n- Removed `POST` `/launchdarkly/update-version'\n\n#### 1.4.9\n\n- Added `POST` `/launchdarkly/update-version'\n\n#### 1.4.8\n\n- Added `GET` `/apps/fortinet/fortigate-interfaces'\n\n#### 1.4.7\n\n- Added `PUT` `/v1/portfolios/:portfolio_id/bulk-upload'\n\n#### 1.4.6\n\n- Added `POST` `/apps/fortinet/integrations/:id/fortigate/blocked-ips'\n\n#### 1.4.5\n\n- Added  Added `GET` `/v1/companies/:domain/top-domain'\n\n#### 1.4.4\n\n- Added `FortinetService` to `production' environment\n- Added `GET` `/apps/fortinet/integrations/:integration_id/fortigate/blocked-ips'\n\n#### 1.4.3\n\n- Added `GET` `/v1/company-sets/vulnerabilities-from-portfolio-id'\n- Added `GET` `/v1/company-sets/issue-types-from-portfolio-id'\n\n#### 1.4.2\n\n- Added `DELETE` `/v1/contacts'\n\n#### 1.4.1\n\n- Added `GET` `/apps/fortinet/install'\n- Added `GET` `/apps/fortinet/redirect-from-ssc'\n- Added `POST` `/apps/fortinet/actions/save-installation'\n- Added `POST` `/apps/fortinet/create-address-groups'\n- Added `GET` `/apps/fortinet/error'\n- Added `GET` `/apps/fortinet/logo.png'\n- Added `GET` `/apps/fortinet/favicon.ico'\n\n#### 1.4.0\n\n- Added `GET` `/v1/company-sets/with-vulnerabilities-from-portfolio-id'\n\n#### 1.3.9\n\n- Added `GET` `/v1/company-sets/with-issue-types-from-portfolio-id'\n\n#### 1.3.8\n\n- Modified `GET` `/atlas/requests' to point to the new simplified path\n\n#### 1.3.7\n\n- Updated Scope `Delete` ` /portfolios/:id/companies/all'\n\n#### 1.3.6\n\n- Added `POST` `/atlas/evidence_locker/categories/myself'\n- Removed `DELETE` `/atlas/evidence_locker/{id}'\n\n#### 1.3.3\n\n- Added /companies/{scorecard_identifier}/issues/application_error_disclosure\n- Added /companies/{scorecard_identifier}/issues/browser_logs_contain_debug_message\n- Added /companies/{scorecard_identifier}/issues/charset_mismatch\n- Added /companies/{scorecard_identifier}/issues/contact_information_detected\n- Added /companies/{scorecard_identifier}/issues/content_from_cache\n- Added /companies/{scorecard_identifier}/issues/content_type_header_missing\n- Added /companies/{scorecard_identifier}/issues/cookie_no_samesite\n- Added /companies/{scorecard_identifier}/issues/cross_domain_js\n- Added /companies/{scorecard_identifier}/issues/cross_domain_misconfiguration\n- Added /companies/{scorecard_identifier}/issues/fail_to_load_page_components\n- Added /companies/{scorecard_identifier}/issues/incomplete_no_cache_ctr_header_set\n- Added /companies/{scorecard_identifier}/issues/info_disclosure_comment\n- Added /companies/{scorecard_identifier}/issues/information_disclosure_debug_error_message\n- Added /companies/{scorecard_identifier}/issues/information_disclosure_sensitive_info_url\n- Added /companies/{scorecard_identifier}/issues/insecure_ftp\n- Added /companies/{scorecard_identifier}/issues/insecure_server_certificate_key_size\n- Added /companies/{scorecard_identifier}/issues/insecure_telnet\n- Added /companies/{scorecard_identifier}/issues/iss_account_lockout_threshold_enabled\n- Added /companies/{scorecard_identifier}/issues/iss_database_instances_not_encrypted\n- Added /companies/{scorecard_identifier}/issues/iss_endpoint_security_product_detected\n- Added /companies/{scorecard_identifier}/issues/iss_ephemeral_disks_not_encrypted\n- Added /companies/{scorecard_identifier}/issues/iss_failed_2fa_authentication\n- Added /companies/{scorecard_identifier}/issues/iss_object_storage_buckets_allow_public_access\n- Added /companies/{scorecard_identifier}/issues/iss_object_storage_buckets_not_encrypted\n- Added /companies/{scorecard_identifier}/issues/iss_out_of_date_endpoint_security\n- Added /companies/{scorecard_identifier}/issues/iss_out_of_date_firmware\n- Added /companies/{scorecard_identifier}/issues/iss_password_policy_allows_reuse\n- Added /companies/{scorecard_identifier}/issues/iss_password_policy_no_regular_updates\n- Added /companies/{scorecard_identifier}/issues/iss_persistent_disks_not_encrypted\n- Added /companies/{scorecard_identifier}/issues/iss_queues_encrypted_with_provider_managed_key\n- Added /companies/{scorecard_identifier}/issues/iss_queues_not_encrypted\n- Added /companies/{scorecard_identifier}/issues/iss_root_account_has_access_keys\n- Added /companies/{scorecard_identifier}/issues/iss_root_account_without_mfa_enabled\n- Added /companies/{scorecard_identifier}/issues/iss_strong_minimum_password_length_set\n- Added /companies/{scorecard_identifier}/issues/iss_threat_detected\n- Added /companies/{scorecard_identifier}/issues/iss_threat_remediated\n- Added /companies/{scorecard_identifier}/issues/iss_users_with_access_keys_not_rotated_regularly\n- Added /companies/{scorecard_identifier}/issues/iss_users_with_passwords_not_rotated_regularly\n- Added /companies/{scorecard_identifier}/issues/iss_users_with_unused_access_keys\n- Added /companies/{scorecard_identifier}/issues/iss_users_with_unused_passwords\n- Added /companies/{scorecard_identifier}/issues/iss_users_without_mfa_enabled\n- Added /companies/{scorecard_identifier}/issues/links_to_insecure_website\n- Added /companies/{scorecard_identifier}/issues/local_file_path_exposed_via_url_scheme\n- Added /companies/{scorecard_identifier}/issues/loosely_scoped_cookie\n- Added /companies/{scorecard_identifier}/issues/no_anti_csrf_tokens\n- Added /companies/{scorecard_identifier}/issues/private_ip_disclosure\n- Added /companies/{scorecard_identifier}/issues/redirect_to_insecure_website\n- Added /companies/{scorecard_identifier}/issues/reverse_tabnabbing\n- Added /companies/{scorecard_identifier}/issues/secured_pages_include_mixed_content\n- Added /companies/{scorecard_identifier}/issues/sensitive_data_exposure_through_insecure_channel\n- Added /companies/{scorecard_identifier}/issues/server_certificate_issued_by_blacklisted_country\n- Added /companies/{scorecard_identifier}/issues/server_error\n- Added /companies/{scorecard_identifier}/issues/server_leaks_info_server_http\n- Added /companies/{scorecard_identifier}/issues/server_leaks_info_x_powered_http\n- Added /companies/{scorecard_identifier}/issues/session_id_url_rewrite\n- Added /companies/{scorecard_identifier}/issues/site_requests_data_over_insecure_channel\n- Added /companies/{scorecard_identifier}/issues/unix_timestamp_disclosure\n- Added /companies/{scorecard_identifier}/issues/viewstate_without_mac_signature\n- Added /companies/{scorecard_identifier}/issues/vulnerable_js_library\n- Added /companies/{scorecard_identifier}/issues/weak_authentication_method\n- Added /companies/{scorecard_identifier}/issues/website_copyright_up_to_date\n- Added /companies/{scorecard_identifier}/issues/website_defacement\n- Added /companies/{scorecard_identifier}/issues/websocket_requests_contain_sensitive_fields\n- Added /companies/{scorecard_identifier}/issues/x_aspnet_version_response_header\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/application_error_disclosure/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/browser_logs_contain_debug_message/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/charset_mismatch/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/contact_information_detected/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/content_from_cache/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/content_type_header_missing/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/cookie_no_samesite/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/cross_domain_js/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/cross_domain_misconfiguration/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/fail_to_load_page_components/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/incomplete_no_cache_ctr_header_set/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/info_disclosure_comment/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/information_disclosure_debug_error_message/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/information_disclosure_sensitive_info_url/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/insecure_ftp/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/insecure_server_certificate_key_size/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/insecure_telnet/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_account_lockout_threshold_enabled/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_database_instances_not_encrypted/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_endpoint_security_product_detected/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_ephemeral_disks_not_encrypted/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_failed_2fa_authentication/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_object_storage_buckets_allow_public_access/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_object_storage_buckets_not_encrypted/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_out_of_date_endpoint_security/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_out_of_date_firmware/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_password_policy_allows_reuse/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_password_policy_no_regular_updates/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_persistent_disks_not_encrypted/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_queues_encrypted_with_provider_managed_key/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_queues_not_encrypted/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_root_account_has_access_keys/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_root_account_without_mfa_enabled/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_strong_minimum_password_length_set/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_threat_detected/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_threat_remediated/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_users_with_access_keys_not_rotated_regularly/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_users_with_passwords_not_rotated_regularly/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_users_with_unused_access_keys/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_users_with_unused_passwords/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/iss_users_without_mfa_enabled/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/links_to_insecure_website/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/local_file_path_exposed_via_url_scheme/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/loosely_scoped_cookie/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/no_anti_csrf_tokens/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/private_ip_disclosure/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/redirect_to_insecure_website/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/reverse_tabnabbing/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/secured_pages_include_mixed_content/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/sensitive_data_exposure_through_insecure_channel/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/server_certificate_issued_by_blacklisted_country/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/server_error/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/server_leaks_info_server_http/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/server_leaks_info_x_powered_http/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/session_id_url_rewrite/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/site_requests_data_over_insecure_channel/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/unix_timestamp_disclosure/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/viewstate_without_mac_signature/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/vulnerable_js_library/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/weak_authentication_method/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/website_copyright_up_to_date/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/website_defacement/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/websocket_requests_contain_sensitive_fields/\n- Added  /companies/{scorecard_identifier}/history/events/{effective_date}/issues/x_aspnet_version_response_header/\n\n#### 1.3.2\n\n- Added /reports/footprint-domains\n- Added /reports/footprint-ips\n- Deprecated /reports/scorecard-footprint\n\n#### 1.3.1\n\n- Added /companies/{scorecard_identifier}/issues/content_from_cache\n- Added /companies/{scorecard_identifier}/issues/cookie_no_samesite\n- Added /companies/{scorecard_identifier}/issues/cross_domain_js\n- Added /companies/{scorecard_identifier}/issues/incomplete_no_cache_ctr_header_set\n- Added /companies/{scorecard_identifier}/issues/info_disclosure_comment\n- Added /companies/{scorecard_identifier}/issues/no_anti_csrf_tokens\n- Added /companies/{scorecard_identifier}/issues/reverse_tabnabbing\n- Added /companies/{scorecard_identifier}/issues/server_leaks_info_server_http\n- Added /companies/{scorecard_identifier}/issues/server_leaks_info_x_powered_http\n- Added /companies/{scorecard_identifier}/issues/threat_actor_hosting_infrastructure\n- Added /companies/{scorecard_identifier}/issues/unix_timestamp_disclosure\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/content_from_cache/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/cookie_no_samesite/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/cross_domain_js/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/incomplete_no_cache_ctr_header_set/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/info_disclosure_comment/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/no_anti_csrf_tokens/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/reverse_tabnabbing/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/server_leaks_info_server_http/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/server_leaks_info_x_powered_http/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/threat_actor_hosting_infrastructure/\n- Added /companies/{scorecard_identifier}/history/events/{effective_date}/issues/unix_timestamp_disclosure/\n\n#### 1.3.0\n\n- Deleted `GET` `/companies/{scorecard_identifier}/issues/patching_cadence_v2_high`\n- Deleted `GET` `/companies/{scorecard_identifier}/issues/patching_cadence_v2_low'\n- Deleted `GET` `/companies/{scorecard_identifier}/issues/patching_cadence_v2_medium'\n- Deleted `GET` `/companies/{scorecard_identifier}/history/events/{effective_date}/issues/patching_cadence_v2_high/'\n- Deleted `GET` `/companies/{scorecard_identifier}/history/events/{effective_date}/issues/patching_cadence_v2_low/'\n- Deleted `GET` `/companies/{scorecard_identifier}/history/events/{effective_date}/issues/patching_cadence_v2_medium/'\n\n#### 1.2.9\n\n- Added optional param `ip_range` to `/companies/{scorecard_identifier}/issues/tls_ocsp_stapling`\n- Added optional param `ip_range` to `/companies/{scorecard_identifier}/issues/tls_weak_cipher`\n- Added optional param `ip_range` to `/companies/{scorecard_identifier}/issues/tls_weak_protocol`\n- Added `GET` `/companies/{scorecard_identifier}/issues/patching_cadence_v2_high`\n- Added `GET` `/companies/{scorecard_identifier}/issues/patching_cadence_v2_low'\n- Added `GET` `/companies/{scorecard_identifier}/issues/patching_cadence_v2_medium'\n- Added `GET` `/companies/{scorecard_identifier}/history/events/{effective_date}/issues/patching_cadence_v2_high/'\n- Added `GET` `/companies/{scorecard_identifier}/history/events/{effective_date}/issues/patching_cadence_v2_low/'\n- Added `GET` `/companies/{scorecard_identifier}/history/events/{effective_date}/issues/patching_cadence_v2_medium/'\n\n#### 1.2.8\n\n- Added `GET` `/app/:app_id/jobs`\n- Added `GET` `/app/:app_id/jobs/job_id`\n\n#### 1.2.7\n\n- Allow guest users for `/atlas` routes\n\n#### 1.2.6\n\n- Added missing `/atlas` endpoints to be able to always use this as a middleware:\n  - Added `GET` `/atlas/companies`\n  - Added `GET` `/atlas/companies/current/partners`\n  - Added `GET` `/atlas/evidences/download/:evidence_id`\n  - Added `GET` `/atlas/forms/:form_id/questions/:question_id/mappings`\n  - Added `POST` `/atlas/forms/master`\n  - Added `POST` `/atlas/scheduled_requests`\n  - Added `PUT` `/atlas/users/current/settings`\n  - Added `DELETE` `/atlas/definitions/drafts`\n  - Fixed `GET` `/atlas/definitions/drafts/:definition_id`\n- Fixed some `/atlas` `POST` that were missing the isMultipart key:\n  -  `/atlas/forms/:form_id/attachments`\n  -  `/atlas/forms/:form_id/questions/:question_id/attachments`\n  -  `/atlas/forms/:form_id/responses/:response_id/attachments`\n  -  `/atlas/forms/mappings`\n  -  `/atlas/definitions`\n\n#### 1.2.5\n\n- Added /identity-provider delete\n\n#### 1.2.4\n\n- Fixed incorrect URI of Atlas' evidence_locker/categories API\n\n#### 1.2.3\n\n- Replaced GET & PUT /atlas/evidence_locker/category_metadata/myself to /atlas/evidence_locker/categories/myself\n- Replaced GET /atlas/evidence_locker/category_metadata to /atlas/evidence_locker/categories\n\n#### 1.2.2\n\n- Added /invitations\n\n#### 1.2.1\n\n- Added PUT /atlas/evidence_locker/{id} API\n\n#### 1.2.0\n\n- Added optional property ip_address\n\n#### 1.1.9\n\n- Added /issues/spa_browser\n\n#### 1.1.8\n\n- Added /issues/ransomware_association\n- Added /issues/ransomware_association\n\n#### 1.1.7\n\n- Added /issues/exploited_product/\n- Added /issues/ransomware_victim/\n\n#### 1.1.6\n\n- Documented an existing endpoint to download translated reports\n\n#### 1.1.5\n\n- Added new public text issue types\n\n#### 1.1.4\n\n- Added `report_type` to recent reports\n\n#### 1.1.3\n\n- Added `priority` to notifications\n\n#### 1.1.2\n\n- Added `exposed_personal_information` issue type.\n- Added `platform_score_date` and `processed_by` to notifications\n\n#### 1.1.1\n\n- Expanded documentation regarding backwards compatibility and introduced a Changelog section.\n\n## Common Responses\n\n### 400 Bad Request\n\nSending a request with invalid json or that doesn't satisfy requirements specified in\nthis documentation will result in this error.\n\n### 401 Unauthorized\n\nAn access token is missing or invalid, see [Authentication](#section/Authentication) section\nabout how to authenticate your requests.\n\n### 403 Forbidden\n\nThe authenticated user has no permission to perform this operation.\n\nSome common causes for this are:\n - your account doesn't have API access enabled\n - your account doesn't have a specific feature enabled that is required for the operation\n - the operation requires a user with higher access level\n - the operation is trying access or modify a resource owned by another user or organization\n(in some cases a 404 might be used instead to avoid revealing existence of private information)\n\n## Scorecard Identifiers\n\nIn many endpoints that are specific to a scorecard or company, we support multiple ways to specify a\nscorecard identifier for your convenience.\n\nAccepted identifiers are the following:\n  - primary domain. eg. `securityscorecard.com`. this is the primary internet domain associated\n  with a scorecard, you can find these in the response to adding a company to a portfolio, or in\n  the list of a portfolio's contents.\n  - id, these universal unique identifiers are associated to each of our scorecards, and are also available\n  after adding one to a portfolio,\n  or when obtaining the contents of an existing portfolio.\n\n## Pagination\n\nRequests that support pagination respond with a [Link](https://tools.ietf.org/html/rfc5988) http header.\n\nWhen pagination is supported a link to \"next\" is included, unless on the last page\n(use this to determine the end of the collection).\n\n```\nLink: <https://api.securityscorecard.io/companies/example.com/...>; rel=\"next\"\n```\n\nIt's very important to follow these urls to traverse collections instead of\nconstructing urls on your own. Doing so will protect your integration from\nfuture changes.\n\nIn some cases when a collection exceeds a certain size, we'll offer instead a report\nto asynchronously generate a dump of the entire collection.\nAn example of this is the\n[full scorecard report](https://platform.securityscorecard.io/docs/index.html#tag/reports/paths/~1reports~1full-scorecard-json/post)\nthat offers the entire collection of issue findings on a scorecard.\n\n## Rate Limiting\n\nFor API requests done with an access token, you can make up to 5000 requests\nper hour per user. If an operation has a different limit it will be specified\non the description of the operation below.\n\nIf you reach the limit you'll be temporarily blocked and receive a response with:\n\n- http 429 status\n- [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) http header\nindicating the seconds to wait until next request.\n\n## Bot Users\n\nBot users are API access only accounts that enable customers to spread out their API usage\nto multiple accounts without having to associate them to real employee accounts.\nMultiple bot API tokens can be managed by administrators at your account's\n[users list](https://platform.securityscorecard.io/#/my-settings/users) without the need to login with different accounts.\n\nThis is beneficial especially for customers who use our SSO capability, for customers who use one\nof our [integrations](https://securityscorecard.com/hub/integrations), or have built out\ntheir own production ready applications.\n\nCreating a bot user requires admin access and you can follow the following steps\nin the [SecurityScorecard platform](https://platform.securityscorecard.io):\n\n1 - Go through the normal process of adding a new user but on the top right check the checkbox\nto indicate that it's a bot and then set the name and permissions\n\n<img src=\"https://api.securityscorecard.io/docs/images/bot-user-add.png\" />\n\n2 - Search for the user you just created in the list and generate a new token\n\n<img src=\"https://api.securityscorecard.io/docs/images/bot-user-search.png\" />\n\n3 - Once a token is generated, copy it and keep it safe\n\n<img src=\"https://api.securityscorecard.io/docs/images/bot-user-generated-token.png\" />\n\nAdmins can generate new tokens for a bot user at any time in the future but please note that\nthe previous token will be automatically revoked\n\n\n\n## Code Samples\n\n### Portfolios - Add a Company\n\nIn the following example we identify the default private portfolio, then\nwe add a company to that portfolio\n\n\n\n```python\n\nimport os\nimport requests\nimport sys\n\ntoken = os.getenv('SSC_API_TOKEN')\napi_url = os.getenv('API_URL', 'https://api.securityscorecard.io')\n\nheaders = {\n    'Accept': 'application/json; charset=utf-8',\n    'Content-Type': 'application/json',\n    'Authorization': 'Token ' + token,\n    'cache-control': 'no-cache',\n    }\n\n# get portfolios\nurl = api_url + '/portfolios'\nresponse = requests.get(api_url + '/portfolios', headers=headers)\nresponse.raise_for_status()\n\nportfolios = response.json()['entries']\nmy_portfolio = [\n    item for item in portfolios\n    # My Portfolio is read_only and private\n    if 'read_only' in item and item['read_only'] == True and item['privacy'] == 'private'\n][0]\n\n# add google.com to the portfolio\nurl = api_url + '/portfolios/' + my_portfolio['id'] + '/companies/google.com'\nresponse = requests.put(url, headers=headers)\nresponse.raise_for_status()\n\n# get scorecards in My Portfolio\nurl = api_url + '/portfolios/' + my_portfolio['id'] + '/companies'\nresponse = requests.get(url, headers=headers)\nresponse.raise_for_status()\n\nscorecards = response.json()['entries']\n\n# check google.com is in the portfolio\nscorecard = [\n    item for item in scorecards\n    if item['domain'] == 'google.com'\n]\nassert len(scorecard) == 1, 'scorecard not found in the portfolio'\n\nprint ('google.com score is ' + str(scorecard[0]['score']))\n\n\n```\n\n\n\nAt the end of the example we assert that the company was truly added to\nthe default private portfolio",
    "x-logo": {
      "url": "https://platform.securityscorecard.io/images/ssc-logo-white-stacked.svg",
      "backgroundColor": "#222830"
    }
  },
  "security": [
    {
      "Token": []
    }
  ],
  "paths": {
    "/companies/{scorecard_identifier}/history/events/{effective_date}/issues/links_to_insecure_website/": {
      "get": {
        "description": "Get \"links_to_insecure_website\" historical issues in a scorecard",
        "parameters": [
          {
            "name": "scorecard_identifier",
            "description": "find entries where 'scorecard_identifier' equals a string",
            "required": true,
            "in": "path",
            "example": "example.com",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "issue_id",
            "description": "find entries where \"issue_id\" equals a uuid",
            "required": false,
            "in": "query",
            "example": "",
            "schema": {
              "type": "string",
              "format": "uuid",
              "pattern": "^[a-z0-9-]{16,}$"
            }
          },
          {
            "name": "measurement_id_in",
            "description": "find entries where \"measurement_id\" is in a set of uuids (comma-separated)",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "effective_date",
            "description": "find entries where \"effective_date\" equals a date",
            "required": true,
            "in": "path",
            "example": "2018-01-01",
            "schema": {
              "type": "string",
              "format": "date",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            }
          },
          {
            "name": "effective_date_from",
            "description": "find entries where \"effective_date\" is greater or equal than a date",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            }
          },
          {
            "name": "effective_date_to",
            "description": "find entries where \"effective_date\" is lower or equal than a date",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            }
          },
          {
            "name": "effective_date_in",
            "description": "find entries where \"effective_date\" is in a set of dates (comma-separated)",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_status",
            "description": "find entries where \"group_status\" equals a string",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page in a list of HistoricalLinksToInsecureWebsites",
            "content": {
              "application/json; charset=utf-8": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "entries": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "issue_id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^[a-z0-9-]{16,}$",
                            "description": "Unique UUID for this measurement."
                          },
                          "parent_domain": {
                            "type": "string",
                            "description": "Parent domain aka vendor."
                          },
                          "feedback": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "created_at": {
                                  "type": "string",
                                  "format": "date-time",
                                  "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}\\.{0,1}[0-9]*Z$"
                                },
                                "classifier": {
                                  "type": "string"
                                },
                                "claim": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "feedback_type": {
                                  "type": "string"
                                },
                                "feedback_status": {
                                  "type": "string"
                                },
                                "request_id": {
                                  "type": "string"
                                },
                                "user_id": {
                                  "type": "string"
                                },
                                "last_update": {
                                  "type": "number"
                                },
                                "classifier_type": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            "description": ""
                          },
                          "count": {
                            "type": "number",
                            "description": ""
                          },
                          "first_seen_time": {
                            "type": "string",
                            "format": "date-time",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}\\.{0,1}[0-9]*Z$",
                            "description": "Epoch of observation in nanoseconds."
                          },
                          "last_seen_time": {
                            "type": "string",
                            "format": "date-time",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}\\.{0,1}[0-9]*Z$",
                            "description": "Epoch of observation in nanoseconds."
                          },
                          "evidence": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "match": {
                                  "type": "string"
                                },
                                "specific": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            },
                            "description": ""
                          },
                          "url": {
                            "type": "string",
                            "description": ""
                          },
                          "data_source": {
                            "type": "string",
                            "description": ""
                          },
                          "reason": {
                            "type": "string",
                            "description": ""
                          },
                          "effective_date": {
                            "type": "string",
                            "format": "date",
                            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                            "description": ""
                          },
                          "group_status": {
                            "type": "string",
                            "description": ""
                          }
                        },
                        "additionalProperties": false,
                        "description": "\"links_to_insecure_website\" historical issues in a scorecard"
                      }
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "entries"
                  ],
                  "description": "A page in a list of HistoricalLinksToInsecureWebsites"
                }
              }
            }
          }
        },
        "tags": [
          "historical findings"
        ],
        "summary": "Get \"links_to_insecure_website\" historical issues "
      }
    }
  },
  "servers": [
    {
      "url": "https://api.securityscorecard.io"
    }
  ],
  "components": {
    "securitySchemes": {
      "Token": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "SecurityScorecard API endpoints require an authentication token to be passed\nin an authorization header in order to return data. If you do not already\nhave a token, you can create one by going to the API Access area in your\n[Settings page](https://platform.securityscorecard.io/#/settings/api) and then\nclicking Generate New Token. Please note this tokens have no expiration\nso they can be used until manually revoked. If you have a token and generate\na new one, the previous token will be revoked and can no longer be used.\n\nAdministrators can also revoke API tokens for any user in their account.\n\nOnce you have your token you can pass it in using the `Authorization` http header like this:\n\n```\ncurl -X GET \\\n  https://api.securityscorecard.io/portfolios \\\n  -H 'authorization: Token <your token>'\n```\n"
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
````