Dassault Systèmes leads-opportunities API

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.

OpenAPI Specification

dassault-leads-opportunities-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: APIs for Dassault Systèmes Partners accreditations leads-opportunities 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: 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.

    '
paths:
  /sales/api4partners/v0/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
      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
          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.
          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
          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
          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
          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:
      summary: Update a lead-opportunity object
      description: 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'
            examples:
              updateLeadStatus:
                $ref: '#/components/examples/patch_update-lead_status'
              updateLeadNextMilestone:
                $ref: '#/components/examples/patch_update-lead_nextMilestone'
        required: true
      responses:
        '200':
          description: OK
          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.
          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
          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
          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
          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
      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
          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: 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
          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
          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
          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
          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.
          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
          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
          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:
  schemas:
    406_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: object
          properties:
            code:
              type: string
              description: error code
            message:
              type: string
              description: error message
        data:
          type: object
          properties:
            partnerLeadOpportunityId:
              type: 'null'
            dsLeadOpportunityId:
              type: 'null'
            actio

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dassault/refs/heads/main/openapi/dassault-leads-opportunities-api-openapi.yml