ipptool(1) OpenPrinting ipptool(1)

# [NAME](#NAME)

ipptool - perform internet printing protocol requests

# [SYNOPSIS](#SYNOPSIS)

**ipptool** \[ **--help** ] \[ **--ippserver** *filename* ] \[ **--stop-after-include-error** ] \[ **--version** ] \[ **-4** ] \[ **-6** ] \[ **-C** ] \[ **-E** ] \[ **-I** ] \[ **-L** ] \[ **-P** *filename.plist* ] \[ **-S** ] \[ **-T** *seconds* ] \[ **-V** *version* ] \[ **-X** ] \[ **-c** ] \[ **-d** *name=value* ] \[ **-f** *filename* ] \[ **-h** ] \[ **-i** *seconds* ] \[ **-j** ] \[ **-n** *repeat-count* ] \[ **-q** ] \[ **-t** ] \[ **-v ]** *printer-uri* *testfile* \[ ... *testfile* ]

# [DESCRIPTION](#DESCRIPTION)

**ipptool** sends IPP requests to the specified *printer-uri* and tests and/or displays the results. Each named *testfile* defines one or more requests, including the expected response status, attributes, and values. Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed. The *testfile* format is described in [**ipptoolfile**(5)](/man/os/cups/ipptoolfile.5).

# [OPTIONS](#OPTIONS)

The following options are recognized by **ipptool:**

[**--help**](#help)

Shows program help.

[**--ippserver filename**](#ippserver)

Specifies that the test results should be written to the named **ippserver** attributes file.

[**--stop-after-include-error**](#stop-after-include-error)

Tells **ipptool** to stop if an error occurs in an included file. Normally **ipptool** will continue with subsequent tests after the INCLUDE directive.

[**--version**](#version)

Shows the version of **ipptool** being used.

**-4**

Specifies that **ipptool** must connect to the printer or server using IPv4.

**-6**

Specifies that **ipptool** must connect to the printer or server using IPv6.

[**-C**](#C)

Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.

[**-E**](#E)

Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.

[**-I**](#I)

Specifies that **ipptool** will continue past errors.

[**-L**](#L)

Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.

[**-P filename.plist**](#P)

Specifies that the test results should be written to the named XML (Apple plist) file in addition to the regular test report (**-t**). This option is incompatible with the **-i** (interval) and **-n** (repeat-count) options.

[**-S**](#S)

Forces (dedicated) TLS encryption when connecting to the server.

[**-T seconds**](#T)

Specifies a timeout for IPP requests in seconds.

[**-V version**](#V)

Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used.

[**-X**](#X)

Specifies that XML (Apple plist) output is desired instead of the plain text report. This option is incompatible with the **-i** (interval) and **-n** (repeat-count) options.

[**-c**](#c)

Specifies that CSV (comma-separated values) output is desired instead of the plain text output.

[**-d name=value**](#d)

Defines the named variable.

[**-f filename**](#f)

Defines the default request filename for tests.

[**-h**](#h)

Validate HTTP response headers.

[**-i seconds**](#i)

Specifies that the (last) *testfile* should be repeated at the specified interval. This option is incompatible with the **-X** (XML plist output) option.

[**-j**](#j)

Specifies that **ipptool** will produce JSON output.

[**-l**](#l)

Specifies that plain text output is desired.

[**-n repeat-count**](#n)

Specifies that the (last) *testfile* should be repeated the specified number of times. This option is incompatible with the *-X* (XML plist output) option.

[**-q**](#q)

Be quiet and produce no output.

[**-t**](#t)

Specifies that CUPS test report output is desired instead of the plain text output.

[**-v**](#v)

Specifies that all request and response attributes should be output in CUPS test mode (**-t**). This is the default for XML output.

# [EXIT STATUS](#EXIT_STATUS)

The **ipptool** program returns 0 if all tests were successful and 1 otherwise.

# [FILES](#FILES)

The following standard files are available:

```


    color.jpg


    create-printer-subscription.test


    document-a4.pdf


    document-a4.ps


    document-letter.pdf


    document-letter.ps


    get-completed-jobs.test


    get-jobs.test


    get-notifications.test


    get-printer-attributes.test


    get-subscriptions.test


    gray.jpg


    ipp-1.1.test


    ipp-2.0.test


    ipp-2.1.test


    ipp-2.2.test


    ipp-everywhere.test


    onepage-a4.pdf


    onepage-a4.ps


    onepage-letter.pdf


    onepage-letter.ps


    print-job.test


    print-job-deflate.test


    print-job-gzip.test


    testfile.jpg


    testfile.pcl


    testfile.pdf


    testfile.ps


    testfile.txt


    validate-job.test
```

# [CONFORMING TO](#CONFORMING_TO)

The **ipptool** program is unique to CUPS and conforms to the Internet Printing Protocol up to version 2.2.

# [EXAMPLES](#EXAMPLES)

Get a list of completed jobs for "myprinter":

```


    ipptool ipp://localhost/printers/myprinter get-completed-jobs.test
```

Send email notifications to "user@example.com" when "myprinter" changes:

```


    ipptool -d recipient=mailto:user@example.com \


        ipp://localhost/printers/myprinter create-printer-subscription.test
```

# [SEE ALSO](#SEE_ALSO)

[**ipptoolfile**(5)](/man/os/cups/ipptoolfile.5), IANA IPP Registry (https://www.iana.org/assignments/ipp-registrations), PWG Internet Printing Protocol Workgroup (https://www.pwg.org/ipp) RFC 8011 (https://datatracker.ietf.org/doc/html/rfc8011),

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2020-2024 by OpenPrinting.

CUPS 2021-10-20

---

Document: ipptool(1) from cups 2.4.19-r6 (Chainguard OS)
Source: https://github.com/OpenPrinting/cups
