openapi: 3.1.1 info: title: APIs for 3DS Partners for sales domain description: >- APIs exposed by 3DS to its partners and resellers for the sales functionnal domain. version: 1.4.2 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: leads-opportunities description: > This section defines the operations related to leads and opportunities for sales pipeline management. These ressources are managed with 'MySalesPipeline' application which implements Dassault Systèmes sales process called 'LEVERAGE' in accordance with the VALUE Engagement framework. LEVERAGE is an acronym that stands for Listen, Explore, Validate, Establish, Reach AGreement & Experience. - 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/leads-opportunities: post: deprecated: true summary: Create a lead-opportunity object description: > **Deprecated – v0**. This endpoint will be removed in a future release as per our Partners API Lifecycle policy.
Use `/sales/api4partners/v1/leads-opportunities` instead. Creates a lead-opportunity object from its attributes along with possible linked objects (contact, sales Rep) tags: - leads-opportunities operationId: createLeadsOpportunities requestBody: description: request Body for creating a lead-opportunity content: application/json: schema: $ref: '#/components/schemas/post_leads-opportunities_data_deprecated_v0' examples: createLeadBasic: $ref: >- #/components/examples/post_leads-opportunities_lead_deprecated_v0 createOpportunityBasic: $ref: >- #/components/examples/post_leads-opportunities_oppy_deprecated_v0 required: true responses: '201': description: OK headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/201_post_leads-opportunities' examples: 200_leadsOpportunitiesCreateResponse: summary: OK description: >- Response in case of a successful creation of a new leadOpportunity value: dsLeadOpportunityId: 9YEL-Y3W56Q partnerLeadOpportunityId: PARTNER-CRM-LEAD-1A8R action: create info: success: true statusCode: 200 timestamp: null traceId: null error: null '400': description: Bad request, invalid input. headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/400_post_leads-opportunities' examples: 400_leadsOpportunitiesCreateResponse: summary: Bad Request description: >- Response in case of a failure for creation of a new lead Opportunity value: data: leadOportunityId: string leadOpportunity: partnerExternalId: string name: string dsOwnerEmail: string status: string forecastCategory: string closeDate: date cometCampaignCode: string reasonWon: - string reasonLost: - string competitors: - string reasonWonLostComment: string gtmTacticId: string description: string nextMilestone: string nextMilestoneDate: date currency: string offerLines: - amount: double offerNameId: string revenueType: string customerLegalEntity: id: string dunsNumber: string vatNumber: string registrationId: string name: string city: string country: string addressLine1: string statePrefecture: string addressLine2: string zipCode: string websiteUrl: string info: success: false statusCode: 400 error: {} 400_alreadyExisting: summary: Bad Request, already existing lead-opportunity description: >- Lead-opportunity with same partnerExternalId already existing value: info: success: false statusCode: 400 timeStamp: '2025-07-01T13:03:16.325Z' traceId: 4e58705b1c7d40b78e0d1ab6ac404ac8 error: code: ERR801 message: >- Leverage with this Partner External ID DSLeadOpportunityID already exists. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null '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 '406': description: Not acceptable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/406_leads-opportunities' examples: 406_IncorrectCloseDateNextMilestoneFormat: summary: Error returned when date Format is not as expected. description: >- Date format provided in one input is not as per the expected format. value: info: success: false statusCode: 406 timeStamp: '2025-08-07T07:22:41.357Z' traceId: 7a722f2871304f7fa0bd1457388dff5d error: code: ERR805 message: >- Incorrect Close Date/next milestone date Format. Provide date in ISO8601 format. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null '429': description: Too many Requests headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 '503': description: Service Unavailable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/503_leads-opportunities' examples: 503_ServiceUnavailable: summary: Service Unavailable description: >- Service Unavailable Typical reason could be a maintenance on 3DS System. try again later value: info: success: false statusCode: 503 timestamp: '2025-06-30T12:36:46.556Z' traceId: 3d29ece30a064ea68c3f5f4a9f785c6f error: code: ERR899 message: Service currently unavailable, please try again later. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null /sales/api4partners/v0/leads-opportunities/{id}: patch: deprecated: true summary: Update a lead-opportunity object description: > **Deprecated – v0**. This endpoint will be removed in a future release as per our Partners API Lifecycle policy.
Use `/sales/api4partners/v1/leads-opportunities/{id}` instead. Update a lead-opportunity (partial updates on some attributes is recommended) tags: - leads-opportunities operationId: updateLeadOpportunitiesDetails parameters: - name: id in: path required: true description: 3DS id of the lead-opportunity object to update schema: type: string requestBody: description: request Body for updating a lead-opportunity object content: application/json: schema: $ref: >- #/components/schemas/patch_leads-opportunities_data_deprecated_v0 examples: updateLeadStatus: $ref: '#/components/examples/patch_update-lead_status' updateLeadNextMilestone: $ref: '#/components/examples/patch_update-lead_nextMilestone' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/200_patch_leads-opportunities' examples: 200_leadsOpportunitiesCreateResponse: summary: OK description: >- Response in case of a successful creation of a new leadOpportunity value: info: success: true statusCode: 200 timeStamp: null traceId: null error: null data: partnerLeadOpportunityId: OPPY-12345 dsLeadOpportunityId: XJSR-DZMFFT action: update '400': description: Bad request, invalid input. headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/400_patch_leads-opportunities' examples: 400_leadsOpportunitiesCreateResponse: summary: Bad Request description: >- Response in case of a Failure in updating an existing leadOpportunity value: data: leadOportunityId: string leadOpportunity: partnerExternalId: string name: string dsOwnerEmail: string status: string forecastCategory: string closeDate: date cometCampaignCode: string reasonWon: - string reasonLost: - string competitors: - string reasonWonLostComment: string gtmTacticId: string description: string nextMilestone: string nextMilestoneDate: date currency: string offerLines: - amount: double offerNameId: string revenueType: string customerLegalEntity: id: string dunsNumber: string vatNumber: string registrationId: string name: string city: string country: string addressLine1: string statePrefecture: string addressLine2: string zipCode: string websiteUrl: string customerContact: - phoneNumber: (555) 555-1234 salutation: Mr jobTitle: R&D Director email: robert.johnson@customer.com firstName: robert lastName: Johnson partnerContact: - salesRepEmail: john.doe@partner.com salesRepFirstName: john salesRepLastName: Doe info: success: false statusCode: 400 errors: {} '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 '406': description: Not acceptable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/406_leads-opportunities' examples: 406_IncorrectCloseDateNextMilestoneFormat: summary: Error returned when date Format is not as expected. description: >- Date format provided in one input is not as per the expected format. value: info: success: false statusCode: 406 timeStamp: '2025-08-07T07:22:41.357Z' traceId: 7a722f2871304f7fa0bd1457388dff5d error: code: ERR805 message: >- Incorrect Close Date/next milestone date Format. Provide date in ISO8601 format. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null '429': description: Too many Requests headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 '503': description: Service Unavailable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/503_leads-opportunities' examples: 503_ServiceUnavailable: summary: Service Unavailable description: >- Service Unavailable Typical reason could be a maintenance on 3DS System. try again later value: info: success: false statusCode: 503 timestamp: '2025-06-30T12:36:46.556Z' traceId: 3d29ece30a064ea68c3f5f4a9f785c6f error: code: ERR899 message: Service currently unavailable, please try again later. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null get: deprecated: true summary: Get details of a lead-opportunity object description: > **Deprecated – v0**. This endpoint will be removed in a future release as per our Partners API Lifecycle policy.
Use `/sales/api4partners/v1/leads-opportunities/{id}` instead. gets details of a lead-opportunity object from its 3DS identifier. tags: - leads-opportunities operationId: getLeadsOpportunities parameters: - name: id in: path required: true description: >- 3DS id of the lead-opportunity object for which details are requested schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/200_get_leads-opportunities_deprecated_v0' examples: 200_leadsOpportunitiesGetResponse: summary: OK description: Successful retrieval of an existing leadOpportunity object value: error: null info: success: true statusCode: 200 timeStamp: null traceId: null data: leadOpportunity: partnerLeadOpportunityId: API4PARTNERS-0813C dsLeadOpportunityId: HCRQ-F1LLDE name: TEST-0813C dsOwnerEmail: john.doe@3ds.com status: WON forecastCategory: WON closeDate: '2024-12-31T00:00:00.000Z' cometCampaignCode: OC2DE17TAQ1C13018 competitors: null reasonWon: - STRNG_VAL_PROP reasonLost: - EMPTY reasonWonLostComment: '' gtmTacticId: null description: '' nextMilestone: '' nextMilestoneDate: '' currency: EUR approvalStatus: PRE_APPROVED engagementType: EXTEND poInformation: '' poStatus: null poNumber: null sboIndicator: EMPTY sboStatus: null sboNumber: null growthType: EMPTY leadPriority: EMPTY levelOfInterest: EMPTY dsComment: '' partnerImportMode: EMPTY createdDate: '2025-08-13T12:35:03.775Z' modifiedDate: '2025-08-13T15:44:44.453Z' offerLines: - amount: 10000 offerNameId: MDMIND00022_PUBL_ISE00002687_IPE00021337 revenueType: UPFRONT - amount: 11 offerNameId: MDMIND00022_PUBL_ISE00002687_IPE00021337 revenueType: RENTAL_BOOKING customerContact: - phoneNumber: '9658252499' salutation: MR jobTitle: '' email: dummy123_mail@mail.com firstName: F Name1 lastName: L_Name2 partnerContact: null customerLegalEntity: id: '200000000781989' dunsNumber: null vatNumber: null registrationId: null name: null city: null country: null addressLine1: null statePrefecture: null addressLine2: null zipCode: null websiteUrl: null '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 headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 '500': description: Internal Server Error headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/500_get_leads-opportunities' examples: 500_leadsOpportunitiesGetResponse: summary: Internal Server Error description: No access or inexistant lead-opportunity id value: error: code: ERROR_048 message: Leverage Id not in scope of requestor info: success: false statusCode: 500 timeStamp: '2025-08-12T15:40:35.774Z' traceId: 12bcca3a019645829d5330c5df912537 data: null '503': description: Service Unavailable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/503_leads-opportunities' examples: 503_ServiceUnavailable: summary: Service Unavailable description: >- Service Unavailable Typical reason could be a maintenance on 3DS System. try again later value: info: success: false statusCode: 503 timestamp: '2025-06-30T12:36:46.556Z' traceId: 3d29ece30a064ea68c3f5f4a9f785c6f error: code: ERR899 message: Service currently unavailable, please try again later. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null /sales/api4partners/v0/leads-opportunities/search: post: summary: Search for leads-opportunities description: > Searches for leads-opportunities using various search criteria (e.g. modifiedDate) tags: - leads-opportunities operationId: searchLeadsOpportunities requestBody: description: >- Request Body for searching leads-opportunities. The request must include at least one of the following sub-objects: - `modifiedDate` - `partnerLeadOpportunityId` These criteria will be combined using an AND operator if more than one is provided. content: application/json: schema: $ref: '#/components/schemas/post_leads-opportunities_search' examples: search_modifiedDate: summary: search on modifiedDate criterion description: >- Sample BodyRequest to search leads-opportunities based on 'modifiedDate' criterion. value: data: - modifiedDate: fromDate: '2025-08-04T08:00:00Z' toDate: '2025-08-08T18:00:00Z' search_partnerLeadOpportunityId: summary: search on partnerLeadOpportunityId criterion description: >- sample BodyRequest to search leads-opportunitied based on 'partnerLeadOpportunityId' criterion. value: data: - partnerLeadOpportunityId: - PARTNERID-129763 - PARTNERID-248651 search_partnerLeadOpportunityId-unassigned: summary: >- search for leads-opportunities without partnerLeadOpportunityId description: >- sample BodyRequest to search leads-opportunities on which there is no partnerLeadOpportunityId defined. value: data: - partnerLeadOpportunityId: '' search_combined: summary: search with combined criteria description: >- sample BodyRequest to search leads-opportunitied based on 'modifiedDate' & 'partnerLeadOpportunityId' criterion. value: data: - partnerLeadOpportunityId: - PARTNERID-129763 - PARTNERID-248651 - modifiedDate: fromDate: '2025-08-04T08:00:00Z' toDate: '2025-08-08T18:00:00Z' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/200_post_leads-opportunities_search' examples: 200_lead-opportunities_search: summary: OK description: Sample response for successful search. value: info: success: true statusCode: 200 timeStamp: '2025-08-08T16:36:23Z' traceId: 785594df0cbd4f149d0ffbd7e0933820 error: null data: - dsLeadOpportunityId: - 1FFC-7BQC5E - BYTK-COL4A0 - 5KSL-VLSWRX '400': description: Bad request, invalid input. headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/400_post_leads-opportunities' examples: 400_lead-opportunities_search_missingFromToDate: summary: Bad Request description: >- Error when modifedDate search criterias (from or to) is invalid value: info: success: false statusCode: 400 timeStamp: '2025-08-08T15:14:19Z' traceId: afafb61eb2704ecb9b626d8b3b6c593f error: code: ERROR_043 message: >- Both startDateTime and endDateTime must be passed as parameters data: null '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 headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 '503': description: Service Unavailable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/503_leads-opportunities' examples: 503_ServiceUnavailable: summary: Service Unavailable description: >- Service Unavailable Typical reason could be a maintenance on 3DS System. try again later value: info: success: false statusCode: 503 timestamp: '2025-06-30T12:36:46.556Z' traceId: 3d29ece30a064ea68c3f5f4a9f785c6f error: code: ERR899 message: Service currently unavailable, please try again later. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null /sales/api4partners/v0/portfolio-items/search: get: summary: Search Sales portfolio items description: > Search Sales Portfolio Items. For now, no particular search criteria is offered, only pagination with skip & top query parameters. 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 headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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. headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 /sales/api4partners/v1/leads-opportunities: post: summary: Create a lead-opportunity object description: > Creates a lead-opportunity object from its attributes along with possible linked objects (contact, sales Rep) tags: - leads-opportunities operationId: createLeadsOpportunities_v1 requestBody: description: request Body for creating a lead-opportunity content: application/json: schema: $ref: '#/components/schemas/post_leads-opportunities_data' examples: createLeadBasic: $ref: '#/components/examples/post_leads-opportunities_lead' createOpportunityBasic: $ref: '#/components/examples/post_leads-opportunities_oppy' required: true responses: '201': description: OK headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/201_post_leads-opportunities' examples: 200_leadsOpportunitiesCreateResponse: summary: OK description: >- Response in case of a successful creation of a new leadOpportunity value: dsLeadOpportunityId: 9YEL-Y3W56Q partnerLeadOpportunityId: PARTNER-CRM-LEAD-1A8R action: create info: success: true statusCode: 200 timestamp: null traceId: null error: null '400': description: Bad request, invalid input. headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/400_post_leads-opportunities' examples: 400_leadsOpportunitiesCreateResponse: summary: Bad Request description: >- Response in case of a failure for creation of a new lead Opportunity value: data: leadOportunityId: string leadOpportunity: partnerExternalId: string name: string dsOwnerEmail: string status: string forecastCategory: string closeDate: date cometCampaignCode: string reasonWon: - string reasonLost: - string competitors: - string reasonWonLostComment: string gtmTacticId: string description: string nextMilestone: string nextMilestoneDate: date currency: string offerLines: - amount: double offerNameId: string revenueType: string customerLegalEntity: id: string dunsNumber: string vatNumber: string registrationId: string name: string city: string country: string addressLine1: string statePrefecture: string addressLine2: string zipCode: string websiteUrl: string info: success: false statusCode: 400 error: {} 400_alreadyExisting: summary: Bad Request, already existing lead-opportunity description: >- Lead-opportunity with same partnerExternalId already existing value: info: success: false statusCode: 400 timeStamp: '2025-07-01T13:03:16.325Z' traceId: 4e58705b1c7d40b78e0d1ab6ac404ac8 error: code: ERR801 message: >- Leverage with this Partner External ID DSLeadOpportunityID already exists. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null '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 '406': description: Not acceptable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/406_leads-opportunities' examples: 406_IncorrectCloseDateNextMilestoneFormat: summary: Error returned when date Format is not as expected. description: >- Date format provided in one input is not as per the expected format. value: info: success: false statusCode: 406 timeStamp: '2025-08-07T07:22:41.357Z' traceId: 7a722f2871304f7fa0bd1457388dff5d error: code: ERR805 message: >- Incorrect Close Date/next milestone date Format. Provide date in ISO8601 format. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null '429': description: Too many Requests headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 '503': description: Service Unavailable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/503_leads-opportunities' examples: 503_ServiceUnavailable: summary: Service Unavailable description: >- Service Unavailable Typical reason could be a maintenance on 3DS System. try again later value: info: success: false statusCode: 503 timestamp: '2025-06-30T12:36:46.556Z' traceId: 3d29ece30a064ea68c3f5f4a9f785c6f error: code: ERR899 message: Service currently unavailable, please try again later. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null /sales/api4partners/v1/leads-opportunities/{id}: patch: summary: Update a lead-opportunity object description: >- Update a lead-opportunity (partial updates on some attributes is recommended) tags: - leads-opportunities operationId: updateLeadOpportunitiesDetails_v1 parameters: - name: id in: path required: true description: 3DS id of the lead-opportunity object to update schema: type: string requestBody: description: request Body for updating a lead-opportunity object content: application/json: schema: $ref: '#/components/schemas/patch_leads-opportunities_data' examples: updateLeadStatus: $ref: '#/components/examples/patch_update-lead_status' updateLeadNextMilestone: $ref: '#/components/examples/patch_update-lead_nextMilestone' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/200_patch_leads-opportunities' examples: 200_leadsOpportunitiesCreateResponse: summary: OK description: >- Response in case of a successful creation of a new leadOpportunity value: info: success: true statusCode: 200 timeStamp: null traceId: null error: null data: partnerLeadOpportunityId: OPPY-12345 dsLeadOpportunityId: XJSR-DZMFFT action: update '400': description: Bad request, invalid input. headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/400_patch_leads-opportunities' examples: 400_leadsOpportunitiesCreateResponse: summary: Bad Request description: >- Response in case of a Failure in updating an existing leadOpportunity value: data: leadOportunityId: string leadOpportunity: partnerExternalId: string name: string dsOwnerEmail: string status: string forecastCategory: string closeDate: date cometCampaignCode: string reasonWon: - string reasonLost: - string competitors: - string reasonWonLostComment: string gtmTacticId: string description: string nextMilestone: string nextMilestoneDate: date currency: string offerLines: - amount: double offerNameId: string revenueType: string customerLegalEntity: id: string dunsNumber: string vatNumber: string registrationId: string name: string city: string country: string addressLine1: string statePrefecture: string addressLine2: string zipCode: string websiteUrl: string customerContact: - phoneNumber: (555) 555-1234 salutation: Mr jobTitle: R&D Director email: robert.johnson@customer.com firstName: robert lastName: Johnson partnerContact: - salesRepEmail: john.doe@partner.com salesRepFirstName: john salesRepLastName: Doe info: success: false statusCode: 400 errors: {} '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 '406': description: Not acceptable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/406_leads-opportunities' examples: 406_IncorrectCloseDateNextMilestoneFormat: summary: Error returned when date Format is not as expected. description: >- Date format provided in one input is not as per the expected format. value: info: success: false statusCode: 406 timeStamp: '2025-08-07T07:22:41.357Z' traceId: 7a722f2871304f7fa0bd1457388dff5d error: code: ERR805 message: >- Incorrect Close Date/next milestone date Format. Provide date in ISO8601 format. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null '429': description: Too many Requests headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 '503': description: Service Unavailable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/503_leads-opportunities' examples: 503_ServiceUnavailable: summary: Service Unavailable description: >- Service Unavailable Typical reason could be a maintenance on 3DS System. try again later value: info: success: false statusCode: 503 timestamp: '2025-06-30T12:36:46.556Z' traceId: 3d29ece30a064ea68c3f5f4a9f785c6f error: code: ERR899 message: Service currently unavailable, please try again later. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null get: summary: Get details of a lead-opportunity object description: | gets details of a lead-opportunity object from its 3DS identifier. tags: - leads-opportunities operationId: getLeadsOpportunities_v1 parameters: - name: id in: path required: true description: >- 3DS id of the lead-opportunity object for which details are requested schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/200_get_leads-opportunities' examples: 200_leadsOpportunitiesGetResponse: summary: OK description: Successful retrieval of an existing leadOpportunity object value: error: null info: success: true statusCode: 200 timeStamp: null traceId: null data: leadOpportunity: partnerLeadOpportunityId: API4PARTNERS-0813C dsLeadOpportunityId: HCRQ-F1LLDE name: TEST-0813C dsOwnerEmail: john.doe@3ds.com status: WON forecastCategory: WON closeDate: '2024-12-31T00:00:00.000Z' cometCampaignCode: OC2DE17TAQ1C13018 competitors: null reasonWon: - STRNG_VAL_PROP reasonLost: - EMPTY reasonWonLostComment: '' gtmTacticId: null description: '' nextMilestone: '' nextMilestoneDate: '' currency: EUR approvalStatus: PRE_APPROVED engagementType: EXTEND poInformation: '' poStatus: null poNumber: null sboIndicator: EMPTY sboStatus: null sboNumber: null growthType: EMPTY leadPriority: EMPTY levelOfInterest: EMPTY dsComment: '' partnerImportMode: EMPTY createdDate: '2025-08-13T12:35:03.775Z' modifiedDate: '2025-08-13T15:44:44.453Z' offerLines: - amount: 10000 offerNameId: MDMIND00022_PUBL_ISE00002687_IPE00021337 revenueType: PxC - amount: 11 offerNameId: MDMIND00022_PUBL_ISE00002687_IPE00021337 revenueType: YxC customerContact: - phoneNumber: '9658252499' salutation: MR jobTitle: '' email: dummy123_mail@mail.com firstName: F Name1 lastName: L_Name2 partnerContact: null customerLegalEntity: id: '200000000781989' dunsNumber: null vatNumber: null registrationId: null name: null city: null country: null addressLine1: null statePrefecture: null addressLine2: null zipCode: null websiteUrl: null '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 headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 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 '500': description: Internal Server Error headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/500_get_leads-opportunities' examples: 500_leadsOpportunitiesGetResponse: summary: Internal Server Error description: No access or inexistant lead-opportunity id value: error: code: ERROR_048 message: Leverage Id not in scope of requestor info: success: false statusCode: 500 timeStamp: '2025-08-12T15:40:35.774Z' traceId: 12bcca3a019645829d5330c5df912537 data: null '503': description: Service Unavailable headers: X-RateLimit-Limit: description: Total allowed quota in the current window. schema: type: integer minimum: 0 example: 100 X-RateLimit-Remaining: description: Remaining quota in the current window. schema: type: integer minimum: 0 example: 42 X-RateLimit-Reset: description: Number of seconds until the quota window resets. schema: type: integer minimum: 0 example: 27 content: application/json: schema: $ref: '#/components/schemas/503_leads-opportunities' examples: 503_ServiceUnavailable: summary: Service Unavailable description: >- Service Unavailable Typical reason could be a maintenance on 3DS System. try again later value: info: success: false statusCode: 503 timestamp: '2025-06-30T12:36:46.556Z' traceId: 3d29ece30a064ea68c3f5f4a9f785c6f error: code: ERR899 message: Service currently unavailable, please try again later. data: partnerLeadOpportunityId: null dsLeadOpportunityId: null action: null components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key schemas: partnerLeadOpportunityId: type: string description: >- Unique Identifier of the lead-opportunity in the CRM system of the 3DS partner. example: OPPY-1004526 dsOwnerEmail: type: string description: >- email of the 3DS Partner Sales Manager (PSM). Note : It is defaulted to the primary 3DS PSM if not provided at creation time. example: john.doe@3ds.com lead-opportunity-status: type: string description: | Status of the lead-opportunity (LEVERAGE Processs) enum: - LEAD_OPEN - QUALIFIED - ACCEPTED - OPPY_OPEN - VALIDATED - ESTABLISHED - WON - LOST x-enumDescriptions: LEAD_OPEN: '-6 Open' QUALIFIED: '-5 Qualified' ACCEPTED: '-4 Accepted' OPPY_OPEN: '-3 Open' VALIDATED: '-2 Validated' ESTABLISHED: '-1 Established' WON: Won opportunity LOST: Lost opportunity forecastCategory: type: string enum: - UPSIDE - COMMIT - SAFE - WON - LOST - LONGSHOT - EMPTY description: >- Forecast Category is an assessment done by the Sales Expert to report his/her level of confidence that the Opportunity will close on the Close Date with the revenue amounts defined. Value is ignored at creation if status is ‘LEAD_OPEN’,’QUALIFIED’ or ’ACCEPTED’. if value is not provided at creation time, it defaults based on the following matrix : | status | default forecastCategory | forecastCategory values | | ------- | ------------------------ | -----------------------| | -3 Open | Upside | Safe/Commit/Upside/Longshot | | -2 validated | Upside | Safe/Commit/Upside/Longshot | | -1 Established | Upside | Safe/Commit/Upside/Longshot | | Won | Won | Won (set by the system)| | Lost | Lost| Lost (set by the system) x-enumDescriptions: UPSIDE: > One or more major risks of closing business by the close date, however the customer stated an intention, as represented in the Win Plan, to place an order by the specified Close Date. COMMIT: > Commitment that this Opportunity will be won by the close date. All key steps to close by the close date have been agreed upon with the customer and there are no known major risks. SAFE: > The Purchase Order and agreements signed by the customer are received by 3DS, are being reviewed by Sales Operations and have been submitted to Finance. WON: > The signed Statement of work and Purchase Order are approved (by Finance) LOST: > The signed Statement of work and Purchase Order are approved (by Finance) and the Opportunity is lost. LONGSHOT: > LongLow probability of closing business by the close date due to one or more significant risks (RFP in process, missing technical proofs or vendor selection, no alignment on Close Date, services or legal contracts not startedshot. EMPTY: | Empty, not filled in. reason_won: type: string description: >- Identification of the reason a lead or an opportunity is won. Note : At Creation time, if Value is Not provided, it will be defaulted to 'STRNG_VAL_PROP' (Stronger value proposition). enum: - SOLUTION_FUNCT - STRNG_VAL_PROP - LWR_CST_OF_OWNRSHIP - LWR_IMPL_COST - GOOD_CSTMR_REFER - OFFR_TRM_CONDN - LWR_SFTWR_COSTS - STRONG_CLIENT_RELATION - DS_SKILLS_EXPERTISE - PRTNR_SKILL_&_EXPRT - PRTNR_RELTNSHIP - SALE_OPP_ACT - IT_DRVN_ACT - EMPTY x-enumDescriptions: SOLUTION_FUNCT: Solution functionality STRNG_VAL_PROP: Stronger value proposition LWR_CST_OF_OWNRSHIP: Lower costs of ownership LWR_IMPL_COST: Lower implementation costs GOOD_CSTMR_REFER: Good customer references OFFR_TRM_CONDN: Offer Terms & conditions LWR_SFTWR_COSTS: Lower software costs STRONG_CLIENT_RELATION: Strong client relationship DS_SKILLS_EXPERTISE: DS skills & expertise PRTNR_SKILL_&_EXPRT: Partner skills & expertise PRTNR_RELTNSHIP: Partner (CSI) relationship SALE_OPP_ACT: SalesOperations activities IT_DRVN_ACT: IT driven activities EMPTY: Empty example: STRNG_VAL_PROP reason_lost: type: string enum: - BETTER_COMP_OFFER - CLIENT_DOES_NOT_SEE_VALUE - LACK_OR_LOSS_OF_CHAMPION - FUNC_GAP - HIGH_IMPLEM_COST - LACK_OF_REF - OFFER_DOES_NOT_MATCH_NEEDS - QUALITY_ISSUE - DS_SKILLS_SUPPORT_ISSUE - PARTNER_SKILL_SUPPORT - REL_LEVEL_ISSUE - SOFT_COST_TOO_HIGH - TERMS_COND_ISSUE - COST_OF_SALES_TOO_HIGH - LACK_OF_SKILLS_TO_SUPPORT - LACK_OF_TECH_RESOURCES - NOT_A_DS_PRIORITY - NOT_A_PARTNER_PRIORITY - CLIENT_BANKRUPT_OR_ACQUIRED - CLIENT_HAS_NO_MORE_NEED - CLIENT_HAS_NO_MORE_BUDGET - DUP_COPY - IT_DRIVEN_ACTIVITIES - LOST_TO_ANOTHER_PARTNER - SALESOPS_ACTIVITIES - TERRITORY_REJECT - INADEQUATE_REF - WRONG_PARTNER_OR_DS_SALES - MISSING_INFORMATION - INCORRECT_CHANNEL - UNMOVABLE_COMPET - OPPY_ALREADY_EXISTS - NO_PROJECT - IMMATURE_PROJECT - DUP_LEAD - DUP_OPPY - CUST_BNKRUPT - NVR_SUCCEED_RECHN_CUST - NT_ENG_RLVNT_EVD_CUST - ROI_NT_VIBLE - VLD_CUST_EXPLNTN - MERGED - EMPTY description: >- A list of reason lost is used to identify the reason(s) for loss of an opportunity and for a Lead (which will give insight for the lessons learnt). Note : It is defaulted to `No Project` if value is Not provided during creation of the lead-opportunity. x-enumDescriptions: BETTER_COMP_OFFER: Better competition offer CLIENT_DOES_NOT_SEE_VALUE: Client does not see value LACK_OR_LOSS_OF_CHAMPION: Lack or loss of Champion FUNC_GAP: Functional gap HIGH_IMPLEM_COST: High Implementation cost LACK_OF_REF: Lack of references OFFER_DOES_NOT_MATCH_NEEDS: Offer does not match needs QUALITY_ISSUE: Quality issue DS_SKILLS_SUPPORT_ISSUE: DS skills & support issue PARTNER_SKILL_SUPPORT: Partner skills & support REL_LEVEL_ISSUE: Relationship level issue SOFT_COST_TOO_HIGH: Software cost too high TERMS_COND_ISSUE: Terms & conditions issue COST_OF_SALES_TOO_HIGH: Cost of Sales too high LACK_OF_SKILLS_TO_SUPPORT: Lack of skills to support LACK_OF_TECH_RESOURCES: Lack of tech resources NOT_A_DS_PRIORITY: Not a priority for DS NOT_A_PARTNER_PRIORITY: Not a priority for Partner CLIENT_BANKRUPT_OR_ACQUIRED: Client Bankrupt/Acquired CLIENT_HAS_NO_MORE_NEED: Client has no (more) need CLIENT_HAS_NO_MORE_BUDGET: Client has no (more) budget DUP_COPY: Duplicate copy IT_DRIVEN_ACTIVITIES: IT driven activities LOST_TO_ANOTHER_PARTNER: Lost to another partner SALESOPS_ACTIVITIES: SalesOperations activities TERRITORY_REJECT: Territory reject INADEQUATE_REF: Inadequate references WRONG_PARTNER_OR_DS_SALES: Wrong Partner/DS Sales MISSING_INFORMATION: Missing information INCORRECT_CHANNEL: Incorrect channel UNMOVABLE_COMPET: Unmovable compet. OPPY_ALREADY_EXISTS: Oppy already exists NO_PROJECT: No Project IMMATURE_PROJECT: Immature project DUP_LEAD: Duplicate lead DUP_OPPY: Duplicate oppy CUST_BNKRUPT: Customer bankruptcy NVR_SUCCEED_RECHN_CUST: Never succeed in reaching customer (mail/phone/letter) NT_ENG_RLVNT_EVD_CUST: >- Not enough relevant evidences to escalate with the customer (at risk at the court) ROI_NT_VIBLE: ROI for enforcement not viable VLD_CUST_EXPLNTN: Valid Customer Explanation (approved by legal) MERGED: Merged EMPTY: Empty example: CLIENT_HAS_NO_MORE_BUDGET currency: type: string description: > Three-letter ISO 4217 currency code representing the transaction currency. Must be exactly 3 uppercase alphabetic characters (e.g., `USD` for US Dollar, `EUR` for Euro, `INR` for Indian Ruppee). minLength: 3 maxLength: 3 pattern: ^[A-Z]{3}$ example: USD lead-opportunity_attributes: type: object description: Attributes of leads and opportunities properties: partnerLeadOpportunityId: $ref: '#/components/schemas/partnerLeadOpportunityId' name: type: string description: Name assigned to the lead-opportunity example: Projekt Big-Picture Topic + MBSE (STEP 1+2) dsOwnerEmail: $ref: '#/components/schemas/dsOwnerEmail' status: $ref: '#/components/schemas/lead-opportunity-status' example: LEAD_OPEN forecastCategory: $ref: '#/components/schemas/forecastCategory' example: UPSIDE closeDate: type: string format: date-time description: >- Expected date for the closing of the sale in ISO 8601 format (like YYYY-MM-DDThh:mm:ss.sssZ) example: '2025-08-01T18:03:16.325Z' cometCampaignCode: type: string description: COMET Campaign code example: OC2DE17TAQ1C13018 reasonWon: type: array description: >- Identification of the reason a lead or an opportunity is won. _Note_ : At creation time, if value is not provided, it will be defaulted to `STRNG_VAL_PROP` (Stronger value proposition). items: $ref: '#/components/schemas/reason_won' reasonLost: type: array description: >- A list of reason lost is used to identify the reason(s) for loss of an opportunity and for a Lead (which will give insight for the lessons learnt). _Note_ : At creation time, if value is not provided, it will be defaulted to `NO_PROJECT`. items: $ref: '#/components/schemas/reason_lost' competitors: type: array description: > List of the competitors. In current state of the API, the list of valid values will be provided through direct communication with partners (mail or 3DSwym discussion). items: type: string reasonWonLostComment: type: string description: Comment associated to WON or LOST reasons example: The Customer has no budget gtmTacticId: type: string description: identification of GoToMarket. description: type: string description: description associated to the lead-opportunity example: Projekt Dashboard - Big-Picture TopicPilotprojekt nextMilestone: type: string description: Description of the next activity to be done example: Next activity is to make a demo to the Customer nextMilestoneDate: type: string format: date-time description: >- Next Milestone date in ISO 8601 format (like YYYY-MM-DDThh:mm:ss.sssZ) example: '2025-08-01T18:03:16.325Z' currency: $ref: '#/components/schemas/currency' lead-opportunity_post: type: object description: | Core attributes of the lead-opportunity in case of creation. allOf: - $ref: '#/components/schemas/lead-opportunity_attributes' - type: object required: - partnerLeadOpportunityId - name - status - closeDate - currency revenueType_deprecated_v0: deprecated: true type: string enum: - UPFRONT - RENTAL_BOOKING - SUPPORT_SERVICES - SERVICES_SIGNING - EMPTY description: | The type of revenue x-enumDescriptions: UPFRONT: Upfront RENTAL_BOOKING: Rental Booking SUPPORT_SERVICES: Support Services SERVICES_SIGNING: Services Signing EMPTY: Empty offerLine_deprecated_v0: deprecated: true type: object description: | One of the item within an offer. properties: amount: type: number description: Amount of the offer in the desgnated currency example: 13000 offerNameId: type: string description: >- Identification of the Offer. Note: : In current state of the API, the list of valid values will be communicated directly to 3DS Partners via email or within 3DS Partner Swym Community. example: MDMIND00022_PUBL_ISE00002687_IPE00021337 revenueType: $ref: '#/components/schemas/revenueType_deprecated_v0' example: UPFRONT required: - offerNameId country: type: - 'null' - string description: | Country Location example: France customerLegalEntity: type: object description: identification of the target Customer Legal Entity properties: id: type: - string - 'null' description: 3DS site identifier example: '200000000029188' dunsNumber: type: - string - 'null' description: Duns & Bradstreet identification example: '266257315' vatNumber: type: - string - 'null' description: VAT (Value Added Tax) identification number example: DE128212199 registrationId: type: - string - 'null' description: registration id of the company in the country name: type: - string - 'null' description: the targeted name example: World Company Limited city: type: - string - 'null' description: City Location example: San Francisco country: $ref: '#/components/schemas/country' addressLine1: type: - string - 'null' description: 1st line of the address example: Kraillinger Strasse 5 statePrefecture: type: - string - 'null' description: state / Prefecture addressLine2: type: - string - 'null' description: 2nd line of the address (if needed) zipCode: type: - string - 'null' description: ZIP Postal code example: '82131' websiteUrl: type: - string - 'null' description: website URL of the company example: www.world-company-limited.com required: - name - city - country customerContact: description: Customer Contact Information type: object properties: phoneNumber: type: string description: phone number of the Customer Contact example: '987654321' salutation: type: string description: 'Salution of the person : Mr., Ms., Dr., etc..' example: M. jobTitle: type: string description: Job title of the customer Contact example: Director of Reseearch & Development email: type: string description: email of the customer Contact example: john.smith@world-company.com firstName: type: string description: first name of the customer Contact example: John lastName: type: string description: lastname of the customer Contact example: Smith required: - email - firstName - lastName partnerContact: description: | Partner contact information properties: salesRepEmail: type: string description: email of the partner contact example: john.doe@best-partner.com salesRepFirstName: type: string description: first Name of the partner Contact example: John salesRepLastName: type: string description: last name of the partner contact example: Doe required: - salesRepEmail - salesRepFirstName - salesRepLastName post_leads-opportunities_data_deprecated_v0: deprecated: true description: request body for creating a new lead-opportunity object. type: object properties: partnerId: type: string description: Identification of partner LegalEntity in 3DS system. example: '200000000014442' leadOpportunity: type: object $ref: '#/components/schemas/lead-opportunity_post' offerLines: type: array description: array of the various Offer Lines. minItems: 1 items: type: object $ref: '#/components/schemas/offerLine_deprecated_v0' customerLegalEntity: $ref: '#/components/schemas/customerLegalEntity' customerContacts: type: array description: Customer Contact(s) informations items: $ref: '#/components/schemas/customerContact' partnerContacts: type: array description: Partner Contact(s) informations items: $ref: '#/components/schemas/partnerContact' required: - leadOpportunity - offerLines - customerLegalEntity - partnerId 201_post_leads-opportunities: type: object description: response in case of successful operation required: - partnerLeadOpportunityId - dsLeadOpportunityId - action - info properties: partnerLeadOpportunityId: $ref: '#/components/schemas/partnerLeadOpportunityId' dsLeadOpportunityId: type: string description: 3DS id of the lead-opportunity example: 5ZOQ-LF35OK action: type: string description: action performed example: create info: type: object description: Status of the request properties: success: type: boolean description: indicator whether request is successful or not. example: true statusCode: type: integer description: HTTP Code of the response example: 201 timestamp: oneOf: - type: string description: Timestamp of the query example: '2025-06-30T12:36:46.556Z' - type: 'null' traceId: oneOf: - type: string description: >- Identifier to be communicated to 3DS Support in case support/investigation is required example: 3d29ece30a064ea68c3f5f4a9f785c6f - type: 'null' required: - success - statusCode error: oneOf: - type: object properties: code: type: string description: identification of the error message: type: string description: description of the error. - type: 'null' 400_post_leads-opportunities: type: object description: response in case of Bad Request operation properties: data: type: - 'null' - object info: type: object required: - success - statusCode properties: success: type: boolean description: indicator whether request is successful or not. example: false statusCode: type: integer description: HTTP Code of the response example: 400 timeStamp: type: string description: Timestamp of the query example: '2025-06-30T12:36:46.556Z' traceId: type: string description: >- Identifier to be communicated to 3DS Support in case support/investigation is required example: 3d29ece30a064ea68c3f5f4a9f785c6f error: type: object properties: code: type: string description: identification of the error message: type: string description: description of the error. required: - data - info - error 401_basic_unauthorized: type: object description: Unauthorized properties: message: type: string required: - message 403_basic_forbidden: type: object description: Access Forbidden. properties: message: type: string required: - message 406_leads-opportunities: type: object description: Error structure returned in case of code 406 properties: info: type: object properties: success: type: boolean description: status of the operation statusCode: type: integer description: HTTP status code timeStamp: type: string description: timestamp of the operation traceId: type: string description: trace id to be provided for technical investigations. error: type: object properties: code: type: string description: error code message: type: string description: error message data: type: object properties: partnerLeadOpportunityId: type: 'null' dsLeadOpportunityId: type: 'null' action: type: 'null' 429_too_many_requests: type: object description: Too Many Requests properties: message: type: string required: - message 503_leads-opportunities: type: object description: Service Unavailable properties: info: type: object properties: success: type: boolean description: boolean to indicate if request was successful or not. example: false statusCode: type: integer description: HTTP code of the response example: 503 timestamp: type: string format: date-time description: Timestamp of the query example: '2025-06-30T12:36:46.556Z' traceId: type: string description: >- Identifier to be communicated to 3DS Support in case support/investigation is required example: 3d29ece30a064ea68c3f5f4a9f785c6f error: type: object properties: code: type: string example: ERR899 message: type: string example: Service currently unavailable, please try again later. data: type: object properties: partnerLeadOpportunityId: description: >- Identification of the lead-opportunity in the CRM system of the 3DS partner. type: 'null' example: null dsLeadOpportunityId: description: >- Identification of the lead-opportunity in 3DS System (MySalesPipeline). type: 'null' example: null action: description: categorisation of the action performed type: 'null' example: null required: - error - info 200_get_leads-opportunities_deprecated_v0: deprecated: true type: object description: Response in case of a successful get operation on leadsOpportunities required: - data - info properties: data: type: object properties: leadOpportunity: type: object deprecated: true properties: partnerLeadOpportunityId: $ref: '#/components/schemas/partnerLeadOpportunityId' dsLeadOpportunityId: type: - string - 'null' description: 3DS id of the lead-opportunity example: 5ZOQ-LF35OK name: type: - string - 'null' description: Name assigned to the lead-opportunity example: Projekt Big-Picture Topic + MBSE (STEP 1+2) dsOwnerEmail: type: - string - 'null' description: email of the 3DS Partner Sales Manager (PSM) example: john.doe@3ds.com status: $ref: '#/components/schemas/lead-opportunity-status' example: LEAD_OPEN forecastCategory: $ref: '#/components/schemas/forecastCategory' example: UPSIDE closeDate: type: - string - 'null' example: '2025-06-30' description: >- expected date for the closing of the sale in ISO 8601 format (YYYY-MM-DD) cometCampaignCode: type: - string - 'null' description: COMET Campaign code example: OC2DE17TAQ1C13018 reasonWon: type: - array - 'null' items: $ref: '#/components/schemas/reason_won' reasonLost: type: - array - 'null' items: $ref: '#/components/schemas/reason_lost' competitors: type: - array - 'null' description: List of the competitors items: type: string reasonWonLostComment: type: - string - 'null' description: Comment associated to WON or LOST reasons example: The Customer has no budget gtmTacticId: type: - string - 'null' description: identification of GoToMarket. description: type: - string - 'null' description: description associated to the lead-opportunity example: Projekt Dashboard - Big-Picture TopicPilotprojekt nextMilestone: type: - string - 'null' description: Description of the next activity to be done example: Next activity is to make a demo to the Customer nextMilestoneDate: type: - string - 'null' description: Next Milestone date in ISO 8601 format (YYYY-MM-DD) example: '2025-06-15' currency: $ref: '#/components/schemas/currency' approvalStatus: type: - string - 'null' engagementType: type: - string - 'null' poInformation: type: - string - 'null' poStatus: type: - string - 'null' poNumber: type: - string - 'null' sboIndicator: type: - string - 'null' sboStatus: type: - string - 'null' sboNumber: type: - string - 'null' growthType: type: - string - 'null' leadPriority: type: - string - 'null' levelOfInterest: type: - string - 'null' dsComment: type: - string - 'null' partnerImportMode: type: - string - 'null' createdDate: type: - string - 'null' modifiedDate: type: - string - 'null' offerLines: type: - array - 'null' description: array of the various Offer Lines. items: type: object $ref: '#/components/schemas/offerLine_deprecated_v0' customerLegalEntity: $ref: '#/components/schemas/customerLegalEntity' customerContact: type: - array - 'null' description: Customer Contact(s) informations items: $ref: '#/components/schemas/customerContact' partnerContact: type: - array - 'null' description: Partner Contact(s) informations items: $ref: '#/components/schemas/partnerContact' info: type: object properties: success: type: boolean description: status of the operation statusCode: type: integer description: HTTP status code timeStamp: type: - 'null' - string description: timestamp of the operation traceId: type: 'null' description: trace id to be provided for technical investigations. error: type: 'null' description: no error in case of succees 500_get_leads-opportunities: type: object description: Response in case of Bad Request for retrieving lead-opportunity details required: - data - info - error properties: partnerId: type: 'null' data: type: 'null' info: type: object required: - success - statusCode properties: success: type: boolean statusCode: type: integer timeStamp: type: string traceId: type: string error: type: object properties: code: type: string description: Error code message: type: string description: Human readable error message lead-opportunity_patch: type: object description: | Core attributes of the lead-opportunity in case of update. allOf: - $ref: '#/components/schemas/lead-opportunity_attributes' - type: object required: - partnerLeadOpportunityId patch_leads-opportunities_data_deprecated_v0: deprecated: true description: Request body schema for updating leads-opportunities type: object properties: partnerId: type: string description: Identification of partner LegalEntity in 3DS system. example: '200000000014442' leadOpportunity: type: object description: Specific attributes of the lead-opportunity in case of update $ref: '#/components/schemas/lead-opportunity_patch' offerLines: type: array description: array of the various Offer Lines. items: type: object $ref: '#/components/schemas/offerLine_deprecated_v0' customerLegalEntity: $ref: '#/components/schemas/customerLegalEntity' customerContacts: type: array description: Customer Contact(s) informations items: $ref: '#/components/schemas/customerContact' partnerContacts: type: array description: Partner Contact(s) informations items: $ref: '#/components/schemas/partnerContact' required: - leadOpportunity 200_patch_leads-opportunities: type: object description: >- Response in case of successful update operation on lead-Opportunities object required: - data - info properties: data: type: object properties: partnerLeadOpportunityId: type: string dsLeadOpportunityId: type: string action: type: string info: type: object properties: success: type: boolean description: status of the operation statusCode: type: integer description: HTTP status code timeStamp: type: - 'null' - string description: timestamp of the operation traceId: type: 'null' description: trace id to be provided for technical investigations. error: type: 'null' description: no error in case of succees 400_patch_leads-opportunities: type: object description: >- Response in case of Bad Request operation for updating leadsOpportunities object required: - data - info - errors properties: data: type: object info: type: object required: - success - statusCode properties: success: type: boolean statusCode: type: integer estimateSearchCount: type: integer errors: type: object post_leads-opportunities_search: description: Request body schema for searching leads-opportunities type: object properties: data: type: array items: type: object properties: modifiedDate: type: object description: >- Search criterion on the last modification date/time of the leads-opportunities. The maximum time window allowed for the search is **1 week / 7 days** (between `fromDate`and `toDate`, calculated time to time). Both lower (`fromDate`) and upper (`toDate`) bounds need to be provided as no implict range calculation is done. Lower and upper bounds need to be consistent : `fromDate` has to be anterior to `toDate`. properties: fromDate: type: string format: date-time description: >- Lower bound to be considererd for the last modification date/time of the leads-opportunities. This property represents a timestamp in UTC format, following the ISO 8601 standard. All date-time values must be provided in Coordinated Universal Time (UTC). example: '2024-08-01T14:30:00Z' toDate: type: string format: date-time description: >- Upper bound to be considererd for the last modification date/time of the leads-opportunities. This property represents a timestamp in UTC format, following the ISO 8601 standard. All date-time values must be provided in Coordinated Universal Time (UTC). example: '2024-08-08T08:30:00Z' required: - fromDate - toDate partnerLeadOpportunityId: type: - array - string description: >- Search criterion on the id of the leads-opportunities as defined in partner CRM System. This search criterion can be used for 2 main use cases : - Exact search for a particular lead-opportunitity id from Partner CRM system. - Set the exact id searched for (e.g "PARTNER-ID-1234") - Retrieval of all leads-opportunitities that do not have a partnerLeadOpportunityId defined in 3DS CRM application (MySalesPipeline). - These are typically marketing leads on which update by Partner could be required. - Simply set an empty string ("") examples: - PARTNER-ID-1234 - '' anyOf: - required: - modifiedDate - required: - partnerLeadOpportunityId required: - data 200_post_leads-opportunities_search: description: Response body schema for searching leads-opportunities type: object properties: info: type: object properties: success: type: boolean description: status of the operation statusCode: type: integer description: HTTP status code timeStamp: type: - string description: timestamp of the operation traceId: type: string description: trace id to be provided for technical investigations. error: type: 'null' description: no error in case of succees data: type: array items: type: object description: >- 3DS lead-opportunities list of id corresponding to the search criteria properties: dsLeadOpportunityId: type: array description: list of Ids items: type: string required: - data - info 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_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 info_response_portfolio-items: description: structure of the info part of the response for portfolio-item API. 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' 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 revenueType: type: string enum: - PxC - YxC - QxC description: | The type of revenue x-enumDescriptions: PxC: Upfront YxC: Yearly Rental Booking QxC: Quarterly Rental Booking offerLine: type: object description: | One of the item within an offer. properties: amount: type: number description: Amount of the offer in the designated currency example: 13000 offerNameId: type: string description: >- Identification of the Offer. Note: Identification of the offerNameId can be found by consuming our portfolio-items service and locating the desired offer with the supplied hierarchical properties. Once identified, you can reference the "salesPortfolioId" revenueType: $ref: '#/components/schemas/revenueType' example: PxC default: PxC startDate: type: string description: |- Start date of the offer in ISO 8601 format (YYYY-MM-DD) Note: startDate/endDate are only used for YxC/QxC format: date endDate: type: string description: |- End date of the offer in ISO 8601 format (YYYY-MM-DD) Note: startDate/endDate are only used for YxC/QxC format: date required: - offerNameId post_leads-opportunities_data: description: request body for creating a new lead-opportunity object. type: object properties: partnerId: type: string description: Identification of partner LegalEntity in 3DS system. example: '200000000014442' leadOpportunity: type: object $ref: '#/components/schemas/lead-opportunity_post' offerLines: type: array description: array of the various Offer Lines. minItems: 1 items: type: object $ref: '#/components/schemas/offerLine' customerLegalEntity: $ref: '#/components/schemas/customerLegalEntity' customerContacts: type: array description: Customer Contact(s) informations items: $ref: '#/components/schemas/customerContact' partnerContacts: type: array description: Partner Contact(s) informations items: $ref: '#/components/schemas/partnerContact' required: - leadOpportunity - offerLines - customerLegalEntity - partnerId revenueType_get: type: string enum: - PxC - YxC - QxC - SUPPORT_SERVICES - SxC - EMPTY description: | The type of revenue x-enumDescriptions: PxC: Upfront YxC: Yearly Rental Booking QxC: Quarterly Rental Booking SUPPORT_SERVICES: Support Services SxC: Services Signing EMPTY: Empty offerLine_get: type: object description: | One of the item within an offer. properties: amount: type: number description: Amount of the offer in the desgnated currency example: 13000 offerNameId: type: string description: >- Identification of the Offer. Note: Identification of the offerNameId can be found by consuming our portfolio-items service (link) and locating the desired offer with the supplied hierarchical properties. Once identified, you can reference the "salesPortfolioId" example: MDMIND00022_PUBL_ISE00002687_IPE00021337 revenueType: $ref: '#/components/schemas/revenueType_get' example: SxC startDate: type: string description: Start date of the offer in ISO 8601 format (YYYY-MM-DD) format: date endDate: type: string description: End date of the offer in ISO 8601 format (YYYY-MM-DD) format: date required: - offerNameId - revenueType 200_get_leads-opportunities: type: object description: Response in case of a successful get operation on leadsOpportunities required: - data - info properties: data: type: object properties: leadOpportunity: type: object properties: partnerLeadOpportunityId: $ref: '#/components/schemas/partnerLeadOpportunityId' dsLeadOpportunityId: type: - string - 'null' description: 3DS id of the lead-opportunity example: 5ZOQ-LF35OK name: type: - string - 'null' description: Name assigned to the lead-opportunity example: Projekt Big-Picture Topic + MBSE (STEP 1+2) dsOwnerEmail: type: - string - 'null' description: email of the 3DS Partner Sales Manager (PSM) example: john.doe@3ds.com status: $ref: '#/components/schemas/lead-opportunity-status' example: LEAD_OPEN forecastCategory: $ref: '#/components/schemas/forecastCategory' example: UPSIDE closeDate: type: - string - 'null' example: '2025-06-30' description: >- expected date for the closing of the sale in ISO 8601 format (YYYY-MM-DD) cometCampaignCode: type: - string - 'null' description: COMET Campaign code example: OC2DE17TAQ1C13018 reasonWon: type: - array - 'null' items: $ref: '#/components/schemas/reason_won' reasonLost: type: - array - 'null' items: $ref: '#/components/schemas/reason_lost' competitors: type: - array - 'null' description: List of the competitors items: type: string reasonWonLostComment: type: - string - 'null' description: Comment associated to WON or LOST reasons example: The Customer has no budget gtmTacticId: type: - string - 'null' description: identification of GoToMarket. description: type: - string - 'null' description: description associated to the lead-opportunity example: Projekt Dashboard - Big-Picture TopicPilotprojekt nextMilestone: type: - string - 'null' description: Description of the next activity to be done example: Next activity is to make a demo to the Customer nextMilestoneDate: type: - string - 'null' description: Next Milestone date in ISO 8601 format (YYYY-MM-DD) example: '2025-06-15' currency: $ref: '#/components/schemas/currency' approvalStatus: type: - string - 'null' engagementType: type: - string - 'null' poInformation: type: - string - 'null' poStatus: type: - string - 'null' poNumber: type: - string - 'null' sboIndicator: type: - string - 'null' sboStatus: type: - string - 'null' sboNumber: type: - string - 'null' growthType: type: - string - 'null' leadPriority: type: - string - 'null' levelOfInterest: type: - string - 'null' dsComment: type: - string - 'null' partnerImportMode: type: - string - 'null' createdDate: type: - string - 'null' modifiedDate: type: - string - 'null' offerLines: type: - array - 'null' description: array of the various Offer Lines. items: type: object $ref: '#/components/schemas/offerLine_get' customerLegalEntity: $ref: '#/components/schemas/customerLegalEntity' customerContact: type: - array - 'null' description: Customer Contact(s) informations items: $ref: '#/components/schemas/customerContact' partnerContact: type: - array - 'null' description: Partner Contact(s) informations items: $ref: '#/components/schemas/partnerContact' info: type: object properties: success: type: boolean description: status of the operation statusCode: type: integer description: HTTP status code timeStamp: type: - 'null' - string description: timestamp of the operation traceId: type: 'null' description: trace id to be provided for technical investigations. error: type: 'null' description: no error in case of succees patch_leads-opportunities_data: description: Request body schema for updating leads-opportunities type: object properties: partnerId: type: string description: Identification of partner LegalEntity in 3DS system. example: '200000000014442' leadOpportunity: type: object description: Specific attributes of the lead-opportunity in case of update $ref: '#/components/schemas/lead-opportunity_patch' offerLines: type: array description: array of the various Offer Lines. items: type: object $ref: '#/components/schemas/offerLine' customerLegalEntity: $ref: '#/components/schemas/customerLegalEntity' customerContacts: type: array description: Customer Contact(s) informations items: $ref: '#/components/schemas/customerContact' partnerContacts: type: array description: Partner Contact(s) informations items: $ref: '#/components/schemas/partnerContact' required: - leadOpportunity examples: post_leads-opportunities_lead_deprecated_v0: summary: Basic Request for Creation of a lead description: >- Minimal Request with mandatory attributes to create a lead with a single Offer Line, no customer Contact or partner contact. value: partnerId: '200000000014442' leadOpportunity: partnerLeadOpportunityId: PARTNER-CRM-LEAD-1A8R name: Projekt Big-Picture Topic + MBSE (STEP 1+2) status: LEAD_OPEN closeDate: '2025-06-01T18:46:51.326Z' description: Projekt Dashboard - Big-Picture TopicPilotprojekt currency: EUR offerLines: - amount: 13800 offerNameId: 3DEXPERIENCE_Design/Engineering_On_Premise revenueType: RENTAL_BOOKING customerLegalEntity: name: NEW CUSTOMER CORPORATION city: Stockdorf country: Germany post_leads-opportunities_oppy_deprecated_v0: summary: Request for creation of an opportunity. description: >- Minimal Request with mandatory attributes to create an ooportunity with a single Offer Line value: partnerId: '200000000014442' leadOpportunity: partnerLeadOpportunityId: PARTNER-CRM-OPPY-1A8R name: Transformation Project at NewCustomer status: OPPY_OPEN closeDate: '2025-06-01T18:46:51.326Z' currency: EUR offerLines: - amount: 5490 offerNameId: 3DEXPERIENCE_Design/Engineering_On_Premise revenueType: RENTAL_BOOKING customerLegalEntity: name: string city: PARIS country: FRANCE patch_update-lead_status: summary: Example 1, updates status of lead. description: >- Basic example of request body to update an existing lead-opportunity object. value: leadOpportunity: partnerLeadOpportunityId: CRM-LEAD-1234 status: QUALIFIED patch_update-lead_nextMilestone: summary: Example 2, updates nextMilestone of lead (date & action) description: > Basic example of request body to update an existing lead-opportunity object. Note : only identification attributes of the lead-opportunity + modified attributes are required. value: leadOpportunity: partnerLeadOpportunityId: CRM-LEAD-1234 nextMilestone: Customer Demo nextMilestoneDate: '2025-06-01T18:46:51.326Z' post_leads-opportunities_lead: summary: Basic Request for Creation of a lead description: >- Minimal Request with mandatory attributes to create a lead with a single Offer Line, no customer Contact or partner contact. value: partnerId: '200000000014442' leadOpportunity: partnerLeadOpportunityId: PARTNER-CRM-LEAD-1A8R name: Projekt Big-Picture Topic + MBSE (STEP 1+2) status: LEAD_OPEN closeDate: '2025-06-01T18:46:51.326Z' description: Projekt Dashboard - Big-Picture TopicPilotprojekt currency: EUR offerLines: - amount: 13800 offerNameId: 3DEXPERIENCE_Design/Engineering_On_Premise revenueType: PxC customerLegalEntity: name: NEW CUSTOMER CORPORATION city: Stockdorf country: Germany post_leads-opportunities_oppy: summary: Request for creation of an opportunity. description: >- Minimal Request with mandatory attributes to create an ooportunity with a single Offer Line value: partnerId: '200000000014442' leadOpportunity: partnerLeadOpportunityId: PARTNER-CRM-OPPY-1A8R name: Transformation Project at NewCustomer status: OPPY_OPEN closeDate: '2025-06-01T18:46:51.326Z' currency: EUR offerLines: - amount: 5490 offerNameId: 3DEXPERIENCE_Design/Engineering_On_Premise revenueType: PxC customerLegalEntity: name: string city: PARIS country: FRANCE x-tagGroups: - name: Sales tags: - leads-opportunities - portfolio-items - name: Schemas tags: - Schemas