ReefAPI Developer Tools API

The Developer Tools API from ReefAPI — 263 operation(s) for developer tools.

Operations 263

Showing the first 250 of 263. The full set is in the contract, and via get_provider_operations.

POST /change-detect/v1/snapshot Fetch a URL and return a noise-resistant fingerprint: content_hash (normalised… #
POST /change-detect/v1/diff Diff a page against a prior baseline (snapshot object OR content_hash OR raw… #
POST /change-detect/v1/monitor_check The stateless half of monitoring: re-fetch the URL and tell you FAST whether it… #
POST /change-detect/v1/extract Main-content extraction only — boilerplate… #
POST /change-detect/v1/batch Snapshot up to 20 URLs concurrently in one call (each independently… #
POST /dev-utils/v1/hash Hash/checksum text or binary (base64/hex) input: md5…sha3·blake2·crc32·adler32… #
POST /dev-utils/v1/uuid Generate ids: uuid v4/v7/v1(MAC-safe)/v3/v5, ULID, nanoid — up to 100 #
POST /dev-utils/v1/encode Encode/decode: base64(+url-safe), hex, URL (path/component/form), HTML… #
POST /dev-utils/v1/jwt_decode Decode a JWT WITHOUT needing the key (header+payload+claims analysis)… #
POST /dev-utils/v1/password Generate cryptographically-secure passwords (charset controls, ambiguity… #
POST /dev-utils/v1/cron Explain a cron expression in plain language (15 locales) + compute the next N… #
POST /dev-utils/v1/slugify URL-safe slug from any-script text (CJK/Cyrillic/Arabic → ASCII via anyascii… #
POST /dev-utils/v1/regex_test Test a regex against text: matches + groups + named groups, optional replace. #
POST /dev-utils/v1/format Pretty-print, minify or validate JSON / YAML / XML / SQL (string-level… #
POST /dev-utils/v1/convert Convert structured data between JSON / YAML / CSV / XML at the string level… #
POST /dev-utils/v1/qr Generate a QR code as SVG (text), base64-PNG (text data-URI), or terminal ASCII… #
POST /dev-utils/v1/color Parse any CSS color (hex/rgb()/hsl()/name) → every format + CSS3 name +… #
POST /dev-utils/v1/mock_data Generate fake/test records (Faker, 70+ locales): preset bundles… #
POST /dev-utils/v1/text_diff Unified diff between two texts + change stats + similarity ratio #
POST /dev-utils/v1/text_analyze Algorithmic text analysis (no LLM): language detect (97 langs) · readability… #
POST /dev-utils/v1/timestamp Parse/convert any timestamp ('now', unix s/ms/µs, ISO-8601, RFC-2822) → every… #
POST /dev-utils/v1/case_convert Convert identifier/text casing: camel·pascal·snake·kebab·constant·dot·title·sent… #
POST /dev-utils/v1/base_convert Convert integers between bases 2-36 (arbitrary precision; 0x/0b/0o prefixes… #
POST /dev-utils/v1/markdown Render CommonMark+tables markdown → sanitized HTML (raw HTML escaped, XSS-safe)… #
POST /dev-utils/v1/user_agent Parse a User-Agent string → browser/OS/device families + versions + bot flag… #
POST /dev-utils/v1/batch Run up to 100 mixed dev-utils calls in one request #
POST /domain-risk/v1/assess Comprehensive fraud and security risk report for one domain: a 0-100 risk… #
POST /domain-risk/v1/age Domain age + expiry-risk band + renewal status (lifecycle synthesis from RDAP… #
POST /domain-risk/v1/parked Detect whether a domain is parked or listed for sale. #
POST /domain-risk/v1/typosquat Generate a brand's lookalike domains across 16 permutation families… #
POST /domain-risk/v1/reputation Registrar / nameserver / age / mail-hygiene (SPF·DMARC·DNSSEC) trust signals →… #
POST /domain-risk/v1/batch Risk-assess up to 50 domains in one call (RDAP + DNS + email hygiene scoring… #
POST /email-health/v1/check Full email-health audit: SPF + DKIM + DMARC + MX + BIMI + MTA-STS + TLS-RPT +… #
POST /email-health/v1/spf Parse + validate the SPF record: follow include:/redirect=, count the ≤10… #
POST /email-health/v1/dmarc Parse the DMARC policy at _dmarc.: p/sp/pct/rua/ruf/adkim/aspf/fo + enforcement… #
POST /email-health/v1/dkim DKIM selector lookup (._domainkey.): key type, public-key presence, RSA key-bit… #
POST /email-health/v1/mx MX records (sorted by preference) + a mail-provider guess from the exchange… #
POST /email-health/v1/blacklist DNSBL reputation: reverse the domain's A + MX-host IPs against live-proven… #
POST /email-health/v1/mta_sts MTA-STS: the _mta-sts. #
POST /email-health/v1/bimi BIMI brand-logo record at ._bimi.: the published logo (SVG) URL and the VMC… #
POST /email-health/v1/tls_rpt SMTP TLS Reporting (RFC 8460) record at _smtp._tls.: the rua= report… #
POST /email-health/v1/dnssec DNSSEC signing status: the DoH AD (Authenticated-Data) flag = the resolver… #
POST /email-health/v1/dane DANE for SMTP (RFC 7672): TLSA records at _25._tcp. #
POST /email-health/v1/batch Run the full 'check' audit on up to 25 domains in one call (each with score +… #
POST /email-preflight/v1/audit_html Full pre-send structure + accessibility + deliverability lint of an HTML email… #
POST /email-preflight/v1/css_support Email-client CSS/HTML compatibility map for the template (Can-I-Email data… #
POST /email-preflight/v1/spam_score Deterministic spam-SIGNAL score for the email content (caps ratio… #
POST /email-preflight/v1/check_images Audit every in the email: alt text presence, dimensions declared, src… #
POST /email-preflight/v1/dns_auth Sender-domain email-authentication summary (SPF/DKIM/DMARC/MX + deliverability… #
POST /email-preflight/v1/preview_basic Basic visual preview: render the HTML to a PNG via web-capture's browser… #
POST /enrich-package/v1/package_trust ecosystem+package → registry metadata + downloads + maintainers + license +… #
POST /enrich-package/v1/repo_trust owner/repo → repository health + release cadence + bus-factor signal +… #
POST /enrich-package/v1/lockfile_scan manifest/lockfile text → dependency list + each dep's vuln/risk summary via one… #
POST /enrich-package/v1/batch trust-score up to 10 packages in one call (basic depth, per-item ok/error) #
POST /generate/v1/pdf_render Render a PDF from inline HTML/CSS (Jinja2) or a built-in template_name + data… #
POST /generate/v1/pdf_from_html Shortcut for rendering inline HTML directly to PDF — the same WeasyPrint engine… #
POST /generate/v1/pdf_from_url Render a built-in or inline template to PDF, populating it with data fetched… #
POST /generate/v1/og_image Render a social / Open Graph card image (1200×630 default) from a built-in… #
POST /generate/v1/image_from_template Alias of og_image (explicit Bannerbear 'create image from template' naming). #
POST /generate/v1/image_from_url Render an image template with `vars` fetched from a JSON URL (proxy… #
POST /generate/v1/chart Render a chart from a Chart.js-style spec — returns a PNG or SVG image. #
POST /generate/v1/chart_types List all supported chart types with a description of each. No input required #
POST /generate/v1/batch_pdf Render up to 20 PDFs in one call. `jobs` = array of pdf_render param objects #
POST /generate/v1/batch_image Render up to 20 images in one call. `jobs` = array of og_image param objects #
POST /generate/v1/template_list List built-in templates (PDF + image) with their data contracts. #
POST /generate/v1/validate_html Lint HTML/CSS for the PDF path WITHOUT rendering: flags remote resources that… #
POST /generate/v1/health Renderer diagnostics — which backends (WeasyPrint/Pillow/matplotlib) are… #
POST /generate/v1/qr Generate a QR code (PNG or SVG) with custom fg/bg color, error-correction, and… #
POST /generate/v1/barcode Generate a 1D barcode IMAGE (PNG or SVG) from data: EAN-13/8, UPC-A, Code-128… #
POST /generate/v1/code_image Render a syntax-highlighted code snippet as a PNG with a carbon/ray.so-style… #
POST /generate/v1/favicon Turn one source image into a complete favicon bundle: multi-resolution… #
POST /generate/v1/vcard Build a vCard (.vcf) contact file from contact fields (vCard 3.0 or 4.0). #
POST /generate/v1/ical Build an iCalendar (.ics) event file from event fields (RFC 5545). #
POST /generate/v1/wifi Generate a WiFi-join QR code (PNG/SVG) from network credentials — scan to… #
POST /generate/v1/batch Generate up to 50 small assets in one request. #
POST /github/v1/user GitHub user profile #
POST /github/v1/user_repos repositories owned by a user #
POST /github/v1/user_followers followers for a user #
POST /github/v1/user_following accounts followed by a user #
POST /github/v1/user_gists public gists for a user #
POST /github/v1/repo repository metadata #
POST /github/v1/repo_issues repository issues #
POST /github/v1/repo_pulls repository pull requests #
POST /github/v1/repo_commits repository commits #
POST /github/v1/repo_contributors repository contributors #
POST /github/v1/repo_releases repository releases #
POST /github/v1/repo_stargazers recent stargazers of a repository #
POST /github/v1/repo_forks repository forks #
POST /github/v1/repo_languages repository language byte counts #
POST /github/v1/repo_contents repository content metadata for a path #
POST /github/v1/repo_readme repository README metadata/content URL #
POST /github/v1/org organization profile #
POST /github/v1/org_repos organization repositories #
POST /github/v1/org_members public organization members #
POST /github/v1/search_repos search repositories #
POST /github/v1/search_users search users #
POST /github/v1/search_code search code (token required by GitHub) #
POST /github/v1/search_issues search issues and pull requests #
POST /github/v1/search_topics search GitHub topics #
POST /github/v1/search_commits search commits across GitHub #
POST /github/v1/repo_branches repository branches #
POST /github/v1/repo_tags repository tags #
POST /github/v1/repo_topics repository topics (labels) #
POST /github/v1/issue_detail single issue detail #
POST /github/v1/issue_comments comments on an issue or PR #
POST /github/v1/pull_detail single pull request detail #
POST /github/v1/pull_reviews reviews on a pull request #
POST /github/v1/pull_files files changed in a pull request #
POST /github/v1/pull_commits commits in a pull request #
POST /github/v1/commit_detail single commit detail with diff stats and changed files #
POST /github/v1/user_events public activity events for a user #
POST /github/v1/user_orgs organizations a user belongs to (public) #
POST /github/v1/user_starred repositories a user has starred #
POST /github/v1/rate_limit current token/IP rate-limit status #
POST /mcp-registry/v1/server_detail Full merged profile for one MCP server across every registry it appears in… #
POST /mcp-registry/v1/skill_detail Metadata for one agent-skill repo (GitHub-backed). #
POST /mcp-registry/v1/security_signals HEURISTIC risk signals for an MCP server (NOT a safe/unsafe certification). #
POST /mcp-registry/v1/list_sources The registries this engine aggregates, their roles, auth status and live… #
POST /packages/v1/package full package metadata (latest version normalized) #
POST /packages/v1/versions paginated version list for a package #
POST /packages/v1/version single version metadata #
POST /packages/v1/dependencies runtime + dev dependencies for a version (latest if omitted) #
POST /packages/v1/downloads download statistics (npm: period=last-day|week|month|year; pypi: recent… #
POST /packages/v1/maintainer maintainer/author records for a package #
POST /passive-osint/v1/subdomains Passive subdomain discovery across crt.sh + certspotter + OTX + hackertarget +… #
POST /passive-osint/v1/domain One-call unified passive report: subdomains + DNS summary + SSL summary +… #
POST /passive-osint/v1/ip Passive IP enrichment: rDNS (PTR) + ASN/org/country (Team-Cymru + RDAP) +… #
POST /passive-osint/v1/batch Compact passive report (subdomain count+list, DNS, threat, archive-first-seen)… #
POST /producthunt/v1/posts Today's or historical leaderboard launches (daily/weekly/monthly/yearly) #
POST /producthunt/v1/post Full launch/product detail by slug: tagline, description, website, makers… #
POST /producthunt/v1/reviews Product reviews by slug: per-question answer text, rating + rating histogram… #
POST /producthunt/v1/topics Browse Product Hunt topics (interest tags applied to launches) #
POST /producthunt/v1/topic_posts Launches filtered by topic slug #
POST /producthunt/v1/categories Browse Product Hunt product categories (the curated category tree, distinct… #
POST /producthunt/v1/category Products and launches inside one product category by slug #
POST /producthunt/v1/collections Public curated product collections index #
POST /producthunt/v1/collection Single collection (its products) by user+collection slug or full path #
POST /producthunt/v1/user Maker/user profile plus their submitted launches #
POST /producthunt/v1/discussions Product Hunt discussions/forum thread feed (popular or newest) #
POST /producthunt/v1/discussion Single discussion thread with its full nested comment tree #
POST /stackoverflow/v1/questions Paginated questions by sort/tag; returns score, tags, body, owner/link… #
POST /stackoverflow/v1/question Single question by id plus paginated answers #
POST /stackoverflow/v1/answers Answer details by id/ids, or recent answers when no id is supplied #
POST /stackoverflow/v1/user User profile by id/ids #
POST /stackoverflow/v1/user_questions Paginated questions for a user #
POST /stackoverflow/v1/user_answers Paginated answers for a user #
POST /stackoverflow/v1/user_tags Paginated tag activity for a user #
POST /stackoverflow/v1/user_badges Paginated badges for a user #
POST /stackoverflow/v1/tags Paginated Stack Exchange tags #
POST /stackoverflow/v1/tag_questions Paginated questions for a tag #
POST /stackoverflow/v1/tag_info Tag info by tag name #
POST /stackoverflow/v1/comments Paginated comments for post id/ids #
POST /stackoverflow/v1/answer_comments Comments left on one or more answers, by answer id #
POST /stackoverflow/v1/answer_questions The questions that the given answers belong to, by answer id #
POST /stackoverflow/v1/badges All badges on the site, ranked bronze/silver/gold #
POST /stackoverflow/v1/badge Badge details by badge id #
POST /stackoverflow/v1/badge_name Named badges (the ones with a fixed name, e.g. 'Nice Answer') #
POST /stackoverflow/v1/badge_recipients Recently awarded badges across the site, with the users who earned them #
POST /stackoverflow/v1/badge_recipients_by_ids Recent recipients of specific badges, by badge id #
POST /stackoverflow/v1/badge_tags Tag-based badges (badges earned for activity within a tag) #
POST /stackoverflow/v1/collectives All Stack Overflow Collectives (curated communities like 'Google Cloud') #
POST /stackoverflow/v1/collective Details for a Collective by its slug #
POST /stackoverflow/v1/collective_questions Questions associated with a Collective #
POST /stackoverflow/v1/collective_answers Answers associated with a Collective #
POST /stackoverflow/v1/collective_tags Tags that belong to a Collective #
POST /stackoverflow/v1/collective_users Members of a Collective, by reputation #
POST /stackoverflow/v1/comments_all Recent comments across the whole site #
POST /stackoverflow/v1/comment Comment details by comment id #
POST /stackoverflow/v1/info Site statistics: total questions, answers, users, badges, API revision #
POST /stackoverflow/v1/posts Recent posts (questions and answers together) across the site #
POST /stackoverflow/v1/post Post details by id, whether it is a question or an answer #
POST /stackoverflow/v1/post_comments Comments on a post (question or answer), by post id #
POST /stackoverflow/v1/post_revisions Edit history (revisions) of a post, by post id #
POST /stackoverflow/v1/post_suggested_edits Suggested edits submitted for a post, by post id #
POST /stackoverflow/v1/privileges The site privilege ladder (what each reputation level unlocks) #
POST /stackoverflow/v1/question_answers All answers to one or more questions, by question id #
POST /stackoverflow/v1/question_comments Comments on a question, by question id #
POST /stackoverflow/v1/question_linked Questions that link to the given question(s) #
POST /stackoverflow/v1/question_timeline Full event timeline of a question (edits, answers, comments, votes… #
POST /stackoverflow/v1/questions_no_answers Questions with zero answers (no answers at all) #
POST /stackoverflow/v1/questions_unanswered Questions the community considers unanswered (no accepted/upvoted answer) #
POST /stackoverflow/v1/revisions Revision details by revision guid #
POST /stackoverflow/v1/search_simple Title-only question search — find questions whose title contains given text #
POST /stackoverflow/v1/similar Find questions similar to a title (duplicate detection) #
POST /stackoverflow/v1/search_excerpts Full-text search returning highlighted match excerpts for questions and answers #
POST /stackoverflow/v1/suggested_edits Recent suggested edits across the site #
POST /stackoverflow/v1/suggested_edit Suggested-edit details by id #
POST /stackoverflow/v1/tags_moderator_only Tags only moderators can apply #
POST /stackoverflow/v1/tags_required Tags that must be present on every question (where the site requires them) #
POST /stackoverflow/v1/tag_synonyms All tag synonyms on the site (e.g. 'js' → 'javascript') #
POST /stackoverflow/v1/tag_faq The frequently-asked (FAQ) questions for a tag #
POST /stackoverflow/v1/tag_synonyms_by_tags Synonyms that map to a specific tag #
POST /stackoverflow/v1/tag_top_answerers Top answerers in a tag (the experts), all-time or last month #
POST /stackoverflow/v1/tag_top_askers Top askers in a tag, all-time or last month #
POST /stackoverflow/v1/tag_wikis The wiki/excerpt body that describes a tag #
POST /stackoverflow/v1/users Site users, by reputation (the leaderboard) #
POST /stackoverflow/v1/user_comments Comments written by a user #
POST /stackoverflow/v1/user_comments_to_user Comments a user directed at one specific other user #
POST /stackoverflow/v1/user_favorites Questions a user bookmarked (favorited) #
POST /stackoverflow/v1/user_mentioned Comments that @-mention a user #
POST /stackoverflow/v1/user_network_activity A user's activity across the entire Stack Exchange network (all sites) #
POST /stackoverflow/v1/user_posts All posts (questions and answers) authored by a user #
POST /stackoverflow/v1/user_privileges The privileges a user has unlocked at their reputation level #
POST /stackoverflow/v1/user_questions_no_answers A user's questions that have no answers #
POST /stackoverflow/v1/user_questions_unaccepted A user's questions that have answers but none accepted #
POST /stackoverflow/v1/user_questions_unanswered A user's questions the community considers unanswered #
POST /stackoverflow/v1/user_reputation A user's reputation changes (the rep events feed) #
POST /stackoverflow/v1/user_reputation_history Public reputation history of a user (each gain/loss event) #
POST /stackoverflow/v1/user_suggested_edits Suggested edits a user has submitted #
POST /stackoverflow/v1/user_top_answers_in_tags A user's highest-scoring answers within specific tags #
POST /stackoverflow/v1/user_top_questions_in_tags A user's highest-scoring questions within specific tags #
POST /stackoverflow/v1/user_timeline A user's activity timeline (posts, comments, badges, rep events) #
POST /stackoverflow/v1/user_top_answer_tags The tags a user is strongest in by answer score #
POST /stackoverflow/v1/user_top_question_tags The tags a user is strongest in by question score #
POST /stackoverflow/v1/user_top_tags A user's top tags overall (combined question + answer activity) #
POST /stackoverflow/v1/moderators All moderators on the site #
POST /stackoverflow/v1/elected_moderators Moderators who were elected (excludes appointed/employee moderators) #
POST /stackoverflow/v1/errors The catalog of Stack Exchange API error codes and their meanings #
POST /stackoverflow/v1/error Simulate one Stack Exchange API error by its id (returns the error as if it… #
POST /stackoverflow/v1/sites Every site in the Stack Exchange network (Stack Overflow, Server Fault, Super… #
POST /stackoverflow/v1/associated_users A user's accounts across all Stack Exchange sites (network accounts) #
POST /stackoverflow/v1/merge_history Account-merge history for a user id #
POST /status-intel/v1/status Current OVERALL status for a vendor → normalized indicator… #
POST /status-intel/v1/incidents Recent or active incidents for a vendor (title, impact, status, timeline of… #
POST /status-intel/v1/components Per-component (sub-service) health for a vendor — which specific products are… #
POST /status-intel/v1/summary Full one-call snapshot for a vendor: overall status + components + active… #
POST /status-intel/v1/check_multi THE dashboard call: give your stack as a list (keys / brands / domains / status… #
POST /status-intel/v1/batch Alias of check_multi — overall status for a batch of vendors in one call (up to… #
POST /status-intel/v1/list_vendors The supported vendor set (key → name, kind, category, status host). #
POST /threat-intel/v1/url_check Is a URL malicious? #
POST /threat-intel/v1/domain_reputation Domain reputation: URLHaus host listing + active malware URLs + OpenPhish… #
POST /threat-intel/v1/ip_reputation IP abuse signals: Feodo botnet-C2 + SSLBL botnet-C2 + ThreatFox IP IOCs +… #
POST /threat-intel/v1/scan_lookup urlscan.io public scan history + per-scan verdict for a domain/IP (server, IP… #
POST /threat-intel/v1/batch Check up to 20 mixed indicators (URL/domain/IP, auto-routed) in one call #
POST /vuln-intel/v1/package_vulns All known vulnerabilities affecting a package (by name+ecosystem, optionally… #
POST /vuln-intel/v1/vuln_detail Full detail for one vulnerability by OSV id, GHSA id, or CVE id. #
POST /vuln-intel/v1/kev_check Is a CVE in the CISA Known-Exploited-Vulnerabilities catalog (actively… #
POST /vuln-intel/v1/kev_list Browse / filter the full CISA KEV catalog by vendor, product, or ransomware… #
POST /vuln-intel/v1/exploits Public exploit / PoC lookup for a CVE via the Exploit-DB (Offensive Security)… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/reefapi-developer-tools-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reefapi-developer-tools-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reef Developer Tools API
  version: 1.0.0
  description: Unified data-API gateway. Call POST /{engine}/v1/{action} with an x-api-key header; every response is the { ok, data, meta, error } envelope.
servers:
- url: https://api.reefapi.com
security:
- ApiKeyAuth: []
tags:
- name: Developer Tools
paths:
  /change-detect/v1/snapshot:
    post:
      operationId: change_detect_snapshot
      summary: 'Fetch a URL and return a noise-resistant fingerprint: content_hash (normalised…'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                selector:
                  type: string
                follow_redirects:
                  type: string
              required:
              - url
            example:
              url: https://example.com
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /change-detect/v1/diff:
    post:
      operationId: change_detect_diff
      summary: Diff a page against a prior baseline (snapshot object OR content_hash OR raw…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                baseline:
                  type: string
                url2:
                  type: string
                selector:
                  type: string
                mode:
                  type: string
                follow_redirects:
                  type: string
              required:
              - url
            example:
              url: https://example.com
              url2: https://www.iana.org/help/example-domains
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /change-detect/v1/monitor_check:
    post:
      operationId: change_detect_monitor_check
      summary: 'The stateless half of monitoring: re-fetch the URL and tell you FAST whether it…'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                baseline_hash:
                  type: string
                selector:
                  type: string
                mode:
                  type: string
                follow_redirects:
                  type: string
              required:
              - url
              - baseline_hash
            example:
              url: https://example.com
              baseline_hash: '0000000000000000000000000000000000000000000000000000000000000000'
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /change-detect/v1/extract:
    post:
      operationId: change_detect_extract
      summary: Main-content extraction only — boilerplate…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                selector:
                  type: string
                follow_redirects:
                  type: string
              required:
              - url
            example:
              url: https://example.com
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /change-detect/v1/batch:
    post:
      operationId: change_detect_batch
      summary: Snapshot up to 20 URLs concurrently in one call (each independently…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                urls:
                  type: string
                selector:
                  type: string
              required:
              - urls
            example:
              urls:
              - https://example.com
              - https://www.iana.org/domains/reserved
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/hash:
    post:
      operationId: dev_utils_hash
      summary: 'Hash/checksum text or binary (base64/hex) input: md5…sha3·blake2·crc32·adler32…'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                algo:
                  type: string
                hmac_key:
                  type: string
                input_encoding:
                  type: string
              required:
              - input
            example:
              input: hello world
              algo: sha256
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/uuid:
    post:
      operationId: dev_utils_uuid
      summary: 'Generate ids: uuid v4/v7/v1(MAC-safe)/v3/v5, ULID, nanoid — up to 100'
      tags:
      - Developer Tools
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: string
                count:
                  type: string
                namespace:
                  type: string
                name:
                  type: string
                size:
                  type: string
            example:
              version: v4
              count: 3
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/encode:
    post:
      operationId: dev_utils_encode
      summary: 'Encode/decode: base64(+url-safe), hex, URL (path/component/form), HTML…'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                op:
                  type: string
                direction:
                  type: string
              required:
              - input
              - op
            example:
              input: Merhaba Dünya! 👋
              op: base64
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/jwt_decode:
    post:
      operationId: dev_utils_jwt_decode
      summary: Decode a JWT WITHOUT needing the key (header+payload+claims analysis)…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                verify_key:
                  type: string
              required:
              - token
            example:
              token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
              verify_key: your-256-bit-secret
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/password:
    post:
      operationId: dev_utils_password
      summary: Generate cryptographically-secure passwords (charset controls, ambiguity…
      tags:
      - Developer Tools
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                length:
                  type: string
                count:
                  type: string
                lowercase:
                  type: string
                uppercase:
                  type: string
                digits:
                  type: string
                symbols:
                  type: string
                exclude_ambiguous:
                  type: string
                check:
                  type: string
            example:
              length: 24
              count: 2
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/cron:
    post:
      operationId: dev_utils_cron
      summary: Explain a cron expression in plain language (15 locales) + compute the next N…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expression:
                  type: string
                runs:
                  type: string
                tz:
                  type: string
                locale:
                  type: string
                from_time:
                  type: string
              required:
              - expression
            example:
              expression: '*/15 9-17 * * 1-5'
              runs: 3
              tz: UTC
              from_time: '2026-06-10T12:00:00+00:00'
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/slugify:
    post:
      operationId: dev_utils_slugify
      summary: URL-safe slug from any-script text (CJK/Cyrillic/Arabic → ASCII via anyascii…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                separator:
                  type: string
                lowercase:
                  type: string
                max_length:
                  type: string
              required:
              - input
            example:
              input: Çok Güzel Bir Başlık — 2026!
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/regex_test:
    post:
      operationId: dev_utils_regex_test
      summary: 'Test a regex against text: matches + groups + named groups, optional replace.'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                pattern:
                  type: string
                input:
                  type: string
                flags:
                  type: string
                replacement:
                  type: string
                max_matches:
                  type: string
              required:
              - pattern
              - input
            example:
              pattern: (\w+)@([\w.]+)
              input: mail jane@acme.com now
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/format:
    post:
      operationId: dev_utils_format
      summary: Pretty-print, minify or validate JSON / YAML / XML / SQL (string-level…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                type:
                  type: string
                op:
                  type: string
                indent:
                  type: string
                sort_keys:
                  type: string
                keyword_case:
                  type: string
              required:
              - input
              - type
            example:
              input: '{"b":1,"a":[1,2]}'
              type: json
              op: pretty
              sort_keys: true
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/convert:
    post:
      operationId: dev_utils_convert
      summary: Convert structured data between JSON / YAML / CSV / XML at the string level…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                from:
                  type: string
                to:
                  type: string
                indent:
                  type: string
                sort_keys:
                  type: string
              required:
              - input
              - from
              - to
            example:
              input: '[{"id":1,"name":"a"},{"id":2,"name":"b"}]'
              from: json
              to: csv
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/qr:
    post:
      operationId: dev_utils_qr
      summary: Generate a QR code as SVG (text), base64-PNG (text data-URI), or terminal ASCII…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                kind:
                  type: string
                error_correction:
                  type: string
                scale:
                  type: string
                border:
                  type: string
              required:
              - input
            example:
              input: https://reefapi.com
              kind: svg
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/color:
    post:
      operationId: dev_utils_color
      summary: Parse any CSS color (hex/rgb()/hsl()/name) → every format + CSS3 name +…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                contrast_with:
                  type: string
              required:
              - input
            example:
              input: '#1a2b3c'
              contrast_with: '#ffffff'
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/mock_data:
    post:
      operationId: dev_utils_mock_data
      summary: 'Generate fake/test records (Faker, 70+ locales): preset bundles…'
      tags:
      - Developer Tools
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                preset:
                  type: string
                schema:
                  type: string
                count:
                  type: string
                locale:
                  type: string
                seed:
                  type: string
            example:
              preset: person
              count: 2
              seed: 42
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/text_diff:
    post:
      operationId: dev_utils_text_diff
      summary: Unified diff between two texts + change stats + similarity ratio
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                a:
                  type: string
                b:
                  type: string
                context:
                  type: string
                label_a:
                  type: string
                label_b:
                  type: string
              required:
              - a
              - b
            example:
              a: 'one

                two'
              b: 'one

                2'
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/text_analyze:
    post:
      operationId: dev_utils_text_analyze
      summary: 'Algorithmic text analysis (no LLM): language detect (97 langs) · readability…'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                checks:
                  type: string
                top_keywords:
                  type: string
              required:
              - input
            example:
              input: The quick brown fox jumps over the lazy dog. The fox is fast.
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/timestamp:
    post:
      operationId: dev_utils_timestamp
      summary: Parse/convert any timestamp ('now', unix s/ms/µs, ISO-8601, RFC-2822) → every…
      tags:
      - Developer Tools
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  type: string
                tz:
                  type: string
            example:
              value: '1718000000'
              tz: Europe/Istanbul
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/case_convert:
    post:
      operationId: dev_utils_case_convert
      summary: 'Convert identifier/text casing: camel·pascal·snake·kebab·constant·dot·title·sent…'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                target:
                  type: string
              required:
              - input
              - target
            example:
              input: getUserProfileURL
              target: snake
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/base_convert:
    post:
      operationId: dev_utils_base_convert
      summary: Convert integers between bases 2-36 (arbitrary precision; 0x/0b/0o prefixes…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
                from_base:
                  type: string
                to_base:
                  type: string
              required:
              - input
            example:
              input: ff
              from_base: 16
              to_base: 10
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/markdown:
    post:
      operationId: dev_utils_markdown
      summary: Render CommonMark+tables markdown → sanitized HTML (raw HTML escaped, XSS-safe)…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
              required:
              - input
            example:
              input: '# Hello


                world **bold**


                ## Sub Title'
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/user_agent:
    post:
      operationId: dev_utils_user_agent
      summary: Parse a User-Agent string → browser/OS/device families + versions + bot flag…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                input:
                  type: string
              required:
              - input
            example:
              input: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /dev-utils/v1/batch:
    post:
      operationId: dev_utils_batch
      summary: Run up to 100 mixed dev-utils calls in one request
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: string
              required:
              - items
            example:
              items:
              - action: hash
                params:
                  input: abc
                  algo: md5
              - action: base_convert
                params:
                  input: '1010'
                  from_base: 2
              - action: encode
                params:
                  input: x
                  op: nope
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /domain-risk/v1/assess:
    post:
      operationId: domain_risk_assess
      summary: 'Comprehensive fraud and security risk report for one domain: a 0-100 risk…'
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                check_parked:
                  type: string
                include_pii:
                  type: string
              required:
              - domain
            example:
              domain: google.com
              check_parked: false
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /domain-risk/v1/age:
    post:
      operationId: domain_risk_age
      summary: Domain age + expiry-risk band + renewal status (lifecycle synthesis from RDAP…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
              required:
              - domain
            example:
              domain: github.com
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /domain-risk/v1/parked:
    post:
      operationId: domain_risk_parked
      summary: Detect whether a domain is parked or listed for sale.
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
              required:
              - domain
            example:
              domain: google.com
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /domain-risk/v1/typosquat:
    post:
      operationId: domain_risk_typosquat
      summary: Generate a brand's lookalike domains across 16 permutation families…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                families:
                  type: string
                keywords:
                  type: string
                check_registered:
                  type: string
              required:
              - domain
            example:
              domain: paypal.com
              families: homoglyph,replacement,omission
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /domain-risk/v1/reputation:
    post:
      operationId: domain_risk_reputation
      summary: Registrar / nameserver / age / mail-hygiene (SPF·DMARC·DNSSEC) trust signals →…
      tags:
      - Developer Tools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
              required:
              - domain
            example:
              domain: github.com
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /domain-risk/v1/batch:
    post:
      operationId

# --- truncated at 32 KB (260 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/reefapi/refs/heads/main/openapi/reefapi-developer-tools-api-openapi.yml