{"items":[{"type":"link","label":"GLS/NXT OOH Platform Integration REST API","link":"/openapi-carrier-integration-api","routeSlug":"/openapi-carrier-integration-api","content":{"contentType":"overview","meta":{"name":"GLS/NXT OOH Platform Integration REST API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"openapi-carrier-integration-api.json","url":"/_bundle/openapi-carrier-integration-api.json?download"},{"kind":"download","label":"openapi-carrier-integration-api.yaml","url":"/_bundle/openapi-carrier-integration-api.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://www.glsnxt.com/","url":"https://www.glsnxt.com/"},{"kind":"email","title":"GLS/NXT","email":"api-support@glsnxt.com","label":"api-support@glsnxt.com","withCopyButton":true,"copyContent":"api-support@glsnxt.com"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"GLS/NXT OOH Platform Integration REST API (1.5.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GLS/NXT OOH Platform Integration API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is designed to optimize "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"first-mile and last-mile logistics operations"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" by providing comprehensive management of lockers, parcels, and carrier settings."},"children":[]}]}]}]}],"sectionId":"/openapi-carrier-integration-api"}],"sectionId":"/openapi-carrier-integration-api"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/key-capabilities"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🚀 Key Capabilities"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"📦 Locker Management"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Create, update, and retrieve locker information with detailed location and compartment data"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"📋 Parcel Operations"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Handle delivery and return operations with real-time booking and status tracking"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"📡 Real-time Updates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Webhook-based event notifications for immediate status awareness"},"children":[]}]}]}]}]}],"sectionId":"/openapi-carrier-integration-api/section/key-capabilities"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/event-driven-architecture"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🔄 Event-Driven Architecture"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The API extends traditional REST capabilities with "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"event-based data exchange"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" built on top of webhooks and "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"traceable session management"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for couriers and end-users locker interactions."},"children":[]}]}]}]}],"sectionId":"/openapi-carrier-integration-api/section/event-driven-architecture"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/security-and-reliability"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🛡️ Security & Reliability"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Robust authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and error handling mechanisms"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Secure and reliable"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" interactions with comprehensive validation"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Real-time status updates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" via webhooks for enhanced operational efficiency"},"children":[]}]}]}]}]}],"sectionId":"/openapi-carrier-integration-api/section/security-and-reliability"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/business-value"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🎯 Business Value"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By leveraging these features, carriers can "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"streamline their APM logistics integration processes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and quickly provide a more "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"flexible and convenient service"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for their customers."},"children":[]}]}]}]}],"sectionId":"/openapi-carrier-integration-api/section/business-value"}]}]}},{"type":"link","label":"🚀 Key Capabilities","link":"/openapi-carrier-integration-api/section/key-capabilities","routeSlug":"/openapi-carrier-integration-api/section/key-capabilities","content":null},{"type":"link","label":"🔄 Event-Driven Architecture","link":"/openapi-carrier-integration-api/section/event-driven-architecture","routeSlug":"/openapi-carrier-integration-api/section/event-driven-architecture","content":null},{"type":"link","label":"🛡️ Security & Reliability","link":"/openapi-carrier-integration-api/section/security-and-reliability","routeSlug":"/openapi-carrier-integration-api/section/security-and-reliability","content":null},{"type":"link","label":"🎯 Business Value","link":"/openapi-carrier-integration-api/section/business-value","routeSlug":"/openapi-carrier-integration-api/section/business-value","content":null},{"type":"separator","label":"Introduction","content":null},{"type":"group","label":"Concepts","link":"/openapi-carrier-integration-api/concepts","routeSlug":"/openapi-carrier-integration-api/concepts","items":[],"content":{"contentType":"group","meta":{"name":"Concepts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Concepts","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In this API, some terms are used in specific ways to facilitate understanding and usage. This section clarifies the meanings of these terms."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": A locker represents a location equipped with electronically controlled storage compartments, used by carriers for optimized first-mile and last-mile logistics operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Module"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Some lockers can be divided into multiple modules, typically done to increase the storage capacity of a locker."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compartment"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Each module features multiple compartments, which come in different sizes."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": A package that is delivered in and collected from a compartment."},"children":[]}]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/concepts"}],"panels":[]}]}},{"type":"group","label":"Main Features","link":"/openapi-carrier-integration-api/main-features","routeSlug":"/openapi-carrier-integration-api/main-features","items":[{"type":"link","label":"🚚 Operations Overview","link":"/openapi-carrier-integration-api/main-features/operations-overview","routeSlug":"/openapi-carrier-integration-api/main-features/operations-overview","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"🚚 Operations Overview"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"main-features/operations-overview"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🚚 Operations Overview"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The API supports two main operations for parcel handling:"},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"📦 Delivery Operations","link":"/openapi-carrier-integration-api/main-features/delivery-operations","routeSlug":"/openapi-carrier-integration-api/main-features/delivery-operations","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"📦 Delivery Operations"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"main-features/delivery-operations"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"📦 Delivery Operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Purpose"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Deliver parcels to lockers for consignee pickup"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use Case"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Ideal for "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last-mile deliveries"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Benefit"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Provides consignees with flexible and convenient delivery options"},"children":[]}]}]}]}]}],"panels":[]}]}},{"type":"link","label":"🔄 Return Operations","link":"/openapi-carrier-integration-api/main-features/return-operations","routeSlug":"/openapi-carrier-integration-api/main-features/return-operations","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"🔄 Return Operations"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"main-features/return-operations"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🔄 Return Operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Purpose"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Enable customers to return parcels and ship new ones using lockers"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use Case"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Supports "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"first-mile returns"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Benefit"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Allows customers to drop off items at designated lockers"},"children":[]}]}]}]}]}],"panels":[]}]}},{"type":"link","label":"🏪 Locker Management","link":"/openapi-carrier-integration-api/main-features/locker-management","routeSlug":"/openapi-carrier-integration-api/main-features/locker-management","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"🏪 Locker Management"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"main-features/locker-management"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🏪 Locker Management"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Comprehensive capabilities for managing lockers:"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operation"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Description"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set up new lockers with location, size, and feature details"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieval"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fetch locker information including status and contained parcels"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Modify locker details for status, location, or configuration changes"},"children":[]}]}]}]}]}]}]}],"panels":[]}]}},{"type":"link","label":"📋 Parcel Management","link":"/openapi-carrier-integration-api/main-features/parcel-management","routeSlug":"/openapi-carrier-integration-api/main-features/parcel-management","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"📋 Parcel Management"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"main-features/parcel-management"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"📋 Parcel Management"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The API provides three core parcel operations:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"📤 Parcel Data Upload"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Publish carrier parcel data to trigger locker bookings or pre-checks"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"📖 Get Parcel Information"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Access real-time parcel data including status and event history"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"❌ Cancel Parcels"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Cancel undelivered parcels to free up locker capacity"},"children":[]}]}]}]}]}],"panels":[]}]}},{"type":"link","label":"🔐 Authentication & Security","link":"/openapi-carrier-integration-api/main-features/authentication-and-security","routeSlug":"/openapi-carrier-integration-api/main-features/authentication-and-security","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"🔐 Authentication & Security"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"main-features/authentication-and-security"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"🔐 Authentication & Security"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Method"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Purpose"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ApiKeyAuth"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"General API access"},"children":[]}]}]}]}]}]}]}],"panels":[]}]}},{"type":"link","label":"⚠️ Error Handling","link":"/openapi-carrier-integration-api/main-features/error-handling","routeSlug":"/openapi-carrier-integration-api/main-features/error-handling","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"⚠️ Error Handling"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"main-features/error-handling"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Error Handling"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard HTTP status codes with detailed error messages:"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Code"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Description"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OK"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request successful"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad Request"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Malformed or invalid request"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication failed or missing"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requested resource not found"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal Server Error"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unexpected server error"},"children":[]}]}]}]}]}]}]}],"panels":[]}]}}],"content":{"contentType":"group","meta":{"name":"Main Features"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Main Features","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GLS/NXT OOH Platform Integration API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enables carriers to seamlessly integrate with the OOH Platform, facilitating quick and scalable adoption of lockers in their operational workflows."},"children":[]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/main-features"}],"panels":[]}]}},{"type":"group","label":"Flow Diagrams","link":"/openapi-carrier-integration-api/flow-diagrams","routeSlug":"/openapi-carrier-integration-api/flow-diagrams","items":[{"type":"link","label":"Parcel Booking Flow","link":"/openapi-carrier-integration-api/flow-diagrams/parcel-booking-flow","routeSlug":"/openapi-carrier-integration-api/flow-diagrams/parcel-booking-flow","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Parcel Booking Flow"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"flow-diagrams/parcel-booking-flow"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel Booking Flow"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"script","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"window.addEventListener(\"message\", function(e) {var i = e.data.split(\":\")[1];var h = e.data.split(\":\")[2];if (e.data.split(\":\")[0] == \"swimlanes-io\" && i && h) {document.getElementById(\"__sw-io-\" + i).setAttribute(\"style\",\"height:\" + h + \"px\");}}, false);"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"div","attrs":{"id":"__sw-io-tVXm8"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"iframe","attrs":{"style":{"border":"none","width":"100%","height":"100%"},"scrolling":"no","src":"https://cdn.swimlanes.io/dist/embeded.html#tVXfb9s2EH7XX3HwXjatkhXPAzY9FHNtr3OTJUHjogWCwGbEk8VFIgWSjuMN+d93FCVbddNhGLAHCxLvu+9+fTxbYUtM4ZrpDEuYYSkeUe+DIFilEIZnMVxrjLICswe4VbUVSrLyLgyDKdNaoIboNby9uBleflp2JNHkekG+w7r5MkPOLAthff1+vpr+Np+er4NAKotpsCwQLP16JhCGojIJV22oMARjsQarwCchcmDgqSEj4D2CRoP6ETkISTAGpsZM5CKDUmUPqGNivFQtijlaIqU4XEmEnbBFP4E4COZPrKpLhK1hG+rMxwJlF5C8Mo3MIn8F91tLqYmypIg57oCzvQG2UZBrVVFaQm6A+3Y6+GmhO+dZYFmD4CityPeuNIdqY0lEblzdTYVcaMwobgxT1wYDNepc6YqqZhohrNiTqLYVGPEnhsAkh0dWCi7sHlTeUXK0TJQGzDYrgJm2P7CYUdUiT3ujvjoP2qm6AbezTmGUJHCoYUUglPzUNacQyF90H5/91HP/dbK4mM88RSO2UQxvlHqgxv0Xfb25ujpfXL5dt+IiENxqzKn7MsO7bwtra5MOh1xlJt6URj7ZOFOV+x5mPlZE+sGNbiQSsVoMFTW5+Tq+RfX2vhSm8MFd6O+CYL1eB38FAAN8pFEu9zUOUhi0CQ1eOYtv9QfBncWoCi8OB429TcFXuDigpifHHqukERvSB6FcWDqSrGpivlOFhJnCBugSqmgazvAHGWKu8Bf06na1Dwjz3DByUSFxEu+RkmNtC/ocj1quAsWmsP2TneAt5MC0O4KC56YxXxUSySeI45gC5sxEphZSon6GidnLDJpOgqLLAzvE+4J08T8Pduej+MFuaxotmm/+2RzRTqmpaWj6IjCFqKmdth02k/tufGejH15QAwG8GHqAF+RAsBM1nKI7Fof272fe3mXUKfNicrNc/U6373PzjWV26xQwmL6fT5bzmTezLENjpopjTx0HDU5VWdJmohY5R2o8dcg6tsnBzeV5uB2O47bh8Ex0bkl9xpIsHcMoGY2j5McoGS+Tn9PxKE2S75OEnq2kv3LLVl3KDeiZnned/tx6avdKt73dBqTs8m1Z7o/67Au0/T/86KeeHtZLF2d9XH2fcVMfvtiA/4rXb8OG9m8=#tVXm8"}},"children":[]}]}]}],"panels":[]}]}},{"type":"link","label":"Parcel Cancel Flow","link":"/openapi-carrier-integration-api/flow-diagrams/parcel-cancel-flow","routeSlug":"/openapi-carrier-integration-api/flow-diagrams/parcel-cancel-flow","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Parcel Cancel Flow"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"flow-diagrams/parcel-cancel-flow"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel Cancel Flow"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"script","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"window.addEventListener(\"message\", function(e) {var i = e.data.split(\":\")[1];var h = e.data.split(\":\")[2];if (e.data.split(\":\")[0] == \"swimlanes-io\" && i && h) {document.getElementById(\"__sw-io-\" + i).setAttribute(\"style\",\"height:\" + h + \"px\");}}, false);"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"div","attrs":{"id":"__sw-io-dY9Q"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"iframe","attrs":{"style":{"border":"none","width":"100%","height":"100%"},"scrolling":"no","src":"https://cdn.swimlanes.io/dist/embeded.html#dY9BawJBDIXv8ytyFrerpQeZgyCLFbG0Qi30Ou5mNXRMlsxQWMT/7rjdpQjtKQnJe9/LjqJHC1unJXooHKdiTOFUCRWyOaxe3vPXz91wki22awujvOmmkJedIj+HIzUn5PhB1WVkDNW2N4O3jWGJaM1ioFTo6Ru1hSQGYd/CHuHHCKvU16L4e0QcBeIRwUv5hfpg+kS3cH1OC4+TyQ2EXN2xnx35MODrmD76z3bcB3CRhIECsKQNH5KkkRBo7/Fv8tN0BktV0Q5+BQ==#dY9Q"}},"children":[]}]}]}],"panels":[]}]}},{"type":"link","label":"Courier Collection/Delivery Flow","link":"/openapi-carrier-integration-api/flow-diagrams/courier-collectiondelivery-flow","routeSlug":"/openapi-carrier-integration-api/flow-diagrams/courier-collectiondelivery-flow","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Courier Collection/Delivery Flow"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"flow-diagrams/courier-collectiondelivery-flow"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Courier Collection/Delivery Flow"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"script","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"window.addEventListener(\"message\", function(e) {var i = e.data.split(\":\")[1];var h = e.data.split(\":\")[2];if (e.data.split(\":\")[0] == \"swimlanes-io\" && i && h) {document.getElementById(\"__sw-io-\" + i).setAttribute(\"style\",\"height:\" + h + \"px\");}}, false);"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"div","attrs":{"id":"__sw-io-zVXw"}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"iframe","attrs":{"style":{"border":"none","width":"100%","height":"100%"},"scrolling":"no","src":"https://cdn.swimlanes.io/dist/embeded.html#zVXdb9owEH/PX3HiMSqk2mMeJmUhW6PSgEK6dZomMMlRrLpxFptWCPG/9xwbiqZq7SY2jQc+Lue738dx1lwLDCGW65ZjCxesrgSvb01ECCw1l3UwRMEfsN14Xi01hl6x4gqWQj4Cfd5ijS0vQUtg9QaELO+ojt40SL8rYE0jOFK6bGEh9QrKQ93ueeVqg2ywZSasBuD7GTXyfdArprujL6QBr6mnKltEW2rB2lJWCPhjzRusHBR19nyY4DZSKb4QCI9cr+Rag7+nvmcJUVmiUiRAhcqHPoFAQm2TVMmos4k01A1F19gm3FNE32Otiae8o/4G91EmIaejbK3lPREomRCbgQf08jy+DOFakewHH6KmMfzw1pL1YtZ28f57+DSaBtlNEZJKLrsfTVISy5+MpwUEpHjg4AZOgmBrv1zzaud7nqtgirm6Ibw7P4fxpTM4R9WQwgb6RkhWEZRSrEmOAz5FChkLK6bZGah1uQKm9uYzK6AxQ3UCWQWUmRHnRRd2ozDw/pSeQ6ECfCDdyaz5tIjyIhnOf8Wxk/t5vAniA+OC0VCcDkc8Ho2SuEjH2exNkE7WeBLlcTKaTeMoy/5Z0yO2H9MsnV680hnryrrg/nNmQfwFE4bJKP2c5F//YwuORNjAkhTA6vT85zDHtpVtGI+vCFxxlWTF7EM+vkyy1206vRtvGpFTDufVZJS8Zr/hehjL/S4+3FRfcLGipf5c4LhCB+KFZLtL5/O5t6U93zus4F4IPaVbatE7Mw8cdHvtmFvn5wS3Pin8rbswtt27OWkhTLrn6XHhLmNH79+9XQeh4+YNBoMQtkum+qrhNV3cO4jUpi73d5QVzYpgq+6J0Vy+TN5mOc6hkfs6T5N85nZCMpwlN5M0N/If9HWH3OD/dmk3Sa7kEw==#zVXw"}},"children":[]}]}]}],"panels":[]}]}}],"content":{"contentType":"group","meta":{"name":"Flow Diagrams"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Flow Diagrams","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The main flow diagrams can be found here for implementation guidance:"},"children":[]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/flow-diagrams"}],"panels":[]}]}},{"type":"group","label":"Webhooks","link":"/openapi-carrier-integration-api/webhooks","routeSlug":"/openapi-carrier-integration-api/webhooks","items":[],"content":{"contentType":"group","meta":{"name":"Webhooks"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhooks","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhooks provide real-time updates on locker and parcel statuses by pushing notifications to specified URLs. This ensures Carriers stay informed about relevant events as they happen."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Webhook endpoints are designed to push updates about lockers, parcels, and other events to URLs provided by the Carrier. These endpoints include:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker Updates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Enables carriers to receive real-time updates about locker status and details."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel Updates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Allows carriers to receive notifications about changes in parcel status."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pickup Notifications"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Daily notifications about parcels that need to be picked up from lockers."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Real-time Updates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Push notifications for immediate awareness of changes."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Customizable URLs"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Configure URLs to receive specific event updates."},"children":[]}]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/webhooks"}],"panels":[]}]}},{"type":"group","label":"Authentication","link":"/openapi-carrier-integration-api/authentication","routeSlug":"/openapi-carrier-integration-api/authentication","items":[],"content":{"contentType":"group","meta":{"name":"Authentication"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Authentication","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the API Key provided by the GLS/NXT team to authorize requests. The API Key should be included in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header of each request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Example: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"'X-API-Key: <your-api-key>'"},"children":[]}]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"info"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In the near future, OAuth 2.0 authentication mechanisms will replace API Key Authorization."},"children":[]}]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/authentication"}],"panels":[]}]}},{"type":"group","label":"Shipment Statuses","link":"/openapi-carrier-integration-api/shipment-statuses","routeSlug":"/openapi-carrier-integration-api/shipment-statuses","items":[{"type":"link","label":"1. Booking","link":"/openapi-carrier-integration-api/shipment-statuses/1.-booking","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/1.-booking","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"1. Booking"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"shipment-statuses/1.-booking"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1. Booking"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These statuses represent the booking request and validation lifecycle, from submission through acceptance or rejection."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_PRE_CHECK","link":"/openapi-carrier-integration-api/shipment-statuses/booking_pre_check","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_pre_check","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_PRE_CHECK"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_pre_check"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_PRE_CHECK"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The carrier submitted a pre-check probe rather than a full booking request. The platform evaluated locker eligibility but "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"no compartment was reserved and no booking was created"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This status exists only to record the probe — it does not initiate a shipment lifecycle. To proceed, a full booking request must be submitted separately."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REQUESTED","link":"/openapi-carrier-integration-api/shipment-statuses/booking_requested","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_requested","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REQUESTED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_requested"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REQUESTED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The carrier has submitted a booking request. The platform has received it and processing has begun. This is the initial status for every new shipment."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_CREATED","link":"/openapi-carrier-integration-api/shipment-statuses/booking_created","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_created","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_CREATED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_created"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_CREATED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The booking was accepted and is now active. For "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"hard-reservation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lockers, a compartment is reserved immediately. For "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"soft-reservation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lockers, compartment assignment happens at the time of deposit."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_CANCELLATION_FAILED","link":"/openapi-carrier-integration-api/shipment-statuses/booking_cancellation_failed","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_cancellation_failed","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_CANCELLATION_FAILED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_cancellation_failed"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_CANCELLATION_FAILED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A cancellation request was submitted but could not be completed — for example, because the locker provider rejected it due to a missing compartment reference or a provider-side error. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The booking remains active."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Retry the cancellation. If failures persist, contact platform support."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_EXPIRED","link":"/openapi-carrier-integration-api/shipment-statuses/booking_expired","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_expired","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_EXPIRED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_expired"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_EXPIRED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The booking was never acted upon within the allowed window and has expired automatically. The compartment has been released. This typically occurs when the courier never attempted delivery and no explicit cancellation was made. Next event in the history should be BOOKING_CANCELLED."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_CANCELLED ✦ FINAL","link":"/openapi-carrier-integration-api/shipment-statuses/booking_cancelled-final","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_cancelled-final","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_CANCELLED ✦ FINAL"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_cancelled-final"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_CANCELLED ✦ FINAL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The booking was successfully cancelled. Any reserved compartment has been released. No further operations are possible on this shipment."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"panels":[]}]}},{"type":"link","label":"2. Booking Rejections","link":"/openapi-carrier-integration-api/shipment-statuses/2.-booking-rejections","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/2.-booking-rejections","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"2. Booking Rejections"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"shipment-statuses/2.-booking-rejections"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2. Booking Rejections"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The booking request was evaluated and rejected. Rejection statuses fall into two groups: "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-final"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" rejections allow the same shipment to be corrected and re-evaluated (returning to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_PRE_CHECK"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or proceeding to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_REQUESTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), while "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"final"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" rejections indicate a condition that cannot be resolved within the current booking flow — a new booking request must be submitted."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_DIMENSIONS_EXCEED","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_dimensions_exceed","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_dimensions_exceed","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_DIMENSIONS_EXCEED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_dimensions_exceed"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_DIMENSIONS_EXCEED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The parcel dimensions exceed the maximum compartment size available at this locker. No compartment can accommodate this parcel. This is a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-final"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status — verify the dimensions are in millimetres, correct the shipment data, and resubmit through pre-check or booking request."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_INVALID_CONSIGNEE","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_invalid_consignee","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_invalid_consignee","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_INVALID_CONSIGNEE"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_invalid_consignee"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_INVALID_CONSIGNEE"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The consignee data in the booking request is missing or invalid. This is a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-final"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status — verify that all required consignee fields (name, contact details) are correctly populated and resubmit through pre-check or booking request."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_INVALID_LOCKER","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_invalid_locker","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_invalid_locker","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_INVALID_LOCKER"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_invalid_locker"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_INVALID_LOCKER"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The requested locker is not valid — it may not exist on the platform, may have been deactivated, or may not be configured for use by this carrier. This is a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-final"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status — verify the locker ID and your carrier configuration, then resubmit through pre-check or booking request."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_LOCKER_UNAVAILABLE","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_locker_unavailable","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_locker_unavailable","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_LOCKER_UNAVAILABLE"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_locker_unavailable"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_LOCKER_UNAVAILABLE"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The locker exists and may have free compartments, but is not currently accepting bookings — for example, it has not been activated for this carrier, is temporarily offline, or has been suspended. This is distinct from the locker being full. This is a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-final"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status — check the locker's activation status in your carrier portal and resubmit through pre-check or booking request."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_NO_ACCESSIBLE_COMPARTMENT","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_no_accessible_compartment","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_no_accessible_compartment","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_NO_ACCESSIBLE_COMPARTMENT"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_no_accessible_compartment"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_NO_ACCESSIBLE_COMPARTMENT"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No compartment meeting accessibility requirements is available at this locker. This applies when the booking includes constraints such as maximum height or reach requirements for the consignee. This is a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-final"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status — the shipment can be resubmitted through pre-check or booking request with a different locker or updated constraints."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_LOCKER_IS_FULL ✦ FINAL","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_locker_is_full-final","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_locker_is_full-final","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_LOCKER_IS_FULL ✦ FINAL"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_locker_is_full-final"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_LOCKER_IS_FULL ✦ FINAL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All compartments at the locker are currently occupied. No capacity is available for new bookings. Try a different locker, or submit a new booking later once capacity is freed."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_NO_FREE_FITTING_COMPARTMENT ✦ FINAL","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_no_free_fitting_compartment-final","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_no_free_fitting_compartment-final","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_NO_FREE_FITTING_COMPARTMENT ✦ FINAL"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_no_free_fitting_compartment-final"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_NO_FREE_FITTING_COMPARTMENT ✦ FINAL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The locker has general capacity, but no compartment of a suitable size for this parcel's dimensions is currently free. Note that smaller or larger compartments may be available — this rejection is size-specific, not a full-capacity state. Verify dimensions are submitted in millimetres and accurately reflect the parcel. Submit a new booking later when an appropriately sized compartment becomes available."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"BOOKING_REJECTED_PROVIDER_ERROR ✦ FINAL","link":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_provider_error-final","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/booking_rejected_provider_error-final","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"BOOKING_REJECTED_PROVIDER_ERROR ✦ FINAL"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/booking_rejected_provider_error-final"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"BOOKING_REJECTED_PROVIDER_ERROR ✦ FINAL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The booking was rejected due to an error on the locker provider's side (e.g. provider API unavailable, circuit breaker open after repeated failures). This is a transient condition — the platform processed the request correctly. Submit a new booking after a short delay. If rejections continue, the provider may be experiencing an outage."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"panels":[]}]}},{"type":"link","label":"3. Delivery to Locker","link":"/openapi-carrier-integration-api/shipment-statuses/3.-delivery-to-locker","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/3.-delivery-to-locker","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"3. Delivery to Locker"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"shipment-statuses/3.-delivery-to-locker"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"3. Delivery to Locker"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These statuses cover the phase where a courier deposits a parcel into the locker (last-mile), or a consignee drops off a return or first-mile parcel."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COURIER_DELIVERED","link":"/openapi-carrier-integration-api/shipment-statuses/courier_delivered","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/courier_delivered","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COURIER_DELIVERED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/courier_delivered"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The courier successfully deposited the parcel in the locker. The compartment is now occupied and secured. For last-mile shipments, the consignee has been notified and their collection code is now active. The parcel is awaiting consignee collection."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"CONSIGNEE_DELIVERED","link":"/openapi-carrier-integration-api/shipment-statuses/consignee_delivered","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/consignee_delivered","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"CONSIGNEE_DELIVERED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/consignee_delivered"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CONSIGNEE_DELIVERED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(First-mile shipments only) The consignee has deposited a first-mile parcel in the locker. The parcel is now awaiting courier collection."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COURIER_DELIVERY_LABEL_SCANNED (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/courier_delivery_label_scanned-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/courier_delivery_label_scanned-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COURIER_DELIVERY_LABEL_SCANNED (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/courier_delivery_label_scanned-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COURIER_DELIVERY_LABEL_SCANNED (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The courier scanned the parcel label at the locker touchscreen. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This does not confirm that the parcel was deposited."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" A deposit is confirmed only upon receipt of COURIER_DELIVERED. If the process is interrupted after the label scan — for example due to a locker error or the courier abandoning the session — the booking may eventually expire without a successful deposit."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"DELIVERY_COMPARTMENT_BROKEN (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/delivery_compartment_broken-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/delivery_compartment_broken-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"DELIVERY_COMPARTMENT_BROKEN (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/delivery_compartment_broken-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELIVERY_COMPARTMENT_BROKEN (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The compartment assigned to this shipment was found to be broken or malfunctioning during the delivery attempt. The courier was unable to deposit the parcel. Escalate to the locker provider for hardware inspection and repair. A new booking may be required."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"DELIVERY_COMPARTMENT_OCCUPIED (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/delivery_compartment_occupied-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/delivery_compartment_occupied-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"DELIVERY_COMPARTMENT_OCCUPIED (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/delivery_compartment_occupied-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELIVERY_COMPARTMENT_OCCUPIED (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The compartment assigned to this booking was unexpectedly found to be already occupied when the courier attempted delivery. The deposit could not proceed. Escalate to the locker provider to investigate the compartment state."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"DELIVERY_NOT_POSSIBLE (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/delivery_not_possible-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/delivery_not_possible-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"DELIVERY_NOT_POSSIBLE (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/delivery_not_possible-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELIVERY_NOT_POSSIBLE (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The delivery could not be completed for a reason not covered by a more specific status (e.g. general locker error, door failure during deposit). Check provider-side logs. A new booking may be required once the issue is resolved."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"DELIVERY_PARCEL_TOO_BIG (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/delivery_parcel_too_big-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/delivery_parcel_too_big-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"DELIVERY_PARCEL_TOO_BIG (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/delivery_parcel_too_big-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELIVERY_PARCEL_TOO_BIG (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The parcel does not physically fit in the assigned compartment at the time of deposit — confirmed by the courier report. This can occur when dimensions were submitted in centimetres rather than millimetres (causing the parcel to pass eligibility but fail at the locker), or when the actual parcel size differs from the declared dimensions. Verify the declared dimensions are accurate and in millimetres before resubmitting."},"children":[]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]}]}],"panels":[]}]}},{"type":"link","label":"4. Collection from Locker","link":"/openapi-carrier-integration-api/shipment-statuses/4.-collection-from-locker","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/4.-collection-from-locker","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"4. Collection from Locker"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"shipment-statuses/4.-collection-from-locker"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"4. Collection from Locker"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These statuses cover the phase where a parcel is collected — by the consignee (last-mile), or by a courier (first-mile, or last-mile retrieval after the consignee window has closed)."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"CONSIGNEE_COLLECTED ✦ FINAL","link":"/openapi-carrier-integration-api/shipment-statuses/consignee_collected-final","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/consignee_collected-final","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"CONSIGNEE_COLLECTED ✦ FINAL"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/consignee_collected-final"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CONSIGNEE_COLLECTED ✦ FINAL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The consignee successfully collected the parcel from the locker using their access code. The compartment has been released. Shipment complete."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"CONSIGNEE_COLLECTION_EXPIRED","link":"/openapi-carrier-integration-api/shipment-statuses/consignee_collection_expired","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/consignee_collection_expired","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"CONSIGNEE_COLLECTION_EXPIRED"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/consignee_collection_expired"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CONSIGNEE_COLLECTION_EXPIRED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The consignee did not collect the parcel within the allowed collection window. The parcel remains physically in the locker and the consignee's access code is still valid. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is not a final state"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — if a courier retrieves the parcel, the shipment will transition to COURIER_COLLECTED_EXPIRED; if the consignee collects the parcel before the courier retrieves it, the shipment will transition to CONSIGNEE_COLLECTED."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COURIER_COLLECTED ✦ FINAL","link":"/openapi-carrier-integration-api/shipment-statuses/courier_collected-final","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/courier_collected-final","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COURIER_COLLECTED ✦ FINAL"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/courier_collected-final"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COURIER_COLLECTED ✦ FINAL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(First-mile shipments) The courier successfully collected the first-mile parcel deposited by the consignee. The compartment has been released. Shipment complete."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COURIER_COLLECTED_EXPIRED ✦ FINAL","link":"/openapi-carrier-integration-api/shipment-statuses/courier_collected_expired-final","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/courier_collected_expired-final","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COURIER_COLLECTED_EXPIRED ✦ FINAL"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/courier_collected_expired-final"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COURIER_COLLECTED_EXPIRED ✦ FINAL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The consignee did not collect within the collection window, and a courier has since retrieved the parcel from the locker. This is the terminal state for last-mile shipments that exceeded the consignee collection window."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COURIER_COLLECTION_LABEL_SCANNED (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/courier_collection_label_scanned-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/courier_collection_label_scanned-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COURIER_COLLECTION_LABEL_SCANNED (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/courier_collection_label_scanned-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COURIER_COLLECTION_LABEL_SCANNED (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The courier scanned the label at the locker as part of the collection process. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This does not confirm the parcel has been physically removed."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Collection is confirmed only upon receipt of COURIER_COLLECTED or COURIER_COLLECTED_EXPIRED."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COURIER_COLLECTION_LABEL_NOT_AVAILABLE (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/courier_collection_label_not_available-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/courier_collection_label_not_available-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COURIER_COLLECTION_LABEL_NOT_AVAILABLE (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/courier_collection_label_not_available-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COURIER_COLLECTION_LABEL_NOT_AVAILABLE (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The courier attempted to initiate collection but the required label or access information could not be retrieved at the time of the attempt. This may indicate a data synchronisation issue. Contact platform support with the shipment reference and the timestamp of the attempt."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COLLECTION_COMPARTMENT_BROKEN (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/collection_compartment_broken-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/collection_compartment_broken-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COLLECTION_COMPARTMENT_BROKEN (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/collection_compartment_broken-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COLLECTION_COMPARTMENT_BROKEN (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The compartment containing the parcel has been reported as broken or malfunctioning during the active collection window. The consignee (or courier) cannot open the door. Escalate immediately to the locker provider for hardware repair."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COLLECTION_NOT_POSSIBLE (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/collection_not_possible-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/collection_not_possible-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COLLECTION_NOT_POSSIBLE (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/collection_not_possible-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COLLECTION_NOT_POSSIBLE (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Collection could not be completed for a reason not covered by a more specific status (e.g. general locker error or access system failure during collection attempt). Escalate to the locker provider with the compartment reference and the time of the failed attempt."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"COLLECTION_PARCEL_NOT_AVAILABLE (GLS Germany and GLS Austria only)","link":"/openapi-carrier-integration-api/shipment-statuses/collection_parcel_not_available-(gls-germany-and-gls-austria-only)","routeSlug":"/openapi-carrier-integration-api/shipment-statuses/collection_parcel_not_available-(gls-germany-and-gls-austria-only)","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"COLLECTION_PARCEL_NOT_AVAILABLE (GLS Germany and GLS Austria only)"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":5,"id":"shipment-statuses/collection_parcel_not_available-(gls-germany-and-gls-austria-only)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COLLECTION_PARCEL_NOT_AVAILABLE (GLS Germany and GLS Austria only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The parcel is not available for collection — it may have already been collected, removed, or the locker's internal state is inconsistent with the platform record. Escalate to the locker provider with the compartment reference and access log for investigation."},"children":[]}]}]}]}],"panels":[]}]}}],"content":{"contentType":"group","meta":{"name":"Shipment Statuses"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Shipment Statuses","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This reference describes all shipment statuses used in the OOH platform. Statuses are emitted in real time as parcels move through the locker lifecycle. Subscribe to status webhooks to track parcel progress and drive your downstream systems accordingly."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Statuses marked ✦ FINAL are terminal"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — no further transitions will occur once a shipment reaches these states."},"children":[]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/shipment-statuses"}],"panels":[]}]}},{"type":"separator","label":"Endpoints","content":null},{"type":"group","label":"Locker API","link":"/openapi-carrier-integration-api/locker-api","routeSlug":"/openapi-carrier-integration-api/locker-api","items":[{"label":"Create a new locker","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-api/createlocker","routeSlug":"/openapi-carrier-integration-api/locker-api/createlocker","metadata":{"seo":{"title":"Create a new locker","description":"Create a new locker with the specified details for the carrier, provider, location, and features."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createLocker","name":"Create a new locker","isWebhook":false,"pointer":"/paths/~1lockers/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new locker","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new locker with the specified details for the carrier, provider, location, and features."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/create_input"}},"schemaId":"components/schemas/create_input","pointer":"/paths/~1lockers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/lockers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/create_input"}},"responseCodes":["201","400","401","409","500"],"pointer":"/lockers","href":"locker-api/createlocker","openApiOperationId":"createLocker","summary":"Create a new locker"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/create_input","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/create_input"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Locker created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_response"}},"schemaId":"components/schemas/locker_response"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"409","description":"Can not create locker for the same provider and location","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers/post/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers/post/responses/409/content/application~1json/example"]},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1lockers/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/locker_response","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_response"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"409","schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers/post/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers/post/responses/409/content/application~1json/example"]}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-api/createlocker"}],"panels":[]}]},"httpPath":"/lockers"},{"label":"Get a list of lockers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-api/listlockers","routeSlug":"/openapi-carrier-integration-api/locker-api/listlockers","metadata":{"seo":{"title":"Get a list of lockers","description":"Retrieve a list of lockers with optional filters such as location, status, carrier, and provider."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listLockers","name":"Get a list of lockers","isWebhook":false,"pointer":"/paths/~1lockers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a list of lockers","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve a list of lockers with optional filters such as location, status, carrier, and provider."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"providerName","in":"query","schemaId":"schema_45","description":"Filter lockers by provider name."},{"name":"status","in":"query","schemaId":"schema_46","description":"Filter lockers by status."},{"name":"city","in":"query","schemaId":"schema_47","description":"Filter lockers by city."},{"name":"countryCode","in":"query","schemaId":"schema_48","description":"Filter lockers by country code (ISO 3166-1 alpha-2)."},{"name":"compartmentSize","in":"query","schemaId":"schema_49","description":"Filter lockers by the size of compartments available.","example":"MEDIUM"}],"pointer":"/paths/~1lockers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/lockers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[{"name":"providerName","in":"query","required":false,"example":"BLOQ","schemaId":"schema_45"},{"name":"status","in":"query","required":false,"example":"ACTIVE","schemaId":"components/schemas/status"},{"name":"city","in":"query","required":false,"example":"Berlin","schemaId":"schema_47"},{"name":"countryCode","in":"query","required":false,"example":"DE","schemaId":"schema_48"},{"name":"compartmentSize","in":"query","required":false,"example":"MEDIUM","schemaId":"components/schemas/compartment_size"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/lockers","href":"locker-api/listlockers","openApiOperationId":"listLockers","summary":"Get a list of lockers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of lockers retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50"}},"schemaId":"schema_50"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1lockers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_50","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-api/listlockers"}],"panels":[]}]},"httpPath":"/lockers"},{"label":"Update a locker","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-api/updatelocker","routeSlug":"/openapi-carrier-integration-api/locker-api/updatelocker","metadata":{"seo":{"title":"Update a locker","description":"Update the details of an existing locker, including carrier details, provider details, location, and features."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateLocker","name":"Update a locker","isWebhook":false,"pointer":"/paths/~1lockers~1{uid}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a locker","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update the details of an existing locker, including carrier details, provider details, location, and features."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_51","description":"The OOH Platform UID for the locker.","required":true}],"pointer":"/paths/~1lockers~1{uid}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update_input"}},"schemaId":"components/schemas/update_input","pointer":"/paths/~1lockers~1{uid}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/lockers/{uid}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":"426614174000","schemaId":"schema_51"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/update_input"}},"responseCodes":["200","400","401","404","500"],"pointer":"/lockers/{uid}","href":"locker-api/updatelocker","openApiOperationId":"updateLocker","summary":"Update a locker"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/update_input","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update_input"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Locker updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_response"}},"schemaId":"components/schemas/locker_response"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1lockers~1{uid}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/locker_response","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_response"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-api/updatelocker"}],"panels":[]}]},"httpPath":"/lockers/{uid}"},{"label":"Get lockers by UIDs","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-api/getlockersbyuids","routeSlug":"/openapi-carrier-integration-api/locker-api/getlockersbyuids","metadata":{"seo":{"title":"Get lockers by UIDs","description":"Retrieve one or more lockers by their UIDs in a single request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLockersByUids","name":"Get lockers by UIDs","isWebhook":false,"pointer":"/paths/~1lockers~1by-uid/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get lockers by UIDs","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve one or more lockers by their UIDs in a single request."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter accepts a comma-separated list of locker UIDs (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids=10000001,10000002"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maximum 10 UIDs per request — exceeding the limit returns 400."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns 200 with a JSON array when at least one numeric UID is present; non-existent UIDs, UIDs belonging to other carriers, and non-numeric tokens within a mixed input are silently omitted."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns 400 when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is missing, blank, or contains no numeric tokens."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ids","in":"query","schemaId":"schema_53","description":"Comma-separated locker UIDs. Up to 10 numeric UIDs per request. Non-numeric tokens within a mixed input are silently dropped before the cap check; an input with no numeric tokens at all returns 400.","required":true}],"pointer":"/paths/~1lockers~1by-uid/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/lockers/by-uid","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[{"name":"ids","in":"query","required":true,"example":"10000001,10000002","schemaId":"schema_53"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/lockers/by-uid","href":"locker-api/getlockersbyuids","openApiOperationId":"getLockersByUids","summary":"Get lockers by UIDs"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of matching lockers retrieved successfully. Missing or inaccessible UIDs are silently omitted.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50"}},"schemaId":"schema_50"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1lockers~1by-uid/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_50","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-api/getlockersbyuids"}],"panels":[]}]},"httpPath":"/lockers/by-uid"},{"label":"Get lockers by carrier locker ids","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-api/getlockersbycarrierlockerids","routeSlug":"/openapi-carrier-integration-api/locker-api/getlockersbycarrierlockerids","metadata":{"seo":{"title":"Get lockers by carrier locker ids","description":"Retrieve one or more lockers by their carrier locker ids in a single request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLockersByCarrierLockerIds","name":"Get lockers by carrier locker ids","isWebhook":false,"pointer":"/paths/~1lockers~1by-carrier-locker-id/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get lockers by carrier locker ids","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve one or more lockers by their carrier locker ids in a single request."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter accepts a comma-separated list of carrier locker ids (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids=DE46677,DE12345"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Carrier locker ids are alphanumeric and kept as-is — this is exactly the case "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/lockers/by-uid"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" cannot handle."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maximum 10 ids per request — exceeding the limit returns 400."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns 200 with a JSON array; non-existent ids and ids belonging to other carriers are silently omitted."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns 400 when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is missing, blank, or contains no non-empty tokens."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ids","in":"query","schemaId":"schema_54","description":"Comma-separated carrier locker ids. Up to 10 ids per request. Empty tokens are dropped before the cap check; an input with no non-empty tokens returns 400.","required":true}],"pointer":"/paths/~1lockers~1by-carrier-locker-id/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/lockers/by-carrier-locker-id","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[{"name":"ids","in":"query","required":true,"example":"DE46677,DE12345","schemaId":"schema_54"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/lockers/by-carrier-locker-id","href":"locker-api/getlockersbycarrierlockerids","openApiOperationId":"getLockersByCarrierLockerIds","summary":"Get lockers by carrier locker ids"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of matching lockers retrieved successfully. Missing or inaccessible carrier locker ids are silently omitted.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50"}},"schemaId":"schema_50"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1lockers~1by-carrier-locker-id/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_50","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_50"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-api/getlockersbycarrierlockerids"}],"panels":[]}]},"httpPath":"/lockers/by-carrier-locker-id"},{"label":"Get a list of existing locker model and locker version pairs for provider","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-api/listlockerproviders","routeSlug":"/openapi-carrier-integration-api/locker-api/listlockerproviders","metadata":{"seo":{"title":"Get a list of existing locker model and locker version pairs for provider","description":"Retrieve a list of existing locker model and locker version pairs for each provider."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listLockerProviders","name":"Get a list of existing locker model and locker version pairs for provider","isWebhook":false,"pointer":"/paths/~1lockers~1providers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a list of existing locker model and locker version pairs for provider","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve a list of existing locker model and locker version pairs for each provider."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/lockers/providers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/lockers/providers","href":"locker-api/listlockerproviders","openApiOperationId":"listLockerProviders","summary":"Get a list of existing locker model and locker version pairs for provider"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of existing locker model and locker version pairs for each provider retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_55","exampleIds":["paths/~1lockers~1providers/get/responses/200/content/application~1json/example"]}},"schemaId":"schema_55","exampleIds":["paths/~1lockers~1providers/get/responses/200/content/application~1json/example"]},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1lockers~1providers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_55","exampleIds":["paths/~1lockers~1providers/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_55","exampleIds":["paths/~1lockers~1providers/get/responses/200/content/application~1json/example"]}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-api/listlockerproviders"}],"panels":[]}]},"httpPath":"/lockers/providers"},{"label":"Update Locker Status","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-api/updatelockerstatus","routeSlug":"/openapi-carrier-integration-api/locker-api/updatelockerstatus","metadata":{"seo":{"title":"Update Locker Status","description":"Update the status of an existing locker."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateLockerStatus","name":"Update Locker Status","isWebhook":false,"pointer":"/paths/~1lockers~1status/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Locker Status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update the status of an existing locker."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update_status"}},"schemaId":"components/schemas/update_status","pointer":"/paths/~1lockers~1status/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/lockers/status","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/update_status"}},"responseCodes":["200","400","401","404","409","500"],"pointer":"/lockers/status","href":"locker-api/updatelockerstatus","openApiOperationId":"updateLockerStatus","summary":"Update Locker Status"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/update_status","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/update_status"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Locker status updated successfully."},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"409","description":"The request conflicts with the current state of the target resource","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers~1status/patch/responses/409/content/application~1json/example"]}},"schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers~1status/patch/responses/409/content/application~1json/example"]},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1lockers~1status/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200"},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"409","schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers~1status/patch/responses/409/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/response_409","exampleIds":["paths/~1lockers~1status/patch/responses/409/content/application~1json/example"]}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-api/updatelockerstatus"}],"panels":[]}]},"httpPath":"/lockers/status"}],"content":{"contentType":"group","meta":{"name":"Locker API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Locker API","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Locker API endpoints provide comprehensive management of lockers, including their creation, updating, and retrieval. These endpoints support:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker Creation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Set up new lockers with necessary details such as location, internal carrier IDs, and specific locker features."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker Information Retrieval"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Access detailed information about lockers, including their status and location."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker Updates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Update existing locker details to reflect changes in status or configuration."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Flexible Locker Management"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Create and update lockers to keep information current and accurate."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Detailed Location Data"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Access geographic and logistical details of each locker."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compartment Management"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Manage the availability and allocation of compartments within lockers."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/lockers","summary":"Create a new locker","prefix":{"name":"post","color":"post"},"badges":[],"link":"/locker-api/createlocker","deprecated":false},{"title":"/lockers","summary":"Get a list of lockers","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locker-api/listlockers","deprecated":false},{"title":"/lockers/{uid}","summary":"Update a locker","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/locker-api/updatelocker","deprecated":false},{"title":"/lockers/by-uid","summary":"Get lockers by UIDs","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locker-api/getlockersbyuids","deprecated":false},{"title":"/lockers/by-carrier-locker-id","summary":"Get lockers by carrier locker ids","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locker-api/getlockersbycarrierlockerids","deprecated":false},{"title":"/lockers/providers","summary":"Get a list of existing locker model and locker version pairs for provider","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locker-api/listlockerproviders","deprecated":false},{"title":"/lockers/status","summary":"Update Locker Status","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/locker-api/updatelockerstatus","deprecated":false}]}]}]}]}},{"type":"group","label":"Locker Group API","link":"/openapi-carrier-integration-api/locker-group-api","routeSlug":"/openapi-carrier-integration-api/locker-group-api","items":[{"label":"Get available locker group types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/listlockergrouptypes","routeSlug":"/openapi-carrier-integration-api/locker-group-api/listlockergrouptypes","metadata":{"seo":{"title":"Get available locker group types","description":"Returns the global catalog of locker group types that can be used to create locker groups."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listLockerGroupTypes","name":"Get available locker group types","isWebhook":false,"pointer":"/paths/~1locker-groups~1types/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get available locker group types","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns the global catalog of locker group types that can be used to create locker groups."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/locker-groups/types","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/locker-groups/types","href":"locker-group-api/listlockergrouptypes","openApiOperationId":"listLockerGroupTypes","summary":"Get available locker group types"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of locker group types retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_56"}},"schemaId":"schema_56"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups~1types/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_56","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_56"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/listlockergrouptypes"}],"panels":[]}]},"httpPath":"/locker-groups/types"},{"label":"Get a list of locker groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/listlockergroups","routeSlug":"/openapi-carrier-integration-api/locker-group-api/listlockergroups","metadata":{"seo":{"title":"Get a list of locker groups","description":"Returns the carrier's locker groups, optionally filtered by type key and name."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listLockerGroups","name":"Get a list of locker groups","isWebhook":false,"pointer":"/paths/~1locker-groups/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a list of locker groups","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns the carrier's locker groups, optionally filtered by type key and name."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"lockerGroupTypeKeys","in":"query","schemaId":"schema_57","description":"Filter locker groups by one or more type keys.","example":["DEPOT"]},{"name":"lockerGroupName","in":"query","schemaId":"schema_58","description":"Filter locker groups by name.","example":"Berlin Central"}],"pointer":"/paths/~1locker-groups/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/locker-groups","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[{"name":"lockerGroupTypeKeys","in":"query","required":false,"example":["DEPOT"],"schemaId":"schema_57"},{"name":"lockerGroupName","in":"query","required":false,"example":"Berlin Central","schemaId":"schema_58"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/locker-groups","href":"locker-group-api/listlockergroups","openApiOperationId":"listLockerGroups","summary":"Get a list of locker groups"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of locker groups retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_59"}},"schemaId":"schema_59"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_59","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_59"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/listlockergroups"}],"panels":[]}]},"httpPath":"/locker-groups"},{"label":"Create a locker group","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/createlockergroup","routeSlug":"/openapi-carrier-integration-api/locker-group-api/createlockergroup","metadata":{"seo":{"title":"Create a locker group","description":"Creates a new locker group for the carrier."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createLockerGroup","name":"Create a locker group","isWebhook":false,"pointer":"/paths/~1locker-groups/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a locker group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a new locker group for the carrier."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_create_request"}},"schemaId":"components/schemas/locker_group_create_request","pointer":"/paths/~1locker-groups/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/locker-groups","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/locker_group_create_request"}},"responseCodes":["201","400","401","500"],"pointer":"/locker-groups","href":"locker-group-api/createlockergroup","openApiOperationId":"createLockerGroup","summary":"Create a locker group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/locker_group_create_request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_create_request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Locker group created successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group"}},"schemaId":"components/schemas/locker_group"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/locker_group","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/createlockergroup"}],"panels":[]}]},"httpPath":"/locker-groups"},{"label":"Get a specific locker group","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/getlockergroup","routeSlug":"/openapi-carrier-integration-api/locker-group-api/getlockergroup","metadata":{"seo":{"title":"Get a specific locker group","description":"Retrieve details of a specific locker group by its unique identifier."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getLockerGroup","name":"Get a specific locker group","isWebhook":false,"pointer":"/paths/~1locker-groups~1{uid}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a specific locker group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve details of a specific locker group by its unique identifier."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_60","description":"The unique identifier of the locker group.","required":true}],"pointer":"/paths/~1locker-groups~1{uid}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/locker-groups/{uid}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":6838265090,"schemaId":"schema_60"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/locker-groups/{uid}","href":"locker-group-api/getlockergroup","openApiOperationId":"getLockerGroup","summary":"Get a specific locker group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Locker group retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group"}},"schemaId":"components/schemas/locker_group"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups~1{uid}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/locker_group","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/getlockergroup"}],"panels":[]}]},"httpPath":"/locker-groups/{uid}"},{"label":"Update a locker group","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/updatelockergroup","routeSlug":"/openapi-carrier-integration-api/locker-group-api/updatelockergroup","metadata":{"seo":{"title":"Update a locker group","description":"Updates the name of an existing locker group."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateLockerGroup","name":"Update a locker group","isWebhook":false,"pointer":"/paths/~1locker-groups~1{uid}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a locker group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Updates the name of an existing locker group."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_60","description":"The unique identifier of the locker group.","required":true}],"pointer":"/paths/~1locker-groups~1{uid}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_update_request"}},"schemaId":"components/schemas/locker_group_update_request","pointer":"/paths/~1locker-groups~1{uid}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/locker-groups/{uid}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":6838265090,"schemaId":"schema_60"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/locker_group_update_request"}},"responseCodes":["200","400","401","404","500"],"pointer":"/locker-groups/{uid}","href":"locker-group-api/updatelockergroup","openApiOperationId":"updateLockerGroup","summary":"Update a locker group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/locker_group_update_request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_update_request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Locker group updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group"}},"schemaId":"components/schemas/locker_group"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups~1{uid}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/locker_group","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/updatelockergroup"}],"panels":[]}]},"httpPath":"/locker-groups/{uid}"},{"label":"Delete a locker group","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/deletelockergroup","routeSlug":"/openapi-carrier-integration-api/locker-group-api/deletelockergroup","metadata":{"seo":{"title":"Delete a locker group","description":"Deletes a locker group owned by the carrier."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteLockerGroup","name":"Delete a locker group","isWebhook":false,"pointer":"/paths/~1locker-groups~1{uid}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a locker group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Deletes a locker group owned by the carrier."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_60","description":"The unique identifier of the locker group.","required":true}],"pointer":"/paths/~1locker-groups~1{uid}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/locker-groups/{uid}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":6838265090,"schemaId":"schema_60"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/locker-groups/{uid}","href":"locker-group-api/deletelockergroup","openApiOperationId":"deleteLockerGroup","summary":"Delete a locker group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Locker group deleted successfully."},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups~1{uid}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200"},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/deletelockergroup"}],"panels":[]}]},"httpPath":"/locker-groups/{uid}"},{"label":"Assign lockers to a locker group","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/addlockergrouplockers","routeSlug":"/openapi-carrier-integration-api/locker-group-api/addlockergrouplockers","metadata":{"seo":{"title":"Assign lockers to a locker group","description":"Assigns the carrier's lockers to the locker group. A locker may belong to at most one group per type key."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addLockerGroupLockers","name":"Assign lockers to a locker group","isWebhook":false,"pointer":"/paths/~1locker-groups~1{uid}~1lockers/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Assign lockers to a locker group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Assigns the carrier's lockers to the locker group. A locker may belong to at most one group per type key."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_60","description":"The unique identifier of the locker group.","required":true}],"pointer":"/paths/~1locker-groups~1{uid}~1lockers/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_add_request"}},"schemaId":"components/schemas/locker_group_add_request","pointer":"/paths/~1locker-groups~1{uid}~1lockers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/locker-groups/{uid}/lockers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":6838265090,"schemaId":"schema_60"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/locker_group_add_request"}},"responseCodes":["200","400","401","404","500"],"pointer":"/locker-groups/{uid}/lockers","href":"locker-group-api/addlockergrouplockers","openApiOperationId":"addLockerGroupLockers","summary":"Assign lockers to a locker group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/locker_group_add_request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_add_request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Lockers assigned to the group successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group_add_response"}},"schemaId":"components/schemas/locker_group_add_response"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups~1{uid}~1lockers/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/locker_group_add_response","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group_add_response"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/addlockergrouplockers"}],"panels":[]}]},"httpPath":"/locker-groups/{uid}/lockers"},{"label":"Remove lockers from a locker group","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/locker-group-api/removelockergrouplockers","routeSlug":"/openapi-carrier-integration-api/locker-group-api/removelockergrouplockers","metadata":{"seo":{"title":"Remove lockers from a locker group","description":"Removes the specified lockers from the locker group."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"removeLockerGroupLockers","name":"Remove lockers from a locker group","isWebhook":false,"pointer":"/paths/~1locker-groups~1{uid}~1lockers/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Remove lockers from a locker group","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Removes the specified lockers from the locker group."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_60","description":"The unique identifier of the locker group.","required":true}],"pointer":"/paths/~1locker-groups~1{uid}~1lockers/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_remove_request"}},"schemaId":"components/schemas/locker_group_remove_request","pointer":"/paths/~1locker-groups~1{uid}~1lockers/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/locker-groups/{uid}/lockers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":6838265090,"schemaId":"schema_60"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/locker_group_remove_request"}},"responseCodes":["200","401","404","500"],"pointer":"/locker-groups/{uid}/lockers","href":"locker-group-api/removelockergrouplockers","openApiOperationId":"removeLockerGroupLockers","summary":"Remove lockers from a locker group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/locker_group_remove_request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/locker_group_remove_request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Lockers removed from the group successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group_removed_response"}},"schemaId":"components/schemas/locker_group_removed_response"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1locker-groups~1{uid}~1lockers/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/locker_group_removed_response","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/locker_group_removed_response"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-group-api/removelockergrouplockers"}],"panels":[]}]},"httpPath":"/locker-groups/{uid}/lockers"}],"content":{"contentType":"group","meta":{"name":"Locker Group API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Locker Group API","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Locker Group API endpoints let carriers organise their lockers into named, typed groups. These endpoints support:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type Catalog"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Retrieve the global catalog of available locker group types."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Group Management"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Create, rename, retrieve, list, and delete locker groups."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker Assignment"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Assign and remove the carrier's lockers to and from a group."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Typed Groups"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Each group has a type from the shared catalog; a locker may belong to at most one group per type key."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Carrier-scoped"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Groups and their lockers are scoped to the calling carrier."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/locker-groups/types","summary":"Get available locker group types","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locker-group-api/listlockergrouptypes","deprecated":false},{"title":"/locker-groups","summary":"Get a list of locker groups","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locker-group-api/listlockergroups","deprecated":false},{"title":"/locker-groups","summary":"Create a locker group","prefix":{"name":"post","color":"post"},"badges":[],"link":"/locker-group-api/createlockergroup","deprecated":false},{"title":"/locker-groups/{uid}","summary":"Get a specific locker group","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locker-group-api/getlockergroup","deprecated":false},{"title":"/locker-groups/{uid}","summary":"Update a locker group","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/locker-group-api/updatelockergroup","deprecated":false},{"title":"/locker-groups/{uid}","summary":"Delete a locker group","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/locker-group-api/deletelockergroup","deprecated":false},{"title":"/locker-groups/{uid}/lockers","summary":"Assign lockers to a locker group","prefix":{"name":"post","color":"post"},"badges":[],"link":"/locker-group-api/addlockergrouplockers","deprecated":false},{"title":"/locker-groups/{uid}/lockers","summary":"Remove lockers from a locker group","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/locker-group-api/removelockergrouplockers","deprecated":false}]}]}]}]}},{"type":"group","label":"Network API","link":"/openapi-carrier-integration-api/network-api","routeSlug":"/openapi-carrier-integration-api/network-api","items":[{"label":"Get a list of networks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/network-api/listnetworks","routeSlug":"/openapi-carrier-integration-api/network-api/listnetworks","metadata":{"seo":{"title":"Get a list of networks","description":"Returns all networks where the carrier is the owner or tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listNetworks","name":"Get a list of networks","isWebhook":false,"pointer":"/paths/~1networks/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a list of networks","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns all networks where the carrier is the owner or tenant."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/networks","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/networks","href":"network-api/listnetworks","openApiOperationId":"listNetworks","summary":"Get a list of networks"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of networks retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_61"}},"schemaId":"schema_61"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1networks/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_61","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_61"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/network-api/listnetworks"}],"panels":[]}]},"httpPath":"/networks"},{"label":"Get a specific network","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/network-api/getnetwork","routeSlug":"/openapi-carrier-integration-api/network-api/getnetwork","metadata":{"seo":{"title":"Get a specific network","description":"Retrieve details of a specific network by its unique identifier."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getNetwork","name":"Get a specific network","isWebhook":false,"pointer":"/paths/~1networks~1{uid}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a specific network","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve details of a specific network by its unique identifier."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_62","description":"The unique identifier of the network.","required":true}],"pointer":"/paths/~1networks~1{uid}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/networks/{uid}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":8065713862,"schemaId":"schema_62"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/networks/{uid}","href":"network-api/getnetwork","openApiOperationId":"getNetwork","summary":"Get a specific network"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Network retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network"}},"schemaId":"components/schemas/network"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1networks~1{uid}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/network","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/network-api/getnetwork"}],"panels":[]}]},"httpPath":"/networks/{uid}"},{"label":"Delete a network","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/network-api/deletenetwork","routeSlug":"/openapi-carrier-integration-api/network-api/deletenetwork","metadata":{"seo":{"title":"Delete a network","description":"Deletes a network. Fails if any lockers are still in ACCEPTED status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteNetwork","name":"Delete a network","isWebhook":false,"pointer":"/paths/~1networks~1{uid}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a network","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Deletes a network. Fails if any lockers are still in ACCEPTED status."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_62","description":"The unique identifier of the network.","required":true}],"pointer":"/paths/~1networks~1{uid}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/networks/{uid}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":8065713862,"schemaId":"schema_62"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/networks/{uid}","href":"network-api/deletenetwork","openApiOperationId":"deleteNetwork","summary":"Delete a network"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Network deleted successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network"}},"schemaId":"components/schemas/network"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1networks~1{uid}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/network","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/network-api/deletenetwork"}],"panels":[]}]},"httpPath":"/networks/{uid}"},{"label":"Get lockers in a network","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/network-api/listnetworklockers","routeSlug":"/openapi-carrier-integration-api/network-api/listnetworklockers","metadata":{"seo":{"title":"Get lockers in a network","description":"Retrieve a paginated list of lockers within a network with optional filtering and sorting."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listNetworkLockers","name":"Get lockers in a network","isWebhook":false,"pointer":"/paths/~1networks~1{uid}~1lockers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get lockers in a network","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve a paginated list of lockers within a network with optional filtering and sorting."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_62","description":"The unique identifier of the network.","required":true}],"pointer":"/paths/~1networks~1{uid}~1lockers/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"networkLockerStatus","in":"query","schemaId":"schema_63","description":"Filter lockers by their network status."},{"name":"page","in":"query","schemaId":"schema_64","description":"The page number to retrieve (1-based)."},{"name":"pageSize","in":"query","schemaId":"schema_65","description":"The number of items per page."},{"name":"sortBy","in":"query","schemaId":"schema_58","description":"The field to sort results by."},{"name":"sortDirection","in":"query","schemaId":"schema_66","description":"The sort direction."}],"pointer":"/paths/~1networks~1{uid}~1lockers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/networks/{uid}/lockers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":8065713862,"schemaId":"schema_62"}],"query":[{"name":"networkLockerStatus","in":"query","required":false,"example":"ACCEPTED","schemaId":"schema_63"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_64"},{"name":"pageSize","in":"query","required":false,"example":100,"schemaId":"schema_65"},{"name":"sortBy","in":"query","required":false,"schemaId":"schema_58"},{"name":"sortDirection","in":"query","required":false,"example":"ASC","schemaId":"schema_66"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/networks/{uid}/lockers","href":"network-api/listnetworklockers","openApiOperationId":"listNetworkLockers","summary":"Get lockers in a network"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Paginated list of network lockers retrieved successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network_locker_page"}},"schemaId":"components/schemas/network_locker_page"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1networks~1{uid}~1lockers/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/network_locker_page","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network_locker_page"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/network-api/listnetworklockers"}],"panels":[]}]},"httpPath":"/networks/{uid}/lockers"},{"label":"Add lockers to a network","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/network-api/addnetworklockers","routeSlug":"/openapi-carrier-integration-api/network-api/addnetworklockers","metadata":{"seo":{"title":"Add lockers to a network","description":"Adds lockers owned by the carrier to the network. Lockers not owned by the carrier are silently skipped."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addNetworkLockers","name":"Add lockers to a network","isWebhook":false,"pointer":"/paths/~1networks~1{uid}~1lockers/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add lockers to a network","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Adds lockers owned by the carrier to the network. Lockers not owned by the carrier are silently skipped."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_62","description":"The unique identifier of the network.","required":true}],"pointer":"/paths/~1networks~1{uid}~1lockers/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/network_locker_add_request"}},"schemaId":"components/schemas/network_locker_add_request","pointer":"/paths/~1networks~1{uid}~1lockers/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/networks/{uid}/lockers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":8065713862,"schemaId":"schema_62"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/network_locker_add_request"}},"responseCodes":["200","400","401","404","500"],"pointer":"/networks/{uid}/lockers","href":"network-api/addnetworklockers","openApiOperationId":"addNetworkLockers","summary":"Add lockers to a network"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/network_locker_add_request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/network_locker_add_request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of newly added network lockers.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_67"}},"schemaId":"schema_67"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1networks~1{uid}~1lockers/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_67","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_67"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/network-api/addnetworklockers"}],"panels":[]}]},"httpPath":"/networks/{uid}/lockers"},{"label":"Remove lockers from a network","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/network-api/removenetworklockers","routeSlug":"/openapi-carrier-integration-api/network-api/removenetworklockers","metadata":{"seo":{"title":"Remove lockers from a network","description":"Removes the specified lockers from the network."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"removeNetworkLockers","name":"Remove lockers from a network","isWebhook":false,"pointer":"/paths/~1networks~1{uid}~1lockers/delete","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Remove lockers from a network","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Removes the specified lockers from the network."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_62","description":"The unique identifier of the network.","required":true}],"pointer":"/paths/~1networks~1{uid}~1lockers/delete/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/network_locker_remove_request"}},"schemaId":"components/schemas/network_locker_remove_request","pointer":"/paths/~1networks~1{uid}~1lockers/delete/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/networks/{uid}/lockers","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":8065713862,"schemaId":"schema_62"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/network_locker_remove_request"}},"responseCodes":["200","401","404","500"],"pointer":"/networks/{uid}/lockers","href":"network-api/removenetworklockers","openApiOperationId":"removeNetworkLockers","summary":"Remove lockers from a network"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/network_locker_remove_request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/network_locker_remove_request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of removed network lockers.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_67"}},"schemaId":"schema_67"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1networks~1{uid}~1lockers/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_67","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_67"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/network-api/removenetworklockers"}],"panels":[]}]},"httpPath":"/networks/{uid}/lockers"},{"label":"Update a network locker","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/network-api/updatenetworklocker","routeSlug":"/openapi-carrier-integration-api/network-api/updatenetworklocker","metadata":{"seo":{"title":"Update a network locker","description":"Updates the status of a locker within a network, optionally including carrier details."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateNetworkLocker","name":"Update a network locker","isWebhook":false,"pointer":"/paths/~1networks~1{uid}~1lockers~1{lockerUid}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a network locker","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Updates the status of a locker within a network, optionally including carrier details."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"uid","in":"path","schemaId":"schema_62","description":"The unique identifier of the network.","required":true},{"name":"lockerUid","in":"path","schemaId":"schema_68","description":"The unique identifier of the locker within the network.","required":true}],"pointer":"/paths/~1networks~1{uid}~1lockers~1{lockerUid}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/network_locker_patch"}},"schemaId":"components/schemas/network_locker_patch","pointer":"/paths/~1networks~1{uid}~1lockers~1{lockerUid}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/networks/{uid}/lockers/{lockerUid}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"uid","in":"path","required":true,"example":8065713862,"schemaId":"schema_62"},{"name":"lockerUid","in":"path","required":true,"example":10000019,"schemaId":"schema_68"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/network_locker_patch"}},"responseCodes":["200","400","401","404","500"],"pointer":"/networks/{uid}/lockers/{lockerUid}","href":"network-api/updatenetworklocker","openApiOperationId":"updateNetworkLocker","summary":"Update a network locker"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/network_locker_patch","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/network_locker_patch"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Network locker updated successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network_locker"}},"schemaId":"components/schemas/network_locker"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1networks~1{uid}~1lockers~1{lockerUid}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/network_locker","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/network_locker"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/network-api/updatenetworklocker"}],"panels":[]}]},"httpPath":"/networks/{uid}/lockers/{lockerUid}"}],"content":{"contentType":"group","meta":{"name":"Network API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Network API","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Network API endpoints provide management of locker networks, enabling carriers to share lockers between network owners and tenants. These endpoints support:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Network Listing"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": View all networks where the carrier is the owner or tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Network Locker Management"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Add, remove, and update lockers within a network."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginated Locker Retrieval"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Retrieve lockers in a network with filtering and pagination."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker Sharing"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Share lockers between carriers through networks."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status Management"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Track and update locker status within networks (e.g., PENDING, ACCEPTED, DECLINED)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Carrier Details"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Optionally update carrier-specific details when managing network lockers."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/networks","summary":"Get a list of networks","prefix":{"name":"get","color":"get"},"badges":[],"link":"/network-api/listnetworks","deprecated":false},{"title":"/networks/{uid}","summary":"Get a specific network","prefix":{"name":"get","color":"get"},"badges":[],"link":"/network-api/getnetwork","deprecated":false},{"title":"/networks/{uid}","summary":"Delete a network","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/network-api/deletenetwork","deprecated":false},{"title":"/networks/{uid}/lockers","summary":"Get lockers in a network","prefix":{"name":"get","color":"get"},"badges":[],"link":"/network-api/listnetworklockers","deprecated":false},{"title":"/networks/{uid}/lockers","summary":"Add lockers to a network","prefix":{"name":"post","color":"post"},"badges":[],"link":"/network-api/addnetworklockers","deprecated":false},{"title":"/networks/{uid}/lockers","summary":"Remove lockers from a network","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/network-api/removenetworklockers","deprecated":false},{"title":"/networks/{uid}/lockers/{lockerUid}","summary":"Update a network locker","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/network-api/updatenetworklocker","deprecated":false}]}]}]}]}},{"type":"group","label":"Parcel API","link":"/openapi-carrier-integration-api/parcel-api","routeSlug":"/openapi-carrier-integration-api/parcel-api","items":[{"label":"Publish parcel data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/parcel-api/publishparceldata","routeSlug":"/openapi-carrier-integration-api/parcel-api/publishparceldata","metadata":{"seo":{"title":"Publish parcel data","description":"This endpoint allows the Carriers to publish parcel data into the OOH Platform. It should be used to push parcel data at the time when the locker booking is expected to take place or to pre-check if a parcel can be accepted in the locker."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"publishParcelData","name":"Publish parcel data","isWebhook":false,"pointer":"/paths/~1parcels~1data/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Publish parcel data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This endpoint allows the Carriers to publish parcel data into the OOH Platform. It should be used to push parcel data at the time when the locker booking is expected to take place or to pre-check if a parcel can be accepted in the locker.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/input_data"}},"schemaId":"components/schemas/input_data","pointer":"/paths/~1parcels~1data/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/parcels/data","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/input_data"}},"responseCodes":["200","400","401","500"],"pointer":"/parcels/data","href":"parcel-api/publishparceldata","openApiOperationId":"publishParcelData","summary":"Publish parcel data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/input_data","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/input_data"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Parcel event published successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/input_data_response"}},"schemaId":"components/schemas/input_data_response"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1parcels~1data/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/input_data_response","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/input_data_response"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/parcel-api/publishparceldata"}],"panels":[]}]},"httpPath":"/parcels/data"},{"label":"Publish parcel data with carrier locker id","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/parcel-api/publishparceldatabytenantid","routeSlug":"/openapi-carrier-integration-api/parcel-api/publishparceldatabytenantid","metadata":{"seo":{"title":"Publish parcel data with carrier locker id","description":"This endpoint is an alternative to /parcels/data endpoint and could be used to publish parcel data using carrierLockerId instead of lockerUid."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"publishParcelDataByTenantId","name":"Publish parcel data with carrier locker id","isWebhook":false,"pointer":"/paths/~1parcels~1data~1by-tenant-locker-id/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Publish parcel data with carrier locker id","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is an alternative to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/parcels/data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint and could be used to publish parcel data using carrierLockerId instead of lockerUid."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/input_data_carrier_specific"}},"schemaId":"components/schemas/input_data_carrier_specific","pointer":"/paths/~1parcels~1data~1by-tenant-locker-id/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/parcels/data/by-tenant-locker-id","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/input_data_carrier_specific"}},"responseCodes":["200","400","401","500"],"pointer":"/parcels/data/by-tenant-locker-id","href":"parcel-api/publishparceldatabytenantid","openApiOperationId":"publishParcelDataByTenantId","summary":"Publish parcel data with carrier locker id"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/input_data_carrier_specific","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/input_data_carrier_specific"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Parcel event published successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/input_data_response"}},"schemaId":"components/schemas/input_data_response"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1parcels~1data~1by-tenant-locker-id/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/input_data_response","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/input_data_response"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/parcel-api/publishparceldatabytenantid"}],"panels":[]}]},"httpPath":"/parcels/data/by-tenant-locker-id"},{"label":"Get parcels","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/parcel-api/getparcels","routeSlug":"/openapi-carrier-integration-api/parcel-api/getparcels","metadata":{"seo":{"title":"Get parcels","description":"Retrieve a list of parcels associated with the carrier. This endpoint allows fetching detailed information about parcels, including their status and history."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getParcels","name":"Get parcels","isWebhook":false,"pointer":"/paths/~1parcels/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get parcels","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve a list of parcels associated with the carrier. This endpoint allows fetching detailed information about parcels, including their status and history.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ids","in":"query","schemaId":"schema_69","description":"Comma-separated list of parcel IDs to retrieve","required":true}],"pointer":"/paths/~1parcels/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/parcels","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[{"name":"ids","in":"query","required":true,"example":"12345131,G6789011,A1234511","schemaId":"schema_69"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/parcels","href":"parcel-api/getparcels","openApiOperationId":"getParcels","summary":"Get parcels"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Parcels fetched successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_70"}},"schemaId":"schema_70"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1parcels/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_70","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_70"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/parcel-api/getparcels"}],"panels":[]}]},"httpPath":"/parcels"},{"label":"Get parcels (v2)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/parcel-api/getparcelsv2","routeSlug":"/openapi-carrier-integration-api/parcel-api/getparcelsv2","metadata":{"seo":{"title":"Get parcels (v2)","description":"Retrieve a paginated list of parcels associated with the carrier, filterable by locker and/or parcel IDs."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getParcelsV2","name":"Get parcels (v2)","isWebhook":false,"pointer":"/paths/~1v2~1parcels/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get parcels (v2)","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a paginated list of parcels associated with the carrier, filterable by locker and/or parcel IDs."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"At least one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrierLockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be provided."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When more than one filter is given, the result is the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"intersection"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of all provided filters."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By default this endpoint returns parcels "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"regardless of status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — both active bookings and completed/final parcels linked to the locker. Pass "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isFinal"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to narrow the result to open ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or finalized ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") parcels."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"lockerId","in":"query","schemaId":"schema_71","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The platform locker UID to filter by. At least one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrierLockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required."},"children":[]}]}]}]},{"name":"carrierLockerId","in":"query","schemaId":"schema_72","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The carrier's own locker identifier to filter by. At least one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrierLockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required."},"children":[]}]}]}]},{"name":"ids","in":"query","schemaId":"schema_69","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Comma-separated list of parcel IDs to filter by. At least one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrierLockerId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ids"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required."},"children":[]}]}]}]},{"name":"isFinal","in":"query","schemaId":"schema_73","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional finality filter. When omitted, no status filter is applied (all statuses). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returns only finalized parcels, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returns only open ones. Must be lowercase "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"name":"page","in":"query","schemaId":"schema_64","description":"The page number to retrieve (1-based)."},{"name":"pageSize","in":"query","schemaId":"schema_74","description":"The number of items per page. Maximum 100."}],"pointer":"/paths/~1v2~1parcels/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/parcels","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[{"name":"lockerId","in":"query","required":false,"example":"anyLockerId123","schemaId":"schema_71"},{"name":"carrierLockerId","in":"query","required":false,"example":"2760935259","schemaId":"schema_72"},{"name":"ids","in":"query","required":false,"example":"12345131,G6789011,A1234511","schemaId":"schema_69"},{"name":"isFinal","in":"query","required":false,"example":false,"schemaId":"schema_73"},{"name":"page","in":"query","required":false,"example":1,"schemaId":"schema_64"},{"name":"pageSize","in":"query","required":false,"example":30,"schemaId":"schema_74"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/parcels","href":"parcel-api/getparcelsv2","openApiOperationId":"getParcelsV2","summary":"Get parcels (v2)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Parcels fetched successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/parcel_page"}},"schemaId":"components/schemas/parcel_page"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1v2~1parcels/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/parcel_page","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/parcel_page"}}},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/parcel-api/getparcelsv2"}],"panels":[]}]},"httpPath":"/v2/parcels"},{"label":"Cancel parcel","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/parcel-api/cancelparcel","routeSlug":"/openapi-carrier-integration-api/parcel-api/cancelparcel","metadata":{"seo":{"title":"Cancel parcel","description":"Cancel the booking of a specific parcel. Only parcels that haven’t been delivered can be cancelled. This endpoint allows carriers to manage cancellations effectively."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"cancelParcel","name":"Cancel parcel","isWebhook":false,"pointer":"/paths/~1parcels~1{parcelId}/patch","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Cancel parcel","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancel the booking of a specific parcel. Only parcels that haven’t been delivered can be cancelled. This endpoint allows carriers to manage cancellations effectively."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"parcelId","in":"path","schemaId":"schema_75","description":"The parcel ID to be cancelled","required":true}],"pointer":"/paths/~1parcels~1{parcelId}/patch/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/parcels/{parcelId}","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[{"name":"parcelId","in":"path","required":true,"example":"1234567890","schemaId":"schema_75"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/parcels/{parcelId}","href":"parcel-api/cancelparcel","openApiOperationId":"cancelParcel","summary":"Cancel parcel"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Parcel cancelled successfully"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}},"schemaId":"schema_42"},{"code":"401","description":"The requested resource requires authentication.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}},"schemaId":"schema_43"},{"code":"404","description":"The requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}},"schemaId":"schema_52"},{"code":"500","description":"The server encountered an internal error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}},"schemaId":"schema_44"}],"pointer":"/paths/~1parcels~1{parcelId}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200"},{"code":"400","schemaId":"schema_42","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_42"}}},{"code":"401","schemaId":"schema_43","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_43"}}},{"code":"404","schemaId":"schema_52","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_52"}}},{"code":"500","schemaId":"schema_44","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_44"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/parcel-api/cancelparcel"}],"panels":[]}]},"httpPath":"/parcels/{parcelId}"}],"content":{"contentType":"group","meta":{"name":"Parcel API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Parcel API","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Parcel API endpoints are focused on the management of the parcel bookings. It allows for Carrier to publish parcel data for respective locker booking creation, the retrieval of parcel information and cancellation of parcel bookings."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel Data Publishing"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Publish parcel data from the Carrier into the OOH Platform, enabling carriers to trigger locker bookings or pre-checks at the appropriate time."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel Information Retrieval"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Fetch details of parcels, including status, and event history."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel Cancellation"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Cancel parcel booking for parcels that are no longer to be delivered into the locker."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Features:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Real-time Parcel Bookings"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Push real-time parcel data to the OOH Platform to perform bookings at any time."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Comprehensive Parcel Data"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Retrieve detailed information on parcel booking status and history."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancellation Flexibility"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Cancel undelivered parcels to manage logistics effectively."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/parcels/data","summary":"Publish parcel data","prefix":{"name":"post","color":"post"},"badges":[],"link":"/parcel-api/publishparceldata","deprecated":false},{"title":"/parcels/data/by-tenant-locker-id","summary":"Publish parcel data with carrier locker id","prefix":{"name":"post","color":"post"},"badges":[],"link":"/parcel-api/publishparceldatabytenantid","deprecated":false},{"title":"/parcels","summary":"Get parcels","prefix":{"name":"get","color":"get"},"badges":[],"link":"/parcel-api/getparcels","deprecated":false},{"title":"/v2/parcels","summary":"Get parcels (v2)","prefix":{"name":"get","color":"get"},"badges":[],"link":"/parcel-api/getparcelsv2","deprecated":false},{"title":"/parcels/{parcelId}","summary":"Cancel parcel","prefix":{"name":"patch","color":"patch"},"badges":[],"link":"/parcel-api/cancelparcel","deprecated":false}]}]}]}]}},{"type":"separator","label":"Webhooks","content":null},{"type":"group","label":"Locker Events","link":"/openapi-carrier-integration-api/locker-events","routeSlug":"/openapi-carrier-integration-api/locker-events","items":[{"label":"Webhook for locker updates","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi-carrier-integration-api/locker-events/webhooklockerupdates","routeSlug":"/openapi-carrier-integration-api/locker-events/webhooklockerupdates","metadata":{"seo":{"title":"Webhook for locker updates","description":"Webhook to push locker updates to any URL provided by the carrier. This endpoint allows carriers to receive real-time updates about lockers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookLockerUpdates","name":"Webhook for locker updates","isWebhook":true,"pointer":"/paths/LockerUpdates/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhook for locker updates","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Webhook to push locker updates to any URL provided by the carrier. This endpoint allows carriers to receive \nreal-time updates about lockers.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/webhook_update_request"}},"schemaId":"components/schemas/webhook_update_request","pointer":"/paths/LockerUpdates/post/requestBody","description":"Information about locker updates."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"LockerUpdates","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/webhook_update_request"}},"responseCodes":["200","401","500"],"pointer":"LockerUpdates","href":"locker-events/webhooklockerupdates","openApiOperationId":"webhookLockerUpdates","summary":"Webhook for locker updates"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/webhook_update_request","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/webhook_update_request"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Return a 200 status to indicate that the data was received successfully."},{"code":"401","description":"Return a 401 status to indicate that the POST was unauthorized."},{"code":"500","description":"Return a 500 status to indicate that the POST was unsuccessfully processed."}],"pointer":"/paths/LockerUpdates/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locker-events/webhooklockerupdates"}],"panels":[]}]},"httpPath":"LockerUpdates"}],"content":{"contentType":"group","meta":{"name":"Locker Events"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Locker Events","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This webhook endpoint is designed to push events about locker updates."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New Locker"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": An event will be pushed when a new Locker is created."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": An event is pushed when the locker status changes (enabled/disabled)."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"LockerUpdates","summary":"Webhook for locker updates","prefix":{"name":"post","color":"post"},"badges":[],"link":"/locker-events/webhooklockerupdates","deprecated":false}]}]}]}]}},{"type":"group","label":"Parcel Events","link":"/openapi-carrier-integration-api/parcel-events","routeSlug":"/openapi-carrier-integration-api/parcel-events","items":[{"label":"Webhook for parcel updates","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi-carrier-integration-api/parcel-events/webhookparcelupdates","routeSlug":"/openapi-carrier-integration-api/parcel-events/webhookparcelupdates","metadata":{"seo":{"title":"Webhook for parcel updates","description":"Webhook to push parcel updates to any URL provided by the carrier. This endpoint allows carriers to receive real-time updates about parcels."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookParcelUpdates","name":"Webhook for parcel updates","isWebhook":true,"pointer":"/paths/ParcelUpdates/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhook for parcel updates","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Webhook to push parcel updates to any URL provided by the carrier. This endpoint allows carriers to receive \nreal-time updates about parcels.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/parcel_event"}},"schemaId":"components/schemas/parcel_event","pointer":"/paths/ParcelUpdates/post/requestBody","description":"Information about parcel updates"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"ParcelUpdates","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/parcel_event"}},"responseCodes":["200","401","500"],"pointer":"ParcelUpdates","href":"parcel-events/webhookparcelupdates","openApiOperationId":"webhookParcelUpdates","summary":"Webhook for parcel updates"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/parcel_event","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/parcel_event"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Return a 200 status to indicate that the data was received successfully."},{"code":"401","description":"Return a 401 status to indicate that the POST was unauthorized."},{"code":"500","description":"Return a 500 status to indicate that the POST was unsuccessfully processed."}],"pointer":"/paths/ParcelUpdates/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/parcel-events/webhookparcelupdates"}],"panels":[]}]},"httpPath":"ParcelUpdates"}],"content":{"contentType":"group","meta":{"name":"Parcel Events"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Parcel Events","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This webhook endpoint is designed to push updates about parcels handling events."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Parcel Updates"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Get notifications about changes in parcel status."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"ParcelUpdates","summary":"Webhook for parcel updates","prefix":{"name":"post","color":"post"},"badges":[],"link":"/parcel-events/webhookparcelupdates","deprecated":false}]}]}]}]}},{"type":"group","label":"Collection Events","link":"/openapi-carrier-integration-api/collection-events","routeSlug":"/openapi-carrier-integration-api/collection-events","items":[{"label":"Webhook for pickup notifications","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi-carrier-integration-api/collection-events/webhookcollectionnotifications","routeSlug":"/openapi-carrier-integration-api/collection-events/webhookcollectionnotifications","metadata":{"seo":{"title":"Webhook for pickup notifications","description":"Webhook to push collection notifications to any URL provided by the carrier. Notifications are sent once per day, informing the carrier about parcels that need to be picked up from the lockers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"webhookCollectionNotifications","name":"Webhook for pickup notifications","isWebhook":true,"pointer":"/paths/CollectionNotification/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webhook for pickup notifications","isWebhook":true,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Webhook to push collection notifications to any URL provided by the carrier. Notifications are sent once per day, \ninforming the carrier about parcels that need to be picked up from the lockers.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/collection_events"}},"schemaId":"components/schemas/collection_events","pointer":"/paths/CollectionNotification/post/requestBody","description":"Information about locker collections."}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"webhook","method":"POST","path":"CollectionNotification","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/collection_events"}},"responseCodes":["200","401","500"],"pointer":"CollectionNotification","href":"collection-events/webhookcollectionnotifications","openApiOperationId":"webhookCollectionNotifications","summary":"Webhook for pickup notifications"},"isWebhook":true,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}],"schemaId":"components/schemas/collection_events","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/collection_events"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Return a 200 status to indicate that the data was received successfully."},{"code":"401","description":"Return a 401 status to indicate that the POST was unauthorized."},{"code":"500","description":"Return a 500 status to indicate that the POST was unsuccessfully processed."}],"pointer":"/paths/CollectionNotification/post/responses"}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/collection-events/webhookcollectionnotifications"}],"panels":[]}]},"httpPath":"CollectionNotification"}],"content":{"contentType":"group","meta":{"name":"Collection Events"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Collection Events","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This webhook endpoint is designed to push events about lockers that require parcel collections."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sporadic Collection"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Events are pushed to notify the Carrier that lockers have parcels to be collected."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Webhooks","titleTranslationKey":"webhooks","items":[{"title":"CollectionNotification","summary":"Webhook for pickup notifications","prefix":{"name":"post","color":"post"},"badges":[],"link":"/collection-events/webhookcollectionnotifications","deprecated":false}]}]}]}]}},{"type":"separator","label":"Testing","content":null},{"type":"group","label":"Testing guide","link":"/openapi-carrier-integration-api/testing-guide","routeSlug":"/openapi-carrier-integration-api/testing-guide","items":[{"type":"link","label":"1. Setup","link":"/openapi-carrier-integration-api/testing-guide/1.-setup","routeSlug":"/openapi-carrier-integration-api/testing-guide/1.-setup","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"1. Setup"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"testing-guide/1.-setup"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1. Setup"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base URL"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://api.staging.glsnxt.com/ooh-mock-service/v1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", separate from the Carrier Integration API base URL."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": use your regular carrier staging "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the same key you use for the Carrier Integration API. No separate mock-service key is needed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Field names"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": mock service request bodies use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"snake_case"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_locker_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), not the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"camelCase"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields of the Carrier Integration API (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockerUid"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The two are not interchangeable: the mock service works with provider-side identifiers, not platform identifiers."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Test values"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": provider, carrier, and locker values are test-specific. Use only the values GLS/NXT supplies for your account. Supported combinations vary by provider, carrier, shipment type, and event. Do not assume every combination works. Confirm your combination with GLS/NXT before testing."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Async by design"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": a successful "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from any mock endpoint confirms only that the request was accepted. The actual status change arrives afterwards through your webhooks. The response body never contains the full simulated lifecycle."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a unique parcel ID for every test."},"children":[]}]}]}]}]}],"panels":[]}]}},{"type":"link","label":"2. What you can do","link":"/openapi-carrier-integration-api/testing-guide/2.-what-you-can-do","routeSlug":"/openapi-carrier-integration-api/testing-guide/2.-what-you-can-do","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"2. What you can do"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"testing-guide/2.-what-you-can-do"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2. What you can do"},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"2.1 Create last-mile bookings with depth parameters to trigger scenarios","link":"/openapi-carrier-integration-api/testing-guide/2.1-create-last-mile-bookings-with-depth-parameters-to-trigger-scenarios","routeSlug":"/openapi-carrier-integration-api/testing-guide/2.1-create-last-mile-bookings-with-depth-parameters-to-trigger-scenarios","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"2.1 Create last-mile bookings with depth parameters to trigger scenarios"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"testing-guide/2.1-create-last-mile-bookings-with-depth-parameters-to-trigger-scenarios"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2.1 Create last-mile bookings with depth parameters to trigger scenarios"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a normal last-mile booking through the public Carrier Integration API, and let the mock provider run a scripted scenario for it. This method needs no calls to the mock service itself."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a normal last-mile booking to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST https://api.staging.glsnxt.com/ooh/carrier-connector/v1/parcels/data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", using your carrier staging "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a unique "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrierParcelId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that begins with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"000"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a test "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockerUid"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that GLS/NXT supplies. It must belong to a mock-enabled provider and use a mock locker prefix ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"996633"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"dimensions.depth"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to one of the sequence codes below. This selects which scenario the mock runs after booking."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Follow the simulated lifecycle through your Parcel Updates webhooks."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"curl --request POST \\\n  --url https://api.staging.glsnxt.com/ooh/carrier-connector/v1/parcels/data \\\n  --header 'Content-Type: application/json' \\\n  --header 'X-API-Key: <CARRIER_STAGING_API_KEY>' \\\n  --data '{\n    \"eventType\": \"BOOKING\",\n    \"shipmentType\": \"LAST_MILE\",\n    \"allocationType\": \"HARD_RESERVATION\",\n    \"carrierParcelId\": \"000<UNIQUE_PARCEL_ID>\",\n    \"lockerUid\": \"<GLSNXT_TEST_LOCKER_UID>\",\n    \"dimensions\": { \"depth\": 200, \"height\": 100, \"width\": 150 }\n  }'\n","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"curl --request POST \\\n  --url https://api.staging.glsnxt.com/ooh/carrier-connector/v1/parcels/data \\\n  --header 'Content-Type: application/json' \\\n  --header 'X-API-Key: <CARRIER_STAGING_API_KEY>' \\\n  --data '{\n    \"eventType\": \"BOOKING\",\n    \"shipmentType\": \"LAST_MILE\",\n    \"allocationType\": \"HARD_RESERVATION\",\n    \"carrierParcelId\": \"000<UNIQUE_PARCEL_ID>\",\n    \"lockerUid\": \"<GLSNXT_TEST_LOCKER_UID>\",\n    \"dimensions\": { \"depth\": 200, \"height\": 100, \"width\": 150 }\n  }'\n"},"children":[]}]}]}],"panels":[]}]}},{"type":"link","label":"Sequence codes","link":"/openapi-carrier-integration-api/testing-guide/sequence-codes","routeSlug":"/openapi-carrier-integration-api/testing-guide/sequence-codes","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Sequence codes"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4,"id":"testing-guide/sequence-codes"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sequence codes"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Code"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scenario"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Normal delivery flow: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" then "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONSIGNEE_COLLECTED"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delivery, followed by consignee collection expiry, then courier pick-up"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"450"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Booking cancellation: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_CANCELLED"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is a staging-only convention for mock lockers GLS/NXT supplies. It is not a general Carrier Integration API feature, and it does not apply to the trigger endpoints in 2.2 and 2.3."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"2.2 Trigger first-mile specific scenarios","link":"/openapi-carrier-integration-api/testing-guide/2.2-trigger-first-mile-specific-scenarios","routeSlug":"/openapi-carrier-integration-api/testing-guide/2.2-trigger-first-mile-specific-scenarios","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"2.2 Trigger first-mile specific scenarios"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"testing-guide/2.2-trigger-first-mile-specific-scenarios"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2.2 Trigger first-mile specific scenarios"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#operation/triggerFirstMileSequence"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"first-mile sequence"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" endpoint to run a complete, supported first-mile (or return) lifecycle in one call, instead of triggering each status individually."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; the service chooses the sequence based on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrier_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"labelless"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only for combinations GLS/NXT has confirmed as label-less."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Events arrive asynchronously through your webhooks; the response only confirms the sequence was accepted."},"children":[]}]}]}]}]}],"panels":[]}]}},{"type":"link","label":"2.3 Trigger individual parcel or locker events","link":"/openapi-carrier-integration-api/testing-guide/2.3-trigger-individual-parcel-or-locker-events","routeSlug":"/openapi-carrier-integration-api/testing-guide/2.3-trigger-individual-parcel-or-locker-events","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"2.3 Trigger individual parcel or locker events"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"testing-guide/2.3-trigger-individual-parcel-or-locker-events"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"2.3 Trigger individual parcel or locker events"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use these endpoints when you need to set one specific status rather than run a full booking or sequence."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"First-mile or return event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": call "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#operation/triggerFirstMileEvent"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trigger first-mile event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONSIGNEE_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". No prior booking is needed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Last-mile event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": call "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#operation/triggerLastMileEvent"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trigger last-mile event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". No prior booking is needed either: sending "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as the first event for a given "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parcel_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" creates the booking and sets that status in one step. If the first event you send for a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parcel_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is anything other than "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", it is ignored. Once "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" has been triggered, send further calls with later statuses (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONSIGNEE_COLLECTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BOOKING_CANCELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") to advance the same shipment."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": call "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#operation/triggerLockerEvent"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trigger locker event"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to set a locker to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INACTIVE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[]}]}},{"type":"link","label":"Limitations","link":"/openapi-carrier-integration-api/testing-guide/limitations","routeSlug":"/openapi-carrier-integration-api/testing-guide/limitations","content":{"contentType":"item","itemVariant":"markdown","meta":{"name":"Limitations"},"children":[{"nodeType":"container","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"testing-guide/limitations"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Limitations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mock behavior covers supported test combinations only. It does not reproduce every physical-locker or provider condition."},"children":[]}]}]}]}],"panels":[]}]}}],"content":{"contentType":"group","meta":{"name":"Testing guide"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Testing guide","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use mock locker providers to test parcel and locker status flows without a physical locker."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For request contracts and field enums, open the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"#tag/Mock-Service-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mock Service API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Staging only"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"These test tools are available only in staging. You need Carrier Integration API staging access"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and test details that GLS/NXT supplies."},"children":[]}]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/testing-guide"}],"panels":[]}]}},{"type":"group","label":"Mock Service API","link":"/openapi-carrier-integration-api/mock-service-api","routeSlug":"/openapi-carrier-integration-api/mock-service-api","items":[{"label":"Trigger first-mile event","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/mock-service-api/triggerfirstmileevent","routeSlug":"/openapi-carrier-integration-api/mock-service-api/triggerfirstmileevent","metadata":{"seo":{"title":"Trigger first-mile event","description":"Triggers one first-mile parcel event for the selected provider and carrier."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"triggerFirstMileEvent","name":"Trigger first-mile event","isWebhook":false,"pointer":"/paths/~1parcel~1first-mile~1event/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger first-mile event","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Triggers one first-mile parcel event for the selected provider and carrier."},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_76","exampleIds":["paths/~1parcel~1first-mile~1event/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_76","exampleIds":["paths/~1parcel~1first-mile~1event/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1parcel~1first-mile~1event/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/parcel/first-mile/event","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_76","exampleIds":["paths/~1parcel~1first-mile~1event/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401"],"pointer":"/parcel/first-mile/event","href":"mock-service-api/triggerfirstmileevent","openApiOperationId":"triggerFirstMileEvent","summary":"Trigger first-mile event"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"schemaId":"schema_76","exampleIds":["paths/~1parcel~1first-mile~1event/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_76","exampleIds":["paths/~1parcel~1first-mile~1event/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event triggered successfully. Body may include message and event_type."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_77"}},"schemaId":"schema_77"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"},{"code":"401","description":"Unauthorized. Invalid or missing API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"}],"pointer":"/paths/~1parcel~1first-mile~1event/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_77","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_77"}}},{"code":"400","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}},{"code":"401","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/mock-service-api/triggerfirstmileevent"}],"panels":[]}]},"httpPath":"/parcel/first-mile/event"},{"label":"Trigger first-mile sequence","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/mock-service-api/triggerfirstmilesequence","routeSlug":"/openapi-carrier-integration-api/mock-service-api/triggerfirstmilesequence","metadata":{"seo":{"title":"Trigger first-mile sequence","description":"Triggers a full first-mile event sequence. Do not send event_type. The service chooses the sequence."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"triggerFirstMileSequence","name":"Trigger first-mile sequence","isWebhook":false,"pointer":"/paths/~1parcel~1first-mile~1sequence/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger first-mile sequence","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Triggers a full first-mile event sequence. Do not send event_type. The service chooses the sequence."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_78","exampleIds":["paths/~1parcel~1first-mile~1sequence/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_78","exampleIds":["paths/~1parcel~1first-mile~1sequence/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1parcel~1first-mile~1sequence/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/parcel/first-mile/sequence","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_78","exampleIds":["paths/~1parcel~1first-mile~1sequence/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401"],"pointer":"/parcel/first-mile/sequence","href":"mock-service-api/triggerfirstmilesequence","openApiOperationId":"triggerFirstMileSequence","summary":"Trigger first-mile sequence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"schemaId":"schema_78","exampleIds":["paths/~1parcel~1first-mile~1sequence/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_78","exampleIds":["paths/~1parcel~1first-mile~1sequence/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Event sequence triggered successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_79"}},"schemaId":"schema_79"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"},{"code":"401","description":"Unauthorized. Invalid or missing API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"}],"pointer":"/paths/~1parcel~1first-mile~1sequence/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_79","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_79"}}},{"code":"400","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}},{"code":"401","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/mock-service-api/triggerfirstmilesequence"}],"panels":[]}]},"httpPath":"/parcel/first-mile/sequence"},{"label":"Trigger last-mile event","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/mock-service-api/triggerlastmileevent","routeSlug":"/openapi-carrier-integration-api/mock-service-api/triggerlastmileevent","metadata":{"seo":{"title":"Trigger last-mile event","description":"Triggers one last-mile parcel event for the selected provider and carrier.Sending COURIER_DELIVERED as the first event for a given parcel_id creates the booking and sets that status in one step.If the first event sent for a parcel_id is anything other than COURIER_DELIVERED, it is ignored.Once COURIER_DELIVERED has been triggered, send further calls with later statuses to advance the same shipment."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"triggerLastMileEvent","name":"Trigger last-mile event","isWebhook":false,"pointer":"/paths/~1parcel~1last-mile~1event/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger last-mile event","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Triggers one last-mile parcel event for the selected provider and carrier."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sending "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as the first event for a given "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parcel_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" creates the booking and sets that status in one step."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the first event sent for a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"parcel_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is anything other than "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", it is ignored."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"COURIER_DELIVERED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" has been triggered, send further calls with later statuses to advance the same shipment."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_80","exampleIds":["paths/~1parcel~1last-mile~1event/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_80","exampleIds":["paths/~1parcel~1last-mile~1event/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1parcel~1last-mile~1event/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/parcel/last-mile/event","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_80","exampleIds":["paths/~1parcel~1last-mile~1event/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401"],"pointer":"/parcel/last-mile/event","href":"mock-service-api/triggerlastmileevent","openApiOperationId":"triggerLastMileEvent","summary":"Trigger last-mile event"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"schemaId":"schema_80","exampleIds":["paths/~1parcel~1last-mile~1event/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_80","exampleIds":["paths/~1parcel~1last-mile~1event/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event triggered successfully. Body may include message, parcel_id, and event_type."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_81"}},"schemaId":"schema_81"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"},{"code":"401","description":"Unauthorized. Invalid or missing API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"}],"pointer":"/paths/~1parcel~1last-mile~1event/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_81","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_81"}}},{"code":"400","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}},{"code":"401","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/mock-service-api/triggerlastmileevent"}],"panels":[]}]},"httpPath":"/parcel/last-mile/event"},{"label":"Trigger locker event","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-carrier-integration-api/mock-service-api/triggerlockerevent","routeSlug":"/openapi-carrier-integration-api/mock-service-api/triggerlockerevent","metadata":{"seo":{"title":"Trigger locker event","description":"Triggers a locker status event for the specified provider.For AMAZON_DE and CAINIAO_FR, include provider_payload.GLS/NXT supplies the required payload.Other providers do not need provider_payload."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"triggerLockerEvent","name":"Trigger locker event","isWebhook":false,"pointer":"/paths/~1locker~1event/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Trigger locker event","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Triggers a locker status event for the specified provider."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For AMAZON_DE and CAINIAO_FR, include "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_payload"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GLS/NXT supplies the required payload."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Other providers do not need "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_payload"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"ApiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"X-API-Key","description":"API Authorization Key for API access"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_82","exampleIds":["paths/~1locker~1event/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_82","exampleIds":["paths/~1locker~1event/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1locker~1event/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/locker/event","servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"ApiKeyAuth","type":"apiKey","name":"X-API-Key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_82","exampleIds":["paths/~1locker~1event/post/requestBody/content/application~1json/example"]}},"responseCodes":["200","400","401"],"pointer":"/locker/event","href":"mock-service-api/triggerlockerevent","openApiOperationId":"triggerLockerEvent","summary":"Trigger locker event"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi-carrier-integration-api","description":"Mock server","isMockServer":true},{"url":"https://api.staging.glsnxt.com/ooh-mock-service/v1","description":"Staging mock service"}],"schemaId":"schema_82","exampleIds":["paths/~1locker~1event/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_82","exampleIds":["paths/~1locker~1event/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Event triggered successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83"}},"schemaId":"schema_83"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"},{"code":"401","description":"Unauthorized. Invalid or missing API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}},"schemaId":"components/schemas/MockServiceError"}],"pointer":"/paths/~1locker~1event/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_83","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_83"}}},{"code":"400","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}},{"code":"401","schemaId":"components/schemas/MockServiceError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MockServiceError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/mock-service-api/triggerlockerevent"}],"panels":[]}]},"httpPath":"/locker/event"}],"content":{"contentType":"group","meta":{"name":"Mock Service API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Mock Service API","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Staging-only trigger operations that simulate parcel and locker events."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use these endpoints when transparent booking is not enough."},"children":[]}]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Staging only"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base URL: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://api.staging.glsnxt.com/ooh-mock-service/v1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authenticate with your regular carrier staging API key in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No separate mock-service key is needed."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request bodies use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"snake_case"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field names."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"They do not use camelCase Carrier Integration fields."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Transparent booking uses platform "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lockerUid"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trigger APIs require provider-side "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"provider_locker_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not assume that these values are interchangeable."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/parcel/first-mile/event","summary":"Trigger first-mile event","prefix":{"name":"post","color":"post"},"badges":[],"link":"/mock-service-api/triggerfirstmileevent","deprecated":false},{"title":"/parcel/first-mile/sequence","summary":"Trigger first-mile sequence","prefix":{"name":"post","color":"post"},"badges":[],"link":"/mock-service-api/triggerfirstmilesequence","deprecated":false},{"title":"/parcel/last-mile/event","summary":"Trigger last-mile event","prefix":{"name":"post","color":"post"},"badges":[],"link":"/mock-service-api/triggerlastmileevent","deprecated":false},{"title":"/locker/event","summary":"Trigger locker event","prefix":{"name":"post","color":"post"},"badges":[],"link":"/mock-service-api/triggerlockerevent","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/MockServiceError":{"id":"components/schemas/MockServiceError","kind":"json-schema","title":"MockServiceError","data":{"type":"object","x-internal":true,"properties":{"error":{"type":"string","description":"Error message.","example":"Invalid request parameters"}}}},"components/schemas/status":{"id":"components/schemas/status","kind":"json-schema","title":"status","data":{"type":"string","enum":["ACTIVE","INACTIVE","MAINTENANCE","DECOMMISSIONED"],"example":"ACTIVE"}},"components/schemas/compartment_size":{"id":"components/schemas/compartment_size","kind":"json-schema","title":"compartment_size","data":{"type":"string","description":"Locker compartment size.","enum":["XXSMALL","XSMALL","SMALL","XMEDIUM","MEDIUM","LARGE","XLARGE","XXLARGE","ULARGE","UULARGE"],"example":"MEDIUM"}},"components/schemas/carrier":{"id":"components/schemas/carrier","kind":"json-schema","title":"carrier","data":{"type":"object","description":"The details of the locker on the Carrier's system.","properties":{"lockerName":{"type":"string","description":"The name assigned to the locker on the Carrier's system.","example":"Berlin Locker 01"},"lockerId":{"type":"string","description":"The identifier of the locker on the Carrier's system.","example":"XR1003"},"activationDate":{"type":"string","format":"date-time","description":"The date when the locker is to be activated for the carrier.","example":"2025-08-20T00:00:00Z"}},"required":["lockerName","lockerId"]}},"components/schemas/provider":{"id":"components/schemas/provider","kind":"json-schema","title":"provider","data":{"type":"object","description":"The details of the locker on the Provider's system.","properties":{"name":{"type":"string","description":"The name of the locker provider.","example":"KEBA"},"lockerModel":{"type":"string","description":"The model of the locker provided by the provider.","example":"Model 1"},"lockerVersion":{"type":"string","description":"The version of the locker model provided by the provider.","example":"v2.1"}},"required":["name","lockerModel","lockerVersion"]}},"components/schemas/location":{"id":"components/schemas/location","kind":"json-schema","title":"location","data":{"type":"object","description":"Details about the geographical location of the locker.","properties":{"street":{"type":"string","description":"The street name where the locker is located.","example":"Main Street"},"streetNumber":{"type":"string","description":"The street number of the locker location.","example":"1"},"postalCode":{"type":"string","description":"The postal code of the locker location.","example":"90210"},"city":{"type":"string","description":"The city where the locker is located.","example":"Berlin"},"lon":{"type":"number","format":"double","description":"The longitude coordinate of the locker location.","example":-118.2437},"lat":{"type":"number","format":"double","description":"The latitude coordinate of the locker location.","example":34.0522},"countryCode":{"type":"string","description":"The ISO 3166-1 alpha-2 country code for the locker location.","example":"DE"},"type":{"type":"string","enum":["indoor","outdoor"],"description":"Optional location type indicating whether the locker is indoors or outdoors. Omitted when unspecified.","example":"indoor"}},"required":["street","streetNumber","postalCode","city","lon","lat","countryCode"]}},"components/schemas/features":{"id":"components/schemas/features","kind":"json-schema","title":"features","data":{"type":"object","description":"Features available in the locker.","properties":{"hasScreen":{"type":["boolean","null"],"description":"Indicates if the locker has a screen.","example":true},"hasPinPad":{"type":["boolean","null"],"description":"Indicates if the locker has a PIN pad.","example":true},"hasPinBarcodeReader":{"type":["boolean","null"],"description":"Indicates if the locker has a barcode reader.","example":false}}}},"components/schemas/period":{"id":"components/schemas/period","kind":"json-schema","title":"period","data":{"type":"object","required":["open","close"],"properties":{"open":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"08:00","description":"Local opening time (inclusive)"},"close":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"20:00","description":"Local closing time (exclusive)"}}}},"components/schemas/weekly_period":{"id":"components/schemas/weekly_period","kind":"json-schema","title":"weekly_period","data":{"type":"object","required":["weekday","periods"],"properties":{"weekday":{"type":"string","enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]},"periods":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/period"}}}}},"components/schemas/exception_period":{"id":"components/schemas/exception_period","kind":"json-schema","title":"exception_period","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A date range overriding the default weekly schedule."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional constraint (enforced server-side, not by the generated client):"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Exactly one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"schedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" MUST be present."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sending both, neither, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a contract violation."},"children":[]}]}]}]}],"required":["startDate","endDate"],"properties":{"startDate":{"type":"string","format":"date","example":"2026-12-25"},"endDate":{"type":"string","format":"date","example":"2026-12-25"},"isClosed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Marker flag indicating the locker is fully inaccessible for this range."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When present it MUST be "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; otherwise omit the field entirely."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mutually exclusive with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"schedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"schedule":{"type":"array","minItems":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overrides for specific weekdays within the exception range."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mutually exclusive with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — omit this field when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is set."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/weekly_period"},"example":[{"weekday":"MONDAY","periods":[{"open":"10:00","close":"16:00"}]}]}}}},"components/schemas/opening_hours":{"id":"components/schemas/opening_hours","kind":"json-schema","title":"opening_hours","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locker availability schedule."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional constraints (enforced server-side, not by the generated client):"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"accessMode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"weeklySchedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" MUST be provided and non-empty."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"accessMode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALWAYS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"weeklySchedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" MUST be omitted."},"children":[]}]}]}]}],"required":["accessMode"],"properties":{"accessMode":{"type":"string","enum":["ALWAYS","SCHEDULED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"General availability mode."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALWAYS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": locker is always accessible; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"weeklySchedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be omitted."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": locker follows "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"weeklySchedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (and any "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"exceptions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}]},"weeklySchedule":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Default schedule per weekday. Required and non-empty when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"accessMode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; must be omitted when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"accessMode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALWAYS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"minItems":1,"items":{"$ref":"#/components/schemas/weekly_period"}},"exceptions":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overrides for specific dates (holidays, maintenance, seasonal hours). Ignored when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"accessMode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALWAYS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/exception_period"}}},"$defs":{"weekly_period":{"type":"object","required":["weekday","periods"],"properties":{"weekday":{"type":"string","enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]},"periods":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/period"}}}},"period":{"type":"object","required":["open","close"],"properties":{"open":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"08:00","description":"Local opening time (inclusive)"},"close":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","example":"20:00","description":"Local closing time (exclusive)"}}},"exception_period":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A date range overriding the default weekly schedule."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conditional constraint (enforced server-side, not by the generated client):"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Exactly one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"schedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" MUST be present."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sending both, neither, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed: false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a contract violation."},"children":[]}]}]}]}],"required":["startDate","endDate"],"properties":{"startDate":{"type":"string","format":"date","example":"2026-12-25"},"endDate":{"type":"string","format":"date","example":"2026-12-25"},"isClosed":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Marker flag indicating the locker is fully inaccessible for this range."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When present it MUST be "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; otherwise omit the field entirely."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mutually exclusive with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"schedule"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"schedule":{"type":"array","minItems":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overrides for specific weekdays within the exception range."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mutually exclusive with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — omit this field when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isClosed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is set."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/weekly_period"},"example":[{"weekday":"MONDAY","periods":[{"open":"10:00","close":"16:00"}]}]}}}}}},"components/schemas/metadata":{"id":"components/schemas/metadata","kind":"json-schema","title":"metadata","data":{"type":"object","description":"Metadata associated with the locker.","properties":{"key":{"type":["string","null"],"description":"The key of the metadata.","example":"maxWeightCapacity"},"value":{"type":["string","null"],"description":"The value of the metadata.","example":"50kg"}}}},"components/schemas/compartment":{"id":"components/schemas/compartment","kind":"json-schema","title":"compartment","data":{"type":"object","description":"Details about the compartments available in the locker.","properties":{"size":{"$ref":"#/components/schemas/compartment_size","description":"The size of the compartment.","example":"MEDIUM"},"count":{"type":"integer","description":"The number of compartments of this size available in the locker.","example":4},"height":{"type":"integer","description":"The height of the compartment in millimeters.","example":400},"width":{"type":"integer","description":"The width of the compartment in millimeters.","example":400},"length":{"type":"integer","description":"The length of the compartment in millimeters.","example":600}}}},"components/schemas/locker_response":{"id":"components/schemas/locker_response","kind":"json-schema","title":"locker_response","data":{"type":"object","properties":{"uid":{"type":"string","description":"The internal unique identifier assigned to the locker.","example":"1002377838"},"carrier":{"allOf":[{"$ref":"#/components/schemas/carrier"},{"type":"object","properties":{"status":{"$ref":"#/components/schemas/status"}}}]},"provider":{"allOf":[{"$ref":"#/components/schemas/provider"},{"type":"object","properties":{"lockerName":{"type":"string","description":"The name of the locker on the Provider's system.","example":"BLOQ-Berlin-12045-001"},"lockerUid":{"type":"string","description":"The unique identifier of the locker on the Provider's system.","example":"PROVIDER_LOCKER_ABC123"},"status":{"type":"string","description":"The status of the locker returned by the provider.","enum":["ACTIVE","INACTIVE"],"example":"ACTIVE"}},"required":["status"]}]},"location":{"$ref":"#/components/schemas/location"},"features":{"$ref":"#/components/schemas/features"},"openingHours":{"$ref":"#/components/schemas/opening_hours"},"metadata":{"type":"array","description":"Additional metadata associated with the locker.","items":{"$ref":"#/components/schemas/metadata"}},"ownedByCarrier":{"type":["string","null"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Indicates which carrier owns the locker. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the locker belongs to a 3rd party provider."},"children":[]}]}]}],"example":"GLS"},"compartmentTypes":{"type":["array","null"],"description":"A list of different compartment types available in the locker.","items":{"$ref":"#/components/schemas/compartment"},"example":[{"size":"SMALL","count":10,"height":200,"width":400,"length":600},{"size":"MEDIUM","count":4,"height":400,"width":400,"length":600},{"size":"LARGE","count":2,"height":800,"width":400,"length":600}]}},"required":["owner"]}},"components/schemas/group":{"id":"components/schemas/group","kind":"json-schema","title":"group","data":{"type":"object","description":"Reference to a locker group to assign, identified by its type key and uid.","properties":{"key":{"type":"string","description":"The locker group type key. A locker may have at most one group per key.","example":"DEPOT"},"uid":{"type":"string","description":"The uid of the locker group.","example":"6838265090"}},"required":["key","uid"]}},"components/schemas/create_input":{"id":"components/schemas/create_input","kind":"json-schema","title":"create_input","data":{"type":"object","properties":{"carrier":{"$ref":"#/components/schemas/carrier"},"provider":{"$ref":"#/components/schemas/provider"},"location":{"$ref":"#/components/schemas/location"},"metadata":{"type":"array","description":"Additional metadata associated with the locker.","items":{"$ref":"#/components/schemas/metadata"}},"features":{"$ref":"#/components/schemas/features"},"lockerGroups":{"type":"array","description":"Locker groups to assign, identified by key and uid; at most one per type key.","items":{"$ref":"#/components/schemas/group"}}},"required":["carrier","provider","location"]}},"components/schemas/response_409":{"id":"components/schemas/response_409","kind":"json-schema","title":"response_409","data":{"type":"object","properties":{"errorCode":{"type":"string","description":"A code representing the type of error.","example":"CONFLICT"},"message":{"type":"string","description":"A message describing the error.","example":"The request conflicts with the current state of the resource"}}}},"components/schemas/update_input":{"id":"components/schemas/update_input","kind":"json-schema","title":"update_input","data":{"type":"object","properties":{"carrier":{"$ref":"#/components/schemas/carrier"},"location":{"$ref":"#/components/schemas/location"},"metadata":{"type":"array","description":"Additional metadata associated with the locker.","items":{"$ref":"#/components/schemas/metadata"}},"features":{"$ref":"#/components/schemas/features"},"lockerGroups":{"type":"array","description":"Locker groups to assign, identified by key and uid; at most one per type key. Omit to leave current groups unchanged.","items":{"$ref":"#/components/schemas/group"}}}}},"components/schemas/update_status":{"id":"components/schemas/update_status","kind":"json-schema","title":"update_status","data":{"type":"object","properties":{"lockerUid":{"type":"string","example":"678438790243767","description":"The unique identifier of the locker in the GLS/NXT Platform"},"status":{"$ref":"#/components/schemas/status"}},"required":["lockerUid","status"]}},"components/schemas/locker_group_type":{"id":"components/schemas/locker_group_type","kind":"json-schema","title":"locker_group_type","data":{"type":"object","description":"A locker group type from the global catalog.","properties":{"key":{"type":"string","description":"The unique key identifying the locker group type.","example":"DEPOT"},"category":{"type":"string","description":"The category the locker group type belongs to.","example":"DISTRIBUTION_CENTER"}},"required":["key","category"]}},"components/schemas/locker_group":{"id":"components/schemas/locker_group","kind":"json-schema","title":"locker_group","data":{"type":"object","description":"A locker group owned by the carrier.","properties":{"uid":{"type":"string","description":"The unique identifier of the locker group.","example":"6838265090"},"key":{"type":"string","description":"The locker group type key. A locker may belong to at most one group per key.","example":"DEPOT"},"category":{"type":"string","description":"The category the locker group type belongs to.","example":"DISTRIBUTION_CENTER"},"name":{"type":"string","description":"The name of the locker group.","example":"Berlin Central"}},"required":["key","category","name"]}},"components/schemas/locker_group_create_request":{"id":"components/schemas/locker_group_create_request","kind":"json-schema","title":"locker_group_create_request","data":{"type":"object","description":"Request to create a locker group.","properties":{"typeKey":{"type":"string","description":"The locker group type key from the global catalog.","example":"DEPOT"},"name":{"type":"string","description":"The name of the locker group.","example":"Berlin Central"}},"required":["typeKey","name"]}},"components/schemas/locker_group_update_request":{"id":"components/schemas/locker_group_update_request","kind":"json-schema","title":"locker_group_update_request","data":{"type":"object","description":"Request to update a locker group.","properties":{"name":{"type":"string","description":"The new name of the locker group.","example":"Berlin North"}},"required":["name"]}},"components/schemas/locker_group_add_request":{"id":"components/schemas/locker_group_add_request","kind":"json-schema","title":"locker_group_add_request","data":{"type":"object","description":"Request to assign lockers to a locker group.","properties":{"lockerUids":{"type":"array","description":"The UIDs of the lockers to assign to the group.","items":{"type":"string"},"example":["10000019","10000020"]}},"required":["lockerUids"]}},"components/schemas/locker_group_add_response":{"id":"components/schemas/locker_group_add_response","kind":"json-schema","title":"locker_group_add_response","data":{"type":"object","description":"The lockers that were assigned to the locker group.","properties":{"lockersAdded":{"type":"array","description":"The UIDs of the lockers that were assigned to the group.","items":{"type":"string"},"example":["10000019","10000020"]}},"required":["lockersAdded"]}},"components/schemas/locker_group_remove_request":{"id":"components/schemas/locker_group_remove_request","kind":"json-schema","title":"locker_group_remove_request","data":{"type":"object","description":"Request to remove lockers from a locker group.","properties":{"lockerUids":{"type":"array","description":"The UIDs of the lockers to remove from the group.","items":{"type":"string"},"example":["10000019"]}},"required":["lockerUids"]}},"components/schemas/locker_group_removed_response":{"id":"components/schemas/locker_group_removed_response","kind":"json-schema","title":"locker_group_removed_response","data":{"type":"object","description":"The lockers that were removed from the locker group.","properties":{"lockersRemoved":{"type":"array","description":"The UIDs of the lockers that were removed from the group.","items":{"type":"string"},"example":["10000019"]}},"required":["lockersRemoved"]}},"components/schemas/network":{"id":"components/schemas/network","kind":"json-schema","title":"network","data":{"type":"object","description":"A network connecting a locker owner carrier with a tenant carrier.","properties":{"uid":{"type":"integer","format":"int64","description":"The unique identifier of the network.","example":8065713862},"ownedBy":{"type":"string","description":"The carrier that owns the network.","example":"GLS_NXT"},"tenant":{"type":"string","description":"The carrier that is the tenant of the network.","example":"GLS_DE"},"autoShare":{"type":"boolean","description":"When true, new lockers owned by this carrier are automatically added to the network.","example":false}},"required":["uid","ownedBy","tenant","autoShare"]}},"components/schemas/network_locker":{"id":"components/schemas/network_locker","kind":"json-schema","title":"network_locker","data":{"type":"object","description":"A locker within a network, including its status from the provider, carrier, and network perspectives.","properties":{"lockerUid":{"type":"integer","format":"int64","description":"The unique identifier of the locker.","example":10000019},"providerName":{"type":"string","description":"The name of the locker provider.","example":"MYFLEXBOX_DE"},"lockerName":{"type":"string","description":"The carrier-assigned name for the locker.","example":"Berlin Hauptbahnhof"},"providerLockerStatus":{"type":"string","description":"The current status of the locker on the provider's side.","example":"ACTIVE"},"carrierLockerStatus":{"type":"string","description":"The status of the locker for the carrier.","example":"ACTIVE"},"networkLockerStatus":{"type":"string","description":"The status of the locker within the network.","example":"PENDING"},"carrierLockerId":{"type":"string","description":"The carrier-specific locker identifier.","example":"3001"},"providerLockerId":{"type":"string","description":"The provider-specific locker identifier.","example":"68958"}},"required":["lockerUid","providerName","providerLockerStatus"]}},"components/schemas/network_locker_page":{"id":"components/schemas/network_locker_page","kind":"json-schema","title":"network_locker_page","data":{"type":"object","description":"A paginated list of network lockers.","properties":{"content":{"type":"array","description":"The list of network lockers for the current page.","items":{"$ref":"#/components/schemas/network_locker"}},"pageNumber":{"type":"integer","format":"int32","description":"The current page number (1-based).","example":1},"pageSize":{"type":"integer","format":"int32","description":"The number of items per page.","example":100},"totalElements":{"type":"integer","format":"int64","description":"The total number of lockers across all pages.","example":3},"isLast":{"type":"boolean","description":"Whether this is the last page.","example":true}},"required":["content","pageNumber","pageSize","totalElements","isLast"]}},"components/schemas/network_locker_add_request":{"id":"components/schemas/network_locker_add_request","kind":"json-schema","title":"network_locker_add_request","data":{"type":"object","description":"Request to add lockers to a network.","properties":{"lockerUids":{"type":"array","description":"The list of locker UIDs to add to the network.","items":{"type":"integer","format":"int64"},"example":[10000019,10000020,10000021]}},"required":["lockerUids"]}},"components/schemas/network_locker_remove_request":{"id":"components/schemas/network_locker_remove_request","kind":"json-schema","title":"network_locker_remove_request","data":{"type":"object","description":"Request to remove lockers from a network.","properties":{"lockerUids":{"type":"array","description":"The list of locker UIDs to remove from the network.","items":{"type":"integer","format":"int64"},"example":[10000019,10000020]}},"required":["lockerUids"]}},"components/schemas/carrier_update":{"id":"components/schemas/carrier_update","kind":"json-schema","title":"carrier_update","data":{"type":"object","description":"Optional carrier details to update for a network locker.","properties":{"lockerName":{"type":"string","description":"The name assigned to the locker on the Carrier's system.","example":"Berlin Locker 01"},"lockerId":{"type":"string","description":"The identifier of the locker on the Carrier's system.","example":"XR1003"},"activationDate":{"type":"string","description":"The date when the locker is to be activated for the carrier.","example":"2025-08-20T00:00:00Z"}}}},"components/schemas/network_locker_patch":{"id":"components/schemas/network_locker_patch","kind":"json-schema","title":"network_locker_patch","data":{"type":"object","description":"Request to update the status of a locker within a network, optionally including carrier details.","properties":{"networkLockerStatus":{"type":"string","description":"The new status for the network locker.","example":"ACCEPTED"},"carrier":{"$ref":"#/components/schemas/carrier_update"}},"required":["networkLockerStatus"]}},"components/schemas/booking_type":{"id":"components/schemas/booking_type","kind":"json-schema","title":"booking_type","data":{"type":"string","description":"The type of booking request.","enum":["PRE_CHECK","BOOKING"],"example":"BOOKING"}},"components/schemas/shipment_type_input":{"id":"components/schemas/shipment_type_input","kind":"json-schema","title":"shipment_type_input","data":{"type":"string","description":"The possible types of last-mile shipments accepted.","enum":["LAST_MILE","ALTERNATIVE_DELIVERY"],"example":"LAST_MILE"}},"components/schemas/consignee":{"id":"components/schemas/consignee","kind":"json-schema","title":"consignee","data":{"type":["object","null"],"description":"The details of the consignee.","properties":{"name":{"type":["string","null"],"example":"John Doe"},"email":{"type":["string","null"],"format":"email","example":"john.doe@google.com"}}}},"components/schemas/dimensions":{"id":"components/schemas/dimensions","kind":"json-schema","title":"dimensions","data":{"type":"object","description":"The dimensions of the parcel.","properties":{"depth":{"type":["integer","null"],"description":"Depth in mm","example":190},"height":{"type":["integer","null"],"description":"Height in mm","example":100},"width":{"type":["integer","null"],"description":"Width in mm","example":140}}}},"components/schemas/allocation_type":{"id":"components/schemas/allocation_type","kind":"json-schema","title":"allocation_type","data":{"type":"string","description":"The allocation type of the shipment.","enum":["HARD_RESERVATION","SOFT_RESERVATION"],"example":"HARD_RESERVATION"}},"components/schemas/input_data":{"id":"components/schemas/input_data","kind":"json-schema","title":"input_data","data":{"type":"object","properties":{"eventType":{"$ref":"#/components/schemas/booking_type"},"lockerUid":{"type":"string","description":"The unique identifier of the locker in the GLS/NXT Platform.","example":"locker_567890"},"carrierParcelId":{"type":"string","description":"The identifier of the parcel in the carrier's system.","example":"A123456789"},"shipmentType":{"$ref":"#/components/schemas/shipment_type_input"},"consignee":{"$ref":"#/components/schemas/consignee"},"dimensions":{"$ref":"#/components/schemas/dimensions"},"weight":{"type":"integer","description":"Weight in grams","example":400},"allocationType":{"$ref":"#/components/schemas/allocation_type"},"requiresAccessibleCompartment":{"type":"boolean","description":"Indicates whether the parcel requires an accessible compartment. Defaults to false when not present or null.","default":false,"example":false},"secondaryShipmentId":{"type":"string","description":"A secondary identifier for the shipment, separate from carrierParcelId.","example":"EXP-CODE-0001"}},"required":["eventType","carrierParcelId","lockerUid","dimensions"]}},"components/schemas/input_data_response":{"id":"components/schemas/input_data_response","kind":"json-schema","title":"input_data_response","data":{"type":"object","properties":{"status":{"type":"string","description":"The status of the event processing.","example":"success"},"message":{"type":"string","description":"A message providing additional information about the event processing.","example":"Parcel event received and processed successfully"},"timestamp":{"type":"string","format":"date-time","description":"The timestamp when the event was processed.","example":"2023-06-18T10:45:00Z"}}}},"components/schemas/input_data_carrier_specific":{"id":"components/schemas/input_data_carrier_specific","kind":"json-schema","title":"input_data_carrier_specific","data":{"type":"object","properties":{"eventType":{"$ref":"#/components/schemas/booking_type"},"carrierLockerId":{"type":"string","description":"The unique identifier of the locker in the Carrier Platform.","example":"LOCKER123"},"carrierParcelId":{"type":"string","description":"The identifier of the parcel in the carrier's system.","example":"12345KL6789M"},"shipmentType":{"$ref":"#/components/schemas/shipment_type_input"},"consignee":{"$ref":"#/components/schemas/consignee"},"dimensions":{"$ref":"#/components/schemas/dimensions"},"weight":{"type":"integer","description":"Weight in grams","example":300},"allocationType":{"$ref":"#/components/schemas/allocation_type"},"requiresAccessibleCompartment":{"type":"boolean","description":"Indicates whether the parcel requires an accessible compartment. Defaults to false when not present or null.","default":false,"example":false}},"required":["eventType","carrierParcelId","carrierLockerId","dimensions"]}},"components/schemas/shipment_type":{"id":"components/schemas/shipment_type","kind":"json-schema","title":"shipment_type","data":{"type":"string","description":"The type of shipment.","enum":["LAST_MILE","ALTERNATIVE_DELIVERY","FIRST_MILE","RETURN"],"example":"LAST_MILE"}},"components/schemas/dimensions_status":{"id":"components/schemas/dimensions_status","kind":"json-schema","title":"dimensions_status","data":{"type":"string","description":"The status of the parcel dimensions.","enum":["PARCEL_DIMENSIONS_EXCEED","PARCEL_DIMENSIONS_OK","PARCEL_DIMENSIONS_UNKNOWN"],"example":"PARCEL_DIMENSIONS_OK"}},"components/schemas/shipment_status":{"id":"components/schemas/shipment_status","kind":"json-schema","title":"shipment_status","data":{"type":"string","description":"The status of the shipment.","enum":["BOOKING_PRE_CHECK","BOOKING_REQUESTED","BOOKING_CREATED","BOOKING_CANCELLED","BOOKING_CANCELLATION_FAILED","BOOKING_EXPIRED","BOOKING_REJECTED_INVALID_LOCKER","BOOKING_REJECTED_PROVIDER_ERROR","BOOKING_REJECTED_LOCKER_IS_FULL","BOOKING_REJECTED_NO_FREE_FITTING_COMPARTMENT","BOOKING_REJECTED_LOCKER_UNAVAILABLE","BOOKING_REJECTED_DIMENSIONS_EXCEED","BOOKING_REJECTED_INVALID_CONSIGNEE","BOOKING_REJECTED_NO_ACCESSIBLE_COMPARTMENT","COURIER_DELIVERED","COURIER_DELIVERY_EXPIRED","COURIER_DELIVERY_LABEL_SCANNED","COURIER_COLLECTED","COURIER_COLLECTED_EXPIRED","COURIER_COLLECTION_LABEL_SCANNED","COURIER_COLLECTION_LABEL_NOT_AVAILABLE","CONSIGNEE_COLLECTED","CONSIGNEE_DELIVERED","CONSIGNEE_DELIVERY_EXPIRED","CONSIGNEE_COLLECTION_EXPIRED","DELIVERY_PARCEL_TOO_BIG","DELIVERY_COMPARTMENT_BROKEN","DELIVERY_COMPARTMENT_OCCUPIED","DELIVERY_NOT_POSSIBLE","COLLECTION_PARCEL_NOT_AVAILABLE","COLLECTION_COMPARTMENT_BROKEN","COLLECTION_NOT_POSSIBLE"],"example":"CONSIGNEE_COLLECTED"}},"components/schemas/code":{"id":"components/schemas/code","kind":"json-schema","title":"code","data":{"type":["object","null"],"description":"Access codes with valid until timestamp.","properties":{"code":{"type":"string","example":"anyValidCode123"},"validUntil":{"type":"string","format":"date-time","example":"2025-01-27T12:00:00Z","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Code validity in UTC timestamp "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://datatracker.ietf.org/doc/html/rfc3339#section-5.6"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" format."},"children":[]}]}]}]}},"required":["code"]}},"components/schemas/access_codes":{"id":"components/schemas/access_codes","kind":"json-schema","title":"access_codes","data":{"type":["object","null"],"description":"Access codes for the parcel","properties":{"consigneeCollection":{"type":"string","example":"anyValidCode123","deprecated":true},"consigneeCollectionCode":{"type":"object","$ref":"#/components/schemas/code","description":"The access code for the consignee collection"}}}},"components/schemas/parcel_events":{"id":"components/schemas/parcel_events","kind":"json-schema","title":"parcel_events","data":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","example":"2025-08-20T00:00:00Z"},"eventType":{"$ref":"#/components/schemas/shipment_status"}}}}},"components/schemas/signature":{"id":"components/schemas/signature","kind":"json-schema","title":"signature","data":{"type":"object","description":"A Base64-encoded image representing the consignee's signature, captured upon parcel collection","properties":{"imageBase64":{"type":"string","example":"imageBase64StringHere"},"format":{"type":"string","example":""}}}},"components/schemas/parcel_response":{"id":"components/schemas/parcel_response","kind":"json-schema","title":"parcel_response","data":{"type":"object","properties":{"shipmentUid":{"type":"string","example":"anyParcelId123","description":"The unique identifier of the parcel shipment in the GLS/NXT Platform"},"lockerUid":{"type":"string","example":"anyLockerId123","description":"The unique identifier of the locker in the GLS/NXT Platform"},"carrierParcelId":{"type":"string","example":"anyCarrierParcelId123","description":"The identifier of the parcel in the carrier's system"},"carrierLockerId":{"type":["string","null"],"example":"Locker1","description":"The identifier of the locker in the carrier's system"},"shipmentType":{"$ref":"#/components/schemas/shipment_type"},"dimensionsStatus":{"$ref":"#/components/schemas/dimensions_status"},"shipmentStatus":{"$ref":"#/components/schemas/shipment_status"},"isFinal":{"type":"boolean","example":true},"accessCodes":{"$ref":"#/components/schemas/access_codes"},"consignee":{"$ref":"#/components/schemas/consignee"},"events":{"$ref":"#/components/schemas/parcel_events"},"allocationType":{"$ref":"#/components/schemas/allocation_type"},"providerName":{"type":["string","null"],"example":"LOCKY_PT","description":"The name of the locker network provider"},"providerLockerId":{"type":["string","null"],"example":"1178","description":"The identifier of the locker in the provider's system"},"shipmentSignature":{"$ref":"#/components/schemas/signature"},"requiresAccessibleCompartment":{"type":"boolean","example":true},"labelType":{"type":"string","enum":["LABELLESS","LABELED"],"example":"LABELLESS","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label mode for the shipment. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LABELLESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means no printed label is used and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LABELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means a printed label is used."},"children":[]}]}]}]},"referenceCode":{"type":"string","example":"LBL000000018","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reference code scanned by driver during pickup of the labelless parcel. This field is only relevant for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LABELLESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" shipments."},"children":[]}]}]}]},"secondaryShipmentId":{"type":["string","null"],"example":"EXP-CODE-0001","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A secondary identifier for the shipment, separate from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrierParcelId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}}}},"components/schemas/parcel_page":{"id":"components/schemas/parcel_page","kind":"json-schema","title":"parcel_page","data":{"type":"object","description":"A paginated list of parcels.","properties":{"content":{"type":"array","description":"The list of parcels for the current page.","items":{"$ref":"#/components/schemas/parcel_response"}},"pageNumber":{"type":"integer","format":"int32","description":"The current page number (1-based).","example":1},"pageSize":{"type":"integer","format":"int32","description":"The number of items per page.","example":30},"isLast":{"type":"boolean","description":"Whether this is the last page.","example":true}},"required":["content","pageNumber","pageSize","isLast"]}},"components/schemas/webhook_update_request":{"id":"components/schemas/webhook_update_request","kind":"json-schema","title":"webhook_update_request","data":{"allOf":[{"$ref":"#/components/schemas/locker_response"},{"type":"object","required":["eventTimestamp"],"properties":{"eventTimestamp":{"type":"string","format":"date-time","example":"2025-08-20T00:00:00Z","description":"The timestamp of the locker status update."}}}]}},"components/schemas/parcel_event":{"id":"components/schemas/parcel_event","kind":"json-schema","title":"parcel_event","data":{"type":"object","properties":{"shipmentUid":{"type":"string","example":"anyParcelId123","description":"The unique identifier of the parcel shipment in the GLS/NXT Platform"},"lockerUid":{"type":"string","example":"anyLockerId123","description":"The unique identifier of the locker in the GLS/NXT Platform"},"carrierParcelId":{"type":"string","example":"anyCarrierParcelId123","description":"The identifier of the parcel in the carrier's system"},"carrierLockerId":{"type":["string","null"],"example":"Locker1","description":"The identifier of the locker in the carrier's system"},"compartmentId":{"type":["string","null"],"example":"A-01","description":"The identifier of the compartment assigned to the parcel"},"compartmentSize":{"type":["string","null"],"enum":["XXSMALL","XSMALL","SMALL","XMEDIUM","MEDIUM","LARGE","XLARGE","XXLARGE","ULARGE","UULARGE",null],"example":"MEDIUM","description":"The size of the compartment assigned to the parcel"},"mdmLocationId":{"type":["string","null"],"example":"123456","description":"Specific to certain carriers only. The MDM location identifier associated with the parcel locker"},"barcodeContent":{"type":["string","null"],"example":"LBL000000018","description":"Specific to certain carriers only. The barcode content associated with the parcel"},"shipmentType":{"$ref":"#/components/schemas/shipment_type"},"dimensionsStatus":{"$ref":"#/components/schemas/dimensions_status"},"shipmentStatus":{"$ref":"#/components/schemas/shipment_status"},"isFinal":{"type":"boolean","example":true},"accessCodes":{"$ref":"#/components/schemas/access_codes"},"consignee":{"$ref":"#/components/schemas/consignee"},"events":{"$ref":"#/components/schemas/parcel_events"},"allocationType":{"$ref":"#/components/schemas/allocation_type"},"carrierName":{"type":["string","null"],"example":"GLS_DE","description":"The name of the carrier"},"providerName":{"type":["string","null"],"example":"LOCKY_PT","description":"The name of the locker network provider"},"providerLockerId":{"type":["string","null"],"example":"1178","description":"The identifier of the locker in the provider's system"},"shipmentSignature":{"$ref":"#/components/schemas/signature"},"requiresAccessibleCompartment":{"type":"boolean","example":true},"labelType":{"type":"string","enum":["LABELLESS","LABELED"],"example":"LABELLESS","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label mode for the shipment. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LABELLESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means no printed label is used and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LABELED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means a printed label is used."},"children":[]}]}]}]},"referenceCode":{"type":"string","example":"LBL000000018","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reference code scanned by driver during pickup of the labelless parcel. This field is only relevant for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"LABELLESS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" shipments."},"children":[]}]}]}]},"secondaryShipmentId":{"type":["string","null"],"example":"EXP-CODE-0001","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A secondary identifier for the shipment, separate from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"carrierParcelId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"eventTimestamp":{"type":"string","format":"date-time","example":"2025-08-20T00:00:00Z","description":"The timestamp of the parcel update"}}}},"components/schemas/collection_events":{"id":"components/schemas/collection_events","kind":"json-schema","title":"collection_events","data":{"type":"object","properties":{"eventTimestamp":{"type":"string","format":"date-time","example":"2025-08-20T00:00:00Z","description":"The timestamp of the collection event"},"lockerUid":{"type":"string","description":"The unique identifier of the locker in the GLS/NXT Platform","example":"8979879823"},"carrierLockerId":{"type":["string","null"],"description":"The unique identifier of the locker in the Carrier's system","example":"GHX1234"},"courierAccessCode":{"type":["string","null"],"description":"Access code for the courier to collect parcels from locker. Access code rotates daily.","example":"342156"},"parcels":{"type":"array","items":{"type":"object","properties":{"carrierParcelId":{"type":"string","description":"The identifier of the parcel in the carrier's system","example":"1234212321"}}}}}}},"schema_42":{"kind":"json-schema","data":{"properties":{"errorCode":{"type":"string","description":"A code representing the type of error.","example":"INVALID_REQUEST"},"message":{"type":"string","description":"A message describing the error.","example":"Bad request due to invalid input"}}},"id":"schema_42"},"schema_43":{"kind":"json-schema","data":{"properties":{"errorCode":{"type":"string","description":"A code representing the type of error.","example":"UNAUTHORIZED"},"message":{"type":"string","description":"A message describing the error.","example":"The requested resource requires authentication"}}},"id":"schema_43"},"schema_44":{"kind":"json-schema","data":{"properties":{"errorCode":{"type":"string","description":"A code representing the type of error.","example":"SERVER_ERROR"},"message":{"type":"string","description":"A message describing the error.","example":"The server encountered an internal error"}}},"id":"schema_44"},"schema_45":{"kind":"json-schema","data":{"type":"string","example":"BLOQ"},"id":"schema_45"},"schema_46":{"kind":"json-schema","data":{"$ref":"#/components/schemas/status","example":"ACTIVE"},"id":"schema_46"},"schema_47":{"kind":"json-schema","data":{"type":"string","example":"Berlin"},"id":"schema_47"},"schema_48":{"kind":"json-schema","data":{"type":"string","example":"DE"},"id":"schema_48"},"schema_49":{"kind":"json-schema","data":{"$ref":"#/components/schemas/compartment_size"},"id":"schema_49"},"schema_50":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/locker_response"}},"id":"schema_50"},"schema_51":{"kind":"json-schema","data":{"type":"string","example":"426614174000"},"id":"schema_51"},"schema_52":{"kind":"json-schema","data":{"properties":{"errorCode":{"type":"string","description":"A code representing the type of error.","example":"NOT_FOUND"},"message":{"type":"string","description":"A message describing the error.","example":"The requested resource was not found"}}},"id":"schema_52"},"schema_53":{"kind":"json-schema","data":{"type":"string","minLength":1,"maxLength":200,"example":"10000001,10000002"},"id":"schema_53"},"schema_54":{"kind":"json-schema","data":{"type":"string","minLength":1,"maxLength":200,"example":"DE46677,DE12345"},"id":"schema_54"},"schema_55":{"kind":"json-schema","data":{"type":"array","items":{"allOf":[{"type":"object","properties":{"providerName":{"type":"string","description":"The name of the locker provider."},"lockerModel":{"type":"string","description":"The model of the locker provided by the provider."},"lockerVersion":{"type":"string","description":"The version of the locker model provided by the provider."},"providerUid":{"type":"string","description":"The unique identifier of the provider on the GLS/NXT system."}}}]}},"id":"schema_55"},"schema_56":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/locker_group_type"}},"id":"schema_56"},"schema_57":{"kind":"json-schema","data":{"type":"array","items":{"type":"string"}},"id":"schema_57"},"schema_58":{"kind":"json-schema","data":{"type":"string"},"id":"schema_58"},"schema_59":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/locker_group"}},"id":"schema_59"},"schema_60":{"kind":"json-schema","data":{"type":"integer","format":"int64","example":6838265090},"id":"schema_60"},"schema_61":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/network"}},"id":"schema_61"},"schema_62":{"kind":"json-schema","data":{"type":"integer","format":"int64","example":8065713862},"id":"schema_62"},"schema_63":{"kind":"json-schema","data":{"type":"string","example":"ACCEPTED"},"id":"schema_63"},"schema_64":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":1,"example":1},"id":"schema_64"},"schema_65":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":100,"example":100},"id":"schema_65"},"schema_66":{"kind":"json-schema","data":{"type":"string","default":"ASC","example":"ASC"},"id":"schema_66"},"schema_67":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/network_locker"}},"id":"schema_67"},"schema_68":{"kind":"json-schema","data":{"type":"integer","format":"int64","example":10000019},"id":"schema_68"},"schema_69":{"kind":"json-schema","data":{"type":"string","example":"12345131,G6789011,A1234511"},"id":"schema_69"},"schema_70":{"kind":"json-schema","data":{"type":"array","description":"List of parcels","items":{"$ref":"#/components/schemas/parcel_response"}},"id":"schema_70"},"schema_71":{"kind":"json-schema","data":{"type":"string","example":"anyLockerId123"},"id":"schema_71"},"schema_72":{"kind":"json-schema","data":{"type":"string","example":"2760935259"},"id":"schema_72"},"schema_73":{"kind":"json-schema","data":{"type":"boolean","example":false},"id":"schema_73"},"schema_74":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":30,"maximum":100,"example":30},"id":"schema_74"},"schema_75":{"kind":"json-schema","data":{"type":"string","example":"1234567890"},"id":"schema_75"},"schema_76":{"kind":"json-schema","data":{"type":"object","x-internal":true,"required":["parcel_id","provider_locker_id","provider_name","carrier_name","shipment_type","event_type"],"properties":{"parcel_id":{"type":"string","description":"Unique parcel identifier.","example":"000123456789"},"provider_locker_id":{"type":"string","description":"Provider-side locker identifier.","example":"99663306"},"event_type":{"x-internal":true,"type":"string","description":"Event to trigger.","enum":["BOOKING_CREATED","COURIER_COLLECTED","CONSIGNEE_DELIVERED"],"example":"CONSIGNEE_DELIVERED"},"carrier_name":{"x-internal":true,"type":"string","description":"Carrier name.","enum":["GLS_NXT","GLS_DE","GLS_AT","DPD_DE","GLS_ES","GLS_IT","GLS_PT","GLS_DK","GLS_FR","RMG_UK"],"example":"GLS_NXT"},"provider_name":{"x-internal":true,"type":"string","description":"Locker provider name.","enum":["KEBA","MYFLEXBOX_DE","MYFLEXBOX_AT","TAMBURI_AT","QUADIENT","BLOQ","CAINIAO_FR"],"example":"KEBA"},"shipment_type":{"x-internal":true,"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FIRST_MILE or RETURN."},"children":[]}]}]}],"enum":["FIRST_MILE","RETURN"],"example":"FIRST_MILE"},"labelless":{"type":"boolean","description":"Optional. Set true only for confirmed label-less combinations.","example":false}}},"id":"schema_76"},"schema_77":{"kind":"json-schema","data":{"type":"object","x-internal":true,"properties":{"message":{"type":"string","example":"First Mile event triggered successfully"},"event_type":{"type":"string","example":"CONSIGNEE_DELIVERED"}}},"id":"schema_77"},"schema_78":{"kind":"json-schema","data":{"type":"object","x-internal":true,"required":["parcel_id","provider_locker_id","provider_name","carrier_name","shipment_type"],"properties":{"parcel_id":{"type":"string","description":"Unique parcel identifier.","example":"000123456789"},"provider_locker_id":{"type":"string","description":"Provider-side locker identifier.","example":"99663306"},"carrier_name":{"x-internal":true,"type":"string","description":"Carrier name.","enum":["GLS_NXT","GLS_DE","GLS_AT","DPD_DE","GLS_ES","GLS_IT","GLS_PT","GLS_DK","GLS_FR","RMG_UK"],"example":"GLS_NXT"},"provider_name":{"x-internal":true,"type":"string","description":"Locker provider name.","enum":["KEBA","MYFLEXBOX_DE","MYFLEXBOX_AT","TAMBURI_AT","QUADIENT","BLOQ","CAINIAO_FR"],"example":"KEBA"},"shipment_type":{"x-internal":true,"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FIRST_MILE or RETURN."},"children":[]}]}]}],"enum":["FIRST_MILE","RETURN"],"example":"FIRST_MILE"},"labelless":{"type":"boolean","description":"Optional. Set true only for confirmed label-less combinations.","example":false}}},"id":"schema_78"},"schema_79":{"kind":"json-schema","data":{"type":"object","x-internal":true,"properties":{"message":{"type":"string","example":"First Mile event sequence triggered successfully"}}},"id":"schema_79"},"schema_80":{"kind":"json-schema","data":{"type":"object","x-internal":true,"required":["parcel_id","provider_locker_id","provider_name","carrier_name","shipment_type","event_type"],"properties":{"parcel_id":{"type":"string","description":"Unique parcel identifier.","example":"000123456789"},"provider_locker_id":{"type":"string","description":"Provider-side locker identifier.","example":"99663306"},"event_type":{"x-internal":true,"type":"string","description":"Event to trigger.","enum":["COURIER_DELIVERED","CONSIGNEE_COLLECTED","CONSIGNEE_COLLECTION_EXPIRED","BOOKING_CANCELLED","COURIER_COLLECTED_EXPIRED","COURIER_DELIVERY_ERROR"],"example":"COURIER_DELIVERED"},"carrier_name":{"x-internal":true,"type":"string","description":"Carrier name.","enum":["GLS_NXT","GLS_DE","GLS_AT","DPD_DE","GLS_ES","GLS_IT","GLS_PT","GLS_DK","GLS_FR","RMG_UK"],"example":"GLS_NXT"},"provider_name":{"x-internal":true,"type":"string","description":"Locker provider name.","enum":["KEBA","MYFLEXBOX_DE","MYFLEXBOX_AT","TAMBURI_AT","LOCKY_PT","QUADIENT","BLOQ","AMAZON_DE","CAINIAO_FR"],"example":"KEBA"},"shipment_type":{"x-internal":true,"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"LAST_MILE or ALTERNATIVE_DELIVERY."},"children":[]}]}]}],"enum":["LAST_MILE","ALTERNATIVE_DELIVERY"],"example":"LAST_MILE"}}},"id":"schema_80"},"schema_81":{"kind":"json-schema","data":{"type":"object","x-internal":true,"properties":{"message":{"type":"string","example":"Last Mile event triggered successfully"},"parcel_id":{"type":"string","example":"000123456789"},"event_type":{"type":"string","example":"COURIER_DELIVERED"}}},"id":"schema_81"},"schema_82":{"kind":"json-schema","data":{"type":"object","x-internal":true,"required":["provider_locker_id","provider_name","carrier_name","locker_status"],"properties":{"provider_locker_id":{"type":"string","description":"Provider-side locker identifier.","example":"99663306"},"provider_name":{"x-internal":true,"type":"string","description":"Locker provider name.","enum":["BLOQ","KEBA","MYFLEXBOX_DE","MYFLEXBOX_AT","TAMBURI_AT","LOCKY_PT","AMAZON_DE","CAINIAO_FR"],"example":"KEBA"},"locker_status":{"x-internal":true,"type":"string","description":"Target locker status.","enum":["ACTIVE","INACTIVE"],"example":"ACTIVE"},"carrier_name":{"x-internal":true,"type":"string","description":"Carrier name.","enum":["GLS_NXT","GLS_DE","GLS_AT","DPD_DE","GLS_ES","GLS_IT","GLS_PT","GLS_DK","GLS_FR","RMG_UK"],"example":"GLS_NXT"},"provider_payload":{"type":"object","additionalProperties":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required for AMAZON_DE and CAINIAO_FR. GLS/NXT supplies the payload. Do not include this field for KEBA and other providers that do not need it."},"children":[]}]}]}]}}},"id":"schema_82"},"schema_83":{"kind":"json-schema","data":{"type":"object","x-internal":true,"properties":{"message":{"type":"string","example":"Locker event triggered successfully"}}},"id":"schema_83"}},"exampleStore":{"paths/~1lockers/post/responses/409/content/application~1json/example":{"value":{"errorCode":"CONFLICT","message":"Requested Carrier Locker already exists"},"id":"paths/~1lockers/post/responses/409/content/application~1json/example"},"paths/~1lockers~1providers/get/responses/200/content/application~1json/example":{"value":[{"providerName":"KEBA","lockerModel":"Model 1","lockerVersion":"v2.1","providerUid":"1103459297"},{"providerName":"KEBA","lockerModel":"Model 1","lockerVersion":"v2.2","providerUid":"1103459297"},{"providerName":"KEBA","lockerModel":"Model 2","lockerVersion":"v1.0","providerUid":"1103459297"},{"providerName":"MYFLEXBOX","lockerModel":"Model 23","lockerVersion":"v1.5","providerUid":"1203659298"}],"id":"paths/~1lockers~1providers/get/responses/200/content/application~1json/example"},"paths/~1lockers~1status/patch/responses/409/content/application~1json/example":{"value":{"errorCode":"CONFLICT","example":"The locker status cannot be updated due to a conflicting state"},"id":"paths/~1lockers~1status/patch/responses/409/content/application~1json/example"},"paths/~1parcel~1first-mile~1event/post/requestBody/content/application~1json/example":{"value":{"parcel_id":"000123456789","provider_locker_id":"99663306","provider_name":"KEBA","carrier_name":"GLS_NXT","shipment_type":"FIRST_MILE","event_type":"CONSIGNEE_DELIVERED"},"id":"paths/~1parcel~1first-mile~1event/post/requestBody/content/application~1json/example"},"paths/~1parcel~1first-mile~1sequence/post/requestBody/content/application~1json/example":{"value":{"parcel_id":"000123456789","provider_locker_id":"99663306","provider_name":"KEBA","carrier_name":"GLS_NXT","shipment_type":"FIRST_MILE","labelless":false},"id":"paths/~1parcel~1first-mile~1sequence/post/requestBody/content/application~1json/example"},"paths/~1parcel~1last-mile~1event/post/requestBody/content/application~1json/example":{"value":{"parcel_id":"000123456789","provider_locker_id":"99663306","provider_name":"KEBA","carrier_name":"GLS_NXT","shipment_type":"LAST_MILE","event_type":"COURIER_DELIVERED"},"id":"paths/~1parcel~1last-mile~1event/post/requestBody/content/application~1json/example"},"paths/~1locker~1event/post/requestBody/content/application~1json/example":{"value":{"provider_locker_id":"99663306","provider_name":"KEBA","carrier_name":"GLS_NXT","locker_status":"ACTIVE"},"id":"paths/~1locker~1event/post/requestBody/content/application~1json/example"}},"securitySchemeStore":{"ApiKeyAuth":{"id":"ApiKeyAuth","type":"apiKey","description":"API Authorization Key for API access","in":"header","paramName":"X-API-Key"}},"servers":[{"url":"/_mock/openapi-carrier-integration-api","isMockServer":true,"description":"Mock server"},{"url":"https://api.staging.glsnxt.com/ooh/carrier-connector/v1","description":"Staging"},{"url":"https://api.glsnxt.com/ooh/carrier-connector/v1","description":"Production"}]},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/openapi-carrier-integration-api","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/openapi-carrier-integration-api.json?download"},{"url":"/_bundle/openapi-carrier-integration-api.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"GLS/NXT OOH Platform Integration REST API","description":"The **GLS/NXT OOH Platform Integration API** is designed to optimize **first-mile and last-mile logistics operations** by providing comprehensive management of lockers, parcels, and carrier settings.\n\n## 🚀 Key Capabilities\n\n- **📦 Locker Management**: Create, update, and retrieve locker information with detailed location and compartment data\n- **📋 Parcel Operations**: Handle delivery and return operations with real-time booking and status tracking\n- **📡 Real-time Updates**: Webhook-based event notifications for immediate status awareness\n\n## 🔄 Event-Driven Architecture\n\nThe API extends traditional REST capabilities with **event-based data exchange** built on top of webhooks and **traceable session management** for couriers and end-users locker interactions.\n\n## 🛡️ Security & Reliability\n\n- **Robust authentication** and error handling mechanisms\n- **Secure and reliable** interactions with comprehensive validation\n- **Real-time status updates** via webhooks for enhanced operational efficiency\n\n## 🎯 Business Value\n\nBy leveraging these features, carriers can **streamline their APM logistics integration processes** and quickly provide a more **flexible and convenient service** for their customers.\n"}},"baseSlug":"/openapi-carrier-integration-api","routesMapping":{}}