Restart the time machine.

@param string $id
@param array  $data
@param array  $headers

@throws Exception

@return array|string
422904
public function startAfresh(string $id, array $data, array $headers = [])
    {
        $url = $this->url('time_machines/%s/start_afresh', $id);

        return $this->post($url, $data, $headers);
    }
984515
public static function find($headers,$id=true)
    {
      $header = parent::find($headers, "Location");

      if ($id) {
        $match = array();
        $pieces = explode("/", $header);
        return str_replace("\r", "", str_replace("\n", "", $pieces[sizeof($pieces) - 1]));
      }

    return $header;
    }
313915
public function update($id, $data) {
		$dt = $this->getDataTable();
		
		if (! $dt)
			return $this->createResponse($this->getNameManager()->getTableNames(), 401, "Tabels");
		
		return $this->createResponse([], 200, "{$this->getNameManager()->entityName}: No Update");
	}
654594
public function update($api, $id, array $data = [])
    {
        return $this->checkException($this->callHttpMethod($this->normalizeUri($api, $id), Request::METHOD_PUT, $data));
    }
40679
public function applyCredits(string $id, array $data, array $headers = [])
    {
        $url = $this->url('invoices/%s/apply_credits', $id);

        return $this->post($url, $data, $headers);
    }
646809
public function load($id, array $parameters = [], array $headers = [])
    {
        return $this->getFactory()->create(
            $this->getApi()->getList($id, $parameters, $headers)
        );
    }
113066
public function addChargeItem(string $id, array $data, array $headers = [])
    {
        $url = $this->url('invoices/%s/add_charge', $id);

        return $this->post($url, $data, $headers);
    }
1070168
public function recordExcessPayment(string $id, array $data, array $headers = [])
    {
        $url = $this->url('customers/%s/record_excess_payment', $id);

        return $this->post($url, $data, $headers);
    }
398559
public function removeCreditNote(string $id, array $data, array $headers = [])
    {
        $url = $this->url('invoices/%s/remove_credit_note', $id);

        return $this->post($url, $data, $headers);
    }
905490
public function export(string $id, array $data, array $headers = [])
    {
        $url = $this->url('payment_sources/%s/export_payment_source', $id);

        return $this->post($url, $data, $headers);
    }
919853
public function applyPayments(string $id, array $data, array $headers = [])
    {
        $url = $this->url('invoices/%s/apply_payments', $id);

        return $this->post($url, $data, $headers);
    }
176717
public function collectPayment(string $id, array $data, array $headers = [])
    {
        $url = $this->url('customers/%s/collect_payment', $id);

        return $this->post($url, $data, $headers);
    }
1130961
public function pause(string $id, array $data = [], array $headers = [])
    {
        $url = $this->url('subscriptions/%s/pause', $id);

        return $this->post($url, $data, $headers);
    }
1145658
public function retrieveWithScheduledChanges(string $id, array $headers = [])
    {
        $url = $this->url('subscriptions/%s/retrieve_with_scheduled_changes', $id);

        return $this->get($url, [], $headers);
    }
329671
public function editPermission(array $data = [], $id = null)
    {
        if (!empty($id)) {
            $data['id'] = $id;
        }
        try{
            return $this->createPermission($data);
        } catch (Exception $e) {
            throw new Exception($e->getMessage());
        }
    }
636870
public function activate(string $id, array $data, array $headers = [])
    {
        $url = $this->url('portal_sessions/%s/activate', $id);

        return $this->post($url, $data, $headers);
    }
447314
public function findId($id, $data = [])
    {
        if ($id) {
            $this->findOneById($id);
        } else {
            // Reset status when record not found
            $this->isNew = true;
        }

        return $this->fromArray($data);
    }