User Settings API

Manage your Repo Cat account preferences including webhook configuration and email notification settings.

Overview

The Settings API allows you to retrieve and update your account settings. Settings are persisted and apply to all API requests made with your account.

Settings can also be managed through the dashboard settings page.

Get Settings

Retrieve the current settings for the authenticated user.

GEThttps://repocat.cloud/api/v1/settings

Headers

HeaderRequiredDescription
X-API-KeyYesYour API key

Response

{
  "success": true,
  "settings": {
    "webhook_url": "https://your-app.com/webhook",
    "webhook_enabled": true,
    "webhook_on_scan_started": false,
    "webhook_on_scan_completed": true,
    "webhook_on_scan_failed": false,
    "webhook_on_scan_cancelled": false,
    "email_notifications_enabled": true,
    "email_on_scan_started": false,
    "email_on_scan_completed": true,
    "email_on_scan_failed": false,
    "email_on_scan_cancelled": false,
    "email_on_subscription_created": true,
    "email_on_subscription_updated": true,
    "email_on_subscription_cancelled": true,
    "email_on_payment_succeeded": true,
    "email_on_payment_failed": true
  }
}

Update Settings

Update one or more settings fields. Only provided fields will be updated.

PUThttps://repocat.cloud/api/v1/settings

Request Body

Send a JSON object with the fields you want to update. All fields are optional.

{
  "webhook_url": "https://your-app.com/webhook",
  "webhook_enabled": true,
  "webhook_on_scan_completed": true,
  "webhook_on_scan_failed": true
}

Response

Returns the complete updated settings object.

{
  "success": true,
  "settings": {
    "webhook_url": "https://your-app.com/webhook",
    "webhook_enabled": true,
    "webhook_on_scan_started": false,
    "webhook_on_scan_completed": true,
    "webhook_on_scan_failed": false,
    "webhook_on_scan_cancelled": false,
    "email_notifications_enabled": true,
    "email_on_scan_started": false,
    "email_on_scan_completed": true,
    "email_on_scan_failed": false,
    "email_on_scan_cancelled": false,
    "email_on_subscription_created": true,
    "email_on_subscription_updated": true,
    "email_on_subscription_cancelled": true,
    "email_on_payment_succeeded": true,
    "email_on_payment_failed": true
  }
}

Settings Fields Reference

FieldTypeDescription
webhook_urlstringYour webhook endpoint URL
webhook_enabledbooleanEnable/disable all webhooks
webhook_on_scan_startedbooleanSend webhook when scan starts
webhook_on_scan_completedbooleanSend webhook when scan completes
webhook_on_scan_failedbooleanSend webhook when scan fails
webhook_on_scan_cancelledbooleanSend webhook when scan is cancelled
email_notifications_enabledbooleanEnable/disable email notifications
email_on_scan_startedbooleanReceive email when scan starts
email_on_scan_completedbooleanReceive email when scan completes
email_on_scan_failedbooleanReceive email when scan fails
email_on_scan_cancelledbooleanReceive email when scan is cancelled
email_on_subscription_createdbooleanReceive email when subscription is created
email_on_subscription_updatedbooleanReceive email when subscription is updated
email_on_subscription_cancelledbooleanReceive email when subscription is cancelled
email_on_payment_succeededbooleanReceive email when payment succeeds
email_on_payment_failedbooleanReceive email when payment fails

For more details on configuring webhooks, see the Webhooks documentation.

cURL Example

# Get current settings
curl -X GET "https://repocat.cloud/api/v1/settings" \
  -H "X-API-Key: your-api-key-here"

# Update settings
curl -X PUT "https://repocat.cloud/api/v1/settings" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"webhook_enabled": true, "webhook_url": "https://example.com/webhook"}'