Sendcloud Webhooks API

The Webhooks API from Sendcloud — 0 operation(s) for webhooks.

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/sendcloud-webhooks-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

sendcloud-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sendcloud Webhooks API
  contact:
    name: Sendcloud API Support
    url: https://www.sendcloud.dev
    email: contact@sendcloud.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
  description: 'Operations tagged Webhooks across 2 of this provider''s published API definitions: sendcloud-v2-webhooks-openapi.yml, sendcloud-v3-webhooks-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://www.shop_url.com/webhook
  description: User API endpoint
security:
- Sendcloud-Signature: []
tags:
- name: Webhooks
paths: {}
webhooks:
  IntegrationConnected:
    post:
      operationId: sc-public-v2-webhooks-integration_connected
      summary: Integration connected
      description: A request is sent to the defined webhook whenever the integration is created within our system.
      x-mint:
        href: /api/v2/webhooks/integration-connected
        content: "<Warning>\n  **API v2 is entering maintenance mode.** New users should start with API v3 to access our latest features and improved performance. Already using v2? Don't worry, your current integration remains fully functional. Read more about [maintenance mode](/docs/getting-started/api-version-guide), or check out the [migration guide for API v3](/docs/getting-started/migration-guidelines-for-api-v3).\n</Warning>"
      tags:
      - Webhooks
      requestBody:
        description: Webhook data you will receive
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationConnectedWebhook'
      responses:
        '200':
          $ref: '#/components/responses/200'
    servers:
    - url: https://www.shop_url.com/webhook
      description: User API endpoint
  IntegrationDeleted:
    post:
      operationId: sc-public-v2-webhooks-integration_deleted
      summary: Integration deleted
      description: A request is sent to the defined webhook whenever the integration is deleted from our system.
      x-mint:
        href: /api/v2/webhooks/integration-deleted
        content: "<Warning>\n  **API v2 is entering maintenance mode.** New users should start with API v3 to access our latest features and improved performance. Already using v2? Don't worry, your current integration remains fully functional. Read more about [maintenance mode](/docs/getting-started/api-version-guide), or check out the [migration guide for API v3](/docs/getting-started/migration-guidelines-for-api-v3).\n</Warning>"
      tags:
      - Webhooks
      requestBody:
        description: Webhook data you will receive
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationDeletedWebhook'
      responses:
        '200':
          $ref: '#/components/responses/200'
    servers:
    - url: https://www.shop_url.com/webhook
      description: User API endpoint
  IntegrationModified:
    post:
      operationId: sc-public-v2-webhooks-integration_modified
      summary: Integration modified
      description: A request is sent to the defined webhook whenever the integration is updated.
      x-mint:
        href: /api/v2/webhooks/integration-modified
        content: "<Warning>\n  **API v2 is entering maintenance mode.** New users should start with API v3 to access our latest features and improved performance. Already using v2? Don't worry, your current integration remains fully functional. Read more about [maintenance mode](/docs/getting-started/api-version-guide), or check out the [migration guide for API v3](/docs/getting-started/migration-guidelines-for-api-v3).\n</Warning>"
      tags:
      - Webhooks
      requestBody:
        description: Webhook data you will receive
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationUpdatedWebhook'
      responses:
        '200':
          $ref: '#/components/responses/200'
    servers:
    - url: https://www.shop_url.com/webhook
      description: User API endpoint
  ParcelStatusChanged:
    post:
      operationId: sc-public-v2-webhooks-parcel_status_changed
      summary: Parcel status changed
      description: Happens whenever a parcel within this integration shifts to a different status.
      x-mint:
        href: /api/v2/webhooks/parcel-status-changed
        content: "<Warning>\n  **API v2 is entering maintenance mode.** New users should start with API v3 to access our latest features and improved performance. Already using v2? Don't worry, your current integration remains fully functional. Read more about [maintenance mode](/docs/getting-started/api-version-guide), or check out the [migration guide for API v3](/docs/getting-started/migration-guidelines-for-api-v3).\n</Warning>"
      tags:
      - Webhooks
      requestBody:
        description: Webhook data you will receive
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParcelStatusChangedWebhook'
      responses:
        '200':
          $ref: '#/components/responses/200'
    servers:
    - url: https://www.shop_url.com/webhook
      description: User API endpoint
  ReturnCreated:
    post:
      operationId: sc-public-v2-webhooks-return_created
      summary: Return created
      description: Happens whenever a return is created from a parcel matching the integration.
      x-mint:
        href: /api/v2/webhooks/return-created
        content: "<Warning>\n  **API v2 is entering maintenance mode.** New users should start with API v3 to access our latest features and improved performance. Already using v2? Don't worry, your current integration remains fully functional. Read more about [maintenance mode](/docs/getting-started/api-version-guide), or check out the [migration guide for API v3](/docs/getting-started/migration-guidelines-for-api-v3).\n</Warning>"
      tags:
      - Webhooks
      requestBody:
        description: Webhook data you will receive
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReturnCreatedWebhook'
      responses:
        '200':
          $ref: '#/components/responses/200'
    servers:
    - url: https://www.shop_url.com/webhook
      description: User API endpoint
components:
  schemas:
    ParcelStatusChangedWebhook:
      type: object
      description: The webhook payload when a parcel (either an outgoing or an incoming one) changes status.
      title: Webhook Parcel Status Changed Object
      properties:
        action:
          type: string
          description: Describes the webhook action
          example: parcel_status_changed
          enum:
          - parcel_status_changed
        timestamp:
          type: number
          description: A unix timestamp indicating the time that the status changed
        carrier_status_change_timestamp:
          type: number
          nullable: true
          description: A unix timestamp indicating the time that the status changed in the carrier's system
        parcel:
          type: object
          description: Parcel object
          properties:
            id:
              type: integer
              description: Sendcloud unique identifier or the parcel
              example: 1
            name:
              type: string
              description: Sender name
              example: Mr Bob
            company_name:
              type: string
              description: Company name of the sender
              example: Sendcloud
            address:
              type: string
              description: Address of the sender
              example: Stadhuisplein 10
            address_divided:
              type: object
              description: Divided object of address
              properties:
                street:
                  type: string
                  description: Street name
                  example: Stadhuisplein
                house_number:
                  type: integer
                  description: House number
                  example: 10
            city:
              type: string
              description: City name
              example: Eindhoven
            postal_code:
              type: string
              description: Postal code
              example: 5611 EM
            telephone:
              type: string
              description: Telephone number of the contact person
              example: '612345678'
            email:
              type: string
              format: email
              description: An email address of the person this parcel is supposed to be delivered to
              example: contact@sendcloud.com
            date_created:
              type: string
              description: Date and time of when parcel created
              example: '2019-02-03T06:48:07'
            tracking_number:
              type: string
              description: Tracking number of the shipment
              example: 3SYZXG132912330
            weight:
              type: string
              description: Weight of the parcel
              example: '2.000'
            label:
              type: object
              description: "Labels array. More information in <a\n    href=\"https://www.sendcloud.com/shipping-label/\" target=\"_blank\">Labels</a>"
              properties:
                normal_printer:
                  type: array
                  items:
                    type: string
                    format: uri
                    example: https://panel.sendcloud.sc/api/v2/label/normal_printer/3172?start_from=0&hash=bbfd669ee9ebb19408b85b33d181a50040fd9bc4
                label_printer:
                  type: string
                  format: uri
                  example: https://panel.sendcloud.sc/api/v2/label/label_printer/3172?hash=bbfd669ee9ebb19408b85b33d181a50040fd9bc4
            customs_declaration:
              type: object
              description: An object with available printers that lists available links to the created customs declaration form. (deprecated in favour of documents)
            status:
              type: object
              description: An object containing an id and the name of the status.
              properties:
                id:
                  type: integer
                  example: 1
                  description: The Sendcloud unique identifier of the status
                message:
                  type: string
                  example: Ready to send
                  description: The description of the status
            data:
              type: object
              description: A pakjegemak key is still supported within this object, but it is not recommended to use. Please use `to_service_point` property to use service points.
            country:
              type: object
              description: Country of the recipient
              properties:
                iso_3:
                  type: string
                  example: NLD
                iso_2:
                  type: string
                  example: NL
                name:
                  type: string
                  example: Netherlands
            shipment:
              type: object
              description: Shipping method object for a parcel
              properties:
                id:
                  type: integer
                  example: 1
                  description: The unique identifier of the shipping method
                name:
                  type: string
                  example: PostNL Standard
                  description: The Sendcloud shipping method name
            order_number:
              type: string
              description: Order number of your order
              example: ORD12334
            shipment_uuid:
              type: string
              description: Unique identifier that we assign to your shipment within the Sendcloud system.
              example: 87e18823-016b-479b-b9e0-c5c0c4065452
            external_order_id:
              type: string
              description: Our system will ensure uniqueness of shipments with the combination of `external_order_id` and `external_shipment_id`
              example: AMZ23311
            external_shipment_id:
              type: string
              description: Our system will ensure uniqueness of shipments with the combination of `external_order_id` and `external_shipment_id`
              example: AMZ231231
    IntegrationDeletedWebhook:
      description: The webhook payload when an integration is deleted from Sendcloud
      type: object
      title: Webhook Integration Deleted Object
      allOf:
      - $ref: '#/components/schemas/IntegrationWebhookBase'
      - type: object
        properties:
          action:
            type: string
            example: integration_deleted
            enum:
            - integration_deleted
    ReturnCreatedWebhook:
      title: Webhook Return Created Object
      type: object
      description: 'The webhook payload when a return is created. This is emitted when a return is created either via the API or the Return Portal.


        Creating a return manually via Return Form does NOT trigger the webhook.'
      properties:
        action:
          type: string
          description: Describes webhook action
          example: return_created
          enum:
          - return_created
        timestamp:
          type: number
          description: Unix timestamp
        data:
          type: object
          description: Information about the return
          required:
          - id
          properties:
            id:
              type: number
              description: The id of the return
              example: 42
            brand_id:
              type: integer
            order_number:
              type: string
            return_reason_id:
              type: integer
            return_address_id:
              type: integer
            paid_return:
              type: boolean
            delivery_choice:
              type: string
            refund_type:
              type: string
            items:
              type: array
              description: List of items for this return
              items:
                type: object
                properties:
                  item_id:
                    type: string
                  description:
                    type: string
                  quantity:
                    type: integer
                  sku:
                    type: string
                  hs_code:
                    type: string
                  return_reason_id:
                    type: integer
                required:
                - quantity
      required:
      - action
      - timestamp
      - data
    IntegrationWebhookBase:
      description: Base schema for integration webhook payloads
      type: object
      properties:
        action:
          type: string
          description: Describes the webhook action
        timestamp:
          type: integer
          example: 1525271885993
        integration:
          type: object
          properties:
            id:
              type: integer
              format: int64
              example: 1
              minimum: 1
              description: A unique identifier for an integration within Sendcloud
            shop_name:
              type: string
              example: API Integration
              description: The integration name as configured under the [integration settings in Sendcloud](https://app.sendcloud.com/v2/settings/integrations/manage)
            shop_url:
              type: string
              format: uri
              example: https://www.sendcloud.com
              description: The integration url
            system:
              type: string
              example: api
              description: The integration type
            failing_since:
              type:
              - 'null'
              - string
              format: date-time
              example: '2019-02-03T06:48:07Z'
              description: A date time indicating when in time Sendcloud lost connection to the integration.
            last_fetch:
              type:
              - 'null'
              - string
              example: '2019-02-03T06:48:07Z'
              format: date-time
              description: A date time indicating when was the last successful order fetching.
            last_updated_at:
              type:
              - 'null'
              - string
              format: date-time
              example: '2019-02-03T06:48:07Z'
              description: A date time indicating when the integration settings were updated.
            service_point_enabled:
              type: boolean
              description: True if you have configured [service point](https://support.sendcloud.com/hc/en-us/articles/360026097951-FAQ-Service-Points) support for your integration.
            service_point_carriers:
              type: array
              uniqueItems: true
              description: The service point carriers configured for your integration
              items:
                type: string
            webhook_active:
              type: boolean
              description: True if you have enabled webhooks, False otherwise
            webhook_url:
              type: string
              description: Your integration URL to be used by Sendcloud to communicate with.
              format: uri
              example: https://www.sendcloud.com/sendcloud-webhooks
      required:
      - action
      - timestamp
    IntegrationUpdatedWebhook:
      description: The webhook payload when an integration is updated in Sendcloud
      type: object
      title: Webhook Integration Updated Object
      allOf:
      - $ref: '#/components/schemas/IntegrationWebhookBase'
      - type: object
        properties:
          action:
            type: string
            example: integration_updated
            enum:
            - integration_updated
    IntegrationConnectedWebhook:
      description: The webhook payload when an integration is added to Sendcloud
      type: object
      title: Webhook Integration Connected Object
      allOf:
      - $ref: '#/components/schemas/IntegrationWebhookBase'
      - type: object
        properties:
          action:
            type: string
            example: integration_connected
            enum:
            - integration_connected
    ParcelStatusChangedWebhook_2:
      type: object
      description: The webhook payload when a parcel (either an outgoing or an incoming one) changes status.
      title: Webhook Parcel Status Changed Object
      properties:
        action:
          type: string
          description: Describes the webhook action
          example: parcel_status_changed
          enum:
          - parcel_status_changed
        timestamp:
          type: number
          description: A unix timestamp indicating the time that the status changed
        carrier_status_change_timestamp:
          type:
          - number
          - 'null'
          description: A unix timestamp indicating the time that the status changed in the carrier's system
        parcel:
          type: object
          description: Parcel object
          properties:
            id:
              type: integer
              description: Sendcloud unique identifier or the parcel
              example: 1
            name:
              type: string
              description: Sender name
              example: Mr Bob
            company_name:
              type: string
              description: Company name of the sender
              example: Sendcloud
            address:
              type: string
              description: Address of the sender
              example: Stadhuisplein 10
            address_divided:
              type: object
              description: Divided object of address
              properties:
                street:
                  type: string
                  description: Street name
                  example: Stadhuisplein
                house_number:
                  type: integer
                  description: House number
                  example: 10
            city:
              type: string
              description: City name
              example: Eindhoven
            postal_code:
              type: string
              description: Postal code
              example: 5611 EM
            telephone:
              type: string
              description: Telephone number of the contact person
              example: '612345678'
            email:
              type: string
              format: email
              description: An email address of the person this parcel is supposed to be delivered to
              example: contact@sendcloud.com
            date_created:
              type: string
              description: Date and time of when parcel created
              example: '2019-02-03T06:48:07'
            tracking_number:
              type: string
              description: Tracking number of the shipment
              example: 3SYZXG132912330
            weight:
              type: string
              description: Weight of the parcel
              example: '2.000'
            label:
              type: object
              description: "Labels array. More information in <a\n    href=\"https://www.sendcloud.com/shipping-label/\" target=\"_blank\">Labels</a>"
              properties:
                normal_printer:
                  type: array
                  items:
                    type: string
                    format: uri
                    example: https://panel.sendcloud.sc/api/v2/label/normal_printer/3172?start_from=0&hash=bbfd669ee9ebb19408b85b33d181a50040fd9bc4
                label_printer:
                  type: string
                  format: uri
                  example: https://panel.sendcloud.sc/api/v2/label/label_printer/3172?hash=bbfd669ee9ebb19408b85b33d181a50040fd9bc4
            customs_declaration:
              type: object
              description: An object with available printers that lists available links to the created customs declaration form. (deprecated in favour of documents)
            status:
              type: object
              description: An object containing an id and the name of the status.
              properties:
                id:
                  type: integer
                  example: 1
                  description: The Sendcloud unique identifier of the status
                message:
                  type: string
                  example: Ready to send
                  description: The description of the status
            data:
              type: object
              description: A pakjegemak key is still supported within this object, but it is not recommended to use. Please use `to_service_point` property to use service points.
            country:
              type: object
              description: Country of the recipient
              properties:
                iso_3:
                  type: string
                  example: NLD
                iso_2:
                  type: string
                  example: NL
                name:
                  type: string
                  example: Netherlands
            shipment:
              type: object
              description: Shipping method object for a parcel
              properties:
                id:
                  type: integer
                  example: 1
                  description: The unique identifier of the shipping method
                name:
                  type: string
                  example: PostNL Standard
                  description: The Sendcloud shipping method name
            order_number:
              type: string
              description: Order number of your order
              example: ORD12334
            shipment_uuid:
              type: string
              description: Unique identifier that we assign to your shipment within the Sendcloud system.
              example: 87e18823-016b-479b-b9e0-c5c0c4065452
            external_order_id:
              type: string
              description: Our system will ensure uniqueness of shipments with the combination of `external_order_id` and `external_shipment_id`
              example: AMZ23311
            external_shipment_id:
              type: string
              description: Our system will ensure uniqueness of shipments with the combination of `external_order_id` and `external_shipment_id`
              example: AMZ231231
  responses:
    '200':
      description: Return a 200 status to indicate that the data was processed successfully. The response body may contain the extended line item.
  securitySchemes:
    Sendcloud-Signature:
      name: Sendcloud-Signature
      type: apiKey
      in: header
    OAuth2ClientCreds:
      type: oauth2
      description: OAuth2 is a standardized protocol for authorization that allows users to share their private resources stored on one site with another site without having to provide their credentials. OAuth2 Client Credentials Grant workflow. This workflow is typically used for server-to-server interactions that require authorization to access specific resources.
      flows:
        clientCredentials:
          tokenUrl: https://account.sendcloud.com/oauth2/token/
          scopes:
            api: Default OAuth scope required to access Sendcloud API.
x-refined-from:
- sendcloud-v2-webhooks-openapi.yml
- sendcloud-v3-webhooks-openapi.yml