---
name: "RT::Client::REST::Attachment"
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::Attachment"
---

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

attachment object representation.

## NAME

RT::Client::REST::Attachment - attachment object representation.

## VERSION

version 0.72

## SYNOPSIS

```
  my $attachments = $ticket->attachments;
  my $count = $attachments->count;
  print "There are $count attachments.\n";
  my $iterator = $attachments->get_iterator;
  while (my $att = &$iterator) {
      print "Id: ", $att->id, "; Subject: ", $att->subject, "\n";
  }
```

## DESCRIPTION

An attachment 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 an attachment by itself; instead, you should use `"attachments()"` method of RT::Client::REST::Ticket object to get an iterator for all attachments for that ticket.

## ATTRIBUTES

- **id**

  Numeric ID of the attachment.

- **creator\_id**

  Numeric ID of the user who created the attachment.

- **parent\_id**

  Numeric ID of the object the attachment is associated with.  This is not a proper attribute of the attachment as specified by REST -- it is simply to store the ID of the RT::Client::REST::Ticket object this attachment belongs to.

- **subject**

  Subject of the attachment.

- **content\_type**

  Content type.

- **file\_name**

  File name (if any).

- **transaction\_id**

  Numeric ID of the RT::Client::REST::Transaction object this attachment is associated with.

- **message\_id**

  Message ID.

- **created**

  Time when the attachment was created

- **content**

  Actual content of the attachment.

- **headers**

  Headers (not parsed), if any.

- **parent**

  Parent (not sure what this is yet).

- **content\_encoding**

  Content encoding, if any.

## METHODS

**RT::Client::REST::Attachment** 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 `"attachments()"` method provided by RT::Client::REST::Ticket.

- retrieve

  To retrieve an attachment, attributes **id** and **parent\_id** must be set.

## INTERNAL METHODS

- **can**

  Wraps the normal ***can()*** call, to exclude unsupported methods from parent.

- **rt\_type**

  Returns 'attachment'.

## CREATING ATTACHMENTS

Currently RT does not allow creating attachments via their API.

See \<https://rt-wiki.bestpractical.com/wiki/REST#Ticket\_Attachment\>

## SEE ALSO

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.
