---
name: "RT::Client::REST::Transaction"
section: "3pm"
platform: "linux"
package: "librt-client-rest-perl"
version: "1:0.72-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RT::Client::REST::Transaction"
---

# RT::Client::REST::Transaction(3pm)

transaction object representation.

## NAME

RT::Client::REST::Transaction - transaction object representation.

## VERSION

version 0.72

## SYNOPSIS

```
  my $transactions = $ticket->transactions;
  my $count = $transactions->count;
  print "There are $count transactions.\n";
  my $iterator = $transactions->get_iterator;
  while (my $tr = &$iterator) {
      print "Id: ", $tr->id, "; Type: ", $tr->type, "\n";
  }
```

## DESCRIPTION

A transaction is a second-class citizen, as it does not exist (at least from the current REST protocol implementation) by itself.  At the moment, it is always associated with a ticket (see **parent\_id** attribute). Thus, you will rarely retrieve a transaction by itself; instead, you should use `"transactions()"` method of RT::Client::REST::Ticket object to get an iterator for all (or some) transactions for that ticket.

## ATTRIBUTES

- **id**

  Numeric ID of the transaction.

- **creator**

  Username of the user who created the transaction.

- **parent\_id**

  Numeric ID of the object the transaction is associated with.

- **type**

  Type of the transactions.  Please refer to RT::Client::REST documentation for the list of transaction types you can expect this field to contain.  Note that there may be some transaction types not (dis)covered yet.

- **old\_value**

  Old value.

- **new\_value**

  New value.

- **field**

  Name of the field the transaction is describing (if any).

- **attachments**

  I have never seen it set to anything yet.  (I will some day investigate this).

- **created**

  Time when the transaction was created.

- **content**

  Actual content of the transaction.

- **description**

  Human-readable description of the transaction as provided by RT.

- **data**

  Not sure what this is yet.

## METHODS

**RT::Client::REST::Transaction** is a read-only object, so you cannot `"store()"` it.  Also, because it is a second-class citizen, you cannot `"search()"` or `"count()"` it -- use `"transactions()"` method provided by RT::Client::REST::Ticket.

- retrieve

  To retrieve a transaction, attributes **id** and **parent\_id** must be set.

## INTERNAL METHODS

- **rt\_type**

  Returns 'transaction'.

## SEE ALSO

RT::Client::REST, RT::Client::REST::Ticket, RT::Client::REST::SearchResult.

## AUTHOR

Dean Hamstead \<dean@fragfest.com.au\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2023, 2020 by Dmitri Tikhonov.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
