Kuehne+Nagel ShipmentEventIntegration API

Validates and accepts incoming shipment event entries from third parties. Inbound only; the specification names a third-party application as the intended publisher.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/shipment-event-integration"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kuehne-nagel-shipment-event-integration-v1-openapi.json Raw ↑
{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "ShipmentEventIntegration",
    "description" : "This API allows to get, view and validate incoming events for shipments from the 3rd parties (raft.ai app).",
    "termsOfService" : "https://api-guidelines.int.kn/restful-api-guidelines/current/index.html",
    "contact" : {
      "name" : "Team Pegasus",
      "url" : "https://home.kuehne-nagel.com/en/service-request-api",
      "email" : "TLL-FYIT-PEGASUS@kuehne-nagel.com"
    },
    "version" : "v1",
    "x-project-id" : "Public Event Entry service API",
    "x-api-id" : "8f77e208-8906-4227-8dd9-57a0b0048b53",
    "x-api-guideline-version" : "1.9.4",
    "x-api-version" : "1.0.1"
  },
  "servers" : [ {
    "url" : "https://internal.api.kuehne-nagel.com/integration/event/shipment/event-integration/v1"
  } ],
  "security" : [ {
    "default" : [ ]
  }, {
    "api_key" : [ ]
  } ],
  "tags" : [ {
    "name" : "Post event",
    "description" : "Post event description"
  } ],
  "paths" : {
    "/shipments/events/entries" : {
      "post" : {
        "tags" : [ "Post event" ],
        "summary" : "Validate external event entry message for shipment",
        "description" : "This API operation is to validate incoming event entry for shipment from 3rd parties. The request must be in JSON format and include a filled in form.",
        "operationId" : "ShipmentsEntries",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PostEventRequest"
              },
              "examples" : {
                "example1" : {
                  "$ref" : "#/components/examples/shipment-event-entries-request-post-event-success"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Event successfully created."
          },
          "default" : {
            "description" : "error occurred - see status code and problem object for more information.",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Problem"
                },
                "examples" : {
                  "example1" : {
                    "$ref" : "#/components/examples/shipment-event-entries-response-400-bad-request-1"
                  },
                  "example5" : {
                    "$ref" : "#/components/examples/shipment-event-entries-response-400-business-rule-violation"
                  },
                  "example6" : {
                    "$ref" : "#/components/examples/shipment-event-entries-response-401-unauthorized"
                  },
                  "example7" : {
                    "$ref" : "#/components/examples/shipment-event-entries-response-404-not-found"
                  },
                  "example8" : {
                    "$ref" : "#/components/examples/shipment-event-entries-response-415-unsupported-media"
                  },
                  "example9" : {
                    "$ref" : "#/components/examples/shipment-event-entries-response-503-service-unavailable"
                  },
                  "example10" : {
                    "$ref" : "#/components/examples/shipment-event-entries-response-500-internal-server-error"
                  }
                }
              }
            }
          }
        },
        "security" : [ {
          "default" : [ ]
        }, {
          "api_key" : [ ]
        } ],
        "x-throttling-tier" : "50KPerMin",
        "x-auth-type" : "Application & Application User"
      }
    }
  },
  "components" : {
    "schemas" : {
      "ProblemDetail" : {
        "type" : "object",
        "properties" : {
          "title" : {
            "maxLength" : 128,
            "type" : "string",
            "description" : "A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.\n",
            "example" : "The requested container is not available."
          },
          "detail" : {
            "maxLength" : 256,
            "type" : "string",
            "description" : "A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed.\n",
            "example" : "The requested container is already in use during the requested period."
          }
        }
      },
      "Problem" : {
        "required" : [ "code", "detail", "timestamp", "title" ],
        "type" : "object",
        "properties" : {
          "code" : {
            "maxLength" : 6,
            "type" : "string",
            "description" : "Error code identifying the issue.",
            "example" : "ERR001"
          },
          "title" : {
            "maxLength" : 128,
            "type" : "string",
            "description" : "A short summary of the problem type. Written in English and readable for engineers, usually not suited for non technical stakeholders and not localized.\n",
            "example" : "The requested container is not available."
          },
          "status" : {
            "maximum" : 600,
            "exclusiveMaximum" : true,
            "minimum" : 100,
            "type" : "integer",
            "description" : "The HTTP status code generated by the origin server for this occurrence of the problem.\n",
            "format" : "int32",
            "example" : 409
          },
          "detail" : {
            "maxLength" : 256,
            "type" : "string",
            "description" : "A human readable explanation specific to this occurrence of the problem that is helpful to locate the problem and give advice on how to proceed.\n",
            "example" : "The requested container is already in use during the requested period."
          },
          "instance" : {
            "type" : "string",
            "description" : "A URI reference that identifies the specific occurrence of the problem.",
            "format" : "uri-reference",
            "example" : "/shipments/events/entries"
          },
          "timestamp" : {
            "type" : "integer",
            "description" : "The Unix Epoch time in milliseconds at which the event described  by the error occurred.\n",
            "format" : "bigint",
            "example" : 1714648020821
          },
          "details" : {
            "maxItems" : 100,
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProblemDetail"
            }
          }
        }
      },
      "PostEventRequest" : {
        "required" : [ "customerCode", "eventCode", "eventDate", "eventTimezone", "reasonCode", "responsibleParty", "shipmentNumber" ],
        "type" : "object",
        "properties" : {
          "insertUser" : {
            "maxLength" : 50,
            "minLength" : 1,
            "type" : "string",
            "description" : "User that is inserting the event"
          },
          "customerCode" : {
            "maxLength" : 7,
            "minLength" : 7,
            "type" : "string",
            "description" : "Customer code"
          },
          "modeOfTransport" : {
            "maxLength" : 10,
            "type" : "string",
            "description" : "Mode of transport",
            "x-extensible-enum" : [ "AIR", "SEA", "ROAD", "PARCEL", "CEP", "RAIL" ]
          },
          "movementType" : {
            "maxLength" : 10,
            "type" : "string",
            "description" : "Movement Type",
            "x-extensible-enum" : [ "D2D", "P2D", "D2P", "P2P", "H2D", "D2H", "H2P", "P2H", "H2H", "INVALID" ]
          },
          "shipmentNumber" : {
            "maxLength" : 128,
            "type" : "string",
            "description" : "Shipment number"
          },
          "eventCode" : {
            "maxLength" : 4,
            "minLength" : 4,
            "type" : "string",
            "description" : "Event code"
          },
          "eventDate" : {
            "type" : "string",
            "description" : "Event Time",
            "format" : "datetime"
          },
          "eventTimezone" : {
            "maxLength" : 101,
            "type" : "string",
            "description" : "Local timezone of Event"
          },
          "locationCode" : {
            "maxLength" : 101,
            "type" : "string",
            "description" : "Location code for event"
          },
          "shipmentStop" : {
            "maxLength" : 101,
            "type" : "string",
            "description" : "Stop number for shipment location"
          },
          "reasonCode" : {
            "maxLength" : 4,
            "minLength" : 4,
            "type" : "string",
            "description" : "Reason code for event"
          },
          "reasonNote" : {
            "maxLength" : 101,
            "type" : "string",
            "description" : "Free text for reason note"
          },
          "eventNote" : {
            "maxLength" : 101,
            "type" : "string",
            "description" : "Free text for Event note"
          },
          "responsibleParty" : {
            "maxLength" : 40,
            "type" : "string",
            "description" : "Responsible party"
          },
          "additions" : {
            "maxItems" : 100,
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Addition"
            }
          }
        },
        "description" : "Event entry message for shipment as sent in the request."
      },
      "Addition" : {
        "required" : [ "qualifier", "type", "values" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "maxLength" : 100,
            "type" : "string",
            "description" : "Addition Type"
          },
          "qualifier" : {
            "required" : [ "code" ],
            "type" : "object",
            "properties" : {
              "code" : {
                "maxLength" : 100,
                "type" : "string"
              }
            }
          },
          "values" : {
            "maxItems" : 100,
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "maxLength" : 100,
              "type" : "string"
            }
          }
        },
        "description" : "An auxiliary business information, not represented by a dedicated field that can be added to any BO"
      }
    },
    "examples" : {
      "shipment-event-entries-response-400-bad-request-1" : {
        "summary" : "Bad Request",
        "value" : {
          "code" : "ERR003",
          "title" : "Bad Request",
          "status" : 400,
          "detail" : "The request is not valid. Please check for missing or invalid values.",
          "instance" : "/shipments/events/entries",
          "timestamp" : 1714648020821,
          "details" : [ {
            "title" : "Missing Parameter",
            "detail" : "'<fieldName>' is missing!"
          }, {
            "title" : "Invalid Parameter",
            "detail" : "'<fieldName>' is invalid! <details of validation>"
          } ]
        }
      },
      "shipment-event-entries-response-400-business-rule-violation" : {
        "summary" : "Business rule violation",
        "value" : {
          "code" : "ERR004",
          "title" : "Business rule violation",
          "status" : 400,
          "detail" : "Shipment number for this customer code not found!",
          "instance" : "/shipments/events/entries",
          "timestamp" : 1714648020821
        }
      },
      "shipment-event-entries-response-401-unauthorized" : {
        "summary" : "Unauthorized",
        "value" : {
          "code" : "ERR001",
          "title" : "Unauthorized",
          "status" : 401,
          "detail" : "User is not authenticated.",
          "instance" : "/shipments/events/entries",
          "timestamp" : 1714648020821
        }
      },
      "shipment-event-entries-response-404-not-found" : {
        "summary" : "Not found",
        "value" : {
          "code" : "ERR007",
          "title" : "Not Found",
          "status" : 404,
          "detail" : "Requested resource not found.",
          "instance" : "/shipments/events/entries",
          "timestamp" : 1714648020821
        }
      },
      "shipment-event-entries-response-415-unsupported-media" : {
        "summary" : "Unsupported media type",
        "value" : {
          "code" : "ERR002",
          "title" : "Unsupported media type",
          "status" : 415,
          "detail" : "Unsupported content type (Content type must be 'application/json)",
          "instance" : "/shipments/events/entries",
          "timestamp" : 1714648020821
        }
      },
      "shipment-event-entries-response-503-service-unavailable" : {
        "summary" : "Service Temporarily Unavailable",
        "value" : {
          "code" : "ERR005",
          "title" : "Service Temporarily Unavailable",
          "status" : 503,
          "detail" : "Service temporarily unavailable.",
          "instance" : "/shipments/events/entries",
          "timestamp" : 1714648020821
        }
      },
      "shipment-event-entries-response-500-internal-server-error" : {
        "summary" : "Internal Server Error",
        "value" : {
          "code" : "ERR006",
          "title" : "Internal Server Error",
          "status" : 500,
          "detail" : "An un-expected error occurred.",
          "instance" : "/shipments/events/entries",
          "timestamp" : 1714648020821
        }
      },
      "shipment-event-entries-request-post-event-success" : {
        "summary" : "Successful Request",
        "value" : {
          "insertUser" : "john.doe",
          "customerCode" : "CHSGI42",
          "modeOfTransport" : "ROAD",
          "movementType" : "D2D",
          "shipmentNumber" : "AI23000917",
          "eventCode" : "0500",
          "eventDate" : "2019-07-30T06:43:40.252Z",
          "eventTimezone" : "Europe/Amsterdam",
          "locationCode" : "NL_3274_KM_HDW_0000217626_544380_033",
          "shipmentStop" : "0",
          "reasonCode" : "1005",
          "reasonNote" : "FreeTextForReasonNote",
          "eventNote" : "FreeTextForEventNote",
          "responsibleParty" : "CARRIER",
          "additions" : [ {
            "type" : "references",
            "qualifier" : {
              "code" : "TID"
            },
            "values" : [ "4503054933", "7890605" ]
          } ]
        }
      }
    },
    "securitySchemes" : {
      "default" : {
        "type" : "oauth2",
        "flows" : {
          "implicit" : {
            "authorizationUrl" : "https://internal.api.kuehne-nagel.com/authorize",
            "scopes" : { }
          }
        }
      },
      "api_key" : {
        "type" : "apiKey",
        "name" : "apikey",
        "in" : "header"
      }
    }
  }
}