Every API here is available over the APIs.io API and to AI agents over MCP.
{
"info": {
"_postman_id": "kargo-public-graphql-api",
"name": "Kargo Public GraphQL API",
"description": "Collection for the Kargo Public GraphQL API at https://api.kargo.zone/public_graphql.\n\nAuthentication: Auth0 JWT — set the `access_token` collection variable with your Bearer token.\n\nAll requests inherit the Bearer token auth defined at the collection level.",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{access_token}}",
"type": "string"
}
]
},
"variable": [
{
"key": "base_url",
"value": "https://api.kargo.zone/public_graphql",
"type": "string",
"description": "Base URL for the public GraphQL endpoint"
},
{
"key": "access_token",
"value": "",
"type": "string",
"description": "Auth0 JWT access token — populated automatically by the 'Get Access Token' request"
},
{
"key": "client_id",
"value": "",
"type": "string",
"description": "Auth0 client_id provided by Kargo"
},
{
"key": "client_secret",
"value": "",
"type": "string",
"description": "Auth0 client_secret provided by Kargo"
}
],
"item": [
{
"name": "Get Access Token",
"event": [
{
"listen": "test",
"script": {
"exec": [
"var json = pm.response.json();",
"pm.collectionVariables.set('access_token', json.access_token);"
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"client_id\": \"{{client_id}}\",\n \"client_secret\": \"{{client_secret}}\",\n \"audience\": \"https://api.kargo.zone/public_graphql\",\n \"grant_type\": \"client_credentials\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://mykargo.us.auth0.com/oauth/token",
"protocol": "https",
"host": ["mykargo", "us", "auth0", "com"],
"path": ["oauth", "token"]
},
"description": "Obtains an Auth0 access token using client credentials.\n\n1. Set the `client_id` and `client_secret` collection variables with the credentials provided by Kargo.\n2. Send this request — the `access_token` collection variable is automatically populated via the test script.\n3. All subsequent GraphQL requests will use that token via the collection-level Bearer auth."
}
},
{
"name": "Queries",
"item": [
{
"name": "Introspection Schema",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query IntrospectionQuery {\\n __schema {\\n queryType { name }\\n mutationType { name }\\n subscriptionType { name }\\n types {\\n ...FullType\\n }\\n directives {\\n name\\n description\\n locations\\n args {\\n ...InputValue\\n }\\n }\\n }\\n}\\n\\nfragment FullType on __Type {\\n kind\\n name\\n description\\n fields(includeDeprecated: true) {\\n name\\n description\\n args {\\n ...InputValue\\n }\\n type {\\n ...TypeRef\\n }\\n isDeprecated\\n deprecationReason\\n }\\n inputFields {\\n ...InputValue\\n }\\n interfaces {\\n ...TypeRef\\n }\\n enumValues(includeDeprecated: true) {\\n name\\n description\\n isDeprecated\\n deprecationReason\\n }\\n possibleTypes {\\n ...TypeRef\\n }\\n}\\n\\nfragment InputValue on __InputValue {\\n name\\n description\\n type { ...TypeRef }\\n defaultValue\\n}\\n\\nfragment TypeRef on __Type {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n ofType {\\n kind\\n name\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Fetches the full GraphQL schema via introspection. Returns all types, fields, arguments, enums, and directives available in the API. Useful for exploring the schema or importing it into a GraphQL client."
}
},
{
"name": "ping",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query { ping }\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Health check — returns true if the API is reachable."
}
},
{
"name": "businesses",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query {\\n businesses {\\n slug\\n name\\n facilities {\\n slug\\n name\\n address {\\n addressOne\\n addressTwo\\n city\\n state\\n zip\\n }\\n docks {\\n slug\\n displayName\\n facilityId\\n businessId\\n }\\n }\\n }\\n}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Retrieves a global list of Business objects stored by Kargo. Individual Business details are restricted by permission scope."
}
},
{
"name": "shipment by ID",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query GetShipment($id: Int!) {\\n shipment(id: $id) {\\n id\\n status\\n shippingDirection\\n purchaseOrder\\n carrier\\n carrierService\\n customerShipmentIdentifier\\n arrivedAt\\n loadingStartAt\\n loadingEndAt\\n departedAt\\n expectedArrivalAt\\n facility {\\n slug\\n name\\n }\\n dock {\\n slug\\n displayName\\n }\\n statusEvents {\\n status\\n displayName\\n completed\\n completedAt\\n }\\n orders {\\n externalId\\n orderNumber\\n direction\\n status\\n carrier\\n }\\n cargo {\\n manifest {\\n name\\n partID\\n quantity\\n }\\n items {\\n partID\\n quantity\\n occurredAt\\n direction\\n }\\n }\\n documents {\\n id\\n type\\n fileName\\n fileUrl\\n uploadedAt\\n }\\n }\\n}\",\n \"variables\": {\n \"id\": 12345\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Retrieves a single Shipment object by Kargo-ID. Replace the `id` variable with the target shipment's integer ID."
}
},
{
"name": "pushMessages",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query GetPushMessages($input: PushMessageFilter!) {\\n pushMessages(input: $input) {\\n id\\n messageType\\n message\\n sentAt\\n facilitySlug\\n businessSlug\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"since\": \"2024-01-01T00:00:00Z\",\n \"businessSlug\": \"your-business-slug\",\n \"facilitySlug\": null\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Retrieves all push messages since a given timestamp for a business or facility. `facilitySlug` is optional — omit to get messages for all facilities."
}
},
{
"name": "kargoAgent",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query {\\n kargoAgent {\\n version\\n token\\n }\\n}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Downloads the current Kargo agent implementation. Returns a single-use download token valid for 5 minutes. Use the token at: api.kargo.zone/download_agent_with_token?token=<token>"
}
},
{
"name": "facility shipments",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query FacilityShipments($businessSlug: String!, $facilitySlug: String!, $filter: ShipmentFilter) {\\n businesses {\\n slug\\n facilities {\\n slug\\n shipments(filter: $filter) {\\n id\\n status\\n shippingDirection\\n purchaseOrder\\n carrier\\n arrivedAt\\n departedAt\\n expectedArrivalAt\\n dock {\\n slug\\n displayName\\n }\\n statusEvents {\\n status\\n displayName\\n completed\\n completedAt\\n }\\n }\\n }\\n }\\n}\",\n \"variables\": {\n \"filter\": {\n \"since\": \"2024-01-01T00:00:00Z\",\n \"before\": \"2024-12-31T23:59:59Z\",\n \"shippingDirection\": null\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Lists shipments for all accessible facilities with an optional date filter. `shippingDirection` can be SHIPPING, RECEIVING, MIXED, or UNKNOWN."
}
},
{
"name": "facility orders",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query FacilityOrders {\\n businesses {\\n facilities {\\n slug\\n orders(filter: { startDate: \\\"2024-01-01\\\", endDate: \\\"2024-12-31\\\", direction: INBOUND }) {\\n externalId\\n orderNumber\\n direction\\n status\\n purchaseOrder\\n carrier\\n carrierService\\n requestedShipDate\\n requestedDeliveryDate\\n shipperName\\n consigneeName\\n bolNumber\\n shipmentId\\n items {\\n id\\n identifier\\n sku\\n quantity\\n quantityUnit\\n description\\n }\\n }\\n }\\n }\\n}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Lists Order objects for a facility within a date range. `direction` can be INBOUND or OUTBOUND."
}
},
{
"name": "facility SKUs",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"query FacilitySKUs {\\n businesses {\\n facilities {\\n slug\\n SKUs {\\n business_slug\\n facility_slug\\n sku_id\\n description\\n unit_of_measure\\n alternate_sku_ids\\n sku_metadata\\n created_at\\n updated_at\\n }\\n }\\n }\\n}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Lists all SKUs associated with each accessible facility."
}
}
]
},
{
"name": "Mutations",
"item": [
{
"name": "createShipmentAndOrder",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation CreateShipmentAndOrder($input: CreateShipmentAndOrderInput!) {\\n createShipmentAndOrder(input: $input) {\\n shipment {\\n id\\n status\\n shippingDirection\\n expectedArrivalAt\\n }\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"shipment\": {\n \"businessSlug\": \"your-business-slug\",\n \"facilitySlug\": \"your-facility-slug\",\n \"shipmentNumber\": \"SHIP-001\",\n \"expectedArrivalAt\": \"2024-06-15T10:00:00Z\",\n \"direction\": \"RECEIVING\",\n \"carrier\": \"XPO Logistics\",\n \"carrierService\": \"LTL\",\n \"trailerNumber\": \"TR-12345\",\n \"dockSlug\": \"D11\",\n \"status\": \"SCHEDULED\",\n \"statusOccurredAt\": \"2024-06-14T08:00:00Z\"\n },\n \"orders\": [\n {\n \"direction\": \"INBOUND\",\n \"orderType\": \"PO\",\n \"purchaseOrder\": \"PO-98765\",\n \"orderNumber\": \"ORD-001\",\n \"requestedDeliveryDate\": \"2024-06-15\",\n \"carrier\": \"XPO Logistics\",\n \"carrierService\": \"LTL\",\n \"items\": [\n {\n \"quantityUnit\": \"PALLET\",\n \"quantity\": 10,\n \"sku\": \"SKU-ABC123\",\n \"description\": \"Widget A\"\n }\n ]\n }\n ]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Creates a new shipment along with its associated order and order items in a single request."
}
},
{
"name": "updateShipment",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation UpdateShipment($input: UpdateShipmentInput!) {\\n updateShipment(input: $input) {\\n success\\n id\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"businessSlug\": \"your-business-slug\",\n \"facilitySlug\": \"your-facility-slug\",\n \"shipmentNumber\": \"SHIP-001\",\n \"status\": \"AT_FACILITY\",\n \"statusOccurredAt\": \"2024-06-15T09:30:00Z\",\n \"carrier\": \"XPO Logistics\",\n \"carrierService\": \"LTL\",\n \"trailerNumber\": \"TR-12345\",\n \"dockSlug\": \"D11\",\n \"driverName\": \"John Doe\",\n \"driverLicensePlate\": \"ABC1234\"\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Updates shipment status from an external scheduling system. `status` can be SCHEDULED, AT_FACILITY, DOOR_ASSIGNED, or CHECKED_OUT."
}
},
{
"name": "createOrder",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation CreateOrder($input: OrderInput!) {\\n createOrder(input: $input) {\\n success\\n id\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"businessSlug\": \"your-business-slug\",\n \"facilitySlug\": \"your-facility-slug\",\n \"orderNumber\": \"ORD-001\",\n \"direction\": \"INBOUND\",\n \"orderType\": \"PO\",\n \"purchaseOrder\": \"PO-98765\",\n \"requestedShipDate\": \"2024-06-14\",\n \"requestedDeliveryDate\": \"2024-06-15\",\n \"carrier\": \"XPO Logistics\",\n \"carrierService\": \"LTL\",\n \"bolNumber\": \"BOL-12345\",\n \"items\": [\n {\n \"quantityUnit\": \"PALLET\",\n \"quantity\": 10,\n \"sku\": \"SKU-ABC123\",\n \"description\": \"Widget A\",\n \"lot\": \"LOT-001\"\n }\n ]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Creates a new order. `quantityUnit` can be PALLET, CASE, or UNIT."
}
},
{
"name": "createOrUpdateOrder",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation CreateOrUpdateOrder($input: OrderInput!) {\\n createOrUpdateOrder(input: $input) {\\n success\\n id\\n type\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"businessSlug\": \"your-business-slug\",\n \"facilitySlug\": \"your-facility-slug\",\n \"orderNumber\": \"ORD-001\",\n \"direction\": \"INBOUND\",\n \"purchaseOrder\": \"PO-98765\",\n \"carrier\": \"XPO Logistics\",\n \"items\": [\n {\n \"quantityUnit\": \"PALLET\",\n \"quantity\": 10,\n \"sku\": \"SKU-ABC123\",\n \"description\": \"Widget A\"\n }\n ]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Creates or updates an order matched by `orderNumber`. The `type` field in the response indicates whether this was a CREATE or UPDATE operation."
}
},
{
"name": "addItemsToOrder",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation AddItemsToOrder($input: AddItemsToOrderInput!) {\\n addItemsToOrder(input: $input) {\\n success\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"id\": \"order-external-id-here\",\n \"items\": [\n {\n \"quantityUnit\": \"PALLET\",\n \"quantity\": 5,\n \"sku\": \"SKU-XYZ789\",\n \"description\": \"Widget B\",\n \"lpn\": \"LPN-001\"\n }\n ]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Appends items to an existing order by order `externalId`."
}
},
{
"name": "deleteItemsFromOrder",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation DeleteItemsFromOrder($input: DeleteItemsFromOrderInput!) {\\n deleteItemsFromOrder(input: $input) {\\n success\\n deletedIdentifiers\\n orderDeleted\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"id\": \"order-external-id-here\",\n \"identifiers\": [\"identifier-1\", \"identifier-2\"]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Deletes order items by their identifier values. If all items are removed the order itself may be deleted (`orderDeleted: true`)."
}
},
{
"name": "upsertSKUs",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation UpsertSKUs($input: UpsertSKUInput!) {\\n upsertSKUs(input: $input) {\\n numRecordsAdded\\n numRecordsUpdated\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"business_slug\": \"your-business-slug\",\n \"facility_slug\": \"your-facility-slug\",\n \"SKUs\": [\n {\n \"sku_id\": \"SKU-ABC123\",\n \"description\": \"Widget A\",\n \"unit_of_measure\": \"PALLET\",\n \"alternate_sku_ids\": [\"ALT-SKU-001\"],\n \"sku_metadata\": \"{\\\"color\\\": \\\"blue\\\"}\"\n }\n ]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Creates or updates SKU(s) for a given facility. Returns counts of added and updated records."
}
},
{
"name": "deleteSKUs",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation DeleteSKUs($input: DeleteSKUInput!) {\\n deleteSKUs(input: $input) {\\n numRecordsDeleted\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"business_slug\": \"your-business-slug\",\n \"facility_slug\": \"your-facility-slug\",\n \"SKUIDs\": [\"SKU-ABC123\", \"SKU-XYZ789\"]\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Deletes SKU(s) for a given facility by their IDs."
}
},
{
"name": "createException",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation CreateException($input: CreateExceptionInput!) {\\n createException(input: $input) {\\n exceptionId\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"shipmentId\": 12345,\n \"palletId\": null,\n \"priority\": \"HIGH\",\n \"customerExceptionDescription\": \"Damaged pallet detected upon arrival.\"\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Creates a Customer Exception in the Kargo system. Appears on the dashboard as 'Customer Exception'. Viewable at https://mykargo.com/exceptions/{exceptionId}. `priority` is LOW or HIGH. Set `palletId` for pallet-level exceptions, omit for shipment-level."
}
},
{
"name": "processPayload",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"mutation ProcessPayload($input: ProcessPayloadInput!) {\\n processPayload(input: $input) {\\n success\\n message\\n loggingId\\n }\\n}\",\n \"variables\": {\n \"input\": {\n \"businessSlug\": \"your-business-slug\",\n \"facilitySlug\": \"your-facility-slug\",\n \"payload\": {\n \"key\": \"value\"\n }\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Processes a JSON payload after verifying facility permissions. The `payload` field accepts arbitrary JSON."
}
},
{
"name": "parseImage (multipart upload)",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "operations",
"value": "{\"query\": \"mutation ($file: Upload!) { parseImage(input: { businessSlug: \\\"your-business-slug\\\", facilitySlug: \\\"your-facility-slug\\\", file: $file, metadata: [{ key: \\\"label_id\\\", value: \\\"ABC123\\\" }] }) { readResults { name value confidence locations { x y } } requestId templateIds metadata { key value } } }\", \"variables\": { \"file\": null } }",
"type": "text",
"description": "GraphQL multipart request envelope"
},
{
"key": "map",
"value": "{\"0\": [\"variables.file\"]}",
"type": "text",
"description": "Maps the file field to the GraphQL variable"
},
{
"key": "0",
"type": "file",
"src": [],
"description": "The image file to parse (JPEG, PNG, etc.)"
}
]
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "Parses an image using Kargo templates via multipart/form-data upload (GraphQL multipart request spec).\n\nThe `Authorization: Bearer <token>` header is inherited from the collection.\n\nSelect the image file in the `0` form field. Adjust `businessSlug`, `facilitySlug`, and `metadata` in the `operations` field.\n\nEquivalent curl:\n```\ncurl https://api.kargo.zone/public_graphql \\\n -F operations='{\"query\": \"mutation ($file: Upload!) {parseImage(input:{businessSlug:\\\"<slug>\\\",facilitySlug:\\\"<slug>\\\",file:$file,metadata:[{key:\\\"id1\\\",value:\\\"abc\\\"}]}){readResults{name value confidence}}}\", \"variables\": {\"file\": null}}' \\\n -F map='{\"0\": [\"variables.file\"]}' \\\n -F 0=@image.jpg \\\n --header \"authorization: Bearer YOUR_TOKEN\"\n```"
}
}
]
},
{
"name": "Subscriptions",
"description": "WebSocket subscriptions — not directly executable in Postman's REST mode. Use Postman's WebSocket client or a GraphQL client that supports graphql-ws protocol at wss://api.kargo.zone/public_graphql.",
"item": [
{
"name": "pushMessage subscription (reference)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"query\": \"subscription PushMessageSubscription($filter: PushMessageSubscriptionFilter!) {\\n pushMessage(filter: $filter) {\\n id\\n messageType\\n message\\n sentAt\\n facilitySlug\\n businessSlug\\n }\\n}\",\n \"variables\": {\n \"filter\": {\n \"businessSlug\": \"your-business-slug\",\n \"facilitySlug\": null\n }\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}",
"host": ["{{base_url}}"]
},
"description": "⚠️ Reference only — subscriptions require a WebSocket connection using the graphql-ws protocol.\n\nConnect to: wss://api.kargo.zone/public_graphql\n\nThis subscription receives real-time Kargo Push messages (PALLET_EVENT, SHIPMENT_COMPLETE). It's an alternative to the webhook-based approach. Use `facilitySlug: null` to receive messages for all facilities under the business."
}
}
]
}
]
}