Synopsys Entitlements API

Vendor entitlement queries from Synopsys Cloud.

OpenAPI Specification

synopsys-entitlements-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Synopsys Cloud OpenLink Entitlements API
  description: The Synopsys Cloud OpenLink API enables semiconductor vendors to interoperate with Synopsys Cloud for managing product entitlements and license distribution. Vendors register endpoints during onboarding and respond to license queries from Synopsys Cloud. The API supports both synchronous and asynchronous license file delivery.
  version: '1.0'
  contact:
    url: https://www.synopsys.com/cloud/openlink/api.html
servers:
- url: https://api.synopsys.com/openlink/v1
  description: Synopsys Cloud OpenLink API
security:
- apiKeyAuth: []
- oauth2: []
tags:
- name: Entitlements
  description: Vendor entitlement queries from Synopsys Cloud.
paths:
  /entitlements:
    post:
      operationId: getEntitlements
      summary: Get Vendor Entitlements
      description: Called by Synopsys Cloud to retrieve available licenses for a specific customer. This endpoint is registered by the vendor during onboarding. Returns an array of entitlements with associated license details.
      tags:
      - Entitlements
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntitlementRequest'
      responses:
        '200':
          description: Entitlements returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitlementResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
components:
  schemas:
    EntitlementResponse:
      type: object
      properties:
        customerId:
          type: string
        entitlements:
          type: array
          items:
            $ref: '#/components/schemas/Entitlement'
    Entitlement:
      type: object
      properties:
        entitlementId:
          type: string
        productId:
          type: string
        productName:
          type: string
        quantity:
          type: integer
          description: Number of available license seats.
        expiresAt:
          type: string
          format: date-time
        licenseRequestApi:
          type: string
          description: Dynamic URL for license generation for this entitlement.
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Vendor-specific error code.
        message:
          type: string
          description: Customer-facing error description.
        statusCode:
          type: integer
        tid:
          type: string
          description: Optional trace identifier.
    EntitlementRequest:
      type: object
      required:
      - customerId
      - productId
      properties:
        customerId:
          type: string
          description: Synopsys Cloud customer identifier.
        productId:
          type: string
          description: Product/tool identifier for which licenses are requested.
        requestId:
          type: string
          description: Unique request identifier for traceability.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key-based authentication
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.synopsys.com/oauth/token
          scopes:
            openlink: Access OpenLink API