Skip to main content
PUT https://xquik.com/api/v1/monitors/username/{username}
Creating requires 30 available credits. They pay for the first active monitor hour. Updating a running monitor is free.
Keep 1 X account under watch with the event types you choose. Send its username in the path. Xquik creates the monitor if it’s missing, or updates it. The same call twice still leaves 1 monitor.

Path parameters

Headers

Body

When to use this route

Use it when your app knows the username but not the monitor ID. It replaces a create call, a 409 answer & a list search. Agents & schedulers can send it on every run.

How Xquik picks create or update

Xquik looks up the X account for the username, then matches its user ID. Case & a leading @ make no difference. A renamed account keeps its monitor.
  • Xquik creates a monitor & answers 201 when you have none for the account.
  • Xquik turns a stopped monitor back on & answers 201.
  • Xquik updates a running monitor & answers 200.
created is true in a 201 answer & false in a 200 answer. Read it instead of comparing monitor lists. An update replaces eventTypes. It changes name only when you send it. Send null to remove the label.

Response

200 Updated

201 Created

The answer has the same fields, and created is true.

400 Invalid input

The body has no eventTypes array, or it holds an unknown event type. A path that is no X username or user ID gets its own message.

401 Missing API key

Missing or invalid API key or OAuth bearer token.

402 Payment required

Creating needs 30 available credits. An update of a running monitor never returns 402.

404 User not found

Xquik could not find that username or user ID. Check the spelling.

429 Rate limited

Too many requests. Wait for the Retry-After header before retrying.
Next steps.

Response examples

  • 400 { "error": "invalid_input", "message": "Invalid input. Check the request body." }
  • 401 { "error": "unauthenticated", "message": "Authentication required. Provide a valid API key or bearer token." }
  • 402 { "error": "insufficient_credits", "message": "Insufficient credits. Top up or subscribe to continue." }
  • 403 { "error": "api_key_paused", "message": "This API key is paused. Resume it at dashboard.xquik.com/api-keys to use it again." }
  • 404 { "error": "user_not_found", "message": "X user not found. Check the username." }
  • 429 { "error": "rate_limit_exceeded", "message": "Too many requests. Try again later.", "retryAfter": 60 }