Skip to main content
PUT
/
webhooks
/
{webhookId}
Python
import shippo
from shippo.models import components

s = shippo.Shippo(
    api_key_header='ShippoToken <API_TOKEN>',
    shippo_api_version='2018-02-08',
)


res = s.webhooks.update_webhook(webhook_update_request=components.WebhookUpdateRequest(
    event=components.WebhookEventTypeEnum.BATCH_CREATED,
    url='https://example.com/shippo-webhook',
    active=True,
    is_test=False,
), webhook_id='<id>')

if res is not None:
    # handle response
    pass
import { Shippo } from "shippo";

const shippo = new Shippo({
apiKeyHeader: "ShippoToken <API_TOKEN>",
shippoApiVersion: "2018-02-08",
});

async function run() {
const result = await shippo.webhooks.updateWebhook({
event: "batch_created",
url: "https://example.com/shippo-webhook",
active: true,
isTest: false,
}, "<id>");

// Handle the result
console.log(result);
}

run();
using Shippo;
using Shippo.Models.Components;

var sdk = new ShippoSDK(
apiKeyHeader: "ShippoToken <API_TOKEN>",
shippoApiVersion: "2018-02-08"
);

var res = await sdk.Webhooks.UpdateWebhookAsync(
webhookId: "<id>",
webhookUpdateRequest: new WebhookUpdateRequest() {
Event = WebhookEventTypeEnum.BatchCreated,
Url = "https://example.com/shippo-webhook",
Active = true,
IsTest = false,
}
);

// handle response
declare(strict_types=1);

require 'vendor/autoload.php';

use Shippo\API;
use Shippo\API\Models\Components;

$sdk = API\Shippo::builder()
->setSecurity(
'ShippoToken <API_TOKEN>'
)
->setShippoApiVersion('2018-02-08')
->build();

$webhookUpdateRequest = new Components\WebhookUpdateRequest(
event: Components\WebhookEventTypeEnum::BatchCreated,
url: 'https://example.com/shippo-webhook',
active: true,
isTest: false,
);

$response = $sdk->webhooks->updateWebhook(
webhookId: '<id>',
webhookUpdateRequest: $webhookUpdateRequest

);

if ($response->webhook !== null) {
// handle response
}
package hello.world;

import com.goshippo.shippo_sdk.Shippo;
import com.goshippo.shippo_sdk.models.components.WebhookEventTypeEnum;
import com.goshippo.shippo_sdk.models.components.WebhookUpdateRequest;
import com.goshippo.shippo_sdk.models.operations.UpdateWebhookResponse;
import java.lang.Exception;

public class Application {

public static void main(String[] args) throws Exception {

Shippo sdk = Shippo.builder()
.apiKeyHeader("ShippoToken <API_TOKEN>")
.shippoApiVersion("2018-02-08")
.build();

UpdateWebhookResponse res = sdk.webhooks().updateWebhook()
.webhookId("<id>")
.webhookUpdateRequest(WebhookUpdateRequest.builder()
.event(WebhookEventTypeEnum.BATCH_CREATED)
.url("https://example.com/shippo-webhook")
.active(true)
.isTest(false)
.build())
.call();

if (res.webhook().isPresent()) {
// handle response
}
}
}
curl --request PUT \
--url https://api.goshippo.com/webhooks/{webhookId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"event": "track_updated",
"url": "https://example.com/shippo-webhook",
"active": true,
"is_test": false
}
'
const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
event: 'track_updated',
url: 'https://example.com/shippo-webhook',
active: true,
is_test: false
})
};

fetch('https://api.goshippo.com/webhooks/{webhookId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.goshippo.com/webhooks/{webhookId}"

payload := strings.NewReader("{\n \"event\": \"track_updated\",\n \"url\": \"https://example.com/shippo-webhook\",\n \"active\": true,\n \"is_test\": false\n}")

req, _ := http.NewRequest("PUT", url, payload)

req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://api.goshippo.com/webhooks/{webhookId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"event\": \"track_updated\",\n \"url\": \"https://example.com/shippo-webhook\",\n \"active\": true,\n \"is_test\": false\n}"

response = http.request(request)
puts response.read_body
{
  "event": "track_updated",
  "url": "https://example.com/shippo-webhook",
  "active": true,
  "is_test": false,
  "object_created": "2023-11-07T05:31:56Z",
  "object_id": "<string>",
  "object_updated": "2023-11-07T05:31:56Z",
  "object_owner": "<string>"
}

Authorizations

Authorization
string
header
default:ShippoToken
required

API key authentication using the ShippoToken scheme. Format: Authorization: ShippoToken <API_TOKEN> Example: Authorization: ShippoToken shippo_live_abc123

Path Parameters

webhookId
string
required

Object ID of the webhook to retrieve

Body

application/json
event
enum<string>
required

Type of event that triggered the webhook.

Available options:
transaction_created,
transaction_updated,
track_updated,
batch_created,
batch_purchased,
all
Example:

"track_updated"

url
string
required

URL webhook events are sent to.

Example:

"https://example.com/shippo-webhook"

active
boolean

Determines whether the webhook is active or not.

Example:

true

is_test
boolean

Determines whether the webhook is a test webhook or not.

Example:

false

Response

200 - application/json

Webhook updated successfully

event
string
required

Type of event that triggers the webhook.

Example:

"track_updated"

url
string
required

URL webhook events are sent to.

Example:

"https://example.com/shippo-webhook"

active
boolean

Determines whether the webhook is active or not.

Example:

true

is_test
boolean

Determines whether the webhook is a test webhook or not.

Example:

false

object_created
string<date-time>

Timestamp of the creation of the webhook.

object_id
string

Unique identifier of the webhook. This can be used to retrieve or delete the webhook.

object_updated
string<date-time>

Timestamp of the last update of the webhook.

object_owner
string

Username of the user who created the webhook.