Dassault Systèmes portfolio-items API

This section defines the operations related to sales portfolio-items. The portfolio items are used in the definition of leads-opportunities in 'MySalesPipeline' application.

OpenAPI Specification

dassault-portfolio-items-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: APIs for Dassault Systèmes Partners accreditations portfolio-items API
  description: APIs exposed by Dassault Systèmes to its partners and resellers.
  version: 0.10.0
  license:
    name: Dassault Systèmes 2025
    url: https://www.3ds.com/
  x-logo:
    url: https://www.3ds.com/assets/3ds-navigation/3DS_corporate-logo_blue.svg
    altText: Dassault Systèmes
    backgroundColor: '#FFFFFF'
servers:
- url: https://apigw-prd.3ds.com
  description: Main (production) server
- url: https://apigw-ppt.3ds.com
  description: Server for development by Partners (Non Production)
- url: https://apigw-qal.3ds.com
  description: Server for Quality Assurance Testing (Non Production)
- url: https://apigw-ptd.3ds.com
  description: Server for preprod validation (Non Production)
- url: https://apigw-ppd.3ds.com
  description: Server for postprod validation (Non Production)
security:
- ApiKeyAuth: []
tags:
- name: portfolio-items
  description: 'This section defines the operations related to sales portfolio-items.


    The portfolio items are used in the definition of leads-opportunities in ''MySalesPipeline'' application.

    '
paths:
  /sales/api4partners/v0/portfolio-items/search:
    get:
      summary: Search Sales portfolio items
      description: "Search Sales Portfolio Items. \nFor now, no particular search criteria is offered, only pagination with skip & top query parameters.\n"
      tags:
      - portfolio-items
      operationId: searchPortfolioItems
      parameters:
      - name: skip
        in: query
        description: Number of items to skip in the search results.
        schema:
          type: integer
          minimum: 0
          default: 0
        example: 0
      - name: top
        in: query
        description: Maximum number of items to retrieve in search results.
        schema:
          type: integer
          minimum: 1
          default: 9999
        example: 100
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/200_get_portfolio-items_search'
              examples:
                200_portfolioItemsSearchGetResponse:
                  summary: OK
                  description: Successful search in portfolio items (with top=1)
                  value:
                    info:
                      success: true
                      statusCode: 200
                      estimatedSearchCount: 3049
                      timeStamp: '2025-08-14T06:24:04.000Z'
                    data:
                    - salesPortfolioType: Brand
                      salesPortfolioInfrastructure: On Premise
                      salesPortfolioisOrderable: true
                      salesPortfolioLevel1: CATIA
                      salesPortfolioLevel2: CATIA V4
                      salesPortfolioLevel3: MANUFACTURING
                      salesPortfolioId: CLASS00001_ONPR_CATIAV4_SOL000038
        '400':
          description: Bad request, invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400_get_portfolio-items_search'
              examples:
                400_portfolioItemsSearchGetResponse:
                  summary: Bad request
                  description: Invalid query parameter value (top=-5)
                  value:
                    info:
                      success: false
                      statusCode: 400
                      timeStamp: '2025-08-14T09:07:04.000Z'
                      estimatedSearchCount: 3030
                    error:
                      code: ERROR_004
                      message: '#top should be a positive, non zero integer'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401_basic_unauthorized'
              examples:
                401_missing-apikey:
                  summary: Service response in case of missing APIKEY.
                  description: Basic Service response in case of missing APIKEY in request
                  value:
                    message: Missing API key in request
        '403':
          description: Access Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403_basic_forbidden'
              examples:
                403_forbidden:
                  summary: Access Forbidden
                  description: Access Forbidden. Typical reason could be usage of invalid API-KEY or a valid one but for a scope on which access has not been granted by 3DS.
                  value:
                    message: API Consumer Not allowed
        '429':
          description: Too many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429_too_many_requests'
              examples:
                429_too_many_requests:
                  summary: Too many Requests
                  description: The service cannot handle the request as too many have been received.
                  value:
                    message: Too many requests, please try again later
components:
  schemas:
    400_get_portfolio-items_search:
      type: object
      description: Response in case of Bad Request operation for updating leadsOpportunities object
      required:
      - info
      - error
      properties:
        info:
          $ref: '#/components/schemas/info_response_portfolio-items'
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code
              example: ERROR_004
            message:
              type: string
              description: Human readable error message
              example: '#top should be a positive, non zero integer'
          required:
          - code
          - message
    429_too_many_requests:
      type: object
      description: Too Many Requests
      properties:
        message:
          type: string
      required:
      - message
    401_basic_unauthorized:
      type: object
      description: Unauthorized
      properties:
        message:
          type: string
      required:
      - message
    portfolio-items_data:
      type: object
      description: A sales portfolio-item.
      properties:
        salesPortfolioType:
          type: string
          description: type of portfolio item
          example: Brand
        salesPortfolioInfrastructure:
          type: string
          description: infrastructure type
          example: On Premise
        salesPortfolioisOrderable:
          type: boolean
          description: Whether or not the item can be ordered
          example: true
        salesPortfolioLevel1:
          type: string
          description: Level 1 of the description of the portfolio item
          example: 3DEXPERIENCE
        salesPortfolioLevel2:
          type: string
          description: Level 2 of the description of the portfolio item
          example: Simulation
        salesPortfolioLevel3:
          type: string
          description: Level 3 of the description of the portfolio item
          example: Design to Manufacturing Process
        salesPortfolioId:
          type: string
          description: type of portfolio item
          example: CLASS00002_ONPR_PRTF077_SOL001277
    info_response_portfolio-items:
      allOf:
      - $ref: '#/components/schemas/info_response_base_attributes'
      - type: object
        properties:
          timeStamp:
            type: string
            format: date-time
            description: Timestamp of the operation.
            example: '2025-08-14T07:45:59.000Z'
      required:
      - success
      - statusCode
      - timeStamp
      - estimatedSearchCount
    200_get_portfolio-items_search:
      type: object
      description: Response in case of a successful search operation on portfolio-items
      required:
      - data
      - info
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/portfolio-items_data'
        info:
          $ref: '#/components/schemas/info_response_portfolio-items'
    info_response_base_attributes:
      type: object
      description: Global Information on the operation requested.
      properties:
        success:
          type: boolean
          description: true if operation succeeded or false in case of error.
          example: true
        statusCode:
          type: integer
          description: HTTP return code of the operation
          example: 200
        estimatedSearchCount:
          type: integer
          description: Total number of Results.
          example: 6027
    403_basic_forbidden:
      type: object
      description: Access Forbidden.
      properties:
        message:
          type: string
      required:
      - message
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
x-tagGroups:
- name: Authentication
  tags:
  - apikeys
- name: Order
  tags:
  - orders
  - price-lists
  - accreditations
- name: Sales
  tags:
  - leads-opportunities
  - portfolio-items
- name: Schemas
  tags:
  - Schemas