---
title: "This endpoint adds and updates subscription licenses for a TOE."
method: POST
path: "/v1/toes/{toe_id}/subscriptions"
tags: ["Portfolio"]
---

# This endpoint adds and updates subscription licenses for a TOE.

`POST /v1/toes/{toe_id}/subscriptions`

This request sets the list of subscription licenses that determine whether a TOE appears in your portfolio, and for which risk dimensions. The currently available Risk Dimensions are CYBER and PRIVACY. The available license types are AVISOR, DISCOVER, and SNAPSHOT. A cyber license of ADVISOR or DISCOVER is a prerequisite of any privacy license. SNAPSHOT licenses are not available for the privacy risk dimension at this time.

## Path parameters

- `toe_id` string, required

## Request body

- ChangeSubscriptions — A request to add or modify portfolio subscriptions for a TOE
  - `licenses` PortfolioLicense[] — The list of licenses to which this user wishes to subscribe for this TOE
    - `name` 'ADVISOR' | 'DISCOVER' | 'SNAPSHOT', required — Name indicating a Riskrecon subscription level purchased by the customer
    - `riskDimension` 'CYBER' | 'PRIVACY', required — Category of security domain or criteria. Can currently be cyber or privacy.

## Response `201`

ChangeSubscription list of affected subscriptions and success message.

- ChangedSubscriptions — Response object when the list of subscriptions for a TOE has been updated
  - `message` string, required — Success message or info about modified subscriptions
  - `events` ChangedSubscription[], required
    - `customerId` string, uuid, required — The customer Id of the user.
    - `toeId` string, uuid — The unique identifier for the Target Of Evaluation (TOE).
    - `newLicense` 'ADVISOR' | 'DISCOVER' | 'ENTERPRISE' | 'SNAPSHOT', required — The license level of a newly added subscription
    - `oldLicense` 'ADVISOR' | 'DISCOVER' | 'ENTERPRISE' | 'SNAPSHOT' | 'null', nullable, required — The license level of a subscription that has been replaced
    - `riskDimension` 'CYBER' | 'PRIVACY', required — Category of security domain or criteria. Can currently be cyber or privacy.
    - `subscriptionAdjustedOn` string, required — The date at which this subscription was updated

## Other responses

- `400` — Something was wrong with the request
- `401` — Authentication information was missing or invalid or the user is not authorized to access resource or perform the associated action.

---

[API](https://skmtc.dev/recordedfuture/apis/alert-api.md) · [All operations](https://skmtc.dev/recordedfuture/apis/alert-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/recordedfuture/alert-api/revisions/c8c2f68d8b60/schema)
