CaaMTech Akismet/v1 API
The akismet/v1 API from CaaMTech — 7 operation(s) for akismet/v1.
The akismet/v1 API from CaaMTech — 7 operation(s) for akismet/v1.
openapi: 3.2.0
info:
title: CaaMTech WordPress REST Akismet/v1 API
version: wp/v2
summary: The public WordPress REST API served by caam.tech.
description: 'Machine-readable description of the REST API that caam.tech serves at /wp-json/. CaaMTech publishes no developer program and no product API; this is the standard WordPress REST API exposed by the company web site, which does make the company''s published research updates, pages, categories and media programmatically readable without credentials.
PROVENANCE: this document was DERIVED by API Evangelist from the discovery document the site itself publishes at https://caam.tech/wp-json/ (saved verbatim alongside as caamtech-wordpress-rest-routes-original.json). Every path, method, parameter name, type, enum and default below is copied from that document. CaaMTech did not author or publish this OpenAPI. Response schemas are not described in the WordPress discovery document and are therefore left open rather than invented.'
x-provenance:
method: derived
source: https://caam.tech/wp-json/
derived_from: openapi/caamtech-wordpress-rest-routes-original.json
derived_by: API Evangelist enrichment pipeline
generated: '2026-08-08'
provider_authored: false
servers:
- url: https://caam.tech/wp-json
description: WordPress REST API root on caam.tech
tags:
- name: akismet/v1
paths:
/akismet/v1:
get:
operationId: get_akismet_v1
summary: GET /akismet/v1
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: namespace
in: query
required: false
schema:
default: akismet/v1
- name: context
in: query
required: false
schema:
default: view
/akismet/v1/key:
get:
operationId: get_akismet_v1_key
summary: GET /akismet/v1/key
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
post:
operationId: post_akismet_v1_key
summary: POST /akismet/v1/key
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
required:
- key
security:
- applicationPassword: []
- cookieAuth: []
put:
operationId: put_akismet_v1_key
summary: PUT /akismet/v1/key
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
required:
- key
security:
- applicationPassword: []
- cookieAuth: []
patch:
operationId: patch_akismet_v1_key
summary: PATCH /akismet/v1/key
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
required:
- key
security:
- applicationPassword: []
- cookieAuth: []
delete:
operationId: delete_akismet_v1_key
summary: DELETE /akismet/v1/key
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
security:
- applicationPassword: []
- cookieAuth: []
/akismet/v1/settings:
get:
operationId: get_akismet_v1_settings
summary: GET /akismet/v1/settings
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
post:
operationId: post_akismet_v1_settings
summary: POST /akismet/v1/settings
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
akismet_strictness:
type: boolean
description: If true, Akismet will automatically discard the worst spam automatically rather than putting it in the spam folder.
akismet_show_user_comments_approved:
type: boolean
description: If true, show the number of approved comments beside each comment author in the comments list page.
akismet_enable_mcp_access:
type: boolean
description: If true, allow MCP clients to access Akismet data and functionality.
security:
- applicationPassword: []
- cookieAuth: []
put:
operationId: put_akismet_v1_settings
summary: PUT /akismet/v1/settings
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
akismet_strictness:
type: boolean
description: If true, Akismet will automatically discard the worst spam automatically rather than putting it in the spam folder.
akismet_show_user_comments_approved:
type: boolean
description: If true, show the number of approved comments beside each comment author in the comments list page.
akismet_enable_mcp_access:
type: boolean
description: If true, allow MCP clients to access Akismet data and functionality.
security:
- applicationPassword: []
- cookieAuth: []
patch:
operationId: patch_akismet_v1_settings
summary: PATCH /akismet/v1/settings
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
akismet_strictness:
type: boolean
description: If true, Akismet will automatically discard the worst spam automatically rather than putting it in the spam folder.
akismet_show_user_comments_approved:
type: boolean
description: If true, show the number of approved comments beside each comment author in the comments list page.
akismet_enable_mcp_access:
type: boolean
description: If true, allow MCP clients to access Akismet data and functionality.
security:
- applicationPassword: []
- cookieAuth: []
/akismet/v1/stats:
get:
operationId: get_akismet_v1_stats
summary: GET /akismet/v1/stats
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: interval
in: query
required: false
schema:
type: string
default: all
description: 'The time period for which to retrieve stats. Options: 60-days, 6-months, all'
/akismet/v1/stats/{interval}:
get:
operationId: get_akismet_v1_stats_interval
summary: GET /akismet/v1/stats/{interval}
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: interval
in: path
required: true
schema:
type: string
/akismet/v1/alert:
get:
operationId: get_akismet_v1_alert
summary: GET /akismet/v1/alert
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: key
in: query
required: false
schema:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
post:
operationId: post_akismet_v1_alert
summary: POST /akismet/v1/alert
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
security:
- applicationPassword: []
- cookieAuth: []
put:
operationId: put_akismet_v1_alert
summary: PUT /akismet/v1/alert
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
security:
- applicationPassword: []
- cookieAuth: []
patch:
operationId: patch_akismet_v1_alert
summary: PATCH /akismet/v1/alert
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
key:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
security:
- applicationPassword: []
- cookieAuth: []
delete:
operationId: delete_akismet_v1_alert
summary: DELETE /akismet/v1/alert
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: key
in: query
required: false
schema:
type: string
description: A 12-character Akismet API key. Available at akismet.com/account
security:
- applicationPassword: []
- cookieAuth: []
/akismet/v1/webhook:
post:
operationId: post_akismet_v1_webhook
summary: POST /akismet/v1/webhook
tags:
- akismet/v1
responses:
'200':
description: Successful response
content:
application/json:
schema: {}
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: No route was found matching the URL and request method
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
security:
- applicationPassword: []
- cookieAuth: []
components:
schemas:
WPRestError:
type: object
description: The WordPress REST API error envelope, observed live on this host.
properties:
code:
type: string
examples:
- rest_forbidden
- rest_no_route
message:
type: string
data:
type: object
properties:
status:
type: integer
securitySchemes:
applicationPassword:
type: http
scheme: basic
description: WordPress Application Passwords (HTTP Basic). The site advertises the authorization endpoint at https://caam.tech/wp-admin/authorize-application.php
cookieAuth:
type: apiKey
in: cookie
name: wordpress_logged_in
description: WordPress logged-in cookie plus an X-WP-Nonce header (first-party only).