mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
update package.json to remove ensure-openapi
This commit is contained in:
parent
d6c067972d
commit
82231f26c6
4
docs-mintlify/.gitignore
vendored
4
docs-mintlify/.gitignore
vendored
@ -1,3 +1,3 @@
|
||||
# Generated from apps/backend OpenAPI codegen (see README)
|
||||
/openapi/
|
||||
# Mintlify has no deploy-time codegen; OpenAPI JSON under openapi/ is committed
|
||||
# so hosted Mintlify can read it. Regenerate with backend codegen-docs before push.
|
||||
*.zip
|
||||
|
||||
@ -7,13 +7,16 @@ How to run the Mintlify docs preview locally from this repository.
|
||||
- Node.js `>=20.17.0`
|
||||
- `pnpm`
|
||||
- Repository dependencies installed (`pnpm install` from repo root)
|
||||
- OpenAPI specs in `openapi/` (generated). From the repo root run:
|
||||
- OpenAPI specs in `openapi/` are **committed to git**. Hosted Mintlify cannot run monorepo codegen on deploy, so these files must be present in the repo for production docs.
|
||||
|
||||
When you change API route OpenAPI metadata, regenerate and **commit** the four specs from the repo root:
|
||||
|
||||
```bash
|
||||
pnpm run --filter @stackframe/backend codegen-docs
|
||||
git add docs-mintlify/openapi/
|
||||
```
|
||||
|
||||
That writes `client.json`, `server.json`, `admin.json`, and `webhooks.json` into `docs-mintlify/openapi/` (and into `docs/openapi/` for the legacy docs app). The `openapi/` directory is gitignored here; CI and local `mint validate` expect these files to exist after codegen.
|
||||
That writes `client.json`, `server.json`, `admin.json`, and `webhooks.json` into `docs-mintlify/openapi/` (and into `docs/openapi/` for the legacy Fumadocs app). CI fails if `pnpm codegen` produces different output than what is committed (see root lint-and-build workflow).
|
||||
|
||||
## Run locally
|
||||
|
||||
|
||||
@ -198,7 +198,7 @@
|
||||
"openapi": {
|
||||
"source": "openapi/admin.json",
|
||||
"directory": "api/admin",
|
||||
"hidden": true
|
||||
"hidden": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
9451
docs-mintlify/openapi/admin.json
Normal file
9451
docs-mintlify/openapi/admin.json
Normal file
File diff suppressed because it is too large
Load Diff
5723
docs-mintlify/openapi/client.json
Normal file
5723
docs-mintlify/openapi/client.json
Normal file
File diff suppressed because it is too large
Load Diff
8656
docs-mintlify/openapi/server.json
Normal file
8656
docs-mintlify/openapi/server.json
Normal file
File diff suppressed because it is too large
Load Diff
958
docs-mintlify/openapi/webhooks.json
Normal file
958
docs-mintlify/openapi/webhooks.json
Normal file
@ -0,0 +1,958 @@
|
||||
{
|
||||
"openapi": "3.1.0",
|
||||
"info": {
|
||||
"title": "Stack Webhooks API",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"webhooks": {
|
||||
"user.created": {
|
||||
"post": {
|
||||
"summary": "user.created",
|
||||
"description": "This event is triggered when a user is created.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "user.created",
|
||||
"description": "user.created"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "3241a285-8329-4d69-8f3d-316e08cf140c",
|
||||
"description": "The unique identifier of the user"
|
||||
},
|
||||
"primary_email": {
|
||||
"type": "string",
|
||||
"example": "johndoe@example.com",
|
||||
"description": "Primary email"
|
||||
},
|
||||
"primary_email_verified": {
|
||||
"type": "boolean",
|
||||
"example": true,
|
||||
"description": "Whether the primary email has been verified to belong to this user"
|
||||
},
|
||||
"primary_email_auth_enabled": {
|
||||
"type": "boolean",
|
||||
"example": true,
|
||||
"description": "Whether the primary email is used for authentication. If this is set to `false`, the user will not be able to sign in with the primary email with password or OTP"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string",
|
||||
"example": "John Doe",
|
||||
"description": "Human-readable user display name. This is not a unique identifier."
|
||||
},
|
||||
"selected_team": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the team was created (the number of milliseconds since epoch, January 1, 1970, UTC)"
|
||||
},
|
||||
"server_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Server metadata. Used as a data store, only accessible from the server side. You can store secret information related to the team here."
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "ad962777-8244-496a-b6a2-e0c6a449c79e",
|
||||
"description": "The unique identifier of the team"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string",
|
||||
"example": "My Team",
|
||||
"description": "Human-readable team display name. This is not a unique identifier."
|
||||
},
|
||||
"profile_image_url": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/image.jpg",
|
||||
"description": "URL of the profile image for team. Can be a Base64 encoded image. Must be smaller than 100KB. Please compress and crop to a square before passing in."
|
||||
},
|
||||
"client_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client."
|
||||
},
|
||||
"client_read_only_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client read-only, server-writable metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client. The client can read this data, but cannot modify it. This is useful for things like subscription status."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"created_at_millis",
|
||||
"id",
|
||||
"display_name"
|
||||
]
|
||||
},
|
||||
"selected_team_id": {
|
||||
"type": "string",
|
||||
"example": "team-id",
|
||||
"description": "ID of the team currently selected by the user"
|
||||
},
|
||||
"profile_image_url": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/image.jpg",
|
||||
"description": "URL of the profile image for user. Can be a Base64 encoded image. Must be smaller than 100KB. Please compress and crop to a square before passing in."
|
||||
},
|
||||
"signed_up_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the user signed up (identify) => `(the number of milliseconds since epoch, January 1, 1970, UTC)`"
|
||||
},
|
||||
"client_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client."
|
||||
},
|
||||
"client_read_only_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client read-only, server-writable metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client. The client can read this data, but cannot modify it. This is useful for things like subscription status."
|
||||
},
|
||||
"server_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Server metadata. Used as a data store, only accessible from the server side. You can store secret information related to the user here."
|
||||
},
|
||||
"last_active_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the user was last active (identify) => `(the number of milliseconds since epoch, January 1, 1970, UTC)`"
|
||||
},
|
||||
"is_anonymous": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"primary_email_verified",
|
||||
"primary_email_auth_enabled",
|
||||
"signed_up_at_millis",
|
||||
"last_active_at_millis",
|
||||
"is_anonymous"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "user.created"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Users"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/user.created",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "user.created"
|
||||
}
|
||||
},
|
||||
"user.updated": {
|
||||
"post": {
|
||||
"summary": "user.updated",
|
||||
"description": "This event is triggered when a user is updated.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "user.updated",
|
||||
"description": "user.updated"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "3241a285-8329-4d69-8f3d-316e08cf140c",
|
||||
"description": "The unique identifier of the user"
|
||||
},
|
||||
"primary_email": {
|
||||
"type": "string",
|
||||
"example": "johndoe@example.com",
|
||||
"description": "Primary email"
|
||||
},
|
||||
"primary_email_verified": {
|
||||
"type": "boolean",
|
||||
"example": true,
|
||||
"description": "Whether the primary email has been verified to belong to this user"
|
||||
},
|
||||
"primary_email_auth_enabled": {
|
||||
"type": "boolean",
|
||||
"example": true,
|
||||
"description": "Whether the primary email is used for authentication. If this is set to `false`, the user will not be able to sign in with the primary email with password or OTP"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string",
|
||||
"example": "John Doe",
|
||||
"description": "Human-readable user display name. This is not a unique identifier."
|
||||
},
|
||||
"selected_team": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the team was created (the number of milliseconds since epoch, January 1, 1970, UTC)"
|
||||
},
|
||||
"server_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Server metadata. Used as a data store, only accessible from the server side. You can store secret information related to the team here."
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "ad962777-8244-496a-b6a2-e0c6a449c79e",
|
||||
"description": "The unique identifier of the team"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string",
|
||||
"example": "My Team",
|
||||
"description": "Human-readable team display name. This is not a unique identifier."
|
||||
},
|
||||
"profile_image_url": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/image.jpg",
|
||||
"description": "URL of the profile image for team. Can be a Base64 encoded image. Must be smaller than 100KB. Please compress and crop to a square before passing in."
|
||||
},
|
||||
"client_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client."
|
||||
},
|
||||
"client_read_only_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client read-only, server-writable metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client. The client can read this data, but cannot modify it. This is useful for things like subscription status."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"created_at_millis",
|
||||
"id",
|
||||
"display_name"
|
||||
]
|
||||
},
|
||||
"selected_team_id": {
|
||||
"type": "string",
|
||||
"example": "team-id",
|
||||
"description": "ID of the team currently selected by the user"
|
||||
},
|
||||
"profile_image_url": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/image.jpg",
|
||||
"description": "URL of the profile image for user. Can be a Base64 encoded image. Must be smaller than 100KB. Please compress and crop to a square before passing in."
|
||||
},
|
||||
"signed_up_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the user signed up (identify) => `(the number of milliseconds since epoch, January 1, 1970, UTC)`"
|
||||
},
|
||||
"client_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client."
|
||||
},
|
||||
"client_read_only_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client read-only, server-writable metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client. The client can read this data, but cannot modify it. This is useful for things like subscription status."
|
||||
},
|
||||
"server_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Server metadata. Used as a data store, only accessible from the server side. You can store secret information related to the user here."
|
||||
},
|
||||
"last_active_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the user was last active (identify) => `(the number of milliseconds since epoch, January 1, 1970, UTC)`"
|
||||
},
|
||||
"is_anonymous": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"primary_email_verified",
|
||||
"primary_email_auth_enabled",
|
||||
"signed_up_at_millis",
|
||||
"last_active_at_millis",
|
||||
"is_anonymous"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "user.updated"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Users"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/user.updated",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "user.updated"
|
||||
}
|
||||
},
|
||||
"user.deleted": {
|
||||
"post": {
|
||||
"summary": "user.deleted",
|
||||
"description": "This event is triggered when a user is deleted.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "user.deleted",
|
||||
"description": "user.deleted"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "3241a285-8329-4d69-8f3d-316e08cf140c",
|
||||
"description": "The unique identifier of the user"
|
||||
},
|
||||
"teams": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"teams"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "user.deleted"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Users"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/user.deleted",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "user.deleted"
|
||||
}
|
||||
},
|
||||
"team.created": {
|
||||
"post": {
|
||||
"summary": "team.created",
|
||||
"description": "This event is triggered when a team is created.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "team.created",
|
||||
"description": "team.created"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the team was created (the number of milliseconds since epoch, January 1, 1970, UTC)"
|
||||
},
|
||||
"server_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Server metadata. Used as a data store, only accessible from the server side. You can store secret information related to the team here."
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "ad962777-8244-496a-b6a2-e0c6a449c79e",
|
||||
"description": "The unique identifier of the team"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string",
|
||||
"example": "My Team",
|
||||
"description": "Human-readable team display name. This is not a unique identifier."
|
||||
},
|
||||
"profile_image_url": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/image.jpg",
|
||||
"description": "URL of the profile image for team. Can be a Base64 encoded image. Must be smaller than 100KB. Please compress and crop to a square before passing in."
|
||||
},
|
||||
"client_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client."
|
||||
},
|
||||
"client_read_only_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client read-only, server-writable metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client. The client can read this data, but cannot modify it. This is useful for things like subscription status."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"created_at_millis",
|
||||
"id",
|
||||
"display_name"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "team.created"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Teams"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/team.created",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "team.created"
|
||||
}
|
||||
},
|
||||
"team.updated": {
|
||||
"post": {
|
||||
"summary": "team.updated",
|
||||
"description": "This event is triggered when a team is updated.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "team.updated",
|
||||
"description": "team.updated"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"created_at_millis": {
|
||||
"type": "number",
|
||||
"example": 1630000000000,
|
||||
"description": "The time the team was created (the number of milliseconds since epoch, January 1, 1970, UTC)"
|
||||
},
|
||||
"server_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Server metadata. Used as a data store, only accessible from the server side. You can store secret information related to the team here."
|
||||
},
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "ad962777-8244-496a-b6a2-e0c6a449c79e",
|
||||
"description": "The unique identifier of the team"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string",
|
||||
"example": "My Team",
|
||||
"description": "Human-readable team display name. This is not a unique identifier."
|
||||
},
|
||||
"profile_image_url": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/image.jpg",
|
||||
"description": "URL of the profile image for team. Can be a Base64 encoded image. Must be smaller than 100KB. Please compress and crop to a square before passing in."
|
||||
},
|
||||
"client_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client."
|
||||
},
|
||||
"client_read_only_metadata": {
|
||||
"type": "object",
|
||||
"example": {
|
||||
"key": "value"
|
||||
},
|
||||
"description": "Client read-only, server-writable metadata. Used as a data store, accessible from the client side. Do not store information that should not be exposed to the client. The client can read this data, but cannot modify it. This is useful for things like subscription status."
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"created_at_millis",
|
||||
"id",
|
||||
"display_name"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "team.updated"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Teams"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/team.updated",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "team.updated"
|
||||
}
|
||||
},
|
||||
"team.deleted": {
|
||||
"post": {
|
||||
"summary": "team.deleted",
|
||||
"description": "This event is triggered when a team is deleted.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "team.deleted",
|
||||
"description": "team.deleted"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "3241a285-8329-4d69-8f3d-316e08cf140c",
|
||||
"description": "The unique identifier of the user"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "team.deleted"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Teams"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/team.deleted",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "team.deleted"
|
||||
}
|
||||
},
|
||||
"team_membership.created": {
|
||||
"post": {
|
||||
"summary": "team_membership.created",
|
||||
"description": "This event is triggered when a user is added to a team.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "team_membership.created",
|
||||
"description": "team_membership.created"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"team_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"user_id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"team_id",
|
||||
"user_id"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "team_membership.created"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Teams"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/team_membership.created",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "team_membership.created"
|
||||
}
|
||||
},
|
||||
"team_membership.deleted": {
|
||||
"post": {
|
||||
"summary": "team_membership.deleted",
|
||||
"description": "This event is triggered when a user is removed from a team.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "team_membership.deleted",
|
||||
"description": "team_membership.deleted"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"team_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"user_id": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"team_id",
|
||||
"user_id"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "team_membership.deleted"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Teams"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/team_membership.deleted",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "team_membership.deleted"
|
||||
}
|
||||
},
|
||||
"team_permission.created": {
|
||||
"post": {
|
||||
"summary": "team_permission.created",
|
||||
"description": "This event is triggered when a team permission is created.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "team_permission.created",
|
||||
"description": "team_permission.created"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "read_secret_info",
|
||||
"description": "The permission ID used to uniquely identify a permission. Can either be a custom permission with lowercase letters, numbers, `:`, and `_` characters, or one of the system permissions: `$update_team`, `$delete_team`, `$read_members`, `$remove_members`, `$invite_members`, `$manage_api_keys`"
|
||||
},
|
||||
"user_id": {
|
||||
"type": "string",
|
||||
"example": "3241a285-8329-4d69-8f3d-316e08cf140c",
|
||||
"description": "The unique identifier of the user"
|
||||
},
|
||||
"team_id": {
|
||||
"type": "string",
|
||||
"example": "ad962777-8244-496a-b6a2-e0c6a449c79e",
|
||||
"description": "The unique identifier of the team"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"user_id",
|
||||
"team_id"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "team_permission.created"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Teams"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/team_permission.created",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "team_permission.created"
|
||||
}
|
||||
},
|
||||
"team_permission.deleted": {
|
||||
"post": {
|
||||
"summary": "team_permission.deleted",
|
||||
"description": "This event is triggered when a team permission is deleted.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"example": "team_permission.deleted",
|
||||
"description": "team_permission.deleted"
|
||||
},
|
||||
"data": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"example": "read_secret_info",
|
||||
"description": "The permission ID used to uniquely identify a permission. Can either be a custom permission with lowercase letters, numbers, `:`, and `_` characters, or one of the system permissions: `$update_team`, `$delete_team`, `$read_members`, `$remove_members`, `$invite_members`, `$manage_api_keys`"
|
||||
},
|
||||
"user_id": {
|
||||
"type": "string",
|
||||
"example": "3241a285-8329-4d69-8f3d-316e08cf140c",
|
||||
"description": "The unique identifier of the user"
|
||||
},
|
||||
"team_id": {
|
||||
"type": "string",
|
||||
"example": "ad962777-8244-496a-b6a2-e0c6a449c79e",
|
||||
"description": "The unique identifier of the team"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"id",
|
||||
"user_id",
|
||||
"team_id"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"data"
|
||||
],
|
||||
"example": {
|
||||
"type": "team_permission.deleted"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"Teams"
|
||||
],
|
||||
"x-full-url": "https://api.stack-auth.com/api/v1/webhooks/team_permission.deleted",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful response",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"operationId": "team_permission.deleted"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,8 +4,8 @@
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "mint dev --port ${NEXT_PUBLIC_STACK_PORT_PREFIX:-81}04 --no-open",
|
||||
"typecheck": "node scripts/ensure-openapi.mjs && mint validate",
|
||||
"lint": "node scripts/ensure-openapi.mjs && mint validate",
|
||||
"typecheck": "mint validate",
|
||||
"lint": "mint validate",
|
||||
"clean": "node -e \"require('node:fs').rmSync('.mintlify', { recursive: true, force: true })\"",
|
||||
"login": "mint login",
|
||||
"status": "mint status"
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const openApiDir = path.join(__dirname, "..", "openapi");
|
||||
const required = ["client.json", "server.json", "admin.json", "webhooks.json"];
|
||||
const missing = required.filter((f) => !fs.existsSync(path.join(openApiDir, f)));
|
||||
|
||||
if (missing.length > 0) {
|
||||
console.error(
|
||||
"docs-mintlify: missing OpenAPI files in openapi/:",
|
||||
missing.join(", "),
|
||||
);
|
||||
console.error(
|
||||
"Run from repo root: pnpm run --filter @stackframe/backend codegen-docs",
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
@ -76,7 +76,7 @@
|
||||
"generate-keys": "pnpm pre && turbo run generate-keys",
|
||||
"generate-sdks": "pnpm exec tsx ./scripts/generate-sdks.ts",
|
||||
"generate-sdks:watch": "chokidar --silent -c 'pnpm run generate-sdks' './packages/template' --ignore './packages/template/package.json' --ignore '**/node_modules/**' --ignore '**/dist/**' --ignore '**/.turbo/**' --throttle 2000",
|
||||
"generate-openapi-docs:watch": "chokidar --silent -c 'pnpm run --filter=@stackframe/stack-docs generate-openapi-docs' './docs/public/openapi/{admin,client,server,webhooks}.json' --throttle 2000"
|
||||
"generate-openapi-docs:watch": "chokidar --silent -c 'pnpm run --filter=@stackframe/stack-docs generate-openapi-docs' './docs/openapi/{admin,client,server,webhooks}.json' --throttle 2000"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@changesets/cli": "^2.27.9",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user