Campaign

GovernmentPostal ServiceShippingLogisticsAddress ValidationPackage Tracking

Properties

Name Type Description
campaignID string
campaignType string Identifier on how the campaign should be applied to mail pieces * A01 (Non-Sequential or NON-SEQ): Individual barcodes added to campaign after submission * A02 (Mailer ID or MID): All mailpieces with
mailpieceShape string Identifier on what types of mail pieces the campaign should be applied to * LT (Letter) * CD (Card) * FL (Flat)
MID string 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
submitterName string The campaign submitter's Name.
submitterCRID string The campaign submitter's Customer Registration ID (CRID).
mailOwnerCRID string Customer Registration ID (CRID) of the Mail Owner associated with the Informed Delivery campaign.
mailOwnerName string Name of the Mail Owner associated with the Informed Delivery campaign.
campaignCode string User defined field that describes the campaign being created. This field is put into the campaign reports created for the campaign.
campaignTitle string User defined field that describes the campaign being created. This field is put into the campaign reports created for the campaign.
brandDisplayName string User defined field that is placed on Informed Delivery's UIs when campaign is displayed.
startDate string First day campaign will be displayed
endDate string Last day campaign will be displayed
startSerial string 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 string 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.
targetUrl string The URL that users are redirected to when clicking on the Ridealong image or Learn More link for a campaign. This field is required.
campaignSource string 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.
hasUrlParams boolean 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 para
isShareable boolean 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 m
postalOneSaturationJobID string A PostalOne! generated unique identifier for a saturation type campaign. This field should not be used for NON-SEQ, MID, or SEQ campaigns.
rideAlong string The image that is displayed below the replacement or mailpiece image for mailpieces matched with a mail campaign. When clicked, this image will take users to the Target URL of the campaign. This field
replacementImage string The image that is displayed instead of the mailpiece image for mailpieces matched with a mail campaign. This field is required if the Campaign Shape Type is 'FL', otherwise this field is optional.
addBarcode boolean 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 i
barcodeCount number Number of mailpieces associated with the campaign. The number will only get greater than 0 for NON-SEQ campaigns.
cancel boolean 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 string Timestamp of initial campaign creation. This timestamp will be returned in UTC.
delete boolean 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 boolean 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 w
lastModifiedDatetime string 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.
lastModifiedSource string 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 string 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 boolean 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 campa
noEdit boolean 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 string Status of campaign - possible values include Submitted, Active, Complete, Inactive, Draft, Cancelled, and Deleted
submittedDatetime string Timestamp of initial campaign submission. This timestamp will be returned in UTC.
View JSON Schema on GitHub

JSON Schema

usps-campaign-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/usps/json-schema/usps-campaign-schema.json",
  "title": "Campaign",
  "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/Campaign",
  "required": [
    "MID",
    "brandDisplayName",
    "campaignCode",
    "campaignTitle",
    "campaignType",
    "endDate",
    "mailOwnerCRID",
    "mailOwnerName",
    "mailpieceShape",
    "rideAlong",
    "startDate",
    "submitterName",
    "targetUrl"
  ],
  "type": "object",
  "properties": {
    "campaignID": {
      "type": "string",
      "readOnly": true
    },
    "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).",
      "readOnly": true
    },
    "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."
    },
    "targetUrl": {
      "type": "string",
      "description": "The URL that users are redirected to when clicking on the Ridealong image or Learn More link for a campaign. This field is required."
    },
    "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.",
      "readOnly": true
    },
    "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."
    },
    "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."
    },
    "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."
    },
    "rideAlong": {
      "type": "string",
      "description": "The image that is displayed below the replacement or mailpiece image for mailpieces matched with a mail campaign. When clicked, this image will take users to the Target URL of the campaign. This field is required.",
      "format": "byte"
    },
    "replacementImage": {
      "type": "string",
      "description": "The image that is displayed instead of the mailpiece image for mailpieces matched with a mail campaign. This field is required if the Campaign Shape Type is 'FL', otherwise this field is optional."
    },
    "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.",
      "readOnly": true
    },
    "barcodeCount": {
      "type": "number",
      "description": "Number of mailpieces associated with the campaign. The number will only get greater than 0 for NON-SEQ campaigns.",
      "readOnly": true
    },
    "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.",
      "readOnly": true
    },
    "createdDatetime": {
      "type": "string",
      "description": "Timestamp of initial campaign creation. This timestamp will be returned in UTC.",
      "readOnly": true,
      "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.",
      "readOnly": true
    },
    "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. ",
      "readOnly": true
    },
    "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.",
      "readOnly": true,
      "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.",
      "readOnly": true
    },
    "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.",
      "readOnly": true
    },
    "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.",
      "readOnly": true
    },
    "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.",
      "readOnly": true
    },
    "status": {
      "type": "string",
      "description": "Status of campaign - possible values include Submitted, Active, Complete, Inactive, Draft, Cancelled, and Deleted",
      "readOnly": true
    },
    "submittedDatetime": {
      "type": "string",
      "description": "Timestamp of initial campaign submission. This timestamp will be returned in UTC.",
      "readOnly": true,
      "format": "date-time"
    }
  },
  "additionalProperties": false
}

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-campaign"
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.