mySDRDocs

API reference

Get a monitor

One keyword monitor: schedule, cap, next run and credits charged.

GEThttps://mysdr.app/api/v1/monitors/{monitor_id}
View Markdown

Authentication

Send Authorization: Bearer gtk_…. Create the key under Connect assistant → API keys. A missing, invalid or revoked key is 401. A valid key while this API is not enabled for your organization answers 403 api_not_enabled, with what the key can do instead. Every response includes mySDR-Api-Version, mySDR-Request-Id and Cache-Control: no-store, and a response to an accepted key also X-RateLimit-* (so not a 401, a 405, an OPTIONS or a 404 for an unknown path).

Path parameters

  • monitor_id string · required — A monitor id (mon_…).

Response

  • id string · required — Monitor id, mon_….
  • object string · required — Always monitor. One of: monitor.
  • name string · required — The name you gave it.
  • status string · required — active, paused, or deleted after DELETE. One of: active, paused, deleted.
  • schedule string · required — daily. hourly is not available yet. One of: daily, hourly.
  • keywords object[] · required — Each keyword with all its settings, exact_match and case_sensitive included, and paused.
  • min_relevance string · required — high, medium or low. One of: high, medium, low.
  • max_credits_per_day integer | null — Daily cap, or null for none.
  • credits_today integer · required — Credits this monitor spent today (Europe/Brussels calendar day).
  • credits_charged integer · required — Credits charged so far.
  • next_run_at string | null · required — When the next run starts; null while the monitor is paused or deleted.
  • last_run object | null · required — What the last run did: at, mentions_delivered, credits_charged and stopped_by. stopped_by is null when the run read everything it found, or max_credits_per_day (the monitor’s cap), daily_limit (the organization’s daily limit), balance (the wallet), or paused or deleted (the monitor was paused or deleted during the run, which stops the charging). A run that a cap or the balance stopped before it read anything shows 0 mentions with that reason. Null before the first run.
  • deleted_at string | null · required — When DELETE stopped the monitor.
  • mentions_readable_until string | null · required — For a deleted monitor: until when it and its mentions stay readable (30 days after DELETE).

Credits

Free.

Errors

  • 404 not_found — No monitor with this id exists for your organization.
  • 401 authentication_error — The Authorization header is missing, or the key is unknown or revoked.
  • 403 permission_error — API access is not part of your plan, or your account is suspended.
  • 403 api_not_enabled — The key is valid, but the Signals API or the Company API is not enabled for your organization yet. The error says what this key can do.
  • 429 rate_limit_error — More than 60 requests per minute, or more than 3 at the same time, on one key. Wait for the Retry-After header.
  • 500 internal_error — Something went wrong on our side.

Example

cURL

curl "https://mysdr.app/api/v1/monitors/mon_01J9Z6P8C8V0K3W6T2N8R5M1XF" \
  -H "Authorization: Bearer $MYSDR_API_KEY"

JavaScript

const response = await fetch('https://mysdr.app/api/v1/monitors/mon_01J9Z6P8C8V0K3W6T2N8R5M1XF', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.MYSDR_API_KEY}`
  }
});
const body = await response.json();

Python

import json
import os
import urllib.request

request = urllib.request.Request(
    "https://mysdr.app/api/v1/monitors/mon_01J9Z6P8C8V0K3W6T2N8R5M1XF",
    headers={
    "Authorization": f"Bearer {os.environ['MYSDR_API_KEY']}"
    },
    method="GET",
)
with urllib.request.urlopen(request) as response:
    body = json.load(response)

Example response

{
  "id": "mon_01J9Z6P8C8V0K3W6T2N8R5M1XF",
  "object": "monitor",
  "status": "active",
  "credits_charged": 3
}