---
name: "XML::Atom::Client"
section: "3pm"
platform: "linux"
package: "perl-xml-atom"
version: "0.43-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XML::Atom::Client"
---

# XML::Atom::Client(3pm)

A client for the Atom API

## NAME

XML::Atom::Client - A client for the Atom API

## SYNOPSIS

```
    use XML::Atom::Client;
    use XML::Atom::Entry;
    my $api = XML::Atom::Client->new;
    $api->username('Melody');
    $api->password('Nelson');
    my $entry = XML::Atom::Entry->new;
    $entry->title('New Post');
    $entry->content('Content of my post.');
    my $EditURI = $api->createEntry($PostURI, $entry);
    my $feed = $api->getFeed($FeedURI);
    my @entries = $feed->entries;
    my $entry = $api->getEntry($EditURI);
```

## DESCRIPTION

*XML::Atom::Client* implements a client for the Atom API described at *http://bitworking.org/projects/atom/draft-gregorio-09.html*, with the authentication scheme described at *http://www.intertwingly.net/wiki/pie/DifferentlyAbledClients*.

**NOTE:** the API, and particularly the authentication scheme, are still in flux.

## USAGE

### XML::Atom::Client-\>new(%param)

### $api-\>use\_soap(\[ 0 \| 1 \])

*XML::Atom::Client* supports both the REST and SOAP-wrapper versions of the Atom API. By default, the REST version of the API will be used, but you can turn on the SOAP wrapper--for example, if you need to connect to a server that supports only the SOAP wrapper--by calling *use\_soap* with a value of `1`:

```
    $api->use_soap(1);
```

If called without arguments, returns the current value of the flag.

### $api-\>username(\[ $username \])

If called with an argument, sets the username for login to *$username*.

Returns the current username that will be used when logging in to the Atom server.

### $api-\>password(\[ $password \])

If called with an argument, sets the password for login to *$password*.

Returns the current password that will be used when logging in to the Atom server.

### $api-\>createEntry($PostURI, $entry)

Creates a new entry.

*$entry* must be an *XML::Atom::Entry* object.

### $api-\>getEntry($EditURI)

Retrieves the entry with the given URL *$EditURI*.

Returns an *XML::Atom::Entry* object.

### $api-\>updateEntry($EditURI, $entry)

Updates the entry at URL *$EditURI* with the entry *$entry*, which must be an *XML::Atom::Entry* object.

Returns true on success, false otherwise.

### $api-\>deleteEntry($EditURI)

Deletes the entry at URL *$EditURI*.

### $api-\>getFeed($FeedURI)

Retrieves the feed at *$FeedURI*.

Returns an *XML::Atom::Feed* object representing the feed returned from the server.

### ERROR HANDLING

Methods return `"undef"` on error, and the error message can be retrieved using the *errstr* method.

## AUTHOR & COPYRIGHT

Please see the *XML::Atom* manpage for author, copyright, and license information.
