This repo contains the official JSON Schemas for the ShipEngine API. You can use these schemas with any of countless JSON Schema tools to perform validation, generate models, etc.
To use in Node.js, just require()
or import
this repo's directory. The imported object has the same structure as index.json
, except that the requestSchema
and responseSchemas
are actual JSON Schema objecs, rather than just file paths. You can use these schemas with a JSON Schema validator, such as AJV.
const shipengine = require("shipengine-json-schema");
const AJV = require("ajv");
// Initialize AJV, ignoring our custom formats
let ajv = new AJV({ unknownFormats: "ignore" });
// Get the JSON Schema for a specific API endpoint
let schema = shipengine["/v1/labels/shipment/{shipment_id}"].post.requestSchema;
// Validate an API request body against the schema
let isValid = ajv.validate(schema, {
validate_address: "validate_and_clean",
label_layout: "4x6",
label_format: "pdf",
});
Path | Description |
---|---|
index.json |
This file is a JSON map of the request and response schemas for each API endpoint. |
requests |
This directory contains separate JSON Schema files for every ShipEngine API request body. Each file is fully-dereferenced (doesn't contain any $ref pointers), so it should work with any tool or library. |
responses |
This directory contains separate JSON Schema files for every ShipEngine API response body. Each file is fully-dereferenced (doesn't contain any $ref pointers), so it should work with any tool or library. |
The official ShipEngine OpenAPI 3.0 definitions. The OpenAPI format is supported by many tools and libraries for every major technology stack.
The official Postman reference collection for ShipEngine. Just import it into Postman and immediately begin interacting with the ShipEngine API.
New to ShipEngine? Download our walkthrough collection instead.
View the ShipEngine API definition online in your browser. This web page is generated from the OpenAPI definition using ReDoc.