              if name.endswith('APIView'):
                  name = name[:-7]
              elif name.endswith('View'):
                  name = name[:-4]
              if name.endswith(action):  # ListView, UpdateAPIView, ThingDelete ...
                  name = name[:-len(action)]
  
          if action == 'List' and not name.endswith('s'):  # ListThings instead of ListThing
              name += 's'
  
 
</s> remove         if action == 'List' and not name.endswith('s'):  # ListThings instead of ListThing
 </s> add         if action == 'list' and not name.endswith('s'):  # listThings instead of listThing </s> remove             action = 'List'
 </s> add             action = 'list' </s> remove         assert operationId == 'ListExamples'
 </s> add         assert operationId == 'listExamples' </s> remove             'operationId': 'ListExamples',
 </s> add             'operationId': 'listExamples',
            # Due to camel-casing of classes and `action` being lowercase, apply title in order to find if action truly
            # comes at the end of the name
            if name.endswith(action.title()):  # ListView, UpdateAPIView, ThingDelete ...
              if name.endswith('APIView'):
                  name = name[:-7]
              elif name.endswith('View'):
                  name = name[:-4]
            # Due to camel-casing of classes and `action` being lowercase, apply title in order to find if action truly
            # comes at the end of the name
            if name.endswith(action.title()):  # ListView, UpdateAPIView, ThingDelete ...
                  name = name[:-len(action)]
  
          if action == 'List' and not name.endswith('s'):  # ListThings instead of ListThing
              name += 's'
  
keep keep keep keep replace keep keep keep keep keep
 Fixed #6875 -- Made OpenAPI Schema operationId casing consistent. (#6876) 
rest_framework/schemas/openapi.py