GLS Netherlands Label API

RESTful shipping API for printing labels and manifesting shipping data for GLS Netherlands. Covers login validation, label creation (parcel ShipType "P" and freight ShipType "F"), label deletion, single and multiple label confirmation, ParcelShop lookup, delivery-option lookup, pickup creation and deletion, and shop-return creation. Labels are returned as ZPL or Base64 PDF (pdf, pdfa6u, pdfa6s, pdfroutingonly, pdf2a4, pdf4a4), or the raw routing data can be returned so the customer prints their own label. Authentication carries MyGLS username and password in the request body; the developer-portal subscription key is issued per registered product. An OpenAPI 3.0.1 definition is anonymously exportable from the Azure API Management portal, and a separate test environment is published at https://api.gls.nl/test/v1.

OpenAPI Specification

gls-netherlands-label-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: GLS Netherlands LabelApi - Production
  description: GLS Label API Production environment
  version: v1
servers:
  - url: https://api.gls.nl/v1
paths:
  /api/Authentication/ValidateLogin:
    post:
      tags:
        - Authentication
      summary: ValidateLogin
      operationId: ValidateLogin
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/InboundLoginRequest'
            example:
              username: string
              password: string
          application/json:
            schema:
              $ref: '#/components/schemas/InboundLoginRequest'
            example:
              username: string
              password: string
          text/json:
            schema:
              $ref: '#/components/schemas/InboundLoginRequest'
            example:
              username: string
              password: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/InboundLoginRequest'
            example:
              username: string
              password: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
  /api/Label/Create:
    post:
      tags:
        - Delivery
      summary: CreateLabel
      operationId: CreateLabel
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/InboundCreateDeliveryRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              customerNo: string
              customerSubjectName: string
              reference: string
              trackingLinkType: u
              units:
                - unitId: string
                  unitType: co
                  customerUnitReference: string
                  weight: 0
                  dimensions:
                    length: 0
                    width: 0
                    height: 0
                  additionalInfo1: string
                  additionalInfo2: string
              labelType: zpl
              labelA4StartPosition: 0
              labelA4MoveXMm: 0
              labelA4MoveYMm: 0
              notificationEmail:
                sendMail: true
                senderName: string
                senderReplyAddress: string
                senderContactName: string
                senderPhoneNo: string
                emailSubject: string
                emailAddressCC: string
                emailAddressBCC: string
              returnRoutingData: true
              addresses:
                pickupAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                deliveryAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                  addresseeType: b
              shippingDate: string
              services:
                addresseeOnlyService: true
                expressService: none
                expressConfirmSMS: string
                economyParcel: true
                letterBoxParcel: true
                shopDeliveryService: true
                shopDeliveryParcelShopId: string
                shopDeliveryPlusService: true
                shopReturnService: true
                saturdayService: true
          application/json:
            schema:
              $ref: '#/components/schemas/InboundCreateDeliveryRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              customerNo: string
              customerSubjectName: string
              reference: string
              trackingLinkType: u
              units:
                - unitId: string
                  unitType: co
                  customerUnitReference: string
                  weight: 0
                  dimensions:
                    length: 0
                    width: 0
                    height: 0
                  additionalInfo1: string
                  additionalInfo2: string
              labelType: zpl
              labelA4StartPosition: 0
              labelA4MoveXMm: 0
              labelA4MoveYMm: 0
              notificationEmail:
                sendMail: true
                senderName: string
                senderReplyAddress: string
                senderContactName: string
                senderPhoneNo: string
                emailSubject: string
                emailAddressCC: string
                emailAddressBCC: string
              returnRoutingData: true
              addresses:
                pickupAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                deliveryAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                  addresseeType: b
              shippingDate: string
              services:
                addresseeOnlyService: true
                expressService: none
                expressConfirmSMS: string
                economyParcel: true
                letterBoxParcel: true
                shopDeliveryService: true
                shopDeliveryParcelShopId: string
                shopDeliveryPlusService: true
                shopReturnService: true
                saturdayService: true
          text/json:
            schema:
              $ref: '#/components/schemas/InboundCreateDeliveryRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              customerNo: string
              customerSubjectName: string
              reference: string
              trackingLinkType: u
              units:
                - unitId: string
                  unitType: co
                  customerUnitReference: string
                  weight: 0
                  dimensions:
                    length: 0
                    width: 0
                    height: 0
                  additionalInfo1: string
                  additionalInfo2: string
              labelType: zpl
              labelA4StartPosition: 0
              labelA4MoveXMm: 0
              labelA4MoveYMm: 0
              notificationEmail:
                sendMail: true
                senderName: string
                senderReplyAddress: string
                senderContactName: string
                senderPhoneNo: string
                emailSubject: string
                emailAddressCC: string
                emailAddressBCC: string
              returnRoutingData: true
              addresses:
                pickupAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                deliveryAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                  addresseeType: b
              shippingDate: string
              services:
                addresseeOnlyService: true
                expressService: none
                expressConfirmSMS: string
                economyParcel: true
                letterBoxParcel: true
                shopDeliveryService: true
                shopDeliveryParcelShopId: string
                shopDeliveryPlusService: true
                shopReturnService: true
                saturdayService: true
          application/*+json:
            schema:
              $ref: '#/components/schemas/InboundCreateDeliveryRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              customerNo: string
              customerSubjectName: string
              reference: string
              trackingLinkType: u
              units:
                - unitId: string
                  unitType: co
                  customerUnitReference: string
                  weight: 0
                  dimensions:
                    length: 0
                    width: 0
                    height: 0
                  additionalInfo1: string
                  additionalInfo2: string
              labelType: zpl
              labelA4StartPosition: 0
              labelA4MoveXMm: 0
              labelA4MoveYMm: 0
              notificationEmail:
                sendMail: true
                senderName: string
                senderReplyAddress: string
                senderContactName: string
                senderPhoneNo: string
                emailSubject: string
                emailAddressCC: string
                emailAddressBCC: string
              returnRoutingData: true
              addresses:
                pickupAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                deliveryAddress:
                  name1: string
                  name2: string
                  name3: string
                  street: string
                  houseNo: string
                  houseNoExt: string
                  zipCode: string
                  city: string
                  countryCode: string
                  contact: string
                  phone: string
                  email: string
                  addresseeType: b
              shippingDate: string
              services:
                addresseeOnlyService: true
                expressService: none
                expressConfirmSMS: string
                economyParcel: true
                letterBoxParcel: true
                shopDeliveryService: true
                shopDeliveryParcelShopId: string
                shopDeliveryPlusService: true
                shopReturnService: true
                saturdayService: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiCreateLabelResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
                shipmentTrackingLink: string
                labels: string
                units:
                  - { }
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '424':
          description: Failed Dependency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
  /api/Label/Delete:
    post:
      tags:
        - Delivery
      summary: DeleteLabel
      operationId: DeleteLabel
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/InboundDeleteRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
          application/json:
            schema:
              $ref: '#/components/schemas/InboundDeleteRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
          text/json:
            schema:
              $ref: '#/components/schemas/InboundDeleteRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/InboundDeleteRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiDeleteLabelResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '424':
          description: Failed Dependency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
  /api/Label/Confirm:
    post:
      tags:
        - Delivery
      summary: ConfirmLabel
      operationId: ConfirmLabel
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/InboundConfirmRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
              shippingDate: string
          application/json:
            schema:
              $ref: '#/components/schemas/InboundConfirmRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
              shippingDate: string
          text/json:
            schema:
              $ref: '#/components/schemas/InboundConfirmRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
              shippingDate: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/InboundConfirmRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNo: string
              shippingDate: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiConfirmLabelResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '424':
          description: Failed Dependency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
  /api/Label/ConfirmMultiple:
    post:
      tags:
        - Delivery
      summary: ConfirmMultiple
      operationId: ConfirmMultiple
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/InboundConfirmMultipleRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNos:
                - string
              shippingDate: string
          application/json:
            schema:
              $ref: '#/components/schemas/InboundConfirmMultipleRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNos:
                - string
              shippingDate: string
          text/json:
            schema:
              $ref: '#/components/schemas/InboundConfirmMultipleRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNos:
                - string
              shippingDate: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/InboundConfirmMultipleRequest'
            example:
              username: string
              password: string
              shippingSystemName: string
              shippingSystemVersion: string
              shiptype: p
              unitNos:
                - string
              shippingDate: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiConfirmLabelResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '424':
          description: Failed Dependency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
  /api/DeliveryOptions/GetDeliveryOptions:
    post:
      tags:
        - DeliveryOptions
      summary: GetDeliveryOptions
      operationId: GetDeliveryOptions
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/InboundGetDeliveryOptionsRequest'
            example:
              username: string
              password: string
              countryCode: string
              langCode: nl
              zipCode: string
              shippingDate: string
          application/json:
            schema:
              $ref: '#/components/schemas/InboundGetDeliveryOptionsRequest'
            example:
              username: string
              password: string
              countryCode: string
              langCode: nl
              zipCode: string
              shippingDate: string
          text/json:
            schema:
              $ref: '#/components/schemas/InboundGetDeliveryOptionsRequest'
            example:
              username: string
              password: string
              countryCode: string
              langCode: nl
              zipCode: string
              shippingDate: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/InboundGetDeliveryOptionsRequest'
            example:
              username: string
              password: string
              countryCode: string
              langCode: nl
              zipCode: string
              shippingDate: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGetDeliveryOptionsResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
                deliveryOptions:
                  - service: string
                    title: string
                    expectedDeliveryDate: string
                    expectedDeliveryTime: string
                    subDeliveryOptions:
                      - service: string
                        title: string
                        expectedDeliveryDate: string
                        expectedDeliveryTime: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
  /api/Monitor/HealthProbe:
    head:
      tags:
        - Monitor
      summary: HealthProbe
      operationId: HealthProbe
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
              examples:
                default:
                  value: 
            application/json:
              schema:
                type: string
              example: string
            text/json:
              schema:
                type: string
              example: string
  /api/ParcelShop/GetParcelShops:
    post:
      tags:
        - ParcelShop
      summary: GetParcelShops
      operationId: GetParcelShops
      parameters:
        - name: api-version
          in: query
          description: The requested API version
          schema:
            type: string
            default: '1.0'
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/InboundGetParcelShopsRequest'
            example:
              username: string
              password: string
              countryCode: string
              zipCode: string
              street: string
              houseNo: string
              city: string
              amountOfShops: 0
              shippingDate: string
              langCode: nl
              glsPointType: all
          application/json:
            schema:
              $ref: '#/components/schemas/InboundGetParcelShopsRequest'
            example:
              username: string
              password: string
              countryCode: string
              zipCode: string
              street: string
              houseNo: string
              city: string
              amountOfShops: 0
              shippingDate: string
              langCode: nl
              glsPointType: all
          text/json:
            schema:
              $ref: '#/components/schemas/InboundGetParcelShopsRequest'
            example:
              username: string
              password: string
              countryCode: string
              zipCode: string
              street: string
              houseNo: string
              city: string
              amountOfShops: 0
              shippingDate: string
              langCode: nl
              glsPointType: all
          application/*+json:
            schema:
              $ref: '#/components/schemas/InboundGetParcelShopsRequest'
            example:
              username: string
              password: string
              countryCode: string
              zipCode: string
              street: string
              houseNo: string
              city: string
              amountOfShops: 0
              shippingDate: string
              langCode: nl
              glsPointType: all
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGetParcelShopsResponseObject'
              example:
                error: true
                status: string
                message: string
                errors: { }
                transactionId: string
                parcelShops:
                  - parcelShopId: string
                    name: string
                    street: string
                    houseNo: string
                    zipcode: string
                    city: string
                    countryCode: string
                    webSite: string
                    info1: string
                    info2: string
                    mapsUrl: string
                    geoCoordinates:
                      lat: 0
                      lng

# --- truncated at 32 KB (140 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gls-group/refs/heads/main/openapi/gls-netherlands-label-api-openapi.yml