Dassault Systèmes apikeys API

This section defines the operations related to API keys . Current API key management still requires some interaction with Dassault Systèmes Information System (IS) team. This process will likely be updated in the future to provide more autonomy and reactivity on partner side. Below is the description of the process when a partner is onboarded on APIForPartners program : 1. Dassault Systèmes IS team will initialize an API key and communicate it to partner Admin through a secured channel : - **Recommendation is to use a 1-1 discussion between Partner Admin and Dassault Systèmes IS person in charge within the dedicated 3DSwym Community** - **Do NOT use email or any unsecured communication channel or with wider audience** 2. Partner Admin will then use this initial APIKEY value to authenticate and generate a new API key using the API 3. Partner admin will communicate back (within same secured channel) to Dassault Systèmes IS person in charge the **hashed_key** attributed from the API (NOT the API key itself) - The Hash operation is NOT reversible, so Dassault Systèmes will NOT have knowledge about partner API key. - Partner Admin must store securely the generated API key (same level of confidentiality as a password) 4. Dassault Systèmes IS team will update API Gateway configuration with the new API key (in practice with the hash value provided) and inform Partner when it is ready to use. 5. Partner can then use this newly generated APIKEY to interact with all the available APIs. For the case of revocation and request of a new API key, steps 2 to 5 have to be followed.

OpenAPI Specification

dassault-apikeys-api-openapi.yml Raw ↑
openapi: 3.1.1
info:
  title: APIs for Dassault Systèmes Partners accreditations apikeys 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: apikeys
  description: "This section defines the operations related to API keys . \n\nCurrent API key management still requires some interaction with Dassault Systèmes Information System (IS) team.\nThis process will likely be updated in the future to provide more autonomy and reactivity on partner side. \n\nBelow is the description of the process when a partner is onboarded on APIForPartners program : \n\n1. Dassault Systèmes IS team will initialize an API key and communicate it to partner Admin through a secured channel :\n\n    - **Recommendation is to use a 1-1 discussion between Partner Admin and Dassault Systèmes IS person in charge within the dedicated 3DSwym Community**\n    - **Do NOT use email or any unsecured communication channel or with wider audience**\n\n2. Partner Admin will then use this initial APIKEY value to authenticate and generate a new API key using the API  \n\n3. Partner admin will communicate back (within same secured channel) to Dassault Systèmes IS person in charge the **hashed_key** attributed from the API (NOT the API key itself)\n\n    - The Hash operation is NOT reversible, so Dassault Systèmes will NOT have knowledge about partner API key. \n    - Partner Admin must store securely the generated API key (same level of confidentiality as a password)\n\n4. Dassault Systèmes IS team will update API Gateway configuration with the new API key (in practice with the hash value provided) and inform Partner when it is ready to use.\n\n5. Partner can then use this newly generated APIKEY to interact with all the available APIs.\n\nFor the case of revocation and request of a new API key, steps 2 to 5 have to be followed.\n"
paths:
  /order/api4partners/v0/apikeys:
    post:
      summary: Generate a new API key
      description: Generate a new API key and its hash.
      tags:
      - apikeys
      operationId: generateApiKey
      responses:
        '200':
          description: Successfully generated API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/200_post_apikeys'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401_basic_unauthorized'
              examples:
                401_missing-apikey:
                  summary: Service response in case of missing APIKEY.
                  description: Basic Service response in case of missing APIKEY in request
                  value:
                    message: Missing API key in request
        '403':
          description: Access Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403_basic_forbidden'
              examples:
                403_forbidden:
                  summary: Access Forbidden
                  description: Access Forbidden. Typical reason could be usage of invalid API-KEY or a valid one but for a scope on which access has not been granted by 3DS.
                  value:
                    message: API Consumer Not allowed
        '429':
          description: Too many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/429_too_many_requests'
              examples:
                429_too_many_requests:
                  summary: Too many Requests
                  description: The service cannot handle the request as too many have been received.
                  value:
                    message: Too many requests, please try again later
components:
  schemas:
    429_too_many_requests:
      type: object
      description: Too Many Requests
      properties:
        message:
          type: string
      required:
      - message
    403_basic_forbidden:
      type: object
      description: Access Forbidden.
      properties:
        message:
          type: string
      required:
      - message
    401_basic_unauthorized:
      type: object
      description: Unauthorized
      properties:
        message:
          type: string
      required:
      - message
    200_post_apikeys:
      type: object
      properties:
        hashed_key:
          type: string
          description: Generated hash of the API key (60 characters)
          example: $2b$12$8tcF4MTIDcup3WEo8fFSieGIYEnp/DTLHSTivUCcW2II/VVwRI9Qm
          minLength: 60
          maxLength: 60
        api_key:
          type: string
          description: Plain API key (64 characters)
          example: 5839bcfabb9e0d20f889f366dbfbbe2973c152cfbe91fae728a9f7e662ce1a2d
          minLength: 64
          maxLength: 64
      required:
      - hashed_key
      - api_key
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
x-tagGroups:
- name: Authentication
  tags:
  - apikeys
- name: Order
  tags:
  - orders
  - price-lists
  - accreditations
- name: Sales
  tags:
  - leads-opportunities
  - portfolio-items
- name: Schemas
  tags:
  - Schemas