PrinterShare Mobile Print icon

PrinterShare Data API: cloud printers, licenses and driver packs

Mobile Dynamix · Utilities

PrinterShare Mobile Print is Mobile Dynamix's Android printing app for documents, photos, contacts, calendar events, web pages and Gmail threads, including jobs sent through the system print dialog. Its Android Print Service supports printing from other apps; printer selection spans Wi-Fi, USB, Bluetooth and SMB connections, while a driver browser installs vendor driver packs. A PrinterAnywhere cloud account adds remote-printer discovery, favorites and profile management. Premium access can be unlocked through Google Play Billing, a companion premium app or a license code entered in the activation screen. The US listing covers version 12.25.1. Home-office users, travelers and businesses sharing a cloud printer can use the app as a multi-manufacturer alternative to individual printer-brand clients.

Cloud-printer inventory is organized around public-id, with title, model, location and online describing the device people can select. Directory and favorite records connect that printer to an owner and its capabilities, including color and duplex support. The paper-formats collection carries paper-format identifiers, width and height, printable-area positions and dimensions, custom-size flags and paper names; bins identifies input trays. Keyword and online filtering let facilities teams distinguish a matching printer from one currently available, while the same public identifier keeps workplace printer maps and favorites aligned.

Account and entitlement records provide a separate layer of context. User profiles carry contact and address details such as name, mail, city and country, with a session token for account-scoped actions. Premium activation associates license_code or purchase_token with device_id, device_model, app_version and os_version; a successful status makes the returned license code the local pid. Country-specific offers pair sku with price for monthly, annual and one-time options. Authorized device-management teams can use those fields to reconcile premium access and plan selections across managed phones.

Driver-bundle identity adds name, version and bundled to the inventory picture, with paired raster data and device-ABI native code. The build catalog is retained as a raw XML body, without assigning unsupported meanings to its internal tags. Fleet-image maintainers can track a chosen driver version alongside the printers it supports instead of mixing unmatched components. openData Studio turns these printer, account, entitlement and driver records into callable open data for shared-printer inventories, public-printer discovery and managed-device integrations.

Screenshots

  • PrinterShare Mobile Print screenshot 1
  • PrinterShare Mobile Print screenshot 2
  • PrinterShare Mobile Print screenshot 3
  • PrinterShare Mobile Print screenshot 4
  • PrinterShare Mobile Print screenshot 5
  • PrinterShare Mobile Print screenshot 6
  • PrinterShare Mobile Print screenshot 7
  • PrinterShare Mobile Print screenshot 8

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Activate premium license

    POST /v1/entitlements/confirm opendata

    Posts a typed license_code or Play purchase_token with device_id, device_model, country, app_version and os_version, and on status=success stores the returned license_code as pid.

    Auth: None. JSON body carries license_code and/or purchase_token with device_id. On status=success, the returned license_code becomes the locally stored pid and the pending purchase_token is cleared.

    • license_code
    • purchase_token
    • device_id
    • device_model
    • country
    • app_version
    • os_version
    • status
    • message
    • action_text
    • action_link
    • pid
    POST /v1/entitlements/confirm HTTP/1.1
    Content-Type: application/json
    
    {
      "license_code": "DEMO-LICENSE-001",
      "purchase_token": "your-purchase-token",
      "device_id": "your-device-id",
      "device_model": "Demo Phone",
      "country": "US",
      "app_version": "12.25.1",
      "os_version": "14"
    }
    {
      "status": "success",
      "license_code": "DEMO-LICENSE-001",
      "message": "Illustrative activation completed",
      "action_text": "",
      "action_link": ""
    }
  • List premium SKU prices

    GET /v1/plans/offers opendata

    Returns sku/price rows for android_premium in the device country. The client maps sku sub1 to monthly, sub12 to annual and pay to a one-time purchase.

    Auth: None. Query includes product=android_premium and the device country.

    • product
    • country
    • sku
    • price
    GET /v1/plans/offers?product=android_premium&country=US HTTP/1.1
    [
      {
        "sku": "sub1",
        "price": "$4.00"
      },
      {
        "sku": "sub12",
        "price": "$28.00"
      },
      {
        "sku": "pay",
        "price": "$18.00"
      }
    ]
  • Open premium checkout

    GET /v1/checkout/preview opendata

    Opens the android_premium checkout page for a chosen sku, carrying purchase_token, country, app_version and URL-encoded device_model.

    Auth: None. Browser checkout uses product=android_premium plus optional sku, purchase_token, country, app_version and device_model. The pending purchase_token and purchase_time are stored locally before opening checkout.

    • product
    • sku
    • purchase_token
    • country
    • app_version
    • device_model
    • purchase_time
    GET /v1/checkout/preview?product=android_premium&sku=sub1&purchase_token=your-purchase-token&country=US&app_version=12.25.1&device_model=Demo%20Phone HTTP/1.1
    <!doctype html>
    <html><body><p>Illustrative premium checkout for the selected plan.</p></body></html>
  • Sign in to PrinterAnywhere

    POST /v1/accounts/session/open opendata

    Signs in with login/password or refreshes a stored token, returning success, a session token, the user profile and the favorite printer list (echo=favorites).

    Auth: SOAP account credentials or a previously issued session token. XML body carries login and password, or token, with optional premium-key for premium users. The returned session token authenticates subsequent cloud operations.

    • echo
    • login
    • password
    • token
    • country
    • locale
    • device_id
    • device_model
    • os_version
    • premium-key
    • success
    • user
    • id
    • name
    • nick
    • mail
    • printer
    • public-id
    • title
    • model
    • location
    • online
    • server-message
    • message
    POST /v1/accounts/session/open HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:print-demo:SessionStart"
    
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><SessionStart><Param>
    <data echo="favorites">
      <login>demo-user</login><password>your-password</password>
      <country>US</country><locale>en_US</locale><device_id>your-device-id</device_id>
      <device_model>Demo Phone</device_model><os_version>14</os_version>
    </data>
    </Param></SessionStart></Body></Envelope>
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><SessionStartResult>
    <response success="true">
    <token>your-session-token</token>
    <user id="demo-user-01">
      <login>demo-user</login><name>Demo User</name><nick>demo</nick>
      <mail>[email protected]</mail><phone>+1-202-555-0119</phone>
      <address>100 Example Street</address><city>Austin</city><state>TX</state>
      <zip>78701</zip><country>US</country>
    </user>
    <printer online="True">
      <public-id>demo-printer-01</public-id><location>Example Lobby</location>
      <title>Example Lobby Color</title><model>Demo Color Printer</model>
      <owner id="demo-user-01"><login>demo-user</login><name>Demo User</name><mail>[email protected]</mail></owner>
      <details>
        <capabilities color="1" duplex="1"/>
        <paper-formats default="1"><paper format="1" width="2159" height="2794" area-x="42" area-y="42" area-width="2075" area-height="2710" custom="false" name="Letter"/></paper-formats>
        <bins default="1"><bin bin="1" name="Tray 1"/></bins>
      </details>
    </printer>
    <server-message></server-message>
    </response>
    </SessionStartResult></Body></Envelope>
  • Register a PrinterAnywhere user

    POST /v1/accounts/enroll opendata

    Creates a PrinterAnywhere account from user mail, name and password and returns a session token plus the new user profile, using the same session behavior as sign-in.

    Auth: None. SOAP registration body carries nested user mail, name and password with device context; the returned token establishes a session.

    • user
    • mail
    • name
    • password
    • country
    • locale
    • device_id
    • device_model
    • os_version
    • premium-key
    • success
    • token
    • server-message
    • message
    POST /v1/accounts/enroll HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:print-demo:AccountEnroll"
    
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><AccountEnroll><Param>
    <data>
      <user><mail>[email protected]</mail><name>Demo User</name><password>your-password</password></user>
      <country>US</country><locale>en_US</locale><device_id>your-device-id</device_id>
      <device_model>Demo Phone</device_model><os_version>14</os_version>
    </data>
    </Param></AccountEnroll></Body></Envelope>
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><AccountEnrollResult>
    <response success="true">
    <token>your-session-token</token>
    <user id="demo-user-01">
      <login>demo-user</login><name>Demo User</name><nick>demo</nick>
      <mail>[email protected]</mail><phone>+1-202-555-0119</phone>
      <address>100 Example Street</address><city>Austin</city><state>TX</state>
      <zip>78701</zip><country>US</country>
    </user>
    <server-message></server-message>
    </response>
    </AccountEnrollResult></Body></Envelope>
  • Search the cloud printer directory

    POST /v1/shared-printers/lookup osint

    Looks up shared cloud printers by keyword, optionally only those with online=true, and returns printer rows parsed into public-id, title, model, location, owner, capabilities, paper-formats and bins.

    Auth: SOAP session token, supplied as a token element in the XML body. The optional online attribute limits directory matches to online printers.

    • token
    • keyword
    • online
    • success
    • printer
    • public-id
    • title
    • model
    • location
    • owner
    • capabilities
    • paper-formats
    • bins
    • message
    POST /v1/shared-printers/lookup HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:print-demo:DirectoryLookup"
    
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><DirectoryLookup><Param>
    <data online="true"><token>your-session-token</token><keyword>example lobby</keyword></data>
    </Param></DirectoryLookup></Body></Envelope>
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><DirectoryLookupResult>
    <response success="true">
    <printer online="True">
      <public-id>demo-printer-01</public-id><location>Example Lobby</location>
      <title>Example Lobby Color</title><model>Demo Color Printer</model>
      <owner id="demo-user-01"><login>demo-user</login><name>Demo User</name><mail>[email protected]</mail></owner>
      <details>
        <capabilities color="1" duplex="1"/>
        <paper-formats default="1"><paper format="1" width="2159" height="2794" area-x="42" area-y="42" area-width="2075" area-height="2710" custom="false" name="Letter"/></paper-formats>
        <bins default="1"><bin bin="1" name="Tray 1"/></bins>
      </details>
    </printer>
    </response>
    </DirectoryLookupResult></Body></Envelope>
  • Like or dislike a cloud printer

    POST /v1/printer-favorites/change opendata

    Adds (action=like) or removes (action=dislike) a favorite printer by public-id. The like response includes a printer element that replaces or appends the local favorites list.

    Auth: SOAP session token in the XML body. action=like adds a favorite; action=dislike removes it.

    • token
    • action
    • printer
    • public-id
    • success
    • title
    • model
    • location
    • online
    • message
    POST /v1/printer-favorites/change HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:print-demo:FavoriteChange"
    
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><FavoriteChange><Param>
    <data action="like"><token>your-session-token</token><printer><public-id>demo-printer-01</public-id></printer></data>
    </Param></FavoriteChange></Body></Envelope>
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><FavoriteChangeResult>
    <response success="true">
    <printer online="True">
      <public-id>demo-printer-01</public-id><location>Example Lobby</location>
      <title>Example Lobby Color</title><model>Demo Color Printer</model>
      <owner id="demo-user-01"><login>demo-user</login><name>Demo User</name><mail>[email protected]</mail></owner>
      <details>
        <capabilities color="1" duplex="1"/>
        <paper-formats default="1"><paper format="1" width="2159" height="2794" area-x="42" area-y="42" area-width="2075" area-height="2710" custom="false" name="Letter"/></paper-formats>
        <bins default="1"><bin bin="1" name="Tray 1"/></bins>
      </details>
    </printer>
    </response>
    </FavoriteChangeResult></Body></Envelope>
  • Update PrinterAnywhere profile

    POST /v1/accounts/profile/save opendata

    Writes the signed-in user's name, nick, mail, phone, address, city, state, zip and country from the profile-edit form and, on success, keeps the previous user id.

    Auth: SOAP session token in the XML body, accompanying the nested user profile.

    • token
    • user
    • name
    • nick
    • mail
    • phone
    • address
    • city
    • state
    • zip
    • country
    • success
    • message
    POST /v1/accounts/profile/save HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:print-demo:ProfileSave"
    
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><ProfileSave><Param>
    <data><token>your-session-token</token>
      <user><name>Demo User</name><nick>demo</nick><mail>[email protected]</mail>
        <phone>+1-202-555-0119</phone><address>100 Example Street</address><city>Austin</city>
        <state>TX</state><zip>78701</zip><country>US</country></user>
    </data>
    </Param></ProfileSave></Body></Envelope>
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><ProfileSaveResult>
    <response success="true"><message>Illustrative profile saved</message></response>
    </ProfileSaveResult></Body></Envelope>
  • Send a password reminder

    POST /v1/accounts/recovery/send opendata

    Asks PrinterAnywhere to send a password reminder to the given mail address after a local email-format check.

    Auth: None. SOAP reminder body carries the account mail after a local email-format check.

    • mail
    • success
    • message
    POST /v1/accounts/recovery/send HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:print-demo:RecoverySend"
    
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><RecoverySend><Param>
    <data><mail>[email protected]</mail></data>
    </Param></RecoverySend></Body></Envelope>
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><RecoverySendResult>
    <response success="true"><message>Illustrative reminder requested</message></response>
    </RecoverySendResult></Body></Envelope>
  • Log out of PrinterAnywhere

    POST /v1/accounts/session/close opendata

    Invalidates the stored session token on the PrinterAnywhere SOAP service.

    Auth: SOAP session token, supplied as a token element in the XML body.

    • token
    • success
    POST /v1/accounts/session/close HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "urn:print-demo:SessionEnd"
    
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><SessionEnd><Param>
    <data><token>your-session-token</token></data>
    </Param></SessionEnd></Body></Envelope>
    <?xml version="1.0" encoding="utf-8"?>
    <Envelope><Body><SessionEndResult>
    <response success="true"/>
    </SessionEndResult></Body></Envelope>
  • Download a printer driver pack

    GET /v1/driver-bundles/{name}/{version}/archive opendata

    Fetches the raster data zip (and a CPU-ABI code zip) for a driver pack identified by name|version|bundled from the drivers browser.

    Auth: None. User-Agent identifies the print client and app version. A bundle is identified by name, version and bundled; its matching native-code archive depends on the device CPU ABI.

    • name
    • version
    • bundled
    GET /v1/driver-bundles/demo-raster/1.0/archive?bundled=false HTTP/1.1
    User-Agent: PrintClient-Demo/1.0
    (application/zip; illustrative driver archive bytes for the selected name and version)
  • Fetch the driver build catalog

    GET /v1/driver-bundles/catalog opendata

    Downloads the driver-pack build catalog XML and stores the raw response body as a string.

    Auth: None. The driver catalog is fetched without account credentials; transport fallback depends on the device country.

    • body
    GET /v1/driver-bundles/catalog HTTP/1.1
    <?xml version="1.0" encoding="utf-8"?>
    <!-- Illustrative driver build catalog body; retained in full as raw text. -->

Data categories

  • cloud printers
  • user profiles
  • licenses
  • driver packs

Where teams use this data

  • Shared-printer inventory

    A workplace IT job signs in, pulls favorite printer rows, and stores public-id, title, model, location, online, paper-formats and bins so a floor map of shared PrinterAnywhere printers stays current without walking each device.

  • Public printer discovery

    A facilities or travel desk searches the directory by keyword with online=true and records public-id, title, model and owner so a guest can target a lobby or hotel printer that is actually up.

  • Premium license and SKU watch

    An MDM desk posts license_code or purchase_token per device_id, reads status and pid, and snapshots sku/price rows (sub1, sub12, pay) so unpaid installs are visible before cloud printing stops.

  • Driver-pack pinning

    A fleet image job reads the build catalog and fetches {name}_{version}_data.zip plus the matching _code_{abi}.zip so phones ship a known raster and native driver instead of an unmatched vendor pack.

Frequently asked questions

How does PrinterShare authenticate the cloud printer directory?

Cloud sign-in uses account login and password, or a previously stored session token. Successful sign-in returns a token, a user profile and favorite printers. Registration creates an account from mail, name and password and establishes the same kind of session. Directory search, favorite changes, profile updates and sign-out use that token as an XML body element; the examples use illustrative paths and placeholder credentials.

What fields describe a cloud printer?

A printer is keyed by public-id and carries online, location, title, model and a nested owner. Its capabilities describe color and duplex support. The paper-formats collection describes paper format, size, printable-area position and dimensions, custom-paper settings and paper names; bins identifies input trays. Keyword search can optionally limit results to printers whose online flag is true.

How are premium licenses and plans represented?

Activation combines license_code and/or purchase_token with device_id, device_model, country, app_version and os_version. When status indicates success, the returned license_code becomes the local pid. Country-specific offers pair sku with price: sub1 represents monthly access, sub12 annual access and pay a one-time purchase. Checkout carries the selected SKU and device context into a browser page. Example prices and identifiers are illustrative, not current offers.

What driver-pack information can an integration use?

The driver browser identifies bundles by name, version and bundled status. Installation pairs raster data with native code matching the phone CPU ABI. The build catalog is retained as a raw XML body rather than a set of named child fields. Fleet tools can pin a known bundle identity and preserve the raw catalog without assuming an undocumented internal schema.

Apps similar to PrinterShare Mobile Print

  • Mopria Print Service — Mopria Print Service is the Mopria Alliance Android plugin that prints photos, web pages and documents over Wi-Fi or Wi-Fi Direct to Mopria-certified printers and MFPs, with settings such as duplex, paper size, PIN printing and user authentication.
  • HP Smart — The HP app (formerly HP Smart) is HP Inc.'s companion for HP printers, covering guided setup, mobile print and scan, fax send, ink-level alerts and printable templates.
  • Epson iPrint — Epson iPrint prints photos, PDFs and Microsoft Office files from an Android phone or tablet to Epson printers on the local network, or to email-enabled Epson models via remote print from another location.
  • Brother iPrint&Scan — Brother iPrint&Scan connects an Android device to a Brother printer or all-in-one over the local wireless network to print photos, web pages and documents, scan to the phone, and open files from Dropbox, OneDrive or Evernote.
  • Canon PRINT — Canon PRINT is Canon Inc.'s companion app for PIXMA, MAXIFY, imageCLASS and SELPHY printers, used to set up the device, print and scan, check consumable levels and send jobs via the cloud.
  • PrintHand Mobile Print — PrintHand Mobile Print is a multi-manufacturer Android printing app that sends Office documents, photos, web pages and cloud files to printers over Wi-Fi, Bluetooth, USB or a shared Windows or Mac desktop client.
  • Samsung Print Service Plugin — Samsung Print Service Plugin is an Android print-framework plugin, pre-installed on many Galaxy devices, that uses Mopria technology to print photos, web pages and documents to Samsung printers and other Mopria-certified brands.

Topics

  • printershare data api
  • printershare cloud printer directory
  • printershare public-id
  • printershare paper formats
  • printershare premium license
  • printershare sku prices
  • printershare driver bundles
  • mobile dynamix printing data

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote