{
  "service": "ship_station",
  "displayName": "ShipStation",
  "categories": [
    "Productivity",
    "Location"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SHIPSTATION_API_KEY",
      "description": "ShipStation API key used as the API-Key header for V2 API requests. Generate and copy it from your ShipStation account API settings: https://docs.shipstation.com/authentication"
    }
  ],
  "homepageUrl": "https://www.shipstation.com/",
  "actions": [
    {
      "id": "ship_station.get_purchase_order",
      "service": "ship_station",
      "name": "get_purchase_order",
      "description": "Retrieve a ShipStation V2 purchase order by ID, including detailed product lines when returned.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "purchaseOrderId": {
            "type": "string",
            "minLength": 1,
            "description": "A ShipStation V2 resource identifier.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "purchaseOrderId"
        ],
        "description": "The input payload for retrieving a ShipStation purchase order."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "purchaseOrder": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by ShipStation."
          }
        },
        "additionalProperties": false,
        "required": [
          "purchaseOrder"
        ],
        "description": "The response returned when retrieving a ShipStation purchase order."
      }
    },
    {
      "id": "ship_station.list_inventory_levels",
      "service": "ship_station",
      "name": "list_inventory_levels",
      "description": "List ShipStation V2 inventory stock levels and inventory-related properties for SKUs.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "minLength": 1,
            "description": "Return inventory properties for this specific SKU."
          },
          "inventoryWarehouseId": {
            "type": "string",
            "minLength": 1,
            "description": "A ShipStation V2 resource identifier.",
            "pattern": "\\S"
          },
          "inventoryLocationId": {
            "type": "string",
            "minLength": 1,
            "description": "A ShipStation V2 resource identifier.",
            "pattern": "\\S"
          },
          "groupBy": {
            "type": "string",
            "enum": [
              "warehouse",
              "location"
            ],
            "description": "Group returned SKUs by warehouse or location."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of inventory records to return."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing ShipStation inventory levels."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "inventory": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by ShipStation."
            },
            "description": "The inventory records returned by ShipStation."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by ShipStation."
          }
        },
        "additionalProperties": false,
        "required": [
          "inventory",
          "raw"
        ],
        "description": "The response returned when listing ShipStation inventory levels."
      }
    },
    {
      "id": "ship_station.list_inventory_warehouses",
      "service": "ship_station",
      "name": "list_inventory_warehouses",
      "description": "List inventory warehouses configured in ShipStation V2.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing ShipStation inventory warehouses."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "inventoryWarehouses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by ShipStation."
            },
            "description": "The inventory warehouse records returned by ShipStation."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by ShipStation."
          }
        },
        "additionalProperties": false,
        "required": [
          "inventoryWarehouses",
          "raw"
        ],
        "description": "The response returned when listing ShipStation inventory warehouses."
      }
    },
    {
      "id": "ship_station.list_purchase_orders",
      "service": "ship_station",
      "name": "list_purchase_orders",
      "description": "List ShipStation V2 purchase orders with optional filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderNumber": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the ShipStation purchase order number."
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "open",
              "receiving",
              "received",
              "closed",
              "cancelled"
            ],
            "description": "The purchase order status filter."
          },
          "warehouseId": {
            "type": "string",
            "minLength": 1,
            "description": "A ShipStation V2 resource identifier.",
            "pattern": "\\S"
          },
          "referenceNumber": {
            "type": "string",
            "minLength": 1,
            "description": "Filter by the custom purchase order reference."
          },
          "createDateStart": {
            "type": "string",
            "description": "An ISO 8601/RFC3339 date-time string accepted by ShipStation.",
            "format": "date-time"
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor value from a previous pagination link."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The number of purchase orders to return per page."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing ShipStation purchase orders."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "purchaseOrders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw object returned by ShipStation."
            },
            "description": "The purchase orders returned by ShipStation."
          },
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of matching purchase orders when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "links": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The pagination links object returned by ShipStation."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor extracted from links.next.href when another page is available."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by ShipStation."
          }
        },
        "additionalProperties": false,
        "required": [
          "purchaseOrders",
          "total",
          "links",
          "nextCursor",
          "raw"
        ],
        "description": "The response returned when listing ShipStation purchase orders."
      }
    }
  ]
}
