Integrate UIPing into your workflow. All endpoints return JSON. Authenticated endpoints require a Bearer token in the Authorization header.
Obtain an access token via /api/auth/login, then include it in requests:
Authorization: Bearer <access_token>
Access tokens expire after 30 minutes. Use the refresh endpoint to get a new one.
https://uiping.com
/api/auth/registerCreate a new account. Requires email verification before login.
{ "email": "string", "password": "string", "full_name": "string" }{ "id": "uuid", "email": "string" }/api/auth/loginSign in and receive access + refresh tokens.
{ "email": "string", "password": "string" }{ "access_token": "string", "refresh_token": "string", "token_type": "bearer" }/api/auth/refreshExchange a valid refresh token for a new access token.
{ "refresh_token": "string" }{ "access_token": "string", "token_type": "bearer" }/api/auth/meAuthGet the authenticated user profile.
{ "id": "uuid", "email": "string", "full_name": "string", ... }/api/monitorsAuthList all monitors for the authenticated user.
[{ "id": "uuid", "name": "string", "url": "string", "is_active": true, ... }]/api/monitorsAuthCreate a new monitor. URL must be from ui.com, www.ui.com, or store.ui.com.
{ "name": "string", "url": "string", "check_type": "html|visual|both" }{ "id": "uuid", "name": "string", "url": "string", ... }/api/monitors/:idAuthGet a specific monitor by ID.
{ "id": "uuid", "name": "string", "url": "string", "last_check_at": "datetime", ... }/api/monitors/:idAuthUpdate a monitor (name, check type, CSS selector, etc.).
{ "name": "string", "check_type": "string", ... }/api/monitors/:idAuthDelete a monitor and all its data.
/api/monitors/:id/pauseAuthToggle pause/resume on a monitor.
/api/monitors/:id/checkAuthTrigger an immediate check for a monitor.
{ "status": "check_queued" }/api/changesAuthList detected changes across all your monitors.
[{ "id": "uuid", "change_type": "content|visual", "diff_summary": "string", ... }]/api/changes/:idAuthGet full details for a specific change, including diff.
/api/billing/subscriptionAuthGet your current subscription details.
{ "tier": "string", "status": "string", "max_monitors": 5, ... }/api/public/dropsRecent product changes detected across all monitors (anonymized). No auth required.
{ "drops": [{ "product_name": "string", "summary": "string", "detected_at": "datetime" }] }/api/healthService health check.
{ "status": "healthy", "checks": { "api": "ok", "database": "ok", "redis": "ok" } }API requests are rate-limited per IP. If you receive a 429 response, wait a moment before retrying. Monitor check frequency is determined by your subscription tier.
We use privacy-friendly analytics to improve UIPing. No cookies, no cross-site tracking. Privacy Policy