# LithoBlocks ## Docs - [Validate authentication token](https://docs.lithoblocks.com/api-reference/authentication/validate-authentication-token.md): Validate the current bearer token and return authentication information including user details, organization, and available scopes - [Get credit balance](https://docs.lithoblocks.com/api-reference/credits/get-credit-balance.md): Get the credit balance for your organization - [Get credit logs](https://docs.lithoblocks.com/api-reference/credits/get-credit-logs.md): Get credit logs / usage data for your organization - [Delete entity](https://docs.lithoblocks.com/api-reference/entities/delete-entity.md): Delete an entity and all its fields (Member+ role required) - [Delete entity field](https://docs.lithoblocks.com/api-reference/entities/delete-entity-field.md): Delete an entity field (Member+ role required) - [Get entity with fields](https://docs.lithoblocks.com/api-reference/entities/get-entity-with-fields.md): Get a specific entity with all its fields - [List organization entities](https://docs.lithoblocks.com/api-reference/entities/list-organization-entities.md): Get all entities for an organization - [Update entity field](https://docs.lithoblocks.com/api-reference/entities/update-entity-field.md): Update an entity field (Member+ role required). snake_case body; legacy camelCase accepted. - [Update entity metadata](https://docs.lithoblocks.com/api-reference/entities/update-entity-metadata.md): Update entity name and/or description (Member+ role required) - [API introduction](https://docs.lithoblocks.com/api-reference/introduction.md): LithoBlocks API — manage templates, entities, and organizations with scope-based authorization. - [Get organization details](https://docs.lithoblocks.com/api-reference/organizations/get-organization-details.md): Get details of a specific organization - [Invite user to organization](https://docs.lithoblocks.com/api-reference/organizations/invite-user-to-organization.md): Send an invitation to a user to join the organization (Admin+ role required) - [List organization members](https://docs.lithoblocks.com/api-reference/organizations/list-organization-members.md): Get all members of an organization with their roles (Admin+ role required) - [Update organization name](https://docs.lithoblocks.com/api-reference/organizations/update-organization-name.md): Update organization name only (Admin+ role required) - [Search entities](https://docs.lithoblocks.com/api-reference/search/search-entities.md): Search entities by name, description, or field names. snake_case query params; legacy camelCase accepted. - [Search templates](https://docs.lithoblocks.com/api-reference/search/search-templates.md): Search templates by name, description, or content. Query params use snake_case; legacy camelCase (`publicOnly`, `organizationId`) is accepted during deprecation. - [Activate template version](https://docs.lithoblocks.com/api-reference/template-versions/activate-template-version.md): Set a specific version as the current version of the template - [Create new template version](https://docs.lithoblocks.com/api-reference/template-versions/create-new-template-version.md): Create a new version of a template. snake_case body keys; legacy camelCase accepted. - [Get specific template version](https://docs.lithoblocks.com/api-reference/template-versions/get-specific-template-version.md): Get a specific version of a template - [List template versions](https://docs.lithoblocks.com/api-reference/template-versions/list-template-versions.md): Get all versions of a template - [Compile a template](https://docs.lithoblocks.com/api-reference/templates/compile-a-template.md): Provide `template_id` and `data` in the JSON body (legacy `templateId` accepted). Manages credits and returns `compiled_message`. Legacy path: POST /templates/{id}/compile. - [Get a template](https://docs.lithoblocks.com/api-reference/templates/get-a-template.md): Get a template by its id with optional inclusion of related data - [Get all templates](https://docs.lithoblocks.com/api-reference/templates/get-all-templates.md): Get all templates with optional inclusion of related data - [Send a template message to multiple Slack destinations](https://docs.lithoblocks.com/api-reference/templates/send-a-template-message-to-multiple-slack-destinations.md): Provide `template_id`, `data`, and `destinations`. Legacy camelCase keys accepted. - [Send a template message to Slack](https://docs.lithoblocks.com/api-reference/templates/send-a-template-message-to-slack.md): Provide `template_id`, `data`, and a destination (`channel_id`, `recipient_email`, or `recipient_slack_id`). Legacy camelCase keys accepted. - [Update template metadata](https://docs.lithoblocks.com/api-reference/templates/update-template-metadata.md): Update template metadata (`user_name`, `icon_emoji`, etc.). Legacy camelCase keys accepted during deprecation. - [Delete user](https://docs.lithoblocks.com/api-reference/users/delete-user.md): Delete a user by their ID (Admin+ role required) - [Get current user profile](https://docs.lithoblocks.com/api-reference/users/get-current-user-profile.md): Get the current user's profile information - [Get user by ID](https://docs.lithoblocks.com/api-reference/users/get-user-by-id.md): Get a user by their ID (Admin+ role required) - [Update user profile](https://docs.lithoblocks.com/api-reference/users/update-user-profile.md): Update the current user's profile (snake_case keys; legacy camelCase accepted during deprecation). - [Compile vs send](https://docs.lithoblocks.com/architecture/compile-vs-send.md): When to compile templates for your own delivery vs send through LithoBlocks for full platform features. - [Architecture overview](https://docs.lithoblocks.com/architecture/overview.md): How data flows through LithoBlocks and what you need to know at a glance. - [Connecting Slack](https://docs.lithoblocks.com/connecting-slack.md): Connect your Slack workspace to LithoBlocks, configure permissions, and manage your Slack connection. - [AI agents and LithoBlocks](https://docs.lithoblocks.com/guides/ai-agents-overview.md): Use deterministic templates from AI agents to send Slack messages. Lower LLM cost offsets LithoBlocks pricing; at higher volumes, net cost reduction. - [AI Template Assistant](https://docs.lithoblocks.com/guides/ai-template-assistant.md): Use AI to jumpstart your templates, create blocks in bulk, generate sample data, and polish existing templates with best practices. - [Airtable](https://docs.lithoblocks.com/guides/airtable-integration.md): Use LithoBlocks with Airtable to send Slack messages from automations and receive webhooks from LithoBlocks in Airtable. - [Button message updates](https://docs.lithoblocks.com/guides/button-message-updates.md): Update Slack messages when users click buttons — replace the button, replace the whole message, or append a response block. - [Button webhooks](https://docs.lithoblocks.com/guides/button-webhooks.md): Configure buttons to send HTTP requests to your API when users click them in Slack. - [CrewAI](https://docs.lithoblocks.com/guides/crewai-integration.md): Use LithoBlocks templates from CrewAI agents and tasks. - [Entities](https://docs.lithoblocks.com/guides/entities.md): Define reusable data structures (entities) to standardize sample data and improve template maintainability. - [Examples](https://docs.lithoblocks.com/guides/examples.md): End-to-end recipes for approval flows, modal submissions, and tabular data in Slack. - [Interactive buttons](https://docs.lithoblocks.com/guides/interactive-buttons.md): Add buttons to Slack messages that trigger webhooks, message updates, or open modals. - [LangChain](https://docs.lithoblocks.com/guides/langchain-integration.md): Use LithoBlocks templates from LangChain agents and chains. - [LlamaIndex](https://docs.lithoblocks.com/guides/llamaindex-integration.md): Use LithoBlocks templates from LlamaIndex agents and tools. - [Understanding logs](https://docs.lithoblocks.com/guides/logs.md): View and interpret Credit, Interaction, Message activity, and Webhook logs to debug templates, webhooks, and modals. - [Low-code and LithoBlocks](https://docs.lithoblocks.com/guides/low-code-overview.md): Use LithoBlocks templates from Make, Zapier, n8n, Airtable, and Retool to simplify input mapping, reuse message structure, and update messages without touching your automations. - [Make](https://docs.lithoblocks.com/guides/make-integration.md): Use LithoBlocks with Make to send Slack messages and trigger scenarios from templates and webhooks. - [Modals basics](https://docs.lithoblocks.com/guides/modals-basics.md): Create interactive Slack modal forms that open when users click buttons and collect structured input. - [Modal data binding](https://docs.lithoblocks.com/guides/modals-data-binding.md): Pre-fill modal form fields with data from the message that triggered the modal. - [Modal submissions](https://docs.lithoblocks.com/guides/modals-submissions.md): Process modal form submissions — send webhooks with form data and update messages after submission. - [n8n AI](https://docs.lithoblocks.com/guides/n8n-ai-integration.md): Use LithoBlocks templates from n8n AI nodes so the AI decides what to send without building Slack blocks. - [n8n](https://docs.lithoblocks.com/guides/n8n-integration.md): Use LithoBlocks with n8n to send Slack messages and trigger workflows from templates and webhooks. - [Retool](https://docs.lithoblocks.com/guides/retool-integration.md): Use LithoBlocks with Retool to send Slack messages from apps and receive webhooks from LithoBlocks in Retool Workflows. - [Template design best practices](https://docs.lithoblocks.com/guides/template-design.md): Design effective Slack message templates that are clear, maintainable, and provide a great user experience. - [Block types](https://docs.lithoblocks.com/guides/templates-blocks.md): Use each Slack block type to build rich, interactive messages with the right layout for your use case. - [Directives](https://docs.lithoblocks.com/guides/templates-directives.md): Use directives like #each to create repeating sections, dynamic lists, and conditional content in Slack templates. - [Placeholders](https://docs.lithoblocks.com/guides/templates-placeholders.md): Use placeholders to insert dynamic data into Slack templates — simple variables, nested objects, arrays, and directive loops. - [Sample data](https://docs.lithoblocks.com/guides/templates-sample-data.md): Create, manage, and use sample data sets to develop and test your Slack templates. - [Table blocks](https://docs.lithoblocks.com/guides/templates-table-blocks.md): Display tabular data in Slack messages with table blocks (experimental). - [Template versioning](https://docs.lithoblocks.com/guides/templates-versioning.md): Manage template versions — draft, active, and inactive — with safe iteration and rollback. - [Troubleshooting](https://docs.lithoblocks.com/guides/troubleshooting.md): Common issues when working with LithoBlocks templates, Slack connection, and webhooks — and how to resolve them. - [Webhook destinations](https://docs.lithoblocks.com/guides/webhook-destinations.md): Configure reusable webhook destinations with authentication, payload templating, retries, and monitoring. - [Zapier](https://docs.lithoblocks.com/guides/zapier-integration.md): Use LithoBlocks with Zapier to send Slack messages and trigger Zaps from templates and webhooks. - [Introduction](https://docs.lithoblocks.com/index.md): Welcome to LithoBlocks — build and send Slack message templates with dynamic data, interactive buttons, and webhooks. - [Quickstart](https://docs.lithoblocks.com/quickstart.md): Create your first Slack message template with dynamic data and send it to your workspace in 5 minutes. ## OpenAPI Specs - [openapi](https://docs.lithoblocks.com/api-reference/openapi.json) ## Optional - [Go to the dashboard](https://app.lithoblocks.com)