QueryString

GovernmentPostal ServiceShippingLogisticsAddress ValidationPackage Tracking

Properties

Name Type Description
campaigns array
metadata object
View JSON Schema on GitHub

JSON Schema

usps-query-string-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/usps/json-schema/usps-query-string-schema.json",
  "title": "QueryString",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/usps-informed-delivery-mail-campaigns-openapi.yml#/components/schemas/QueryString",
  "type": "object",
  "properties": {
    "campaigns": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "campaignID": {
            "type": "string",
            "description": "Unique identifier for the campaign."
          },
          "campaignType": {
            "type": "string",
            "description": "Identifier on how the campaign should be applied to mail pieces\n  * A01 (Non-Sequential or NON-SEQ): Individual barcodes added to campaign after submission\n  * A02 (Mailer ID or MID): All mailpieces with given Mailer ID added to campaign\n  * A03 (Sequential or SEQ): All mailpieces with given Mailer ID and serial range added to campaign\n  * A04 (Saturation or SAT): Mailpieces will be matched to saturation pieces      "
          },
          "mailpieceShape": {
            "type": "string",
            "description": "Identifier on what types of mail pieces the campaign should be applied to\n* LT (Letter)\n* CD (Card)\n* FL (Flat)                 "
          },
          "MID": {
            "type": "string",
            "description": "The Mailer ID for the campaign - this field will be used to match IMBs to MID and SEQ type campaigns. If an IMB has the Mailer ID (MID) associated with an active MID/SEQ campaign, it is eligible to be displayed with the campaign's image and Target URL."
          },
          "submitterName": {
            "type": "string",
            "description": "The campaign submitter's Name."
          },
          "submitterCRID": {
            "type": "string",
            "description": "The campaign submitter's Customer Registration ID (CRID)."
          },
          "mailOwnerCRID": {
            "type": "string",
            "description": "Customer Registration ID (CRID) of the Mail Owner associated with the Informed Delivery campaign."
          },
          "mailOwnerName": {
            "type": "string",
            "description": "Name of the Mail Owner associated with the Informed Delivery campaign."
          },
          "campaignCode": {
            "type": "string",
            "description": "User defined field that describes the campaign being created. This field is put into the campaign reports created for the campaign."
          },
          "campaignTitle": {
            "type": "string",
            "description": "User defined field that describes the campaign being created. This field is put into the campaign reports created for the campaign."
          },
          "brandDisplayName": {
            "type": "string",
            "description": "User defined field that is placed on Informed Delivery's UIs when campaign is displayed."
          },
          "startDate": {
            "type": "string",
            "description": "First day campaign will be displayed",
            "format": "date"
          },
          "endDate": {
            "type": "string",
            "description": "Last day campaign will be displayed",
            "format": "date"
          },
          "startSerial": {
            "type": "string",
            "description": "The lower limit of the serial range for SEQ type campaigns. This field is required for SEQ campaigns only and is not allowed for submission for any other campaign types."
          },
          "endSerial": {
            "type": "string",
            "description": "The upper limit of the serial range for SEQ type campaigns. This field is required for SEQ campaigns only and is not allowed for submission for any other campaign types."
          },
          "campaignSource": {
            "type": "string",
            "description": "Gives information on system that was originally used to create campaign (e.g. API, PO!, MCP, Admin Console). This field will not update if campaign is subsequently edited or cancelled."
          },
          "postalOneSaturationJobID": {
            "type": "string",
            "description": "A PostalOne! generated unique identifier for a saturation type campaign. This field should not be used for NON-SEQ, MID, or SEQ campaigns."
          },
          "addBarcode": {
            "type": "boolean",
            "description": "Boolean that gives information on whether a campaign is eligible for having individual mailpieces added to it. This flag will be true only if the campaign has a NON-SEQ campaign type and an End Date in the future."
          },
          "barcodeCount": {
            "type": "number",
            "description": "Number of mailpieces associated with the campaign. The number will only get greater than 0 for NON-SEQ campaigns."
          },
          "cancel": {
            "type": "boolean",
            "description": "Boolean that gives information on whether a campaign is eligible for cancellation. This flag will be true only if the campaign is in an Active status."
          },
          "createdDatetime": {
            "type": "string",
            "description": "Timestamp of initial campaign creation. This timestamp will be returned in UTC.",
            "format": "date-time"
          },
          "delete": {
            "type": "boolean",
            "description": "Boolean that gives information on whether a campaign is eligible for cancellation. This flag will be true only if the campaign is in a Submitted, Draft, or Inactive status."
          },
          "fullEdit": {
            "type": "boolean",
            "description": "Boolean that gives information on whether a campaign is eligible for edit inclusive of the campaign's MID. This flag will be true only if the campaign is in a Submitted and is not a NON-SEQ campaign with associated barcodes. "
          },
          "lastModifiedDatetime": {
            "type": "string",
            "description": "Timestamp of last update made to campaign, inclusive of status changes that occur when a campaign activates or completes. This timestamp will be returned in UTC.",
            "format": "date-time"
          },
          "lastModifiedSource": {
            "type": "string",
            "description": "Gives information on system that was used to make last update to campaign (e.g. API, PO!, MCP, Admin Console). This field will update each time a campaign is created, edited, or cancelled."
          },
          "lastModifiedUsername": {
            "type": "string",
            "description": "Gives information on Cust Reg user name associated with last update to campaign. This field will update each time a campaign is created, edited, or cancelled."
          },
          "limitedEdit": {
            "type": "boolean",
            "description": "Boolean that gives information on whether a campaign is eligible for edit, not inclusive of the campaign's MID. This flag will be true only if the campaign is in a Submitted status, is a NON-SEQ campaign, and already has associated barcodes."
          },
          "noEdit": {
            "type": "boolean",
            "description": "Boolean that gives information on whether a campaign is not eligible for edit. This flag will be true if the campaign has an Active, Complete, Cancelled, or Deleted status."
          },
          "status": {
            "type": "string",
            "description": "Status of campaign - possible values include Submitted, Active, Complete, Inactive, Draft, Cancelled, and Deleted"
          },
          "submittedDatetime": {
            "type": "string",
            "description": "Timestamp of initial campaign submission. This timestamp will be returned in UTC.",
            "format": "date-time"
          },
          "isShareable": {
            "type": "boolean",
            "description": "An indicator dictating whether a campaign is eligible for Social Sharing. By default, mail campaigns will be displayed alongside options to share the campaign to various social media platforms. If a mailer opts out of this feature, then these options will not be displayed with the campaign."
          },
          "hasUrlParams": {
            "type": "boolean",
            "description": "An indicator dictating whether a campaign is eligible for MID and Serial Number parameters to be appended to the end of the Target URL for tracking purposes. By default, the MID and Serial Number parameters for a given mailpiece will be added to end of the Target URL that users are taken to upon clicking on a campaign. If a mailer opts out of this feature, then these MID and Serial Number fields will not be appended to the campaign's Target URL."
          }
        }
      }
    },
    "metadata": {
      "type": "object",
      "properties": {
        "totalCount": {
          "type": "integer",
          "description": "The total number of items."
        },
        "page": {
          "type": "integer",
          "description": "The current page number."
        },
        "totalPages": {
          "type": "integer",
          "description": "The total number of pages."
        },
        "limit": {
          "type": "integer",
          "description": "The number of items per page."
        },
        "offset": {
          "type": "integer",
          "description": "The offset of the current page."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/usps-query-string"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.