Karrio Carriers API

This is an object representing your Karrio carrier extension. You can retrieve all supported carrier extensions available.

Operations 4

GET /v1/carriers List all carriers #
GET /v1/carriers/{carrier_name} Get carrier details #
GET /v1/carriers/{carrier_name}/options Get carrier options #
GET /v1/carriers/{carrier_name}/services Get carrier services #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/karrio-carriers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

karrio-carriers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services.
  title: Karrio Carriers API
  version: 2026.1.32
tags:
- name: Carriers
  description: 'This is an object representing your Karrio carrier extension.

    You can retrieve all supported carrier extensions available.'
paths:
  /v1/carriers:
    get:
      operationId: '&&list'
      description: Returns the list of configured carriers
      summary: List all carriers
      parameters:
      - in: query
        name: lang
        schema:
          type: string
        description: Language code for translated labels (e.g., 'de', 'en').
      tags:
      - Carriers
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CarrierDetails'
              examples:
                CarrierList:
                  value:
                  - carrier_name: dhl_parcel_de
                    display_name: DHL Parcel DE
                    integration_status: in-development
                    capabilities:
                    - rating
                    - shipping
                    - tracking
                    connection_fields:
                      username:
                        name: username
                        required: true
                        type: string
                      password:
                        name: password
                        required: true
                        type: string
                      dhl_api_key:
                        name: dhl_api_key
                        required: true
                        type: string
                      customer_number:
                        name: customer_number
                        required: false
                        type: string
                      tracking_consumer_key:
                        name: tracking_consumer_key
                        required: false
                        type: string
                      tracking_consumer_secret:
                        name: tracking_consumer_secret
                        required: false
                        type: string
                      services:
                        default:
                        - active: true
                          currency: EUR
                          dimension_unit: CM
                          domicile: true
                          max_height: 60
                          max_length: 120
                          max_weight: 31.5
                          max_width: 60
                          metadata: {}
                          min_weight: 0.01
                          service_code: dhl_parcel_de_paket
                          service_name: DHL Paket
                          weight_unit: KG
                          zones:
                          - rate: 0.0
                        - active: true
                          currency: EUR
                          dimension_unit: CM
                          domicile: false
                          international: true
                          max_height: 60
                          max_length: 120
                          max_weight: 31.5
                          max_width: 60
                          metadata: {}
                          min_weight: 0.01
                          service_code: dhl_parcel_de_paket_international
                          service_name: DHL Paket International
                          weight_unit: KG
                          zones:
                          - rate: 0.0
                        - active: true
                          currency: EUR
                          dimension_unit: CM
                          domicile: false
                          international: true
                          max_height: 60
                          max_length: 120
                          max_weight: 31.5
                          max_width: 60
                          metadata: {}
                          min_weight: 0.01
                          service_code: dhl_parcel_de_europaket
                          service_name: DHL EuroPaket
                          weight_unit: KG
                          zones:
                          - rate: 0.0
                        - active: true
                          currency: EUR
                          dimension_unit: CM
                          domicile: true
                          international: false
                          max_height: 5
                          max_length: 35
                          max_weight: 1
                          max_width: 7
                          metadata: {}
                          min_weight: 0.01
                          service_code: dhl_parcel_de_warenpost
                          service_name: DHL Warenpost
                          weight_unit: KG
                          zones:
                          - rate: 0.0
                        - active: true
                          currency: EUR
                          dimension_unit: CM
                          domicile: false
                          international: true
                          max_height: 10
                          max_length: 35.3
                          max_weight: 1
                          max_width: 9
                          metadata: {}
                          min_weight: 0.01
                          service_code: dhl_parcel_de_warenpost_international
                          service_name: DHL Warenpost International
                          weight_unit: KG
                          zones:
                          - rate: 0.0
                        name: services
                        required: false
                        type: list
                    config_fields:
                      profile:
                        code: profile
                        name: profile
                        required: false
                        type: string
                      cost_center:
                        code: cost_center
                        name: cost_center
                        required: false
                        type: string
                      creation_software:
                        code: creation_software
                        name: creation_software
                        required: false
                        type: string
                      shipping_options:
                        code: shipping_options
                        name: shipping_options
                        required: false
                        type: list
                      shipping_services:
                        code: shipping_services
                        name: shipping_services
                        required: false
                        type: list
                      language:
                        code: language
                        enum:
                        - de
                        - en
                        name: language
                        required: false
                        type: string
                      label_type:
                        code: label_type
                        enum:
                        - PDF_A4
                        - ZPL2_A4
                        - PDF_910_300_700
                        - ZPL2_910_300_700
                        - PDF_910_300_700_oz
                        - ZPL2_910_300_700_oz
                        - PDF_910_300_710
                        - ZPL2_910_300_710
                        - PDF_910_300_600
                        - ZPL2_910_300_600
                        - PDF_910_300_610
                        - ZPL2_910_300_610
                        - PDF_910_300_400
                        - ZPL2_910_300_400
                        - PDF_910_300_410
                        - ZPL2_910_300_410
                        - PDF_910_300_300
                        - ZPL2_910_300_300
                        - PDF_910_300_300_oz
                        - ZPL2_910_300_300_oz
                        name: label_type
                        required: false
                        type: string
                    shipping_services:
                      dhl_parcel_de_paket: V01PAK
                      dhl_parcel_de_warenpost: V62WP
                      dhl_parcel_de_europaket: V54EPAK
                      dhl_parcel_de_paket_international: V53WPAK
                      dhl_parcel_de_warenpost_international: V66WPI
                    shipping_options:
                      dhl_parcel_de_preferred_neighbour:
                        code: preferredNeighbour
                        type: string
                      dhl_parcel_de_preferred_location:
                        code: preferredLocation
                        type: string
                      dhl_parcel_de_visual_check_of_age:
                        code: visualCheckOfAge
                        type: string
                      dhl_parcel_de_named_person_only:
                        code: namedPersonOnly
                        type: boolean
                      dhl_parcel_de_signed_for_by_recipient:
                        code: signedForByRecipient
                        type: boolean
                      dhl_parcel_de_endorsement:
                        code: endorsement
                        type: string
                      dhl_parcel_de_preferred_day:
                        code: preferredDay
                        type: string
                      dhl_parcel_de_no_neighbour_delivery:
                        code: noNeighbourDelivery
                        type: boolean
                      dhl_parcel_de_additional_insurance:
                        code: additionalInsurance
                        type: float
                      dhl_parcel_de_bulky_goods:
                        code: bulkyGoods
                        type: boolean
                      dhl_parcel_de_cash_on_delivery:
                        code: cashOnDelivery
                        type: float
                      dhl_parcel_de_individual_sender_requirement:
                        code: individualSenderRequirement
                        type: string
                      dhl_parcel_de_premium:
                        code: premium
                        type: boolean
                      dhl_parcel_de_closest_drop_point:
                        code: closestDropPoint
                        type: boolean
                      dhl_parcel_de_parcel_outlet_routing:
                        code: parcelOutletRouting
                        type: string
                      dhl_parcel_de_postal_delivery_duty_paid:
                        code: postalDeliveryDutyPaid
                        type: boolean
                  summary: Carrier List
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
      x-operationId: listCarriers
  /v1/carriers/{carrier_name}:
    get:
      operationId: '&&get_details'
      description: Retrieve a carrier's details
      summary: Get carrier details
      parameters:
      - in: path
        name: carrier_name
        schema:
          type: string
        description: 'The unique carrier slug. <br/>Values: `aramex`, `asendia`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpd_meta`, `dtdc`, `easypost`, `easyship`, `eshipper`, `fedex`, `freightcom`, `generic`, `geodis`, `gls`, `hay_post`, `hermes`, `landmark`, `laposte`, `locate2u`, `mydhl`, `nationex`, `parcelone`, `postat`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `shipengine`, `smartkargo`, `spring`, `teleship`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `veho`, `zoom2u`'
        required: true
      tags:
      - Carriers
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CarrierDetails'
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
      x-operationId: getDetails
  /v1/carriers/{carrier_name}/options:
    get:
      operationId: '&&get_options'
      description: Retrieve a carrier's options
      summary: Get carrier options
      parameters:
      - in: path
        name: carrier_name
        schema:
          type: string
        description: 'The unique carrier slug. <br/>Values: `aramex`, `asendia`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpd_meta`, `dtdc`, `easypost`, `easyship`, `eshipper`, `fedex`, `freightcom`, `generic`, `geodis`, `gls`, `hay_post`, `hermes`, `landmark`, `laposte`, `locate2u`, `mydhl`, `nationex`, `parcelone`, `postat`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `shipengine`, `smartkargo`, `spring`, `teleship`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `veho`, `zoom2u`'
        required: true
      tags:
      - Carriers
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              examples:
                CarrierOptions:
                  value:
                    sendle_hide_pickup_address:
                      code: hide_pickup_address
                      type: boolean
                    sendle_first_mile_option:
                      code: first_mile_option
                      type: boolean
                  summary: Carrier Options
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
      x-operationId: getOptions
  /v1/carriers/{carrier_name}/services:
    get:
      operationId: '&&get_services'
      description: Retrieve a carrier's services
      summary: Get carrier services
      parameters:
      - in: path
        name: carrier_name
        schema:
          type: string
        description: 'The unique carrier slug. <br/>Values: `aramex`, `asendia`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpd_meta`, `dtdc`, `easypost`, `easyship`, `eshipper`, `fedex`, `freightcom`, `generic`, `geodis`, `gls`, `hay_post`, `hermes`, `landmark`, `laposte`, `locate2u`, `mydhl`, `nationex`, `parcelone`, `postat`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `shipengine`, `smartkargo`, `spring`, `teleship`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `veho`, `zoom2u`'
        required: true
      tags:
      - Carriers
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              examples:
                CarrierList:
                  value:
                    canadapost_regular_parcel: DOM.RP
                    canadapost_expedited_parcel: DOM.EP
                    canadapost_xpresspost: DOM.XP
                    canadapost_xpresspost_certified: DOM.XP.CERT
                    canadapost_priority: DOM.PC
                    canadapost_library_books: DOM.LIB
                    canadapost_expedited_parcel_usa: USA.EP
                    canadapost_priority_worldwide_envelope_usa: USA.PW.ENV
                    canadapost_priority_worldwide_pak_usa: USA.PW.PAK
                    canadapost_priority_worldwide_parcel_usa: USA.PW.PARCEL
                    canadapost_small_packet_usa_air: USA.SP.AIR
                    canadapost_tracked_packet_usa: USA.TP
                    canadapost_tracked_packet_usa_lvm: USA.TP.LVM
                    canadapost_xpresspost_usa: USA.XP
                    canadapost_xpresspost_international: INT.XP
                    canadapost_international_parcel_air: INT.IP.AIR
                    canadapost_international_parcel_surface: INT.IP.SURF
                    canadapost_priority_worldwide_envelope_intl: INT.PW.ENV
                    canadapost_priority_worldwide_pak_intl: INT.PW.PAK
                    canadapost_priority_worldwide_parcel_intl: INT.PW.PARCEL
                    canadapost_small_packet_international_air: INT.SP.AIR
                    canadapost_small_packet_international_surface: INT.SP.SURF
                    canadapost_tracked_packet_international: INT.TP
                  summary: Carrier List
          description: ''
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
      x-operationId: getServices
components:
  schemas:
    CarrierDetails:
      type: object
      properties:
        carrier_name:
          enum:
          - aramex
          - asendia
          - asendia_us
          - australiapost
          - boxknight
          - bpost
          - canadapost
          - canpar
          - chronopost
          - colissimo
          - dhl_express
          - dhl_parcel_de
          - dhl_poland
          - dhl_universal
          - dicom
          - dpd
          - dpd_meta
          - dtdc
          - easypost
          - easyship
          - eshipper
          - fedex
          - freightcom
          - generic
          - geodis
          - gls
          - hay_post
          - hermes
          - landmark
          - laposte
          - locate2u
          - mydhl
          - nationex
          - parcelone
          - postat
          - purolator
          - roadie
          - royalmail
          - sapient
          - seko
          - sendle
          - shipengine
          - smartkargo
          - spring
          - teleship
          - tge
          - tnt
          - ups
          - usps
          - usps_international
          - veho
          - zoom2u
          type: string
          x-spec-enum-id: ae0f7f0940fb5243
          description: Indicates a carrier (type)
        display_name:
          type: string
          description: The carrier verbose name.
        integration_status:
          enum:
          - in-development
          - beta
          - production-ready
          type: string
          x-spec-enum-id: d58225b23f9a1710
          description: The carrier integration status.
        capabilities:
          type: array
          items:
            type: string
          default: []
          description: The carrier supported and enabled capabilities.
        connection_fields:
          type: object
          additionalProperties: {}
          default: {}
          description: The carrier connection fields.
        config_fields:
          type: object
          additionalProperties: {}
          default: {}
          description: The carrier connection config.
        shipping_services:
          type: object
          additionalProperties: {}
          default: {}
          description: The carrier shipping services.
        shipping_options:
          type: object
          additionalProperties: {}
          default: {}
          description: The carrier shipping options.
      required:
      - carrier_name
      - display_name
      - integration_status
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/APIError'
          description: The list of API errors
    APIError:
      type: object
      properties:
        message:
          type: string
          description: The error or warning message
        code:
          type: string
          description: The message code
        level:
          type: string
          description: The message level
        details:
          type: object
          additionalProperties: {}
          description: any additional details
  securitySchemes:
    JWT:
      in: header
      type: apiKey
      scheme: bearer
      bearerFormat: JWT
      name: Authorization
      description: 'Authorization: Bearer xxx.xxx.xxx'
    OAuth2:
      type: oauth2
      in: header
      name: Authorization
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize/
          tokenUrl: /oauth/token/
          scopes:
            read: Read access to Karrio data
            write: Write access to Karrio data
            openid: OpenID connect
      description: 'Authorization: Bearer xxxxxxxx'
    Token:
      type: apiKey
      in: header
      name: Authorization
      description: 'Authorization: Token key_xxxxxxxx'
    TokenBasic:
      type: http
      scheme: basic
      name: Authorization
      description: '-u key_xxxxxxxx:'