code: def api_payload(self):
          
          if not self._api_payload:
              raise NotImplementedError()
          payload = {}
          for attr_name in self._api_payload:
              value = getattr(self, attr_name, None)
              if value is not None:
                  payload[attr_name] = value
          return payload
docs: Generates a payload ready for submission to the API, guided by `_api_payload`