Zoho License API

Operations related to license features and plan information.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-license-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter License API
  version: 1.0.0
  description: Operations related to license features and plan information.
tags:
- name: License
  description: Operations related to license features and plan information.
paths:
  /api/v1/licenses/features:
    get:
      tags:
      - License
      summary: Get License Feature Information
      description: Fetches the list of all license features, with optional filters for active status and specific feature codes. Useful for retrieving their current availability (isAllowed) and usage limits. Returns either simple max values or detailed limit information based on the includeDetailedLimits parameter.
      operationId: featureInfo
      parameters:
      - name: featureCodes
        in: query
        required: false
        description: Comma-separated list of feature codes to retrieve information for.
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: isAllowed
        in: query
        required: false
        description: Filter features based on their active status.
        schema:
          type: boolean
      - name: includeDetailedLimits
        in: query
        required: false
        description: Flag to include detailed per-unit feature limits (max, free, add-on values) instead of only max values.
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully retrieved feature information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseFeatureListResponse'
              examples:
                simple:
                  summary: Simple mode (includeDetailedLimits=false)
                  value:
                    data:
                    - featureCode: AGNT01
                      featureName: Agent
                      isAllowed: true
                      limits:
                      - unitCode: ORG
                        maxValue: 33
                detailed:
                  summary: Detailed mode (includeDetailedLimits=true)
                  value:
                    data:
                    - featureCode: AGNT01
                      featureName: Agent
                      isAllowed: true
                      limits:
                      - unitCode: ORG
                        maxValue: 33
                        freeValue: 5
                        addOnValue: 3
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
      x-audience:
      - external-public
  /api/v1/licenses/features/{featureCode}/availability:
    get:
      tags:
      - License
      summary: Check License Availability
      description: Checks if a specific license feature is available, potentially for a given entity and item count.
      operationId: checkLicenseAvailability
      x-audience:
      - external-public
      parameters:
      - name: featureCode
        in: path
        required: true
        description: The feature code to check availability for.
        schema:
          type: string
      - name: entityId
        in: query
        required: false
        description: The ID of the entity (e.g., Department ID) for which to check availability.
        schema:
          type: string
          format: int64
      - name: count
        in: query
        required: false
        description: The number of items for which the license is being checked.
        schema:
          type: integer
      - name: criteria
        in: query
        required: false
        description: Refine license availability check based on constraints
        schema:
          type: string
      responses:
        '200':
          description: Successfully checked license availability.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IsAllowedResponse'
              examples:
                isAllowed:
                  value:
                    isAllowed: true
                notAllowed:
                  value:
                    isAllowed: false
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
  /api/v1/licenses/plan:
    get:
      tags:
      - License
      summary: Get License Plan Information
      description: Retrieves details about the current license plan.
      operationId: planinfo
      x-audience:
      - external-public
      responses:
        '200':
          description: Successfully retrieved plan information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanInfoResponse'
              examples:
                success:
                  value:
                    planName: Enterprise
                    planCode: ENTP01
                    planStatus: Active
                    expiryDate: '1749203963937'
                    billingCycle: Annual
                    storePlanId: 12345
                    storeProfileId: prof_abc123
                    previousPlanCode: PRO01
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
components:
  schemas:
    PlanInfoResponse:
      type: object
      description: Detailed information about the current license plan.
      properties:
        planName:
          type: string
          description: The name of the current plan.
          example: Enterprise
        planCode:
          type: string
          description: The unique code for the current plan.
          example: ENTP01
        planStatus:
          type: string
          description: The current status of the plan (e.g., Active, Trial, Expired).
          example: Active
        expiryDate:
          type: integer
          format: int64
          description: The expiry date of the current plan represented as milliseconds since Unix epoch.
          example: 1749203963937
        billingCycle:
          type: string
          description: The billing cycle for the plan (e.g., Monthly, Annual).
          example: Annual
        storePlanId:
          type: integer
          description: The ID of the plan in the billing/store system.
          example: 12345
        storeProfileId:
          type: string
          description: The ID of the profile in the billing/store system.
          example: prof_abc123
        previousPlanCode:
          type:
          - string
          - 'null'
          description: The code of the previous plan, if applicable.
          example: PRO01
    IsAllowedResponse:
      type: object
      properties:
        isAllowed:
          type: boolean
          description: Indicates whether the requested license feature is available/allowed.
          example: true
      required:
      - isAllowed
    SimpleLicenseUnit:
      type: object
      description: Simple license unit with only max value
      properties:
        unitCode:
          type: string
          description: Type of unit for which the limit applies (e.g., ORG, AGENT, TEAM)
          example: ORG
        maxValue:
          type: integer
          description: Maximum allowed value for this unit
          example: 33
      required:
      - unitCode
      - maxValue
      additionalProperties: false
    LicenseFeatureListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FeatureAllowed'
    FeatureAllowed:
      type: object
      description: Details of an allowed feature with flexible limit information.
      properties:
        featureCode:
          type: string
          description: The unique code of the feature.
          example: AGNT01
        featureName:
          type: string
          description: The display name of the feature.
          example: Agent
        isAllowed:
          type: boolean
          description: Indicates if the feature is currently allowed under the license.
          example: true
        limits:
          type: array
          description: Array of license limits per applicable unit. Structure varies based on includeDetailedLimits parameter.
          items:
            anyOf:
            - $ref: '#/components/schemas/SimpleLicenseUnit'
            - $ref: '#/components/schemas/LicenseUnitValue'
          example:
          - unitCode: ORG
            maxValue: 33
            freeValue: 5
            addOnValue: 3
      required:
      - featureCode
      - featureName
      - isAllowed
    LicenseUnitValue:
      type: object
      description: Detailed license unit value information
      properties:
        unitCode:
          type: string
          description: Type of unit for which the limit applies (e.g., ORG, AGENT, TEAM)
          example: ORG
        maxValue:
          type: integer
          description: Maximum allowed value for this unit
          example: 33
        freeValue:
          type: integer
          description: Free value included in the base plan
          example: 5
        addOnValue:
          type: integer
          description: Additional value from add-ons
          example: 3
      required:
      - unitCode
      - maxValue
  securitySchemes:
    iam-oauth2-schema:
      $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema
x-entity: Helpcenter