openapi: 3.0.3
info:
  title: Provisioning API
  description: |-
    The Provisioning API offers a comprehensive set of endpoints exclusively for WithSecure™ partners. It enables partners to perform various actions, including:
    1. Listing subscriptions: This functionality is available with read-only credentials, allowing partners to retrieve subscription information.
    2. Automated provisioning of usage-based security subscription bundles and associated resellers: Partners can utilize the API to automate the provisioning process for bundles and manage resellers.

    Please note that full access, including both read and write capabilities, is currently limited to partners utilizing the usage-based security business model. This restriction is in place to ensure that subscription information remains synchronized with our CRM. For partners using other business models, full access to the Provisioning API is not provided.

    To gain access to the provisioning API, kindly reach out to the WithSecure™ Support team or your dedicated WithSecure™ account manager.

    To avoid throttling, it is best to call the API synchronously or sending in batches of small simultaneous requests. We recommend to send at rate of 10 requests per minute with small delay of 20 seconds between batches.
servers:
  - url: 'https://commercial-test.connect.withsecure.com/ws/rest/provisioning/v1'
    description: Staging
  - url: 'https://commercial.connect.withsecure.com/ws/rest/provisioning/v1'
    description: Production
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
security:
  - basicAuth: []
tags:
  - name: subscriptions
    description: Information on the endpoints for provisioning subscriptions.
  - name: Licensee or Company
    description: Information on the endpoints for moving a licensee.
  - name: Reseller or Service Partner (SEP)
    description: Information on the endpoint for registering a reseller (SEP).
  - name: Usage-Based Security bundles
    description: Information on the endpoints for provisioning usage-based security subscription bundles.
paths:
  /subscriptions:
    post:
      tags:
        - subscriptions
      summary: Create new subscription
      description: Provision a new subscription for a new or an existing licensee.
      consumes:
        - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  required:
                    - issue_time
                    - document_id
                    - buyer_account_id
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                licensee_party:
                  type: object
                  required:
                    - name
                    - buyer_assigned_account_id
                  description: 'Provides basic information of the licensee, enabling identification of the licensee in WithSecure™ systems and provisioning of additional subscriptions to the same licensee.'
                  properties:
                    buyer_assigned_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: 'Partner''s internal reference number for the licensee, which must be unique. It is used primarily to find the correct licensee account. If licensee name already exists, but buyer_assigned_account_id is missing in our system (legacy situation),  buyer_assigned_account_id will be associated to the licensee name.'
                    name:
                      type: string
                      minLength: 3
                      maxLength: 255
                      description: Official name for the licensee. This is new name for new licensee. New name will be updated in our system If licensee (identified by buyer_assigned_account_id) already exists.
                    legal_entity:
                      type: object
                      description: 'Provides basic information of the licensee, enabling identification of the licensee in WithSecure™ systems and provisioning of additional subscriptions to the same licensee.'
                      properties:
                        vat:
                          type: string
                          minLength: 0
                          maxLength: 80
                          description: Value added tax identification number of the licensee.
                        postal_address:
                          type: object
                          required:
                            - street_name
                            - city_name
                            - postal_zone
                            - country_code
                          description: 'Licensee address. If postal_address is provided, street_name, city_name, postal_zone, country_code is required.'
                          properties:
                            street_name:
                              type: string
                              minLength: 0
                              maxLength: 255
                              description: Street and number.
                            city_name:
                              type: string
                              minLength: 0
                              maxLength: 40
                              description: City.
                            postal_zone:
                              type: string
                              minLength: 0
                              maxLength: 40
                              description: ZIP/Postal code.
                            state_code:
                              type: string
                              minLength: 1
                              maxLength: 3
                              description: 'State code, ISO 3166-2, for example, "CA" for California.'
                            country_code:
                              type: string
                              minLength: 2
                              maxLength: 2
                              description: 'Country code, ISO 3166-1 alpha-2, for example, "US" for "United States of America".'
                    sep:
                      type: string
                      minLength: 0
                      maxLength: 255
                      description: Defines the existing reseller (SEP) which licensee account belongs to. This is not for creating a reseller.
                subscription:
                  type: object
                  required:
                    - product
                    - quantity
                    - expiration
                  description: 'Defines the product variant, quantity and optional expiration date.'
                  properties:
                    product:
                      type: string
                      minLength: 4
                      maxLength: 4
                      enum:
                        - FCXC
                        - FCXX
                        - FCDA
                        - FCDB
                        - FCED
                        - FCXG
                        - FCRF
                        - FCRB
                        - FCVI
                        - FCEA
                        - FCEN
                        - FCKC
                        - FCYV
                        - FCYY
                      description: |
                        Product to provision:
                          * 'FCXC' - WithSecure™ Elements EPP for Computers.
                          * 'FCXX' - WithSecure™ Elements EPP for Computers Premium.
                          * 'FCDA' - WithSecure™ Elements EPP for Mobiles.
                          * 'FCDB' - WithSecure™ Elements EPP for Mobiles (without VPN).
                          * 'FCED' - WithSecure™ Elements EDR and EPP for Computers Premium.
                          * 'FCXG' - WithSecure™ Elements EPP for Servers.
                          * 'FCRF' - WithSecure™ Elements EPP for Servers Premium.
                          * 'FCRB' - WithSecure™ Elements EDR and EPP for Servers Premium.
                          * 'FCVI' - WithSecure™ Elements Collaboration Protection.
                          * 'FCEA' - WithSecure™ Elements EDR for Computers.
                          * 'FCEN' - WithSecure™ Elements EDR for Servers.
                          * 'FCKC' - WithSecure™ Elements Vulnerability Management.
                          * 'FCYV' - WithSecure™ Elements Identity Security for Entra ID.
                          * 'FCYY' - WithSecure™ Elements Exposure Management for Business.
                    quantity:
                      type: integer
                      minimum: 1
                      description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription.'
                    expiration:
                      type: string
                      description: 'If value is "expire", subscription will be valid until the expiration_date. If value is "continuous", subscription will be valid until it is changed to "expire".'
                      enum:
                        - expire
                        - continuous
                    expiration_date:
                      type: string
                      format: date
                      description: 'Date in UTC, for example, "2007-04-05" (ISO8601). If value is "expire", valid expiration_date (current or a future date) must be provided. If value is "continuous", do not provide expiration_date.'
                    discount:
                      type: object
                      required:
                        - type
                      description: Allowed only if the product has discounted pricing in WithSecure™ price list. Defaults to "commercial" if not defined.
                      properties:
                        type:
                          type: string
                          description: 'Normal ("commercial") customer, "educational" customer, "governmental" customer, or "evaluation" for trial license (30 days is the recommended trial duration).'
                          enum:
                            - commercial
                            - educational
                            - governmental
                            - evaluation
                grant_access:
                  type: object
                  required:
                    - email
                  description: Create the admin user with given email address and grant access to the relevant product portals.
                  properties:
                    email:
                      type: string
                      format: email
                      description: 'Email address, maximum of 254 chars (local and domain part as in RFC3696). Identifies the user to whom the access is granted. Access roles, for example, to which product portal(s) access is given, depends on the product type. The same email cannot be used for multiple organizations. The format name+organizationreference@example.com is supported.'
            examples:
              Create a new subscription:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    buyer_assigned_account_id: partner-id-1234
                    name: Licensee Company Name Ltd
                    legal_entity:
                      vat: vat1234567
                      postal_address:
                        street_name: '168, Awesome Street'
                        city_name: Awesome City
                        postal_zone: '12345'
                        state_code: AZ
                        country_code: US
                  subscription:
                    product: FCXX
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
              Create a new subscription + Grant an access:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    buyer_assigned_account_id: partner-id-1234
                    name: Licensee Company Name Ltd
                    legal_entity:
                      vat: vat1234567
                      postal_address:
                        street_name: '168, Awesome Street'
                        city_name: Awesome City
                        postal_zone: '12345'
                        state_code: AZ
                        country_code: US
                  subscription:
                    product: FCXX
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
                  grant_access:
                    email: admin@invalid.com
              Create a new subscription under an existing SEP:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    buyer_assigned_account_id: partner-id-1234
                    name: Licensee Company Name Ltd
                    legal_entity:
                      vat: vat1234567
                      postal_address:
                        street_name: '168, Awesome Street'
                        city_name: Awesome City
                        postal_zone: '12345'
                        state_code: AZ
                        country_code: US
                    sep: Service partner A
                  subscription:
                    product: FCXX
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
              Create a new subscription under an existing SEP + Grant an access:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    buyer_assigned_account_id: partner-id-1234
                    name: Licensee Company Name Ltd
                    legal_entity:
                      vat: vat1234567
                      postal_address:
                        street_name: '168, Awesome Street'
                        city_name: Awesome City
                        postal_zone: '12345'
                        state_code: AZ
                        country_code: US
                    sep: Service partner A
                  subscription:
                    product: FCXX
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
                  grant_access:
                    email: admin@invalid.com
              Create a new "evaluation" subscription:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    buyer_assigned_account_id: partner-id-1234
                    name: Licensee Company Name Ltd
                    legal_entity:
                      vat: vat1234567
                      postal_address:
                        street_name: '168, Awesome Street'
                        city_name: Awesome City
                        postal_zone: '12345'
                        state_code: AZ
                        country_code: US
                  subscription:
                    product: FCXX
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
                    discount:
                      type: evaluation
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensee_party:
                    type: object
                    required:
                      - supplier_assigned_account_id
                      - companyUuid
                    description: Provides identification of the licensee in WithSecure™ systems.
                    properties:
                      supplier_assigned_account_id:
                        type: string
                        description: Identification number of the licensee in WithSecure™ systems.
                      companyUuid:
                        type: string
                        description: Unique identifier of the licensee in WithSecure™ systems.
                  subscription:
                    type: object
                    description: Provides the unique license key to be used to install the client software.
                    required:
                      - subscription_key
                    properties:
                      subscription_key:
                        type: string
                        description: Unique license key to be used to install the client software.
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    supplier_assigned_account_id: B-111111
                    companyUuid: 123e4567-e89b-12d3-a456-426614174000
                  subscription:
                    subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription creation failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid expiration_date
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Subscription creation failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Subscription creation failed
                    error_description: Failed to create licensee_party
                  description: Subscription creation failed due to data errors. Typical data errors are conflicting licensee_party/name and failed to create licensee_party.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/subscriptions/{subscription_key}':
    get:
      tags:
        - subscriptions
      summary: Get subscription by key
      description: Retrieve subscription details by using subscription key.
      parameters:
        - name: subscription_key
          in: path
          required: true
          description: Identifies the subscription_key to retrieve the subscription details.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  subscription:
                    type: object
                    description: List out the subscription details
                    required:
                      - subscription_key
                      - product
                      - quantity
                      - used_quantity
                      - expiration
                    properties:
                      subscription_key:
                        type: string
                        description: Unique license key to be used to install the client software.
                      product:
                        type: string
                        enum:
                          - FCXC
                          - FCXX
                          - FCDA
                          - FCDB
                          - FCEC
                          - FCED
                          - FCXG
                          - FCRF
                          - FCRB
                          - FCVI
                          - FCEA
                          - FCEN
                          - FCKC
                          - FCYV
                          - FCYY
                        description: |
                          Product:
                            * 'FCXC' - WithSecure™ Elements EPP for Computers.
                            * 'FCXX' - WithSecure™ Elements EPP for Computers Premium.
                            * 'FCDA' - WithSecure™ Elements EPP for Mobiles.
                            * 'FCDB' - WithSecure™ Elements EPP for Mobiles (without VPN).
                            * 'FCEC' - WithSecure™ Elements EDR and EPP for Computers.
                            * 'FCED' - WithSecure™ Elements EDR and EPP for Computers Premium.
                            * 'FCXG' - WithSecure™ Elements EPP for Servers.
                            * 'FCRF' - WithSecure™ Elements EPP for Servers Premium.
                            * 'FCRB' - WithSecure™ Elements EDR and EPP for Servers Premium.
                            * 'FCVI' - WithSecure™ Elements Collaboration Protection.
                            * 'FCEA' - WithSecure™ Elements EDR for Computers.
                            * 'FCEN' - WithSecure™ Elements EDR for Servers.
                            * 'FCKC' - WithSecure™ Elements Vulnerability Management.
                            * 'FCYV' - WithSecure™ Elements Identity Security for Entra ID.
                            * 'FCYY' - WithSecure™ Elements Exposure Management for Business.
                      quantity:
                        type: integer
                        description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription.'
                      used_quantity:
                        type: integer
                        description: 'Used Quantity of the subscription. For example, number of endpoints has been used the subscription.'
                      billing_type:
                        type: string
                        description: Show "usage" for usage-based security subscription. Only subscriptions created with usage billing type are included in the usage reports.
                        enum:
                          - usage
                      expiration:
                        type: string
                        description: 'If value is "expire", subscription will be valid until the expiration_date. If value is "continuous", subscription will be valid until it is changed to "expire".'
                        enum:
                          - expire
                          - continuous
                      expiration_date:
                        type: string
                        format: date
                        description: 'Date in UTC, for example, "2007-04-05" (ISO8601) to indicate when subscription will expire.'
                      discount:
                        type: object
                        description: Allowed only if the product has discounted pricing in WithSecure™ price list. Defaults to "commercial" if not defined.
                        required:
                          - type
                        properties:
                          type:
                            type: string
                            description: 'Normal ("commercial") customer, "educational" customer, "governmental" customer, or "evaluation" for trial license (30 days is the recommended trial duration).'
                            enum:
                              - commercial
                              - educational
                              - governmental
                              - evaluation
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02'
                    buyer_account_id: A-123456
                  subscription:
                    subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                    product: FCXC
                    quantity: 15
                    used_quantity: 5
                    expiration: expire
                    expiration_date: '2021-09-01'
                    discount:
                      type: evaluation
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription query failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    error: Invalid request
                    error_description: Invalid request
                  description: Incorrect subscription_key.
                Subscription query failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Subscription query failed
                    error_description: Subscription not found
                  description: Subscription query failed due to data error.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    required:
                      - issue_time
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
    put:
      tags:
        - subscriptions
      summary: Change subscription
      description: 'Make changes to an existing subscription. This endpoint may also be used to change the name of the licensee (company), change the ID assigned to the licensee, or grant access to or revoke access for an admin user.'
      parameters:
        - name: subscription_key
          in: path
          required: true
          description: Identifies the subscription to change. Value needs to be the same as the subscription_key in request.
          schema:
            type: string
      consumes:
        - application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  required:
                    - issue_time
                    - document_id
                    - buyer_account_id
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                subscription_key:
                  type: string
                  minLength: 3
                  maxLength: 80
                  description: Identifies the subscription to change.
                change_licensee_party:
                  type: object
                  required:
                    - name
                    - buyer_assigned_account_id
                  description: Allows to change the name and/or buyer assigned account ID of the existing licensee (identified using the subscription key). It will fail if the name indicated is already in use.
                  properties:
                    buyer_assigned_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: 'Partner''s internal reference number for the licensee, which must be unique.'
                    name:
                      type: string
                      minLength: 3
                      maxLength: 255
                      description: Official name of the licensee.
                modify_subscription:
                  type: object
                  required:
                    - expiration
                  description: 'Defines new quantity, expiration and expiration date, but does not change the product.'
                  properties:
                    quantity:
                      type: integer
                      minimum: 1
                      description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription. New quantity must be greater or equal to the actual usage of the subscription. Any additional computers reserving licenses must be deleted in advance by using the WithSecure™ Elements EPP portal or the Management API.'
                    expiration:
                      type: string
                      description: 'If value is "expire", subscription will be valid until the expiration_date. If value is "continuous", subscription will be valid until it is changed to "expire".'
                      enum:
                        - expire
                        - continuous
                    expiration_date:
                      type: string
                      format: date
                      description: 'Date in UTC, for example, "2007-04-05" (ISO8601). If value is "expire", valid expiration_date (current or a future date) must be provided. If value is "continuous", do not provide expiration_date.'
                    type:
                      type: string
                      description: 'If not included, subscription type will remain unchanged. If included, allowed to convert subscription type, for example, from evaluation subscription to commercial subscription..'
                      enum:
                        - commercial
                        - educational
                        - governmental
                change_product:
                  type: object
                  required:
                    - product
                  description: Change the product (upgrade / downgrade).
                  properties:
                    product:
                      type: string
                      minLength: 4
                      maxLength: 4
                      description: |
                        Change the product (upgrade / downgrade).
                          * FCXC can be changed to FCXX, FCED.
                          * FCXX can be changed to FCED, FCXC.
                          * FCED can be changed to FCXC, FCXX.
                          * FCXG can be changed to FCRF, FCRB.
                          * FCRF can be changed to FCXG, FCRB.
                          * FCRB can be changed to FCXG, FCRF.
                          * FCEA can be changed to FCXC, FCXX, FCED.
                          * FCEN can be changed to FCXG, FCRF, FCRB.
                grant_access:
                  type: object
                  required:
                    - email
                  description: Create the admin user with given email address and grant access to the relevant product portals. Please note that grant_access and revoke_access together (in a single request) is not supported.
                  properties:
                    email:
                      type: string
                      format: email
                      description: 'Email address, maximum of 254 chars (local and domain part as in RFC3696). Identifies the user to whom the access is granted. Access roles, for example, to which product portal(s) access is given, depends on the product type. The same email cannot be used for multiple organizations. The format name+organizationreference@example.com is supported.'
                revoke_access:
                  type: object
                  required:
                    - email
                  description: Revoke an access from the product portals. Please note that grant_access and revoke_access together (in a single request) is not supported.
                  properties:
                    email:
                      type: string
                      format: email
                      description: 'Email address, maximum of 254 chars (local and domain part as in RFC3696). Identifies the user to whom the access is revoked. Access roles, for example, to which product portal(s) access is given, depends on the product type. The same email cannot be used for multiple organizations. The format name+organizationreference@example.com is supported.'
              required:
                - subscription_key
            examples:
              Modify a subscription:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  modify_subscription:
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
              Change a licensee party:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  change_licensee_party:
                    buyer_assigned_account_id: Cust1234
                    name: Example Company Ltd
              Change a product:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  change_product:
                    product: FCXX
              Grant an access:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  grant_access:
                    email: admin@invalid.com
              Revoke an access:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  revoke_access:
                    email: admin@invalid.com
              Modify a subscription + Change a licensee party:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  change_licensee_party:
                    buyer_assigned_account_id: Cust1234
                    name: Example Company Ltd
                  modify_subscription:
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
              Modify a subscription + Change a licensee party + Grant an access:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  change_licensee_party:
                    buyer_assigned_account_id: Cust1234
                    name: Example Company Ltd
                  modify_subscription:
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
                  grant_access:
                    email: admin@invalid.com
              Modify a subscription (convert from "evaluation" to "commercial" subscription):
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                  modify_subscription:
                    quantity: 5
                    expiration: expire
                    expiration_date: '2021-12-31'
                    type: commercial
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensee_party:
                    type: object
                    description: Provides identification of the licensee in WithSecure™ systems.
                    required:
                      - supplier_assigned_account_id
                      - companyUuid
                    properties:
                      supplier_assigned_account_id:
                        type: string
                        description: Identification number of the licensee in WithSecure™ systems.
                      companyUuid:
                        type: string
                        description: Unique identifier of the licensee in WithSecure™ systems.
                  subscription:
                    type: object
                    description: Provides the unique license key to be used to install the client software.
                    required:
                      - subscription_key
                    properties:
                      subscription_key:
                        type: string
                        description: Unique license key to be used to install the client software.
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    supplier_assigned_account_id: B-111111
                    companyUuid: 123e4567-e89b-12d3-a456-426614174000
                  subscription:
                    subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription modification failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid subscription_key
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Subscription modification failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Subscription modification failed
                    error_description: Failed to update licensee_party
                  description: Subscription modification failed due to data error.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/subscriptions?buyer_assigned_account_id={buyer_assigned_account_id}&include_expired={include_expired}':
    get:
      tags:
        - subscriptions
      summary: Get subscriptions by reference number
      description: Retrieve subscriptions details under a licensee by using partner's internal reference number for the licensee.
      parameters:
        - name: buyer_assigned_account_id
          in: query
          required: true
          description: Partner's internal reference number for the licensee.
          schema:
            type: string
        - name: include_expired
          in: query
          required: false
          description: To include the expired subscription. Can be true/false. Default value true.
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensees:
                    type: object
                    description: Provides basic information of the licensee and subscription list under the licensee in WithSecure™ systems.
                    properties:
                      licensee_party:
                        type: object
                        description: Provides basic information of the licensee in WithSecure™ systems.
                        required:
                          - supplier_assigned_account_id
                          - buyer_assigned_account_id
                          - name
                        properties:
                          supplier_assigned_account_id:
                            type: string
                            description: Identification number of the licensee in WithSecure™ systems.
                          buyer_assigned_account_id:
                            type: string
                            description: Partner's internal reference number for the licensee.
                          name:
                            type: string
                            description: Name of the licensee.
                          sep:
                            type: string
                            description: Name of the reseller.
                      subscription:
                        type: object
                        description: List out the subscription details
                        required:
                          - subscription_key
                          - product
                          - quantity
                          - used_quantity
                          - expiration
                        properties:
                          subscription_key:
                            type: string
                            description: Unique license key to be used to install the client software.
                          product:
                            type: string
                            enum:
                              - FCXC
                              - FCXX
                              - FCDA
                              - FCDB
                              - FCEC
                              - FCED
                              - FCXG
                              - FCRF
                              - FCRB
                              - FCVI
                              - FCEA
                              - FCEN
                              - FCKC
                              - FCYV
                              - FCYY
                            description: |
                              Product:
                                * 'FCXC' - WithSecure™ Elements EPP for Computers.
                                * 'FCXX' - WithSecure™ Elements EPP for Computers Premium.
                                * 'FCDA' - WithSecure™ Elements EPP for Mobiles.
                                * 'FCDB' - WithSecure™ Elements EPP for Mobiles (without VPN).
                                * 'FCEC' - WithSecure™ Elements EDR and EPP for Computers.
                                * 'FCED' - WithSecure™ Elements EDR and EPP for Computers Premium.
                                * 'FCXG' - WithSecure™ Elements EPP for Servers.
                                * 'FCRF' - WithSecure™ Elements EPP for Servers Premium.
                                * 'FCRB' - WithSecure™ Elements EDR and EPP for Servers Premium.
                                * 'FCVI' - WithSecure™ Elements Collaboration Protection.
                                * 'FCEA' - WithSecure™ Elements EDR for Computers.
                                * 'FCEN' - WithSecure™ Elements EDR for Servers.
                                * 'FCKC' - WithSecure™ Elements Vulnerability Management.
                                * 'FCYV' - WithSecure™ Elements Identity Security for Entra ID.
                                * 'FCYY' - WithSecure™ Elements Exposure Management for Business.
                          quantity:
                            type: integer
                            description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription.'
                          used_quantity:
                            type: integer
                            description: 'Used Quantity of the subscription. For example, number of endpoints has been used the subscription.'
                          billing_type:
                            type: string
                            description: Show "usage" for usage-based security subscription. Only subscriptions created with usage billing type are included in the usage reports.
                            enum:
                              - usage
                          expiration:
                            type: string
                            description: 'If value is "expire", subscription will be valid until the expiration_date. If value is "continuous", subscription will be valid until it is changed to "expire".'
                            enum:
                              - expire
                              - continuous
                          expiration_date:
                            type: string
                            format: date
                            description: 'Date in UTC, for example, "2007-04-05" (ISO8601) to indicate when subscription will expire.'
                          discount:
                            type: object
                            description: Allowed only if the product has discounted pricing in WithSecure™ price list. Defaults to "commercial" if not defined.
                            required:
                              - type
                            properties:
                              type:
                                type: string
                                description: 'Normal ("commercial") customer, "educational" customer, "governmental" customer, or "evaluation" for trial license (30 days is the recommended trial duration).'
                                enum:
                                  - commercial
                                  - educational
                                  - governmental
                                  - evaluation
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2020-11-17T16:41:33.000Z'
                    buyer_account_id: F001150674
                  licensees:
                    - licensee_party:
                        supplier_assigned_account_id: 1234CDEFG
                        buyer_assigned_account_id: Your-customer-id-1
                        name: Licensee Company Name Ltd
                        sep: Service partner A
                      subscriptions:
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                          product: FCXC
                          quantity: 15
                          used_quantity: 10
                          expiration: expire
                          expiration_date: '2021-09-01'
                          discount:
                            type: evaluation
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-FFFF
                          product: FCXR
                          quantity: 5
                          used_quantity: 2
                          expiration: continuous
                          discount:
                            type: commercial
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription query failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    error: Invalid request
                    error_description: Invalid request
                  description: Incorrect query param given.
                Subscription query failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Subscription query failed
                    error_description: Subscription not found
                  description: Subscription query failed due to data error.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    required:
                      - issue_time
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/subscriptions?companyUuid={companyUuid}&include_expired={include_expired}':
    get:
      tags:
        - subscriptions
      summary: Get subscriptions by company uuid
      description: Retrieve subscriptions details under a licensee by using licensee unique identifier.
      parameters:
        - name: companyUuid
          in: query
          required: true
          description: Unique identifier of the licensee in WithSecure™ systems.
          schema:
            type: string
        - name: include_expired
          in: query
          required: false
          description: To include the expired subscription. Can be true/false. Default value true.
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensees:
                    type: object
                    description: Provides basic information of the licensee and subscription list under the licensee in WithSecure™ systems.
                    properties:
                      licensee_party:
                        type: object
                        description: Provides basic information of the licensee in WithSecure™ systems.
                        required:
                          - supplier_assigned_account_id
                          - buyer_assigned_account_id
                          - name
                        properties:
                          supplier_assigned_account_id:
                            type: string
                            description: Identification number of the licensee in WithSecure™ systems.
                          buyer_assigned_account_id:
                            type: string
                            description: Partner's internal reference number for the licensee.
                          name:
                            type: string
                            description: Name of the licensee.
                          sep:
                            type: string
                            description: Name of the reseller.
                      subscription:
                        type: object
                        description: List out the subscription details
                        required:
                          - subscription_key
                          - product
                          - quantity
                          - used_quantity
                          - expiration
                        properties:
                          subscription_key:
                            type: string
                            description: Unique license key to be used to install the client software.
                          product:
                            type: string
                            enum:
                              - FCXC
                              - FCXX
                              - FCDA
                              - FCDB
                              - FCEC
                              - FCED
                              - FCXG
                              - FCRF
                              - FCRB
                              - FCVI
                              - FCEA
                              - FCEN
                              - FCKC
                              - FCYV
                              - FCYY
                            description: |
                              Product:
                                * 'FCXC' - WithSecure™ Elements EPP for Computers.
                                * 'FCXX' - WithSecure™ Elements EPP for Computers Premium.
                                * 'FCDA' - WithSecure™ Elements EPP for Mobiles.
                                * 'FCDB' - WithSecure™ Elements EPP for Mobiles (without VPN).
                                * 'FCEC' - WithSecure™ Elements EDR and EPP for Computers.
                                * 'FCED' - WithSecure™ Elements EDR and EPP for Computers Premium.
                                * 'FCXG' - WithSecure™ Elements EPP for Servers.
                                * 'FCRF' - WithSecure™ Elements EPP for Servers Premium.
                                * 'FCRB' - WithSecure™ Elements EDR and EPP for Servers Premium.
                                * 'FCVI' - WithSecure™ Elements Collaboration Protection.
                                * 'FCEA' - WithSecure™ Elements EDR for Computers.
                                * 'FCEN' - WithSecure™ Elements EDR for Servers.
                                * 'FCKC' - WithSecure™ Elements Vulnerability Management.
                                * 'FCYV' - WithSecure™ Elements Identity Security for Entra ID.
                                * 'FCYY' - WithSecure™ Elements Exposure Management for Business.
                          quantity:
                            type: integer
                            description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription.'
                          used_quantity:
                            type: integer
                            description: 'Used Quantity of the subscription. For example, number of endpoints has been used the subscription.'
                          billing_type:
                            type: string
                            description: Show "usage" for usage-based security subscription. Only subscriptions created with usage billing type are included in the usage reports.
                            enum:
                              - usage
                          expiration:
                            type: string
                            description: 'If value is "expire", subscription will be valid until the expiration_date. If value is "continuous", subscription will be valid until it is changed to "expire".'
                            enum:
                              - expire
                              - continuous
                          expiration_date:
                            type: string
                            format: date
                            description: 'Date in UTC, for example, "2007-04-05" (ISO8601) to indicate when subscription will expire.'
                          discount:
                            type: object
                            description: Allowed only if the product has discounted pricing in WithSecure™ price list. Defaults to "commercial" if not defined.
                            required:
                              - type
                            properties:
                              type:
                                type: string
                                description: 'Normal ("commercial") customer, "educational" customer, "governmental" customer, or "evaluation" for trial license (30 days is the recommended trial duration).'
                                enum:
                                  - commercial
                                  - educational
                                  - governmental
                                  - evaluation
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2020-11-17T16:41:33.000Z'
                    buyer_account_id: F001150674
                  licensees:
                    - licensee_party:
                        supplier_assigned_account_id: 1234CDEFG
                        buyer_assigned_account_id: Your-customer-id-1
                        name: Licensee Company Name Ltd
                        sep: Service partner A
                      subscriptions:
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                          product: FCXC
                          quantity: 15
                          used_quantity: 10
                          expiration: expire
                          expiration_date: '2021-09-01'
                          discount:
                            type: evaluation
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-FFFF
                          product: FCXR
                          quantity: 5
                          used_quantity: 2
                          expiration: continuous
                          discount:
                            type: commercial
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription query failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    error: Invalid request
                    error_description: Invalid request
                  description: Incorrect query param given.
                Subscription query failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Subscription query failed
                    error_description: Subscription not found
                  description: Subscription query failed due to data error.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    required:
                      - issue_time
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/subscriptions?buyer_account_id={buyer_account_id}&include_expired={include_expired}&anchor={anchor}':
    get:
      tags:
        - subscriptions
      summary: Get subscriptions by buyer account id
      description: Retrieve subscriptions details under a partner by using partner unique identifier.
      parameters:
        - name: buyer_account_id
          in: query
          required: true
          description: Unique identifier of the partners in WithSecure™ systems.
          schema:
            type: string
        - name: include_expired
          in: query
          required: false
          description: To include the expired subscription. Can be true/false. Default value true.
          schema:
            type: boolean
        - name: anchor
          in: query
          required: false
          description: 'Anchor pointing to the page that should be retrieved. If not specified, will return the first page.'
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensees:
                    type: object
                    description: Provides basic information of the licensee and subscription list under the licensee in WithSecure™ systems.
                    properties:
                      licensee_party:
                        type: object
                        description: Provides basic information of the licensee in WithSecure™ systems.
                        required:
                          - supplier_assigned_account_id
                          - buyer_assigned_account_id
                          - name
                        properties:
                          supplier_assigned_account_id:
                            type: string
                            description: Identification number of the licensee in WithSecure™ systems.
                          buyer_assigned_account_id:
                            type: string
                            description: Partner's internal reference number for the licensee.
                          name:
                            type: string
                            description: Name of the licensee.
                          sep:
                            type: string
                            description: Name of the reseller.
                      subscription:
                        type: array
                        description: List out the subscription details
                        required:
                          - subscription_key
                          - product
                          - quantity
                          - used_quantity
                          - expiration
                        properties:
                          subscription_key:
                            type: string
                            description: Unique license key to be used to install the client software.
                          product:
                            type: string
                            enum:
                              - FCXC
                              - FCXX
                              - FCDA
                              - FCDB
                              - FCEC
                              - FCED
                              - FCXG
                              - FCRF
                              - FCRB
                              - FCVI
                              - FCEA
                              - FCEN
                              - FCKC
                              - FCYV
                              - FCYY
                            description: |
                              Product:
                                * 'FCXC' - WithSecure™ Elements EPP for Computers.
                                * 'FCXX' - WithSecure™ Elements EPP for Computers Premium.
                                * 'FCDA' - WithSecure™ Elements EPP for Mobiles.
                                * 'FCDB' - WithSecure™ Elements EPP for Mobiles (without VPN).
                                * 'FCEC' - WithSecure™ Elements EDR and EPP for Computers.
                                * 'FCED' - WithSecure™ Elements EDR and EPP for Computers Premium.
                                * 'FCXG' - WithSecure™ Elements EPP for Servers.
                                * 'FCRF' - WithSecure™ Elements EPP for Servers Premium.
                                * 'FCRB' - WithSecure™ Elements EDR and EPP for Servers Premium.
                                * 'FCVI' - WithSecure™ Elements Collaboration Protection.
                                * 'FCEA' - WithSecure™ Elements EDR for Computers.
                                * 'FCEN' - WithSecure™ Elements EDR for Servers.
                                * 'FCKC' - WithSecure™ Elements Vulnerability Management.
                                * 'FCYV' - WithSecure™ Elements Identity Security for Entra ID.
                                * 'FCYY' - WithSecure™ Elements Exposure Management for Business.
                          quantity:
                            type: integer
                            description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription.'
                          used_quantity:
                            type: integer
                            description: 'Used Quantity of the subscription. For example, number of endpoints has been used the subscription.'
                          billing_type:
                            type: string
                            description: Show "usage" for usage-based security subscription. Only subscriptions created with usage billing type are included in the usage reports.
                            enum:
                              - usage
                          expiration:
                            type: string
                            description: 'If value is "expire", subscription will be valid until the expiration_date. If value is "continuous", subscription will be valid until it is changed to "expire".'
                            enum:
                              - expire
                              - continuous
                          expiration_date:
                            type: string
                            format: date
                            description: 'Date in UTC, for example, "2007-04-05" (ISO8601) to indicate when subscription will expire.'
                          discount:
                            type: object
                            description: Allowed only if the product has discounted pricing in WithSecure™ price list. Defaults to "commercial" if not defined.
                            required:
                              - type
                            properties:
                              type:
                                type: string
                                description: 'Normal ("commercial") customer, "educational" customer, "governmental" customer, or "evaluation" for trial license (30 days is the recommended trial duration).'
                                enum:
                                  - commercial
                                  - educational
                                  - governmental
                                  - evaluation
                  paging:
                    type: object
                    description: Provides the paging info
                    properties:
                      next_anchor:
                        type: string
                        description: 'Anchor pointing to the page that should be retrieved. If not specified, will return the first page.'
                        required:
                          - next_anchor
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2020-11-17T16:41:33.000Z'
                    buyer_account_id: F001150674
                  licensees:
                    - licensee_party:
                        supplier_assigned_account_id: 1234CDEFG
                        buyer_assigned_account_id: Your-customer-id-1
                        name: Licensee Company A Ltd
                      subscriptions:
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                          product: FCXC
                          quantity: 15
                          used_quantity: 10
                          expiration: expire
                          expiration_date: '2021-09-01'
                          discount:
                            type: evaluation
                    - licensee_party:
                        supplier_assigned_account_id: 2345CDEFG
                        buyer_assigned_account_id: Your-customer-id-2
                        name: Licensee Company B Ltd
                        sep: Service partner B
                      subscriptions:
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-FFFF
                          product: FCXR
                          quantity: 5
                          used_quantity: 2
                          expiration: continuous
                          discount:
                            type: commercial
                  paging:
                    next_anchor: ZXlKa2IyMWhhVzVmYTJWNUlqb2dJbU52YlM1bWMyVmpkwbgda7TG1OdmNuQnZjbUYwWlhOMWFYUmxMbk4xWW5OamNtbHdkR2x2Ym5NNk1EYzBPR1pqTWpRdE1qZzRZeTAwTjJGa0xXSmpaak10T1RZNE9HVTVZalF5TkRSaElpd2dJbkZwTjE5emF5STZJQ0oyWVd4cFpEc3lNREl5TFRBeExURXhWREl6T2pVNU9qVTVXaUlzSUNKeGFUZGZjR3NpT2lBaWNXazNPMk52YlM1bWMyVmpkWEpsTG1OdmNuQnZjbUYwWlhOMWFYUmxMbk4xWW5OamNtbHdkR2x2Ym5NN05qbG1Zall3TnpJdE1qRmtPQzAwT1RBd0xUazNOekl0TldKaE1tRmhNelk0WlRCaEluMD07MA==1w=0o3YnV5ZXJfYWNasgd6dkdF9pZD1GRjAwMDYwODcxOSZpbmNsdWRlX2V4cGlyZWQ9dHJ1ZQ==
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription query failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    error: Invalid request
                    error_description: Invalid request
                  description: Incorrect query param given.
                Subscription query failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Subscription query failed
                    error_description: Subscription not found
                  description: Subscription query failed due to data error.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    required:
                      - issue_time
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/subscriptions?partnerUuid={partnerUuid}&include_expired={include_expired}&anchor={anchor}':
    get:
      tags:
        - subscriptions
      summary: Get subscriptions by partner uuid
      description: Retrieve subscriptions details under a reseller by using reseller unique identifier.
      parameters:
        - name: partnerUuid
          in: query
          required: true
          description: Unique identifier of a reseller in WithSecure™ systems.
          schema:
            type: string
        - name: include_expired
          in: query
          required: false
          description: To include the expired subscription. Can be true/false. Default value true.
          schema:
            type: boolean
        - name: anchor
          in: query
          required: false
          description: 'Anchor pointing to the page that should be retrieved. If not specified, will return the first page.'
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensees:
                    type: object
                    description: Provides basic information of the licensee and subscription list under the licensee in WithSecure™ systems.
                    properties:
                      licensee_party:
                        type: object
                        description: Provides basic information of the licensee in WithSecure™ systems.
                        required:
                          - supplier_assigned_account_id
                          - buyer_assigned_account_id
                          - name
                        properties:
                          supplier_assigned_account_id:
                            type: string
                            description: Identification number of the licensee in WithSecure™ systems.
                          buyer_assigned_account_id:
                            type: string
                            description: Partner's internal reference number for the licensee.
                          name:
                            type: string
                            description: Name of the licensee.
                          sep:
                            type: string
                            description: Name of the reseller.
                      subscription:
                        type: object
                        description: List out the subscription details
                        required:
                          - subscription_key
                          - product
                          - quantity
                          - used_quantity
                          - expiration
                        properties:
                          subscription_key:
                            type: string
                            description: Unique license key to be used to install the client software.
                          product:
                            type: string
                            enum:
                              - FCXC
                              - FCXX
                              - FCDA
                              - FCDB
                              - FCEC
                              - FCED
                              - FCXG
                              - FCRF
                              - FCRB
                              - FCVI
                              - FCEA
                              - FCEN
                              - FCKC
                              - FCYV
                              - FCYY
                            description: |
                              Product:
                                * 'FCXC' - WithSecure™ Elements EPP for Computers.
                                * 'FCXX' - WithSecure™ Elements EPP for Computers Premium.
                                * 'FCDA' - WithSecure™ Elements EPP for Mobiles.
                                * 'FCDB' - WithSecure™ Elements EPP for Mobiles (without VPN).
                                * 'FCEC' - WithSecure™ Elements EDR and EPP for Computers.
                                * 'FCED' - WithSecure™ Elements EDR and EPP for Computers Premium.
                                * 'FCXG' - WithSecure™ Elements EPP for Servers.
                                * 'FCRF' - WithSecure™ Elements EPP for Servers Premium.
                                * 'FCRB' - WithSecure™ Elements EDR and EPP for Servers Premium.
                                * 'FCVI' - WithSecure™ Elements Collaboration Protection.
                                * 'FCEA' - WithSecure™ Elements EDR for Computers.
                                * 'FCEN' - WithSecure™ Elements EDR for Servers.
                                * 'FCKC' - WithSecure™ Elements Vulnerability Management.
                                * 'FCYV' - WithSecure™ Elements Identity Security for Entra ID.
                                * 'FCYY' - WithSecure™ Elements Exposure Management for Business.
                          quantity:
                            type: integer
                            description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription.'
                          used_quantity:
                            type: integer
                            description: 'Used Quantity of the subscription. For example, number of endpoints has been used the subscription.'
                          billing_type:
                            type: string
                            description: Show "usage" for usage-based security subscription. Only subscriptions created with usage billing type are included in the usage reports.
                            enum:
                              - usage
                          expiration:
                            type: string
                            description: 'If value is "expire", subscription will be valid until the expiration_date. If value is "continuous", subscription will be valid until it is changed to "expire".'
                            enum:
                              - expire
                              - continuous
                          expiration_date:
                            type: string
                            format: date
                            description: 'Date in UTC, for example, "2007-04-05" (ISO8601) to indicate when subscription will expire.'
                          discount:
                            type: object
                            description: Allowed only if the product has discounted pricing in WithSecure™ price list. Defaults to "commercial" if not defined.
                            required:
                              - type
                            properties:
                              type:
                                type: string
                                description: 'Normal ("commercial") customer, "educational" customer, "governmental" customer, or "evaluation" for trial license (30 days is the recommended trial duration).'
                                enum:
                                  - commercial
                                  - educational
                                  - governmental
                                  - evaluation
                  paging:
                    type: object
                    description: Provides the paging info
                    properties:
                      next_anchor:
                        type: string
                        description: 'Anchor pointing to the page that should be retrieved. If not specified, will return the first page.'
                        required:
                          - next_anchor
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2020-11-17T16:41:33.000Z'
                    buyer_account_id: F001150674
                  licensees:
                    - licensee_party:
                        supplier_assigned_account_id: 1234CDEFG
                        buyer_assigned_account_id: Your-customer-id-1
                        name: Licensee Company A Ltd
                        sep: Service partner A
                      subscriptions:
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                          product: FCXC
                          quantity: 15
                          used_quantity: 10
                          expiration: expire
                          expiration_date: '2021-09-01'
                          discount:
                            type: evaluation
                    - licensee_party:
                        supplier_assigned_account_id: 2345CDEFG
                        buyer_assigned_account_id: Your-customer-id-2
                        name: Licensee Company B Ltd
                        sep: Service partner B
                      subscriptions:
                        - subscription_key: AAAA-BBBB-CCCC-DDDD-FFFF
                          product: FCXR
                          quantity: 5
                          used_quantity: 2
                          expiration: continuous
                          discount:
                            type: commercial
                  paging:
                    next_anchor: ZXlKa2IyMWhhVzVmYTJWNUlqb2dJbU52YlM1bWMyVmpkwbgda7TG1OdmNuQnZjbUYwWlhOMWFYUmxMbk4xWW5OamNtbHdkR2x2Ym5NNk1EYzBPR1pqTWpRdE1qZzRZeTAwTjJGa0xXSmpaak10T1RZNE9HVTVZalF5TkRSaElpd2dJbkZwTjE5emF5STZJQ0oyWVd4cFpEc3lNREl5TFRBeExURXhWREl6T2pVNU9qVTVXaUlzSUNKeGFUZGZjR3NpT2lBaWNXazNPMk52YlM1bWMyVmpkWEpsTG1OdmNuQnZjbUYwWlhOMWFYUmxMbk4xWW5OamNtbHdkR2x2Ym5NN05qbG1Zall3TnpJdE1qRmtPQzAwT1RBd0xUazNOekl0TldKaE1tRmhNelk0WlRCaEluMD07MA==1w=0o3YnV5ZXJfYWNasgd6dkdF9pZD1GRjAwMDYwODcxOSZpbmNsdWRlX2V4cGlyZWQ9dHJ1ZQ==
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription query failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    error: Invalid request
                    error_description: Invalid request
                  description: Incorrect query param given.
                Subscription query failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Subscription query failed
                    error_description: Subscription not found
                  description: Subscription query failed due to data error.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    required:
                      - issue_time
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/subscriptions/{subscription_key}/move':
    post:
      tags:
        - subscriptions
      summary: Move subscription
      description: Move a subscription to another (existing) licensee.
      parameters:
        - name: subscription_key
          in: path
          required: true
          description: Identifies the subscription to move. Value needs to be the same as the subscription_key in request.
          schema:
            type: string
      consumes:
        - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  required:
                    - issue_time
                    - document_id
                    - buyer_account_id
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                subscription_key:
                  type: string
                  minLength: 3
                  maxLength: 80
                  description: Identifies the subscription to be moved.
                licensee_party:
                  type: object
                  required:
                    - name
                  description: Provides the targeted licensee for subscription to be moved to.
                  properties:
                    name:
                      type: string
                      minLength: 3
                      maxLength: 255
                      description: Official name of the licensee.
              required:
                - subscription_key
              example:
                header:
                  issue_time: '2019-05-03T11:42:01'
                  document_id: Partner_Reference-123456
                  buyer_account_id: A-123456
                subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
                licensee_party:
                  name: Example Company Ltd
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  subscription:
                    type: object
                    description: Provides the unique license key to be used to install the client software.
                    required:
                      - subscription_key
                    properties:
                      subscription_key:
                        type: string
                        description: Unique license key to be used to install the client software.
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  subscription:
                    subscription_key: AAAA-BBBB-CCCC-DDDD-EEEE
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription move failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid subscription_key
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Subscription move failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Subscription move failed
                    error_description: Failed to move subscription
                  description: Subscription move failed due to data errors. Typical data errors are subscription already belongs to licensee_party/name and failed to move subscription.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Subscription move failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Internal server error
                required:
                  - status
                  - error
                  - error_description
              examples:
                Subscription move failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Subscription move failed
                    error_description: Internal server error
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/subscriptions/{subscription_key}?force={force}':
    delete:
      tags:
        - subscriptions
      summary: Terminate subscription
      description: Remove subscription of licensee by using subscription key
      parameters:
        - name: subscription_key
          in: path
          required: true
          description: Identifies the subscription to terminate.
          schema:
            type: string
        - name: force
          in: query
          required: false
          description: To indicate if the subscription can be removed even if there are active devices. Can be true/false. Default value false.
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                required:
                  - status
                example:
                  status: success
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Subscription terminate failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    error: Invalid request
                    error_description: Invalid request
                  description: 'Typical syntax errors are missing mandatory url parameters, incorrect url parameters content.'
                Subscription terminate failed:
                  value:
                    status: error
                    error: Subscription terminate failed
                    error_description: Failed to terminate subscription
                  description: Terminate subscription failed due to data errors. Typical data errors are subscription key not exist and failed to terminate subscription.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/company/{companyUuid}':
    post:
      tags:
        - Licensee or Company
      summary: Move Company
      description: |-
        Move licensee under a reseller (SEP) or buyer party, but the changes only allow within the same buyer party of the licensee.

        ***Warning**: Licensee move may lose some data (e.g. if a licensee was using a profile at a reseller level (SEP), and move away from this reseller, default profile will be used instead)*
      parameters:
        - name: companyUuid
          in: path
          required: true
          description: Unique identifier of a licensee in WithSecure™ systems.
          schema:
            type: string
      consumes:
        - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  required:
                    - issue_time
                    - document_id
                    - buyer_account_id
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                parent_uuid:
                  type: string
                  minLength: 0
                  maxLength: 36
                  description: |
                    Unique identifier of a reseller in WithSecure™ systems.
                      * Defines the reseller (SEP) unique id if wanted to move the licensee under a reseller (SEP)
                      * Defines empty if wanted to move the licensee under a buyer party
              required:
                - parent_uuid
            examples:
              Move licensee under a reseller (SEP):
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  parent_uuid: 123e4567-e89b-12d3-a456-426614174000
              Move licensee under a buyer party:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  parent_uuid: ''
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates whether the request succeeded or not.
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  parent_uuid:
                    type: string
                    description: |
                      Unique identifier of a reseller (SEP) or buyer party in WithSecure™ systems.
                        * Show the reseller (SEP) unique id if successfully moved the licensee under a reseller (SEP)
                        * Show the buyer party unique id if successfully moved the licensee under a buyer party
                required:
                  - parent_uuid
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  parent_uuid: 123e4567-e89b-12d3-a456-426614174000
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Account update failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid request
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Move company failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Move company failed
                    error_description: Failed to move company
                  description: Move company failed due to data errors. Typical data errors are failed to move company.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  /seps:
    post:
      tags:
        - Reseller or Service Partner (SEP)
      summary: Create reseller or service partner
      description: Register a reseller/service partner (SEP) and optionally grant access to an admin user.
      consumes:
        - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  required:
                    - issue_time
                    - document_id
                    - buyer_account_id
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                service_partner:
                  type: object
                  required:
                    - sep
                  description: 'Defines the name of the reseller (SEP) to create, which also acts as an identifier for the reseller.'
                  properties:
                    sep:
                      type: string
                      minLength: 0
                      maxLength: 255
                      description: Defines the name of reseller to be created.
                grant_access:
                  type: object
                  description: Create the admin user with given email address and grant access to the relevant product portals under the reseller (SEP). Additional access grants can be created by calling the endpoint with existing reseller name and different email address.
                  properties:
                    email:
                      type: string
                      format: email
                      description: 'Email address, maximum of 254 chars (local and domain part as in RFC3696). Identifies the user to whom the access is granted or revoked. Access roles, for example, to which product portal(s) access is given, depends on the product type. The same email cannot be used for multiple organizations. The format name+organizationreference@example.com is supported.'
            examples:
              Create a new SEP:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  service_partner:
                    sep: Service partner A
              Create a new SEP + grant an access:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  service_partner:
                    sep: Service partner A
                  grant_access:
                    email: adminsep@invalid.com
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates whether the request succeeded or not.
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                      - partnerUuid
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                      partnerUuid:
                        type: string
                        description: 'Provided by WithSecure™. Unique identifier of the reseller (SEP) in WithSecure™ systems ( This field will be replaced by service_partner.uuid, and will deprecate soon. Advice to use the new field )'
                  service_partner:
                    type: object
                    required:
                      - uuid
                    description: Defines unique identifier of the reseller (SEP).
                    properties:
                      uuid:
                        type: string
                        description: Provided by WithSecure™. Unique identifier of the reseller (SEP) in WithSecure™ systems.
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                    partnerUuid: ecd03c70-d8e9-4fb8-97e5-f220181be112
                  service_partner:
                    uuid: ecd03c70-d8e9-4fb8-97e5-f220181be112
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Account creation failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid sep
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Account creation failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Account creation failed
                    error_description: Failed to create service partner account
                  description: 'Service partner (sep) account creation failed due to data errors. Typical data errors are failed to create Service partner account, failed to grant access.'
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/seps/{partner_uuid}':
    post:
      tags:
        - Reseller or Service Partner (SEP)
      summary: Update reseller or service partner
      description: Update a reseller/service partner (SEP).
      parameters:
        - name: partner_uuid
          in: path
          required: true
          description: Unique identifier of a reseller in WithSecure™ systems.
          schema:
            type: string
      consumes:
        - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  required:
                    - issue_time
                    - document_id
                    - buyer_account_id
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                service_partner:
                  type: object
                  required:
                    - sep
                  description: Allow to change the name of an existing reseller (SEP).
                  properties:
                    sep:
                      type: string
                      minLength: 0
                      maxLength: 255
                      description: Defines the new name of an existing reseller.
            examples:
              Update existing SEP:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  service_partner:
                    sep: Service partner B
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates whether the request succeeded or not.
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  service_partner:
                    type: object
                    required:
                      - sep
                    description: Defines the updated name of an existing reseller (SEP).
                    properties:
                      sep:
                        type: string
                        minLength: 0
                        maxLength: 255
                        description: Defines the updated name of an existing reseller.
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  service_partner:
                    sep: Service partner B
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Account update failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid sep
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Account update failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Account update failed
                    error_description: Failed to update service partner account
                  description: Service partner (sep) account update failed due to data errors. Typical data errors are failed to update Service partner account.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  /bundles:
    post:
      tags:
        - Usage-Based Security bundles
      summary: Create a new bundle
      description: Provision a new subscription bundle for a new or an existing licensee.
      consumes:
        - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  required:
                    - document_id
                    - issue_time
                    - buyer_account_id
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                licensee_party:
                  type: object
                  description: 'Provides basic information of the licensee, enabling identification of the licensee in WithSecure™ systems and provisioning of additional subscriptions to the same licensee.'
                  required:
                    - buyer_assigned_account_id
                    - name
                  properties:
                    buyer_assigned_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: 'Partner''s internal reference number for the licensee, which must be unique.'
                    name:
                      type: string
                      minLength: 3
                      maxLength: 255
                      description: Official name of the licensee.
                    legal_entity:
                      type: object
                      description: 'Provides basic information of the licensee, enabling identification of the licensee in WithSecure™ systems and provisioning of additional subscriptions to the same licensee.'
                      properties:
                        vat:
                          type: string
                          minLength: 0
                          maxLength: 80
                          description: Value added tax identification number of the licensee.
                        postal_address:
                          type: object
                          required:
                            - street_name
                            - city_name
                            - postal_zone
                            - country_code
                          description: 'Licensee address. If postal_address is provided, street_name, city_name, postal_zone, country_code is required.'
                          properties:
                            street_name:
                              type: string
                              minLength: 0
                              maxLength: 255
                              description: Street and number.
                            city_name:
                              type: string
                              minLength: 0
                              maxLength: 40
                              description: City.
                            postal_zone:
                              type: string
                              minLength: 0
                              maxLength: 40
                              description: ZIP/Postal code.
                            state_code:
                              type: string
                              minLength: 1
                              maxLength: 3
                              description: 'State code, ISO 3166-2, for example, "CA" for California.'
                            country_code:
                              type: string
                              minLength: 2
                              maxLength: 2
                              description: 'Country code, ISO 3166-1 alpha-2, for example, "US" for "United States of America".'
                subscription:
                  type: object
                  description: 'Defines the bundle subscription details. Bundle subscriptions are used together with usage-based security business model, where licensees can use the products with "unlimited quantity" and protect as many devices, emails, etc as they like. However, maximum quantity is defined by the reseller as a soft limit for maximum number of endpoints and email addresses licensees can install. Current limit is capped at 10000, please contact WithSecure™ to increase this limit.'
                  required:
                    - product
                    - quantity
                    - billing_type
                    - expiration
                  properties:
                    product:
                      type: string
                      description: |
                        Product to provision:
                          * 'FCZA' - usage-based security bundle subscription.
                      enum:
                        - FCZA
                    quantity:
                      type: integer
                      minimum: 1
                      maximum: 10000
                      description: 'Quantity of the subscription. For example, number of endpoints allowed to use the subscription.'
                    billing_type:
                      type: string
                      description: Provide "usage" for usage-based security subscription. Only subscriptions created with usage billing type are included in the usage reports.
                      enum:
                        - usage
                    expiration:
                      type: string
                      description: 'Subscription bundle will be valid until it is terminated, for example, using Terminate Bundle endpoint.'
                      enum:
                        - continuous
                grant_access:
                  type: object
                  description: Create the admin user with given email address and grant access to the relevant product portals.
                  properties:
                    email:
                      type: string
                      format: email
                      description: 'Email address, maximum of 254 chars (local and domain part as in RFC3696). Identifies the user to whom the access is granted or revoked. Access roles, for example, to which product portal(s) access is given, depends on the product type. The same email cannot be used for multiple organizations. The format name+organizationreference@example.com is supported.'
            examples:
              Create a new subscription bundle:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    buyer_assigned_account_id: partner-id-1234
                    name: Licensee Company Name Ltd
                    legal_entity:
                      vat: vat1234567
                      postal_address:
                        street_name: '168, Awesome Street'
                        city_name: Awesome City
                        postal_zone: '12345'
                        state_code: AZ
                        country_code: US
                  subscription:
                    product: FCZA
                    quantity: 1000
                    billing_type: usage
                    expiration: continuous
              Create a new subscription bundle + Grant an access:
                value:
                  header:
                    issue_time: '2019-05-03T11:42:01'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    buyer_assigned_account_id: partner-id-1234
                    name: Licensee Company Name Ltd
                    legal_entity:
                      vat: vat1234567
                      postal_address:
                        street_name: '168, Awesome Street'
                        city_name: Awesome City
                        postal_zone: '12345'
                        state_code: AZ
                        country_code: US
                  subscription:
                    product: FCZA
                    quantity: 1000
                    billing_type: usage
                    expiration: continuous
                  grant_access:
                    email: admin@invalid.com
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensee_party:
                    type: object
                    required:
                      - supplier_assigned_account_id
                    description: Provides identification of the licensee in WithSecure™ systems.
                    properties:
                      supplier_assigned_account_id:
                        type: string
                        description: Identification number of the licensee in WithSecure™ systems.
                  subscription:
                    type: object
                    required:
                      - order_reference
                    description: 'Provides order_reference, which can be used to terminate the bundle.'
                    properties:
                      order_reference:
                        type: string
                        description: 'Unique order reference id, which can be used to terminate the bundle.'
                required:
                  - status
                example:
                  status: success
                  header:
                    issue_time: '2019-05-03T11:42:02.000Z'
                    document_id: Partner_Reference-123456
                    buyer_account_id: A-123456
                  licensee_party:
                    supplier_assigned_account_id: FF000000360
                  subscription:
                    order_reference: a0z3N000002s11jQAA
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Order creation failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02.000Z'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid order_reference
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Order creation failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02.000Z'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Order creation failed
                    error_description: Failed to create order
                  description: Bundle order creation failed due to data errors. Typical data errors includes Incorrect buyer account and Incorrect product code.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02.000Z'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
  '/bundles/{order_reference}':
    put:
      tags:
        - Usage-Based Security bundles
      summary: Terminate a bundle
      description: Deactivate an existing subscription bundle.
      parameters:
        - name: order_reference
          in: path
          required: true
          description: Identifies the subscription bundle to terminate. Value needs to be the same as the order_reference in request.
          schema:
            type: string
      consumes:
        - application/json
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                header:
                  type: object
                  required:
                    - issue_time
                    - document_id
                    - buyer_account_id
                  description: Provides basic information of the business parties involved and identifier for the message itself.
                  properties:
                    issue_time:
                      type: string
                      format: date-time
                      description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                    document_id:
                      type: string
                      minLength: 3
                      maxLength: 80
                      description: Reference number for the message. Must be unique.
                    buyer_account_id:
                      type: string
                      minLength: 1
                      maxLength: 30
                      description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                order_reference:
                  type: string
                  minLength: 3
                  maxLength: 80
                  description: Identifies the subscription bundle to terminate.
                modify_subscription:
                  type: object
                  required:
                    - expiration
                    - expiration_date
                  description: Defines the expiration and expiration date. Specify expire for expiration to terminate bundle.
                  properties:
                    expiration:
                      type: string
                      description: Subscription will be valid until the expiration_date.
                      enum:
                        - expire
                    expiration_date:
                      type: string
                      format: date
                      description: 'The date to terminate the bundle. Date in UTC, for example, "2007-04-05" (ISO8601).'
              required:
                - order_reference
                - expiration
                - expiration_date
              example:
                header:
                  issue_time: '2019-05-03T11:42:01'
                  document_id: Partner_Reference-123456
                  buyer_account_id: A-123456
                order_reference: a0z3N000002sBc7QAE
                modify_subscription:
                  expiration: expire
                  expiration_date: '2022-12-31'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  header:
                    type: object
                    description: Provides basic information of the query.
                    required:
                      - issue_time
                      - document_id
                      - buyer_account_id
                    properties:
                      issue_time:
                        type: string
                        format: date-time
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  licensee_party:
                    type: object
                    required:
                      - supplier_assigned_account_id
                    description: Provides identification of the licensee in WithSecure™ systems.
                    properties:
                      supplier_assigned_account_id:
                        type: string
                        description: Identification number of the licensee in WithSecure™ systems.
                  subscription:
                    type: object
                    required:
                      - order_reference
                    description: Provides the unique order reference.
                    properties:
                      order_reference:
                        type: string
                        description: 'Order reference number, which is used to terminate the subscription bundle.'
                required:
                  - status
                example:
                  status: success
                  header:
                    buyer_account_id: A-123456
                    document_id: Partner_Reference-123456
                    issue_time: '2019-05-03T11:42:02.000Z'
                  licensee_party:
                    supplier_assigned_account_id: FF000000360
                  subscription:
                    order_reference: a0z3N000002s11jQAA
        '400':
          description: Indicates the problem of the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Invalid request
                      - Order update failed
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                required:
                  - status
                  - error
                  - error_description
              examples:
                Invalid request:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Invalid request
                    error_description: Invalid order_reference
                  description: 'Typical syntax errors are mandatory field missing, incorrect field content.'
                Order update failed:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Order update failed
                    error_description: Order is terminated already
                  description: Bundle order update failed due to data errors. Typical data errors include incorrect expiration date and incorrect order reference.
        '500':
          description: Indicates the server encountered error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Indicates that the request failed.
                    enum:
                      - error
                  header:
                    type: object
                    description: Provides basic information of the query.
                    properties:
                      issue_time:
                        type: string
                        description: 'Date and time in UTC, for example, "2007-04-05T14:30" (ISO8601).'
                      document_id:
                        type: string
                        description: Reference number for the message.
                      buyer_account_id:
                        type: string
                        description: Provided by WithSecure™. Buyer party is the partner using Provisioning API. This ID identifies the partner's legal company to be invoiced.
                  error:
                    type: string
                    description: Type of error.
                    enum:
                      - Service temporarily unavailable
                  error_description:
                    type: string
                    description: Description about possible cause of error.
                    enum:
                      - Service temporarily unavailable
                required:
                  - status
                  - error
                  - error_description
              examples:
                Service temporarily unavailable:
                  value:
                    status: error
                    header:
                      issue_time: '2019-05-03T11:42:02'
                      document_id: Partner_Reference-123456
                      buyer_account_id: A-123456
                    error: Service temporarily unavailable
                    error_description: Service temporarily unavailable
                  description: Service temporarily unavailable. Please try again after a grace period.
