NaughtBot API
Published external API contracts and generated clients for NaughtBot core
services.
This repository is generated from NaughtBot/core release tags matching
api/vX.Y.Z. Versioned snapshots are available through this repository's git
tags as vX.Y.Z.
OpenAPI specs
openapi/auth.yaml
openapi/mailbox.yaml
openapi/blob.yaml
openapi/push.yaml
Only public external API contracts are published here. Internal
service-to-service specs, shared private schemas, service code, and
infrastructure files remain in NaughtBot/core.
Swift
Add the package to SwiftPM:
.package(url: "https://github.com/NaughtBot/api", exact: "0.8.0")
Products:
NaughtBotAuthClient
NaughtBotMailboxClient
NaughtBotBlobClient
NaughtBotPushClient
NaughtBotProtocolTypes
The Swift products use Apple's Swift OpenAPI Generator build plugin; generated
Swift sources are produced during swift build.
Go
go get github.com/naughtbot/api@v0.8.0
Import paths:
github.com/naughtbot/api/auth
github.com/naughtbot/api/mailbox
github.com/naughtbot/api/blob
github.com/naughtbot/api/push
TypeScript
npm install @naughtbot/auth-client @naughtbot/mailbox-client
Packages:
@naughtbot/auth-client
@naughtbot/mailbox-client
@naughtbot/blob-client
@naughtbot/push-client
Each package exposes generated OpenAPI types and a typed openapi-fetch
client factory.
npm trusted publishing
The first version of each npm package must be published manually from a local
checkout. After that, configure trusted publishing on npmjs.com for owner
NaughtBot, repository api, and workflow .github/workflows/publish-npm.yml,
then set the GitHub repository variable NPM_TRUSTED_PUBLISHING_ENABLED=true.
License
The OpenAPI specifications and generated clients in this repository are
licensed under the Apache License, Version 2.0. See LICENSE.