Skip to main content

Getting Started

Make sure to first set up your PlanetScale developer environment. Once you’ve installed the pscale CLI, you can interact with PlanetScale and manage your databases straight from the command line.

The webhook command

This command allows you to create, list, update, test, and delete webhooks for your database. Usage:
pscale webhook <SUB-COMMAND> <FLAG>

Available sub-commands

Sub-commandDescriptionProduct
create <DATABASE_NAME>Create a new webhook for a databaseVitess, Postgres
delete <DATABASE_NAME> <WEBHOOK_ID>Delete a webhook from a databaseVitess, Postgres
list <DATABASE_NAME>List all webhooks for a databaseVitess, Postgres
show <DATABASE_NAME> <WEBHOOK_ID>Show details for a specific webhookVitess, Postgres
test <DATABASE_NAME> <WEBHOOK_ID>Send a test event to a webhookVitess, Postgres
update <DATABASE_NAME> <WEBHOOK_ID>Update an existing webhookVitess, Postgres

Sub-command flags

Sub-command flagDescriptionApplicable sub-commands
--events <EVENTS>Comma-separated list of events to trigger the webhook. See webhook events for available events.create, update
--url <URL>The HTTPS URL where webhook events will be sentcreate, update
--enabledEnable or disable the webhook. Use --enabled or --enabled=true to enable, --enabled=false to disable. Webhooks are disabled by default when created.update

Available flags

FlagDescription
-h, --helpView help for webhook command
--org <ORGANIZATION_NAME>The organization for the current user

Global flags

CommandDescription
--api-token <TOKEN>The API token to use for authenticating against the PlanetScale API.
--api-url <URL>The base URL for the PlanetScale API. Default is https://api.planetscale.com/.
--config <CONFIG_FILE>Config file. Default is $HOME/.config/planetscale/pscale.yml.
--debugEnable debug mode.
-f, --format <FORMAT>Show output in a specific format. Possible values: human (default), json, csv.
--no-colorDisable color output.
--service-token <TOKEN>The service token for authenticating.
--service-token-id <TOKEN_ID>The service token ID for authenticating.

Examples

List webhooks for a database

Command:
pscale webhook list <DATABASE_NAME> --org <ORGANIZATION_NAME>
This lists all webhooks configured for the specified database. Output:
No webhooks exist in database <DATABASE_NAME>.
Or if webhooks exist:
  ID             URL                                   EVENTS                          ENABLED   CREATED AT   UPDATED AT
 -------------- ------------------------------------- ------------------------------- --------- ------------ ------------
  abc123xyz      https://example.com/webhook           branch.ready, branch.sleeping   Yes       2 days ago   1 day ago

Create a webhook

Command:
pscale webhook create <DATABASE_NAME> --org <ORGANIZATION_NAME> \
  --events "branch.ready,branch.sleeping" \
  --url https://example.com/webhook
This creates a new webhook for the specified database with the selected events. The webhook will be disabled by default until you enable it with the update command. Output:
  ID             URL                                   SECRET                                                             EVENTS                          ENABLED   CREATED AT   UPDATED AT
 -------------- ------------------------------------- ------------------------------------------------------------------ ------------------------------- --------- ------------ ------------
  abc123xyz      https://example.com/webhook           8e46bd50ca092655b1efdfca329f0d79eb976714030a8bfa031397eb0d1cb433   branch.ready, branch.sleeping   No        now          now
NoteWhen you create a webhook, a secret is generated and displayed only once in the output. Store this secret securely as you’ll need it to validate webhook signatures. You can also view the secret later from the database settings page in the dashboard.

Show webhook details

Command:
pscale webhook show <DATABASE_NAME> <WEBHOOK_ID> --org <ORGANIZATION_NAME>
This displays detailed information about a specific webhook, including its ID, URL, secret, events, enabled status, and timestamps. Output:
  ID             URL                                   SECRET                                                             EVENTS                          ENABLED   CREATED AT       UPDATED AT
 -------------- ------------------------------------- ------------------------------------------------------------------ ------------------------------- --------- ---------------- ----------------
  abc123xyz      https://example.com/webhook           b4c29e6ae54a6456496cec7dcbfad7ace6e973a694802de2978b4d6e001fca6e   branch.ready, branch.sleeping   No        25 seconds ago   25 seconds ago
NoteThe show command displays the webhook secret, which is useful if you need to retrieve it after creation. Store this secret securely as you’ll need it to validate webhook signatures.

Update a webhook

Command:
pscale webhook update <DATABASE_NAME> <WEBHOOK_ID> --org <ORGANIZATION_NAME> --enabled
This enables an existing webhook. To disable a webhook, use --enabled=false. You can also use this command to update other webhook settings like events and URL. Output:
  ID             URL                                   EVENTS                          ENABLED   CREATED AT     UPDATED AT
 -------------- ------------------------------------- ------------------------------- --------- -------------- ------------
  abc123xyz      https://example.com/webhook           branch.ready, branch.sleeping   Yes       58 seconds ago now

Test a webhook

Command:
pscale webhook test <DATABASE_NAME> <WEBHOOK_ID> --org <ORGANIZATION_NAME>
This sends a test event to the webhook URL to verify it’s configured correctly. You can only send one test event every 20 seconds per webhook. Output:
Test event was successfully sent to webhook <WEBHOOK_ID>.

Delete a webhook

Command:
pscale webhook delete <DATABASE_NAME> <WEBHOOK_ID> --org <ORGANIZATION_NAME>
This permanently deletes the webhook from the database. Output:
Webhook <WEBHOOK_ID> was successfully deleted from <DATABASE_NAME>.

Need help?

Get help from the PlanetScale Support team, or join our GitHub discussion board to see how others are using PlanetScale.