---
title: "Get subscriptions which can be used to run the given scenario"
method: POST
path: "/runtime/scenarios/matching-plans"
tags: ["Runtime - Scenarios - Plans"]
---

# Get subscriptions which can be used to run the given scenario

`POST /runtime/scenarios/matching-plans`

## Request

- Base URL: `https://api.octoperf.com`
- URL: `https://api.octoperf.com/runtime/scenarios/matching-plans`
- Auth: none declared

## Request body

- Scenario
  - `id` string, nullable
  - `userId` string, nullable
  - `projectId` string, nullable
  - `name` string
  - `description` string, nullable
  - `userProfiles` UserProfile[], nullable
    - `id` string, nullable
    - `name` string, nullable
    - `virtualUserId` string
    - `providerId` string
    - `location` string
    - `load` unknown
    - `memory` MemorySettings
      - `vuMb` number, double
    - `iterations` integer
    - `engine` unknown
  - `mode` 'STANDARD' | 'FUNCTIONAL', nullable
  - `created` string, date-time, nullable
  - `lastModified` string, date-time, nullable
  - `tags` string[], nullable

## Response `200`

OK

- KeyValueSubscriptionDTOInteger[]
  - `key` SubscriptionDTO
    - `id` string
    - `plan` PlanDTO
      - `id` string
      - `price` integer
      - `currency` 'eur' | 'usd' | 'gbp'
      - `capacity` Capacity
        - `maxConcurrentUsers` integer
        - `maxTestDurationSec` integer
        - `remainingTests` integer
        - `maxProfilesPerScenario` integer
        - `providers` string
        - `vuMb` number, double
        - `maxTestsPerRun` integer
        - `maxRealBrowserUsers` integer
        - `realBrowserMb` number, double
      - `renewalType` 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'HALF_YEARLY' | 'YEARLY' | 'ON_DEMAND' | 'ON_DEMAND_QUARTERLY' | 'ON_DEMAND_HALF_YEARLY' | 'ON_DEMAND_YEARLY'
      - `billingType` 'FREE' | 'CREDIT_CARD' | 'BANK_TRANSFER'
      - `customerId` string
      - `ephemeral` boolean
      - `name` string
      - `unlimited` boolean
    - `remainingTests` integer
    - `subscribedOn` string, date-time
    - `renewedOn` string, date-time
    - `expiresOn` string, date-time
    - `status` 'scheduled' | 'trialing' | 'active' | 'cancel_at_period_end' | 'past_due' | 'unpaid' | 'canceled' | 'incomplete' | 'incomplete_expired'
    - `type` 'PRIMARY' | 'SHARED', nullable
  - `value` integer

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too Many Requests

## Changes

- **2026-11-03** `637a8f8ce8cf`: 1 info
  - api operation id `K_4` removed and replaced with `w_3`
- **2026-10-30** `fc0ab021d8d3`: 1 info
  - api operation id `b_5` removed and replaced with `K_4`
- **2026-10-29** `6fb7a9d5eb1c`: 1 info
  - api operation id `H_2` removed and replaced with `b_5`
- **2026-10-28** `6fc0f4ece308`: 1 info
  - api operation id `F_3` removed and replaced with `H_2`
- **2026-10-27** `d04c0ffc592f`: 1 info
  - api operation id `l_1` removed and replaced with `F_3`

[Operation history](https://skmtc.dev/octoperf/apis/octoperf-api/changes/runtime/scenarios/matching-plans/post.md)

---

[API](https://skmtc.dev/octoperf/apis/octoperf-api.md) - [All operations](https://skmtc.dev/octoperf/apis/octoperf-api/llms.txt) - [OpenAPI document](https://skmtc.dev/octoperf/apis/octoperf-api/revisions/637a8f8ce8cf?raw)
