ipptool(1) OpenPrinting ipptool(1)

ipptool - perform internet printing protocol requests

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 ]

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).

The following options are recognized by ipptool:

Shows program help.
Specifies that the test results should be written to the named ippserver attributes file.
Tells ipptool to stop if an error occurs in an included file. Normally ipptool will continue with subsequent tests after the INCLUDE directive.
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.
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.
Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.
Specifies that ipptool will continue past errors.
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.
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.
Forces (dedicated) TLS encryption when connecting to the server.
Specifies a timeout for IPP requests in seconds.
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.
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.
Specifies that CSV (comma-separated values) output is desired instead of the plain text output.
Defines the named variable.
Defines the default request filename for tests.
Validate HTTP response headers.
Specifies that the (last) testfile should be repeated at the specified interval. This option is incompatible with the -X (XML plist output) option.
Specifies that ipptool will produce JSON output.
Specifies that plain text output is desired.
Specifies that the (last) testfile should be repeated the specified number of times. This option is incompatible with the -X (XML plist output) option.
Be quiet and produce no output.
Specifies that CUPS test report output is desired instead of the plain text output.
Specifies that all request and response attributes should be output in CUPS test mode (-t). This is the default for XML output.

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

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

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

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

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 © 2021-2023 by OpenPrinting.

CUPS 2021-10-20