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.
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: 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