LICENSE Documentation

Official TypeScript developer resources and documentation for cachethq/LICENSE. Verified technical context for AI.

0 stars TypeScript TypeScript 1 file Β· ~64,239 tokens
RAW Doc

1. Project Overview & Quickstart (cachethq/LICENSE)

LICENSE

Open-source repository cachethq/LICENSE

Repository Details

Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.

2. Official Technical Reference & Guides (cachethq/docs)

File: README.md

Cachet documentation

Cachet is an open source status page system. Use it to keep your customers and stakeholders informed about downtime and system outages.

This repository contains the source code for the Cachet documentation, built with Mintlify.

Running locally

Mintlify hosts the documentation. To run it locally:

  1. Clone the repository:
    bash
    git clone [email protected]:cachethq/docs.git cachet-docs
  2. Install Mintlify:
    bash
    npm install -g mintlify@latest
  3. Run the documentation:
    bash
    cd cachet-docs
    mintlify dev

Contributing

Read the Mintlify guide for documentation syntax and local preview instructions.


File: credits.mdx


title: Credits icon: 'heart'

Thanks

Thank you to the projects and people who make Cachet possible:

Contributors

Thank you to everyone who contributes to Cachet:

text
</a>
</Accordion>
<Accordion title="CachetHQ/Core" icon="github" defaultOpen={true}>
    <a href="https://github.com/cachethq/core/graphs/contributors">
        
    </a>
</Accordion>

File: docs.json

{
"$schema": "
https://mintlify.com/docs.json",
"theme": "mint",
"name": "Cachet",
"colors": {
"primary": "#04C147",
"light": "#04C147",
"dark": "#04C147"
},
"favicon": "/favicon.png",
"navigation": {
"versions": [
{
"version": "v3.x",
"anchors": [
{
"anchor": "Documentation",
"icon": "book-open",
"groups": [
{
"group": "Getting Started",
"pages": [
"v3.x/introduction",
"v3.x/installation",
"v3.x/demo",
"v3.x/development",
"v3.x/migration-guide",
"v3.x/changelog"
]
},
{
"group": "Guide",
"pages": [
"v3.x/guide/incidents",
"v3.x/guide/components",
"v3.x/guide/schedules",
"v3.x/guide/metrics",
"v3.x/guide/subscribers",
"v3.x/guide/webhooks",
"v3.x/guide/mcp",
"v3.x/guide/users",
"v3.x/guide/dashboard",
"v3.x/guide/status-badges"
]
},
{
"group": "Configuration",
"pages": [
"v3.x/configuration/cachet",
"v3.x/configuration/environment",
"v3.x/configuration/customization",
"v3.x/configuration/theme",
"v3.x/configuration/theme-hooks",
"v3.x/configuration/beacon",
"v3.x/configuration/api-keys"
]
},
{
"group": "Integrations",
"pages": [
"v3.x/integrations/oh-dear"
]
},
{
"group": "Other",
"pages": [
"credits",
"trademarks"
]
}
]
},
{
"anchor": "Blog",
"href": "https://blog.cachethq.io",
"icon": "newspaper"
},
{
"anchor": "Sponsor Cachet",
"href": "https://cachethq.io/sponsor",
"icon": "heart"
},
{
"anchor": "API Reference",
"openapi": {
"source": "/api-reference/openapi.json",
"directory": "api-reference"
},
"icon": "square-terminal",
"groups": [
{
"group": "API Documentation",
"pages": [
"api-reference/introduction",
"api-reference/authentication",
"api-reference/pagination",
"api-reference/filtering",
"api-reference/rate-limiting"
]
}
]
}
]
},
{
"version": "v2.x",
"anchors": [
{
"anchor": "Documentation",
"icon": "book-open",
"groups": [
{
"group": "Get Started",
"pages": [
"v2.x/introduction",
"v2.x/component-statuses",
"v2.x/incident-statuses",
"v2.x/client-libraries",
"v2.x/faq"
]
},
{
"group": "Installation",
"pages": [
"v2.x/installation/guide",
"v2.x/installation/docker",
"v2.x/installation/windows",
"v2.x/installation/upgrading",
"v2.x/installation/beacons"
]
},
{
"group": "Configuration",
"pages": [
"v2.x/configuration/prerequisites",
"v2.x/configuration/github-oauth-token",
"v2.x/configuration/cors",
"v2.x/configuration/mail",
"v2.x/configuration/queue",
"v2.x/configuration/subscribers"
]
},
{
"group": "Other",
"pages": [
"credits",
"trademarks"
]
}
]
},
{
"anchor": "Blog",
"href": "https://blog.cachethq.io",
"icon": "newspaper"
},
{
"anchor": "API Reference",
"openapi": {
"source": "/api-reference/openapi.json",
"directory": "api-reference"
},
"icon": "square-terminal"
}
]
}
]
},
"logo": {
"light": "/logo/light.svg",
"dark": "/logo/dark.svg",
"href": "https://cachethq.io"
},
"api": {
"mdx": {
"server": "https://v3.cachethq.io/api"
}
},
"background": {
"decoration": "grid"
},
"navbar": {
"primary": {
"type": "button",
"label": "Demo",
"href": "https://v3.cachethq.io"
}
},
"footer": {
"socials": {
"x": "https://x.com/cachethq",
"github": "https://github.com/cachethq",
"linkedin": "https://linkedin.com/company/cachethq"
}
},
"integrations": {
"fathom": {
"siteId": "FDSKQOXU"
}
},
"fonts": {
"heading": {
"family": "Lexend"
}
},
"redirects": [
{
"source": "/v3.x/change-log",
"destination": "/v3.x/changelog"
},
{
"source": "/v3.x/credits",
"destination": "/credits"
},
{
"source": "/v3.x/trademarks",
"destination": "/trademarks"
}
],
"contextual": {
"options": [
"copy",
"chatgpt",
"claude",
"cursor",
"vscode"
]
}
}


File: trademarks.mdx


title: 'Trademarks' icon: 'trademark'

This policy explains how to use the Cachet trademarks, service marks, and logos.

While the copyright to our open source software is licensed under the Cachet license, our trademarks appearing in or on the open source software are the exclusive property of Cachet Inc. This means that our open source license does not include a license to use our trademarks.

Because we make some of our code available to download and modify, proper use of our trademarks is essential to inform people whether or not Cachet stands behind a product or service. When using Cachet trademarks, you must comply with these Cachet Trademark Guidelines.

This policy explains how to use our trademarks in a way that is consistent with background law and community expectations. This policy covers:

  1. Our word trademarks and service marks: Cachet
  2. Our logos: the Cachet logos

This policy encompasses all trademarks and service marks, whether they are registered or not.

General guidelines

Whenever you use one of our marks, you must always do so in a way that does not mislead anyone about what they are getting and from whom.

Do not use the Cachet marks in any way that could mistakenly imply that Cachet has reviewed, approved or guaranteed your goods or services. You also cannot use our logo on your website in a way that suggests that your website is an official website or that we endorse your website. You can, though, say you like the Cachet software, that you use Cachet, that your status page is powered by Cachet or that you participate in the Cachet community.

Do not use the "Cachet" prefix in a way that could mistakenly imply that your product is related to Cachet. For example, an analytics product that uses Cachet should not use the name "cachetanalytics."

You may not use or register our marks or variations of them as part of your trademark, business, product, service, app, domain name, social media account or business indicator. You may not use our marks as a part of an advertising campaign. You may not display Cachet trademarks more prominently than your product, service or company name. You may not use Cachet trademarks on merchandise for sale (e.g., selling t-shirts, mugs, etc).

Trademark law does not allow your use of names or trademarks that are too similar to ours. You therefore may not use an obvious variation of any of our marks or any phonetic equivalent, foreign language equivalent, takeoff, or abbreviation for a similar or compatible product or service.

Acceptable uses

You can use the Cachet name to truthfully and accurately refer to or identify Cachet and its products and services in the following instances:

  • To refer to Cachet and its products and services in news articles and other content without alteration
  • To discuss Cachet and its products in a fair and honest manner that does not suggest sponsorship or endorsement by or affiliation with Cachet
  • To refer to or link to the products and services hosted on Cachet’s servers and website
  • To indicate if your product, service or solution integrates, or is interoperable or compatible, with Cachet, for example, β€œwe offer a simple integration with Cachet,” provided that doing so does not create a likelihood of confusion as to the origin of such product, service, or solution
  • To use our word marks as part of a public subdomain solely to serve as the URL for your self-managed Cachet instance, for example, cachet.companyname.com

Prohibited uses

Unless you have express written permission from Cachet, or your use is permitted by the uses listed in Acceptable uses, the use of Cachet trademarks is strictly prohibited. Here is a short, non-exhaustive list of the kinds of uses that are not permitted without Cachet’s express written permission but that Cachet may consider granting you the right to do should you request permission:

  • Use of Cachet trademarks in connection with the provision of a public website that makes Cachet software available for installation and use on a server (rather than directing users to the official Cachet site)
  • Use of Cachet trademarks in connection with versions of Cachet products made publicly available or made available in the cloud on a managed service provider, resale or other commercial basis
  • Use of Cachet trademarks in connection with Cachet product bundled with other software

In the cases listed in Prohibited uses:

  • You must follow the terms of the open source license for Cachet software products and code
  • You must remove all of our logos from it and choose your branding, logos and trademarks that denote your unique identity to clearly signal to users that there is no affiliation with or endorsement by Cachet
  • You must not use any Cachet trademark in connection with the user-facing name, branding or marketing materials of your project
  • You may use word marks, but not our logos, in truthful statements that describe the relationship between your software and ours, for example, β€œthis software is derived from the source code of the Cachet software,” as long as you also include a statement that your project is not officially associated with Cachet or its products

Cachet reserves the right in its sole discretion to (i) terminate, revoke, modify, or otherwise change permission to use the trademarks at any time and; (ii) object to any use or misuse of the trademarks in any jurisdiction worldwide. All changes to these guidelines are effective immediately when posted and your continued use of the trademarks following the posting of revised guidelines signifies your acceptance of such revision.

To request the use of the trademarks

Anyone wishing to use any of Cachet’s trademarks in a manner other than the uses listed in Acceptable uses, including but not limited to marketing, promotion or advertising, or on software derivative of Cachet software, must obtain Cachet’s express, written permission in advance.

To request the use of the trademarks in a manner or for a purpose not expressly permitted in these guidelines, including use for any purpose of the logos, email [email protected]. You can also ask whether your use qualifies.

To report misuse

To report misuse of a Cachet trademark, email [email protected].

Last updated: July 7 2026

These guidelines are based on the Model Trademark Guidelines, available at http://www.modeltrademarkguidelines.org., used under a Creative Commons Attribution 3.0 Unported license: https://creativecommons.org/licenses/by/3.0/deed.en_US


File: api-reference/authentication.mdx


title: 'Authentication'

Most GET requests are public by default. If Require Authentication is enabled in
API settings, read requests also require an API key.
Subscriber endpoints always require authentication and the subscribers.manage ability for read requests.

Write requests require an API key with the matching resource ability.

API token

An API key is a bearer token sent in the Authorization header.
This example creates a component with an authenticated request:

shell
curl https://v3.cachethq.io/api/components \
	-H "Content-Type: application/json;" \
	-H "Authorization: Bearer YOUR_KEY_HERE" \
	-d '{
		"name": "API",
		"description": "An example description",
		"status": 1
	}'

File: api-reference/filtering.mdx


title: 'Filtering and sorting'

Filtering

The filter parameter limits results to matching resources. This request filters incidents by status:

http
GET /api/incidents?filter[status]=1
Supported filter fields vary by endpoint. Each endpoint reference lists its supported fields.

The include parameter embeds related resources in the response. Its value is a comma-separated list of relationships:

http
GET /api/incidents?include=components,updates
Supported relationships vary by endpoint. Each endpoint reference lists its supported relationships.

Filtering by metadata

For resources with metadata, filter[meta][key] filters by a metadata value:

http
GET /api/incidents?filter[meta][region]=us-east-1

Sorting

The sort parameter accepts a comma-separated list of field names. Fields sort in ascending order by default:

http
GET /api/incidents?sort=id

A hyphen before a field name selects descending order:

http
GET /api/incidents?sort=-id
Supported sort fields vary by endpoint. Each endpoint reference lists its supported fields.

File: api-reference/introduction.mdx


title: 'Introduction'

This reference covers the Cachet v3 API. For v2, see the [Cachet v2 API documentation](https://github.com/cachethq/docs/tree/2.x).

JSON API

The Cachet API reads and updates status page resources through HTTP requests. Responses use JSON.

Deleting resources

Resource deletion endpoints accept a resource ID:

http
DELETE /api/components/123

Component groups, components, incidents, incident templates, metrics, and schedules also support atomic bulk deletion
with a comma-separated ids query parameter:

http
DELETE /api/components?ids=123,456

All requested IDs must be valid and exist before Cachet deletes anything. An unqualified collection DELETE is rejected,
and ids=all is not supported. See the relevant endpoint reference for the required API-token ability.

Example response

The incident list endpoint returns resources, pagination links, and metadata:

json
{
  "data": [
    {
      "id": "2",
      "type": "incidents",
      "attributes": {
        "id": 2,
        "guid": "3aad01a9-be10-422b-a90b-413c850cf89b",
        "name": "Documentation Performance Degradation",
        "message": "We're investigating an issue with our documentation causing the site to be slow.",
        "component_id": null,
        "visible": 1,
        "stickied": false,
        "notifications": 0,
        "status": {
          "human": "Investigating",
          "value": 1
        },
        "occurred": {
          "human": "34 minutes ago",
          "string": "2024-10-27 08:31:59"
        },
        "created": {
          "human": "34 minutes ago",
          "string": "2024-10-27 08:31:59"
        },
        "updated": {
          "human": "34 minutes ago",
          "string": "2024-10-27 08:31:59"
        }
      }
    },
    {
      "id": "1",
      "type": "incidents",
      "attributes": {
        "id": 1,
        "guid": "105d8c6d-9d21-4afd-a8d9-8c49f1fd1fbc",
        "name": "DNS Provider Outage",
        "message": "We're investigating an issue with our DNS provider causing the site to be offline.",
        "component_id": null,
        "visible": 1,
        "stickied": false,
        "notifications": 0,
        "status": {
          "human": "Fixed",
          "value": 4
        },
        "occurred": {
          "human": "1 day ago",
          "string": "2024-10-26 09:01:59"
        },
        "created": {
          "human": "1 day ago",
          "string": "2024-10-26 09:01:59"
        },
        "updated": {
          "human": "1 day ago",
          "string": "2024-10-26 09:01:59"
        }
      }
    }
  ],
  "links": {
    "first": "https://v3.cachethq.io/api/incidents?page=1"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "path": "https://v3.cachethq.io/api/incidents",
    "per_page": 15,
    "to": 2
  }
}