1. Organizations
CG Scanning API V2
5.5.x
  • latest
  • 5.4.2
  • 5.5.x
  • Scanning API
    • Getting Started
    • Authentication
    • Common Error Responses
    • Filtering Data
    • Core Workflows
    • Authentication
      • User Confirmation
        • Confirm a User
        • Show confirmation form
      • User Invitation
        • Accept an invitation
        • Pre-Accept invitation check
      • Password Reset
        • Forgot Password
        • Reset Password
      • Impersonation
        • Impersonate user
        • Impersonate user
      • MFA
        • Check 2fa
        • Send SMS OTP
      • Sign in authentication
      • Sign in with recovery code
      • Sign out authentication
      • SSO Link login
    • Targets
      • List targets
      • Create Target
      • Show a target
      • Updates a target
      • Delete a target
      • Delete targets
      • Calculate Hosts
    • Scans
      • Scan Histories
        • List of history for a scan
        • History details for a scan
      • Scan Hosts
        • List of hosts for a scan
        • Host details for a scan
      • Scan Vulnerabilities
        • List of vulnerabilities for a scan
        • Show vulnerability details
        • Statistics for a scan
      • Scan Profiles (Configs)
        • List Activated Scan Profiles
      • List scans
      • Create Scan
      • Show a scan
      • Updates a scan
      • Delete a scan
      • Delete scans
      • Start a scan
      • Stop a scan
      • List upcoming scans
      • List recent scans that have been completed
      • List of the running scans
      • Create Scan from Wizard
    • Reports
      • List Reports
      • Show a report
      • Delete a report
      • Delete reports
      • Generates a report file
      • Downloads a report file
      • Check if a report file exists
      • Verifies file integrity by comparing hashes
    • Vulnerabilities
      • List of vulnerabilities
      • Vulnerability details
      • Total Vulnerabilities (widget)
      • Top Vulnerabilities (widget)
      • PCI Compliant (widget)
    • Exceptions
      • List Exceptions
      • Create Exception
      • Update Exception
      • Show an exception
      • Delete an exception
      • Show exception details
      • Delete exceptions
      • Activate exceptions
      • Reset exceptions
      • Show the exceptions statistics
    • Advanced Reports
      • List Advanced Reports
      • Create an advanced report
      • Show an advanced report
      • Update an advanced report
      • Delete an advanced report
      • Delete advanced reports
      • Generates an advanced report file
      • Downloads an advanced report file
    • Credentials
      • List Credentials
      • Show Credential
      • Delete Credential
      • Create Credential
      • Update Credential
    • Audit
      • Get all events
      • Get event by id
    • Notifications
      • List Notifications
      • Show a notification
      • Delete a notification
      • Mark as read a notification
      • Mark as seen a notification
      • Mark as read all notifications
      • Mark as seen all notifications
    • Hosts
      • List of hosts
      • Host details
      • List of most vulnerable hosts
    • Organizations
      • Organization Subscriptions
        • Retrieves all subscriptions of organization
        • Retrieves all active subscriptions of organization
        • Show a subscription of organization
        • Update organization's subscription
        • Assign features to a subscription
        • Revoke features from a subscription
      • Subscribe to a plan
        POST
      • List organizations
        GET
      • Create Organization
        POST
      • List dependent subscriptions
        GET
      • Retrieve an organization
        GET
      • Update an organization
        PUT
      • Delete an organization
        DELETE
      • Subscribe an organization to a plan
        POST
      • Unsubscribe an organization from a plan
        POST
      • Change users Organization
        PUT
      • Export organizations
        GET
    • Whitelabel Settings
      • Show the white label settings
      • Show the white label settings
      • Update white label settings
    • Scanners
      • List scanners
      • Create scanner
      • Show scanner
      • Update scanner
      • Delete scanner
      • List activated scanners
      • Activate scanner
      • Deactivate scanner
      • Update scanner app type
      • Assign a scanner to an organization
      • Verify a scanner
    • Schedules
      • List Schedules
      • Create Schedule
      • Updates a schedule
      • Show a schedule
      • Delete a schedule
      • Delete schedules
      • Calculate First Time Schedule Date
      • Calculate Next Schedule Dates
    • Port Lists
      • List port lists
      • Create a port list
      • Show a port list
      • Update a port list
      • Delete a port list
      • List activated port lists
      • Add a port range to a port list
      • Delete a port range to a port list
      • Activate a port list
      • Deactivate a port list
      • Updates the app_type of a port list
      • Sync the a port lists
    • User
      • User 2FA
        • Enable 2FA
        • Verify 2FA installation
        • Disable 2FA
        • Lookup phone number
        • Default 2FA method
        • Generate Recovery Codes
        • Get Recovery Codes
      • User Preferences
        • Get users notification preferences
        • Change users product
        • Enable user's event notification preference
        • Disable user's event notification preference
      • Get current user
      • Update current user
      • Change current user password
      • Get current user active plans (Not implemented yet)
      • Get organization members
      • Get current user products
      • Get current organization
      • Update current organization
      • Get subscriptions history
      • Change users product
      • Checks if authorization token is valid
      • Get current user permissions
      • Check if the user can be deleted
      • Delete my account
      • Generates a new access token
      • Revokes the current access token
      • Transfers all the resources from the user to another user
    • Users
      • List Users
      • Create User
      • Show User
      • Update User
      • Delete a User
      • Create Customer
      • Invite User
      • Resend Confirmation Instructions
      • Import Users
      • Check if a user can be deleted
      • Inherit all the resources from a user
      • Export all users to a CSV file
      • Set partner
      • Unset partner
    • Webhooks
      • Deliveries
        • List all deliveries for a webhook
        • Get a delivery for a webhook
      • List all webhooks
      • Create a webhook
      • Show a webhook
      • Update a webhook
      • Delete a webhook
      • Activate a webhook
      • Deactivate a webhook
    • Schemas
      • Schemas
        • vulnerabilityData
        • SingleResponseBase
        • CollectionResponseBase
        • TargetResource
        • TargetResponse
        • TargetAttributes
        • TargetsListResponse
        • errors_map
        • OwnerAttributes
        • FeaturesBodyRequest
        • errorObject
        • ErrorResponse
        • not_found
        • forbidden
        • unauthorized
        • unprocessable_entity
        • pagination
        • meta
        • target
        • scan
        • product
        • productsResponse
  • SAQ API
    • List all SAQs
    • List Available SAQ Types
    • Get SAQ Type Template
    • Get SAQ (JSON) or Download SAQ (PDF)
    • Create a New SAQ
    • Delete an SAQ
    • Clone an SAQ
    • Approve an SAQ
    • Set SAQ as a template
Home
DocsPurchase PCI ASV Certified Scan
Home
DocsPurchase PCI ASV Certified Scan
5.5.x
  • latest
  • 5.4.2
  • 5.5.x
  1. Organizations

Subscribe to a plan

POST
/v2/organizations/{id}/plans/{plan_id}/subscribe
Last modified:2026-03-26 17:17:13
In the platform, organizations do not subscribe directly to products.
Instead, they subscribe to plans, which define:
Which product is enabled (PCI, VRMS, Penetration, etc.)
What features are included (e.g. number of IPs, scanners, limits)
There are two types of plans:
1.
Normal Plans
2.
Open Plans
Both plan types follow the same validation rules and partner restrictions.

Plan Types#

Normal Plans#

Normal plans are predefined plans where all features are configured in advance.
When to use Normal Plans
Use Normal Plans when:
You sell fixed packages (e.g. 5 IPs, 10 IPs, 50 IPs)
Your pricing model is standardized
You do not need per-organization customization

How they work#

Features (e.g. number_of_ips) are defined on the plan
When an organization is subscribed:
The subscription copies the plan’s features
The organization inherits these limits
The organization cannot override these features during subscription

Open Plans#

Available on: v5.4.3
Open plans are flexible plans designed for partners who need on-demand features per organization.
Instead of defining features on the plan, features are provided during subscription.
When to use Open Plans
Use Open Plans when:
You sell usage-based or custom allocations
Each organization may have different limits
You want to avoid creating many similar plans

The problem that Open Plans Solve#

Some partners sell custom limits per customer, for example:
Organization A → 10 IPs
Organization B → 3 IPs
Organization C → N IPs
Creating one plan per variation would be impractical.

How Open Plans work#

The plan defines:
Product type
Billing behavior
Features are passed as parameters when subscribing an organization
The subscription stores the provided features
Subscription Example:
POST /v2/organizations/{id}/subscribe
{
  "plan": "pci-open",
  "features": {
    "number_of_ips": { limit: 5 }
  }
}

Partner Plan Restrictions#

Regardless of plan type (Normal or Open), all subscriptions are validated against the partner’s limits.

Partner-Level Limits#

Each partner has a Partner Plan that defines their total available capacity, for example:
💡
Partner Plan:
number_of_ips: 100
This represents the maximum number of IPs the partner can allocate across all organizations.

Validation Rules#

The system enforces the following rules:
A partner cannot allocate more features than they own
The total assigned features across all organizations must not exceed partner limits
Validation applies to:
Normal Plans (predefined features)
Open Plans (custom features passed at subscription time)

Summary#

#Normal PlanOpen Plan
Features defined on plan
Features passed as subscription
Custom per Organization
Parent limit validation
Best For:Fixes packagesFlexible / usage-based

Subscribe Endpoint Params#

interval#

Defines the renewal or expiration interval of the subscription.
Accepted values:
none
monthly
yearly
Specifies how the subscription duration is calculated.
monthly: the subscription expires one month after the start_date, unless a custom end_date is provided.
yearly: the subscription expires one year after the start_date, unless a custom end_date is provided.
none: the subscription does not use a predefined billing interval. This can be used for custom or manually managed subscriptions.
Notes for none:
You may provide a custom end_date if you want the subscription to expire on a specific date.
You may also leave end_date empty to create a subscription that does not expire.

start_date#

Defines when the subscription becomes active and from which date its duration starts being calculated.
If not provided, the current datetime is used.
For monthly and yearly subscriptions, the system uses start_date to calculate the default end_date.
For none, start_date defines when the subscription starts, even if no expiration date is set.

end_date#

Defines the date and time when the subscription expires.
This field is automatically calculated when interval is monthly or yearly, based on the start_date, unless a custom end_date is provided.
Behavior by interval:
monthly: automatically set to one month after start_date
yearly: automatically set to one year after start_date
none: can be:
a custom expiration date, or
empty, for subscriptions that do not expire

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
or
Path Params

Query Params

Body Params application/json

Example
{
    "plan": "string",
    "interval": "none",
    "start_date": "2019-08-24",
    "end_date": "2019-08-24",
    "features": {
        "number_of_ips": {
            "limit": 10
        },
        "rescan": {
            "active": true,
            "unlimited": false,
            "num_of_rescans": 10,
            "unit": "day",
            "when_run": "always"
        },
        "ai_remediator": {
            "active": true
        }
    }
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/v2/organizations//plans//subscribe?billing_interval' \
--header 'Authorization: Bearer <token>' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "plan": "string",
    "interval": "none",
    "start_date": "2019-08-24",
    "end_date": "2019-08-24",
    "features": {
        "number_of_ips": {
            "limit": 10
        },
        "rescan": {
            "active": true,
            "unlimited": false,
            "num_of_rescans": 10,
            "unit": "day",
            "when_run": "always"
        },
        "ai_remediator": {
            "active": true
        }
    }
}'

Responses

🟢201Created
subscribed successfully
This response does not have a body.
🟠401Unauthorized
🟠403Forbidden
🟠404Record Not Found
🟠422Parameter Error
Modified at 2026-03-26 17:17:13
Previous
Revoke features from a subscription
Next
List organizations
Built with