CacheBoost Boosts API
The Boosts API from CacheBoost — 3 operation(s) for boosts.
The Boosts API from CacheBoost — 3 operation(s) for boosts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/cache-boost-com:cache-boost-com-boosts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: CacheBoost Boosts API
version: '1'
description: 'The CacheBoost API lets you manage sites, sitemaps, boosts, and runs
programmatically. All endpoints are under `/v1`.'
servers:
- url: https://api.cache-boost.com/v1
description: Production
security:
- bearerAuth: []
tags:
- name: Boosts
paths:
/boosts:
get:
operationId: listBoosts
summary: List boosts
description: Returns all boosts belonging to the authenticated user.
tags:
- Boosts
security:
- bearerAuth:
- boosts:read
responses:
'200':
description: List of boosts
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Boost'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createBoost
summary: Create a boost
description: Create a new cache warming campaign.
tags:
- Boosts
security:
- bearerAuth:
- boosts:write
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- site_id
- source_type
- region
properties:
name:
type: string
example: Daily warm
site_id:
type: integer
example: 42
source_type:
type: string
enum:
- sitemap
- csv
example: sitemap
region:
type: array
items:
type: string
enum:
- fr
- de
- gb
- es
- it
- ch
- us
- ca
- br
- sg
- in
- au
- uk
example:
- fr
description: Target regions for warming. `GET /v1/me` lists the available ones; `uk` is accepted as `gb`.
sitemap_ids:
type: array
items:
type: integer
description: Required when `source_type` is `sitemap`.
source_url:
type: string
description: CSV file URL. Required when `source_type` is `csv`.
url_root:
type: string
default: /
description: Only warm URLs that start with this path.
exclude_ext:
type: array
items:
type: string
example:
- jpg
- png
- css
- js
description: File extensions to skip.
variations:
type: object
description: Warming variations. Each combination counts as one call per URL.
properties:
user_agents:
type: array
items:
type: string
enum:
- mobile
- desktop
- bot
- ai_crawler
languages:
type: array
items:
type: string
example:
- fr-FR
- en-US
schedule:
type: string
example: 0 1 * * *
description: Cron expression (UTC) for automatic scheduling.
call_limit:
type: integer
description: Maximum number of calls for this boost.
ignore_errors:
type: boolean
default: false
description: If true, the boost will not auto-pause on high error rates.
report_email_enabled:
type: boolean
default: true
description: If true, an email report is sent when a run completes.
responses:
'201':
description: Boost created
content:
application/json:
schema:
$ref: '#/components/schemas/Boost'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
/boosts/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: Boost ID
get:
operationId: getBoost
summary: Get a boost
description: Retrieve a single boost by ID.
tags:
- Boosts
security:
- bearerAuth:
- boosts:read
responses:
'200':
description: Boost
content:
application/json:
schema:
$ref: '#/components/schemas/Boost'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateBoost
summary: Update a boost
description: 'Update a boost''s configuration. All fields are optional — only include what
you want to change. Returns `409` if the boost is currently running.'
tags:
- Boosts
security:
- bearerAuth:
- boosts:write
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
region:
type: array
items:
type: string
url_root:
type: string
exclude_ext:
type: array
items:
type: string
variations:
type: object
sitemap_ids:
type: array
items:
type: integer
content_types:
type: array
items:
type: string
schedule:
type: string
nullable: true
call_limit:
type: integer
nullable: true
ignore_errors:
type: boolean
report_email_enabled:
type: boolean
responses:
'200':
description: Boost updated
content:
application/json:
schema:
$ref: '#/components/schemas/Boost'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Cannot update a running boost
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
$ref: '#/components/responses/UnprocessableEntity'
delete:
operationId: deleteBoost
summary: Delete a boost
description: Permanently delete a boost and all its run history.
tags:
- Boosts
security:
- bearerAuth:
- boosts:write
responses:
'204':
description: Boost deleted
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/boosts/{id}/run:
parameters:
- name: id
in: path
required: true
schema:
type: integer
description: Boost ID
post:
operationId: runBoost
summary: Trigger a run
description: 'Manually trigger a boost run immediately. The response is `202 Accepted` —
the run is queued and processed asynchronously. Poll `GET /runs/{run_id}` to
track progress. Returns `409` if a run is already in progress.'
tags:
- Boosts
security:
- bearerAuth:
- boosts:write
responses:
'202':
description: Run queued
content:
application/json:
schema:
type: object
properties:
run_id:
type: integer
example: 88
status:
type: string
example: pending
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Boost is already running
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
Boost:
type: object
properties:
id:
type: integer
example: 15
site_id:
type: integer
example: 42
name:
type: string
example: Daily warm
status:
type: string
enum:
- pending
- running
- paused
- done
- failed
example: pending
source_type:
type: string
enum:
- sitemap
- csv
- inline
example: sitemap
region:
type: array
items:
type: string
example:
- fr
url_root:
type: string
example: /
exclude_ext:
type: array
items:
type: string
nullable: true
variations:
type: object
nullable: true
sitemap_ids:
type: array
items:
type: integer
nullable: true
content_types:
type: array
items:
type: string
nullable: true
ignore_errors:
type: boolean
example: false
report_email_enabled:
type: boolean
example: true
schedule:
type: string
example: 0 1 * * *
nullable: true
next_run_at:
type: string
format: date-time
nullable: true
call_limit:
type: integer
nullable: true
created_at:
type: string
format: date-time
Error:
type: object
properties:
error:
type: string
example: Description of the error.
responses:
UnprocessableEntity:
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found or not accessible with this key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Valid key but missing required scope
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key in the format `cb_live_<32hex>`