docs: def delete_relationship(self, session, data, api_type, obj_id, rel_key):
          """
          Delete a resource or multiple resources from a to-many relationship.
  
          :param session: SQLAlchemy session
          :param data: JSON data provided with the request
          :param api_type: Type of the resource
          :param obj_id: ID of the resource
          :param rel_key: Key of the relationship to fetch
          """
          model = self._fetch_model(api_type)
          resource = self._fetch_resource(session, api_type, obj_id,
                                          Permissions.EDIT)
          relationship = self._get_relationship(resource, rel_key,
                                                Permissions.DELETE)
          self._check_json_data(data)
  
          if not isinstance(data['data'], list):
              raise ValidationError('Provided data must be an array.')
  
          if relationship.direction == MANYTOONE:
              return ToManyExpectedError(model, resource, relationship)
  
          response = JSONAPIResponse()
          response.data = {'data': []}
  
          session.add(resource)
  
          remove = get_rel_desc(resource, relationship.key,
                                RelationshipActions.DELETE)
          reverse_side = relationship.back_populates
  
          for item in data['data']:
              item = self._fetch_resource(session, item['type'], item['id'],
                                          Permissions.EDIT)
  
              if reverse_side:
                  reverse_rel = item.__mapper__.relationships[reverse_side]
  
                  if reverse_rel.direction == MANYTOONE:
                      permission = Permissions.EDIT
                  else:
                      permission = Permissions.DELETE
  
                  check_permission(item, reverse_side, permission)
  
              remove(resource, item)
  
          session.commit()
          session.refresh(resource)
  
          get = get_rel_desc(resource, relationship.key, RelationshipActions.GET)
  
          for item in get(resource):
              response.data['data'].append(self._render_short_instance(item))
  
          return response