United States Postal Service · Schema
Appointment
Appointment with full details.
GovernmentPostal ServiceShippingLogisticsAddress ValidationPackage Tracking
Properties
| Name | Type | Description |
|---|---|---|
| appointmentType | string | The type of appointment. PALLET = 1, BEDLOAD = 2, DROP_AND_PICK = 3, SPEEDLINE = 4. Required for Dropship appointments. |
| destinationEntry | string | Dropship is YES. Origin Entry is NO. |
| recurringAppointment | object | Must have either oneTimeAppointment or recurringAppointment |
| oneTimeAppointment | object | Must have either oneTimeAppointment or recurringAppointment |
| detailInfo | object | Details of the appointment request. |
| trailerInfo | object | Information about the trailer for the appointment. |
| consigneeFacility | object | Consignee Facility details. |
| comment | string | Facility Comments |
| valueAddedService | string | Special appointment types offered |
| shipperAppointmentRequestID | string | Mailer assigned ID |
| consigneeAppointmentID | string | Appointment ID assigned from FAST. Required for Update actions. |
| schedulerID | string | Unique ID for mailer scheduler |
| schedulerCorpID | string | Unique ID of the corporation generated by PostalOne! |
| CRID | string | CRID assigned to Scheduler of FAST Appointment |
| shipperMultiStopID | string | ID assigned to multistop appointments |
| consigneeMultiStopID | string | Assigned Appointment ID for multistop appointment |
| shipperStopNumber | string | Number of multistop appointments under FAST appointment |
| pickupOrDelivery | string | Type of delivery from mailer |
| palletPositionCount | integer | The number of pallet positions in the appointment |
| includesElectronicLoad | string | Indicates the Appointment is electronically processed with barcodes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/usps/json-schema/usps-appointment-full-schema.json",
"title": "Appointment",
"description": "Appointment with full details.",
"x-generated": "2026-11-11",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/usps-appointments-openapi.yml#/components/schemas/AppointmentFull",
"type": "object",
"required": [
"CRID",
"shipperAppointmentRequestID",
"destinationEntry",
"consigneeFacility",
"detailInfo"
],
"properties": {
"appointmentType": {
"description": "The type of appointment. PALLET = 1, BEDLOAD = 2, DROP_AND_PICK = 3, SPEEDLINE = 4.\n\nRequired for Dropship appointments.\n",
"type": "string",
"enum": [
"PALLET",
"BEDLOAD",
"DROP_AND_PICK",
"SPEEDLINE"
]
},
"destinationEntry": {
"description": "Dropship is YES. Origin Entry is NO.",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"recurringAppointment": {
"description": "Must have either oneTimeAppointment or recurringAppointment",
"type": "object",
"properties": {
"effectiveStartDate": {
"description": "Start date of appointment. Required for Create actions.",
"type": "string",
"format": "date"
},
"effectiveEndDate": {
"description": "End date of appointment. Required for Create actions.",
"type": "string",
"format": "date"
},
"appointmentTime": {
"description": "Time of appointment in Local Time. Required for Create actions.",
"type": "string",
"format": "time"
},
"dayFrequencyArray": {
"type": "array",
"description": "Day of the week for the appointment. Required for Create actions.",
"items": {
"type": "string",
"enum": [
"DAILY",
"SATURDAY",
"SUNDAY",
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
]
}
},
"weekFrequencyArray": {
"type": "array",
"description": "Week of the month for the appointment. Required for Create actions.",
"items": {
"type": "string",
"enum": [
"WEEKLY",
"BI_WEEKLY",
"FIRST",
"SECOND",
"THIRD",
"FOURTH",
"FIFTH",
"SIXTH"
]
}
}
}
},
"oneTimeAppointment": {
"description": "Must have either oneTimeAppointment or recurringAppointment",
"type": "object",
"properties": {
"preferredAppointment": {
"description": "Preferred appointment date and time in ISO 8601 format. Required for Create actions.",
"type": "string",
"format": "date-time"
},
"optionalAppointment": {
"description": "Details of the optional appointment start and end time.",
"type": "object",
"properties": {
"optionalAppointmentStart": {
"description": "Optional appointment start date and time in ISO 8601 format",
"type": "string",
"format": "date-time"
},
"optionalAppointmentEnd": {
"description": "Optional appointment end date and time in ISO 8601 format",
"type": "string",
"format": "date-time"
}
}
}
}
},
"detailInfo": {
"description": "Details of the appointment request.",
"type": "object",
"properties": {
"uspsSummary": {
"type": "array",
"description": "Additional details of the Appointment.",
"items": {
"type": "object",
"properties": {
"destinationDiscountIndicator": {
"description": "Indicator whether this is dropship (NO) or origin entry (YES) appointment. Required for Create actions.",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"zoneSkippingIndicator": {
"description": "Zone Skip in the Content of the appointment. Required for Create actions.",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"fullServiceIndicator": {
"description": "Indicate content is full service",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"eInductionIndicator": {
"description": "Yes/No indicator representing if IMCB is part of an eInduction Content",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"pallets": {
"type": "array",
"description": "Details and properties of the pallets for the appointment.",
"items": {
"type": "object",
"properties": {
"palletPreSortLevel": {
"description": "Required for Create actions.",
"type": "array",
"items": {
"type": "object",
"properties": {
"uspsContainerInfo": {
"description": "Details of the container and its contents.",
"type": "object",
"properties": {
"mailOwnerCRID": {
"description": "Array of CRIDs of the mail owner. Maximum of 5 values in the array.",
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 15
}
},
"mailOwnerID": {
"description": "Array of IDs of the mail owner. Maximum of 5 values in the array.",
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 12
}
},
"uspsPublicationID": {
"description": "ID of publication (Periodicals) associated with appointment content",
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 9
}
},
"actualPieceCount": {
"description": "Total count of the mail pieces",
"type": "integer",
"minimum": 0,
"maximum": 999999999
},
"containerWeight": {
"description": "Weight of the container",
"type": "string",
"minLength": 1,
"maxLength": 9
},
"IMCB": {
"description": "Array of Intelligent Mail Container Barcode. Unlimited values allowed. Required for Create actions.",
"type": "array",
"items": {
"type": "string",
"minLength": 21,
"maxLength": 24
}
},
"IMCBInfo": {
"description": "Is the IMCB Linked or Scanned",
"type": "string",
"enum": [
"LINKED",
"SCANNED"
]
},
"siblingBarcode": {
"description": "Array of unique IMCB barcode associated to IMCB barcode. Unlimited values allowed.",
"type": "array",
"items": {
"type": "string",
"minLength": 21,
"maxLength": 24
}
},
"postInductionStatus": {
"description": "Status as of induction of FAST appointment",
"type": "string",
"enum": [
"ACCEPTED",
"ON_HOLD",
"REJECTED",
"NOT_PAID",
"TRANSPORTATION_INFO_UPDATED",
"DISPATCHED_FOR_INDUCTION",
"DISPATCHED_FOR_PICKUP",
"PICKED_UP",
"WAREHOUSED",
"PLANNED",
"DOCKED",
"MAIL_READY_FOR_PICKUP",
"DELIVERED",
"DEPOSITED_WITH_SHIPPER",
"EDOC_SUBMITTED",
"MAIL_READY_TO_BE_SHIPPED",
"POSTAGE_FINALIZED",
"MAIL_VERIFIED_AND_RELEASED",
"MAIL_IN_COPAL_POOL"
]
},
"containerDestination3digitZIP": {
"description": "3 digit zipcode of the destination",
"type": "string",
"minLength": 3,
"maxLength": 3,
"pattern": "^\\d{3}$"
},
"containerDestination5digitZIP": {
"description": "5 digit zipcode of the destination",
"type": "string",
"minLength": 5,
"maxLength": 5,
"pattern": "^\\d{5}$"
}
}
},
"containerLevel": {
"$ref": "#/$defs/ContainerLevel"
},
"count": {
"description": "Count for the palletPreSortLevel. Required for Create actions.",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
},
"count": {
"description": "Count for pallets. Required for Create actions. (One of pallets, sacks, trays count)",
"type": "integer",
"minimum": 0,
"maximum": 999999
},
"handlingUnitType": {
"description": "Types of containers used in appointment. Required for Create actions.",
"type": "string",
"enum": [
"AIRBOX",
"SACKS",
"BUNDLES",
"MIXED_LENGTH_TRAYS",
"1FT_TRAY",
"2FT_TRAY",
"EMM_TRAY",
"FLAT_TUB",
"PARCELS"
]
},
"palletType": {
"description": "Pallet type used to house handing units. Required for Create actions.",
"type": "string",
"enum": [
"AIRBOX",
"PALLET",
"EIRS_61",
"EIRS_61P",
"EIRS_66",
"EIRS_68",
"EIRS_84",
"EIRS_84C"
]
}
}
}
},
"bedload": {
"type": "object",
"description": "Details and properties of the bedload for the appointment.",
"properties": {
"uspsContainerInfo": {
"description": "Details of the container and its contents.",
"type": "object",
"properties": {
"mailOwnerCRID": {
"description": "Array of CRIDs of the mail owner",
"type": "array",
"items": {
"type": "string",
"minLength": 2,
"maxLength": 15
}
},
"mailOwnerID": {
"description": "ID of the mail owner",
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 12
}
},
"uspsPublicationID": {
"description": "The Publication ID",
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 9
}
},
"actualPieceCount": {
"description": "Total count",
"type": "integer",
"minimum": 0,
"maximum": 999999999
},
"containerWeight": {
"description": "Weight of the container",
"type": "string",
"minLength": 1,
"maxLength": 9
},
"IMCB": {
"description": "Array of Intelligent Mail Container Barcodes Required for Create actions.",
"type": "array",
"items": {
"type": "string",
"minLength": 21,
"maxLength": 24
}
},
"IMCBInfo": {
"description": "Is the IMCB linked or scanned",
"type": "string",
"enum": [
"LINKED",
"SCANNED"
]
},
"siblingBarcode": {
"description": "Array of unique IMCB barcode associated to IMCB barcode",
"type": "array",
"items": {
"type": "string",
"minLength": 21,
"maxLength": 24
}
}
}
},
"sacks": {
"description": "Array for the sacks portion of the appointment",
"type": "array",
"items": {
"type": "object",
"properties": {
"preSortLevel": {
"description": "Array for the preSortLevel objects",
"type": "array",
"items": {
"description": "Object for the preSortLevel elements",
"type": "object",
"properties": {
"containerLevel": {
"$ref": "#/$defs/ContainerLevel"
},
"count": {
"description": "Count for preSortLevel.",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
},
"IMPB": {
"description": "Intelligent Mail Package Barcode",
"type": "string",
"minLength": 21,
"maxLength": 24
},
"count": {
"description": "Count for sacks. Required for Create actions. (One of pallets, sacks, trays count)",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
},
"trays": {
"description": "Details and properties of the trays for the appointment.",
"type": "array",
"items": {
"type": "object",
"properties": {
"preSortLevel": {
"description": "Array for the preSortLevel objects",
"type": "array",
"items": {
"description": "Object for the preSortLevel elements",
"type": "object",
"properties": {
"containerLevel": {
"$ref": "#/$defs/ContainerLevel"
},
"count": {
"description": "Count for preSortLevel. Required for Create actions.",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
},
"IMTB": {
"description": "Intelligent Mail Tray Barcode",
"type": "string",
"minLength": 24,
"maxLength": 24
},
"count": {
"description": "Count for trays. Required for Create actions. (One of pallets, sacks, trays count)",
"type": "integer",
"minimum": 0,
"maximum": 999999
},
"type": {
"description": "Tray unit types",
"type": "string",
"enum": [
"MIXED_LENGTH_TRAYS",
"1FT_TRAY",
"2FT_TRAY",
"EMM_TRAY",
"FLAT_TUB"
]
}
}
}
},
"parcels": {
"description": "Details and properties of the parcels for the appointment.",
"type": "array",
"items": {
"type": "object",
"properties": {
"preSortLevel": {
"description": "Array for the preSortLevel objects",
"type": "array",
"items": {
"description": "Object for the preSortLevel elements",
"type": "object",
"properties": {
"containerLevel": {
"$ref": "#/$defs/ContainerLevel"
},
"count": {
"description": "Count for preSortLevel",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
},
"count": {
"description": "Count for parcels",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
},
"bundles": {
"description": "Details and properties of the bundles for the appointment.",
"type": "array",
"items": {
"type": "object",
"properties": {
"preSortLevel": {
"description": "Array for the preSortLevel objects",
"type": "array",
"items": {
"description": "Object for the preSortLevel elements",
"type": "object",
"properties": {
"containerLevel": {
"$ref": "#/$defs/ContainerLevel"
},
"count": {
"description": "Count for preSortLevel",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
},
"count": {
"description": "Count for bundles",
"type": "integer",
"minimum": 0,
"maximum": 999999
}
}
}
}
}
},
"perishable": {
"description": "Is it perishable. Required for Create actions.",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"mailClass": {
"description": "Required for Create actions.|\nNumbers represent the mailClass within legacy systems for understanding\n1 FIRST CLASS MAIL 2 PERIODICALS 3 USPS MARKETING MAIL (PREVIOUSLY STANDARD MAIL) 4 PACKAGE SERVICES 6 PARCEL SELECT 7 PRIORITY MAIL",
"type": "string",
"enum": [
"FIRST_CLASS",
"PERIODICALS",
"USPS_MARKETING_MAIL",
"PACKAGE_SERVICES",
"PARCEL_SELECT",
"PRIORITY_MAIL",
"USPS_GROUND_ADVANTAGE"
]
},
"rateType": {
"description": "Rate type describes mail class and mail shape combination",
"type": "string",
"enum": [
"R",
"L",
"B",
"C",
"S",
"S1",
"S2",
"S3",
"S4",
"S5",
"S6",
"S7",
"F",
"A",
"N",
"P",
"T",
"D",
"X",
"H",
"M",
"Z",
"E",
"E4",
"G",
"1",
"2",
"3",
"4",
"J",
"K",
"V",
"W",
"Y",
"Q"
]
},
"inHomeStart": {
"description": "Start Date of Appointment in Home DELIVERY",
"type": "string",
"format": "date-time"
},
"inHomeEnd": {
"description": "End Date of Appointment in Home DELIVERY",
"type": "string",
"format": "date-time"
},
"processingCategory": {
"description": "Mail shape category. Required for Create actions.",
"type": "string",
"enum": [
"LT",
"FL",
"CD",
"OS",
"MP",
"IR",
"PF",
"CM",
"SP",
"MB"
]
},
"newsIndicator": {
"description": "Indicator for Newspaper. Required for Create actions.",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"priorityMailIndicator": {
"description": "Priority Mail Indicator. Required for Create actions.",
"type": "string",
"enum": [
"YES",
"NO"
]
},
"verificationLocation": {
"description": "Verified Location for BMEU or DMU for FAST appointment",
"type": "string",
"enum": [
"BMEU",
"DMU"
]
},
"mailContentName": {
"description": "Shipper assigned name to content",
"type": "string",
"minLength": 1,
"maxLength": 30
},
"mailPreparerID": {
"description": "The unique ID of the mail preparer",
"type": "string",
"minLength": 1,
"maxLength": 12
},
"mailPreparerCRID": {
"description": "CRID of the mail preparer",
"type": "string",
"minLength": 2,
"maxLength": 15
},
"schedulerContentID": {
"description": "The unique ID of the Scheduler",
"type": "string",
"minLength": 1,
"maxLength": 12
},
"consigneeContentID": {
"description": "Consignee Content ID for this USPSSummary object",
"type": "string",
"minLength": 1,
"maxLength": 12
}
}
}
},
"consigneeContentID": {
"description": "Consignee Content ID to stand in for above USPSSummary object",
"type": "string",
"minLength": 1,
"maxLength": 12
}
}
},
"trailerInfo": {
"description": "Information about the trailer for the appointment.",
"type": "object",
"properties": {
"trailer": {
"description": "max of two objects in the array",
"type": "array",
"items": {
"type": "object",
"properties": {
"trailerNumber": {
"description": "Trailer Identifier",
"type": "string",
"minLength": 1,
"maxLength": 12
},
"trailerLength": {
"description": "Length of the trailer",
"type": "string",
"enum": [
"20FT",
"40FT",
"45FT",
"48FT",
"53FT"
]
}
}
}
},
"carrier": {
"description": "Details about the carrier for the appointment.",
"type": "object",
"properties": {
"carrierName": {
"description": "Name of the carrier. Required for Create actions.",
"type": "string",
"minLength": 1,
"maxLength": 40
},
"carrierCRID": {
"description": "CRID of the carrier",
"type": "string",
"minLength": 2,
"maxLength": 15
},
"commonContact": {
"description": "Contact details of the appointment requestor.",
"type": "array",
"items": {
"type": "object",
"properties": {
"contactName": {
"description": "Contact name",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"telephone": {
"description": "Phone number of contact, numbers only, no delimeters, optional + sign",
"type": "string",
"minLength": 1,
"maxLength": 25,
"pattern": "^\\+?[1-9][0-9]{7,14}$"
},
"mobilePhone": {
"description": "Cell phone number of contact, numbers only, no delimeters, optional + sign",
"type": "string",
"minLength": 1,
"maxLength": 25,
"pattern": "^\\+?[1-9][0-9]{7,14}$"
},
"email": {
"description": "Email address of contact",
"type": "string",
"minLength": 1,
"maxLength": 50,
"pattern": "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}$"
},
"fax": {
"description": "Fax number of the contact, numbers only, no delimeters, optional +",
"type": "string",
"minLength": 1,
"maxLength": 25,
"pattern": "^\\+?[1-9][0-9]{7,14}$"
},
"contactID": {
"description": "Identification details for the appointment requestor.",
"type": "object",
"properties": {
"idValue": {
"description": "Number on ID",
"type": "string",
"minLength": 1,
"maxLength": 30
},
"idValueType": {
"description": "Type of ID used",
"type": "string",
"enum": [
"DRIVERS_LICENSE",
"EMPLOYEE_ID"
]
}
}
},
"contactType": {
"descriptio
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://artifacts.apis.io/usps/json-schema/usps-appointment-full-schema.json
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/usps-appointment-full"
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.