### Example Webhook Payload for website.created Event Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt This JSON represents a sample webhook payload that the Lindo Trigger node might receive when a 'website.created' event occurs in the Lindo workspace. ```json // Example webhook payload received by the trigger (website.created) { "event": "website.created", "data": { "website_id": "web_abc", "name": "Mario's Kitchen", "domain": "marios.lindo.site", "created_at": "2025-05-20T14:32:00Z" } } ``` -------------------------------- ### Lindo Trigger Node Event Configuration Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Configure the Lindo Trigger node in n8n to listen for specific events within your Lindo workspace. This JSON snippet shows an example of setting the event to 'workflow.website.completed'. ```json // n8n node configuration — trigger on AI website build completion { "event": "workflow.website.completed" } ``` -------------------------------- ### Create Client Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Creates a new client in the workspace. An invitation email can be optionally sent to the client. The request includes client details such as name, email, and phone number. ```bash curl -X POST "https://api.lindo.ai/v1/workspace/client/create" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "name": "Acme Corporation", "email": "admin@acme.com", "phone": "+1-555-0100", "send_invitation": true }' ``` -------------------------------- ### AI Website Creation (Batch) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Create up to 25 websites in a single API request. Each item requires a prompt and can optionally include scheduling and client details. ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/batch" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "prompt": "Landing page for a yoga studio in Berlin" }, { "prompt": "Portfolio site for a freelance photographer", "client": { "client_id": "cli_xyz789" } }, { "prompt": "E-commerce store for handmade candles", "schedule_at": "2025-07-15T08:00:00Z" } ] }' # Expected response # { # "result": [ # { "record_id": "rec_001", "status": "pending" }, # { "record_id": "rec_002", "status": "pending" }, # { "record_id": "rec_003", "status": "scheduled" } # ] # } ``` -------------------------------- ### AI Website Creation (Single) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Submit a request to create a website using AI. This operation returns a `record_id` for polling status and supports optional scheduling and client assignment. ```bash # Direct API call curl -X POST "https://api.lindo.ai/v1/ai/workspace/website" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Modern restaurant website with menu, gallery, and contact page", "schedule_at": "2025-06-01T09:00:00Z", "client": { "email": "owner@restaurant.com", "name": "Chef Mario" } }' # Expected response # { # "result": { # "record_id": "rec_website_abc123", # "status": "pending" # } # } ``` ```json // n8n node configuration (JSON excerpt) { "resource": "website", "operation": "create", "prompt": "Modern restaurant website with menu, gallery, and contact page", "scheduleAt": "2025-06-01T09:00:00Z", "clientEmail": "owner@restaurant.com", "clientName": "Chef Mario" } ``` -------------------------------- ### Client — Create Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Creates a new client in the workspace. Optionally sends an invitation email. ```APIDOC ## Client — Create Creates a new client in the workspace via `POST /v1/workspace/client/create`. Optionally sends an invitation email. ### Method POST ### Endpoint `/v1/workspace/client/create` ### Parameters #### Request Body - **name** (string) - Required - The name of the client. - **email** (string) - Optional - The email address of the client. If provided and `send_invitation` is true, an invitation email will be sent. - **phone** (string) - Optional - The phone number of the client. - **send_invitation** (boolean) - Optional - Whether to send an invitation email to the client. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/workspace/client/create" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "name": "Acme Corporation", "email": "admin@acme.com", "phone": "+1-555-0100", "send_invitation": true }' ``` ### Response #### Success Response (200) - **result** (object) - Contains client details. - **client_id** (string) - The ID of the newly created client. - **name** (string) - The name of the client. - **email** (string) - The email of the client. ``` -------------------------------- ### Assign Website to Client Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Associates an existing website with a specific client. This is used to link website resources to client accounts. Requires both website_id and client_id. ```bash curl -X POST "https://api.lindo.ai/v1/workspace/website/assign" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "website_id": "web_abc", "client_id": "cli_xyz789" }' ``` -------------------------------- ### Website — Create (AI) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Initiates an AI-powered website creation job. This operation returns a `record_id` that can be used to poll for the completion status of the website build. ```APIDOC ## Website — Create (AI) Submits an AI website-creation job to `POST /v1/ai/workspace/website`. Returns a `record_id` that can be polled with the Workflow Status node to detect completion. Supports optional scheduling and automatic client assignment by ID or email. ```bash # Direct API call curl -X POST "https://api.lindo.ai/v1/ai/workspace/website" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Modern restaurant website with menu, gallery, and contact page", "schedule_at": "2025-06-01T09:00:00Z", "client": { "email": "owner@restaurant.com", "name": "Chef Mario" } }' # Expected response # { # "result": { # "record_id": "rec_website_abc123", # "status": "pending" # } # } ``` ```json // n8n node configuration (JSON excerpt) { "resource": "website", "operation": "create", "prompt": "Modern restaurant website with menu, gallery, and contact page", "scheduleAt": "2025-06-01T09:00:00Z", "clientEmail": "owner@restaurant.com", "clientName": "Chef Mario" } ``` ``` -------------------------------- ### Allocate AI Credits to Client Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Allocates AI credits to a client. This endpoint supports different credit types like 'monthly', 'purchased', and 'daily', and allows specifying a source and notes for the allocation. ```bash curl -X POST "https://api.lindo.ai/v1/ai/credits/client/allocate" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "client_id": "cli_xyz789", "credit_type": "purchased", "amount": 10, "source": "promotion", "notes": "Welcome bonus for new agency client" }' ``` -------------------------------- ### Website — Batch Create (AI) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Creates multiple websites (up to 25) in a single API request. Each website can have its own prompt, and optional scheduling and client assignment. ```APIDOC ## Website — Batch Create (AI) Creates up to 25 websites in a single request via `POST /v1/ai/workspace/website/batch`. Each item requires a `prompt` of at least 10 characters. Optional per-item fields: `schedule_at` and `client` (by `client_id` or `email`/`name`). ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/batch" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "prompt": "Landing page for a yoga studio in Berlin" }, { "prompt": "Portfolio site for a freelance photographer", "client": { "client_id": "cli_xyz789" } }, { "prompt": "E-commerce store for handmade candles", "schedule_at": "2025-07-15T08:00:00Z" } ] }' # Expected response # { # "result": [ # { "record_id": "rec_001", "status": "pending" }, # { "record_id": "rec_002", "status": "pending" }, # { "record_id": "rec_003", "status": "scheduled" } # ] # } ``` ``` -------------------------------- ### Generate Client Magic Link Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Generates a one-click login link for a client. This is useful for onboarding flows, allowing clients to log in without needing to remember credentials. Requires the client_id. ```bash curl -X POST "https://api.lindo.ai/v1/workspace/client/magic-link" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "client_id": "cli_xyz789" }' ``` -------------------------------- ### Client — Assign Website Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Associates an existing website with a client. ```APIDOC ## Client — Assign Website Associates an existing website with a client via `POST /v1/workspace/website/assign`. ### Method POST ### Endpoint `/v1/workspace/website/assign` ### Parameters #### Request Body - **website_id** (string) - Required - The ID of the website to assign. - **client_id** (string) - Required - The ID of the client to assign the website to. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/workspace/website/assign" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "website_id": "web_abc", "client_id": "cli_xyz789" }' ``` ``` -------------------------------- ### Blog — Publish (Static Markdown) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Publishes a pre-written Markdown blog post directly, bypassing AI generation. Supports full SEO metadata and blog settings. ```APIDOC ## Blog — Publish (Static Markdown) Publishes a pre-written Markdown blog post directly via `POST /v1/workspace/website/{websiteId}/blogs/create`, bypassing AI generation. Supports full SEO metadata and blog settings. ### Method POST ### Endpoint `/v1/workspace/website/{websiteId}/blogs/create` ### Parameters #### Path Parameters - **websiteId** (string) - Required - The ID of the website to publish the blog post to. #### Request Body - **path** (string) - Required - The URL path for the blog post. - **blog_content** (string) - Required - The Markdown content of the blog post. - **seo** (object) - Optional - SEO metadata for the blog post. - **page_title** (string) - Optional - The title tag for the SEO. - **blog_settings** (object) - Optional - Settings for the blog post. - **author** (string) - Optional - The author of the blog post. - **excerpt** (string) - Optional - A short excerpt for the blog post. - **category** (string) - Optional - The category of the blog post. - **publish_date** (string) - Optional - The publication date of the blog post. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/workspace/website/web_abc/blogs/create" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "path": "/blog/seo-tips-2025", "blog_content": "## Introduction\n\nSearch engine optimisation has changed dramatically...", "seo": { "page_title": "Top SEO Tips for Small Businesses in 2025" }, "blog_settings": { "author": "Jane Doe", "excerpt": "A practical guide to ranking higher in 2025.", "category": "Marketing", "publish_date": "January 15, 2025" } }' ``` ``` -------------------------------- ### List Websites Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Retrieve a paginated list of websites within the workspace. Supports filtering by a search term. ```bash curl "https://api.lindo.ai/v1/workspace/website/list?page=1&search=restaurant" \ -H "Authorization: Bearer lindo_sk_xxxx" # Expected response # { # "data": { # "websites": [ # { "website_id": "web_abc", "name": "Mario's Kitchen", "domain": "marios.lindo.site" } ``` -------------------------------- ### Batch Create AI Pages Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Creates up to 25 pages on a given website in a single API call. This is useful for generating multiple pages efficiently. The request body contains an array of items, each with a prompt. ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/web_abc/page/batch" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "prompt": "About us page with team bios and company mission" }, { "prompt": "FAQ page covering shipping, returns, and payment options" }, { "prompt": "Contact page with a form and embedded Google Map" } ] }' ``` -------------------------------- ### Blog — Create (AI) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Generates an AI blog post on a website. Returns a record_id. ```APIDOC ## Blog — Create (AI) Generates an AI blog post on a website via `POST /v1/ai/workspace/website/{websiteId}/blog`. Returns a `record_id`. ### Method POST ### Endpoint `/v1/ai/workspace/website/{websiteId}/blog` ### Parameters #### Path Parameters - **websiteId** (string) - Required - The ID of the website to add the blog post to. #### Request Body - **prompt** (string) - Required - The prompt to generate the blog post content. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/web_abc/blog" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Write a 1000-word blog post about SEO tips for small businesses in 2025" }' ``` ### Response #### Success Response (200) - **record_id** (string) - The ID for status polling. ``` -------------------------------- ### Publish Static Markdown Blog Post Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Publishes a pre-written Markdown blog post directly to a website, bypassing AI generation. This method supports full SEO metadata and blog settings. Ensure the blog_content is valid Markdown. ```bash curl -X POST "https://api.lindo.ai/v1/workspace/website/web_abc/blogs/create" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "path": "/blog/seo-tips-2025", "blog_content": "## Introduction\n\nSearch engine optimisation has changed dramatically...", "seo": { "page_title": "Top SEO Tips for Small Businesses in 2025" }, "blog_settings": { "author": "Jane Doe", "excerpt": "A practical guide to ranking higher in 2025.", "category": "Marketing", "publish_date": "January 15, 2025" } }' ``` -------------------------------- ### Create AI Blog Post Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Generates an AI blog post on a specified website. This endpoint returns a record_id that can be used to poll for the status of the blog post generation. ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/web_abc/blog" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Write a 1000-word blog post about SEO tips for small businesses in 2025" }' ``` -------------------------------- ### n8n Workflow Template: Google Sheets to Bulk Website Creation Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt This n8n workflow template reads data from Google Sheets (Business Name, Description, Language) and uses the Lindo node to create a website for each row. It includes default language fallback. ```json { "name": "Create Lindo websites from Google Sheets rows", "nodes": [ { "name": "Google Sheets", "type": "n8n-nodes-base.googleSheets", "parameters": { "operation": "read" } }, { "name": "Lindo", "type": "n8n-nodes-lindo.lindo", "parameters": { "resource": "website", "operation": "create", "businessName": "={{ $json['Business Name'] }}", "businessDescription": "={{ $json['Description'] }}", "language": "={{ $json['Language'] || 'en' }}" } } ] } ``` -------------------------------- ### Page — Batch Create (AI) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Creates up to 25 pages on a given website in one call. ```APIDOC ## Page — Batch Create (AI) Creates up to 25 pages on a given website in one call via `POST /v1/ai/workspace/website/{websiteId}/page/batch`. ### Method POST ### Endpoint `/v1/ai/workspace/website/{websiteId}/page/batch` ### Parameters #### Path Parameters - **websiteId** (string) - Required - The ID of the website to add pages to. #### Request Body - **items** (array) - Required - An array of page creation objects. - **prompt** (string) - Required - The prompt to generate the page content for each item. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/web_abc/page/batch" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "prompt": "About us page with team bios and company mission" }, { "prompt": "FAQ page covering shipping, returns, and payment options" }, { "prompt": "Contact page with a form and embedded Google Map" } ] }' ``` ``` -------------------------------- ### Client — Generate Magic Link Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Generates a one-click login link for a client. Useful for onboarding flows. ```APIDOC ## Client — Generate Magic Link Generates a one-click login link for a client via `POST /v1/workspace/client/magic-link`. Useful for onboarding flows. ### Method POST ### Endpoint `/v1/workspace/client/magic-link` ### Parameters #### Request Body - **client_id** (string) - Required - The ID of the client for whom to generate the magic link. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/workspace/client/magic-link" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "client_id": "cli_xyz789" }' ``` ### Response #### Success Response (200) - **result** (object) - **magic_link** (string) - The generated one-click login URL. ``` -------------------------------- ### Check Blog Build Status Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Use this cURL command to check the status of a specific AI blog build job. Ensure your API key is included in the Authorization header. ```bash curl "https://api.lindo.ai/v1/ai/workspace/blog/status/rec_blog_ghi789" \ -H "Authorization: Bearer lindo_sk_xxxx" ``` -------------------------------- ### Create AI Page Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Adds an AI-generated page to an existing website. Use this endpoint to create new pages based on a prompt. Returns a record_id for status polling. ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/web_abc/page" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Pricing page with 3 tiers: Starter, Pro, and Enterprise" }' ``` -------------------------------- ### Credits — Allocate Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Allocates AI credits to a client. Supports `monthly`, `purchased`, and `daily` credit types with optional source and notes metadata. ```APIDOC ## Credits — Allocate Allocates AI credits to a client via `POST /v1/ai/credits/client/allocate`. Supports `monthly`, `purchased`, and `daily` credit types with optional source and notes metadata. ### Method POST ### Endpoint `/v1/ai/credits/client/allocate` ### Parameters #### Request Body - **client_id** (string) - Required - The ID of the client to allocate credits to. - **credit_type** (string) - Required - The type of credits to allocate (e.g., `monthly`, `purchased`, `daily`). - **amount** (integer) - Required - The number of credits to allocate. - **source** (string) - Optional - The source of the credits (e.g., `promotion`). - **notes** (string) - Optional - Additional notes about the credit allocation. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/ai/credits/client/allocate" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "client_id": "cli_xyz789", "credit_type": "purchased", "amount": 10, "source": "promotion", "notes": "Welcome bonus for new agency client" }' ``` ``` -------------------------------- ### Website — List Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Retrieves a paginated list of all websites within the user's workspace. Supports filtering results with a search query. ```APIDOC ## Website — List Retrieves a paginated list of websites in the workspace via `GET /v1/workspace/website/list`. Supports optional keyword search. ```bash curl "https://api.lindo.ai/v1/workspace/website/list?page=1&search=restaurant" \ -H "Authorization: Bearer lindo_sk_xxxx" # Expected response # { # "data": { # "websites": [ # { "website_id": "web_abc", "name": "Mario's Kitchen", "domain": "marios.lindo.site" } ``` -------------------------------- ### Check a blog build status Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Retrieves the status of a specific blog build using its record ID. ```APIDOC ## GET /v1/ai/workspace/blog/status/{record_id} ### Description Retrieves the status of a specific blog build. ### Method GET ### Endpoint /v1/ai/workspace/blog/status/{record_id} ### Parameters #### Path Parameters - **record_id** (string) - Required - The ID of the blog record to check. ### Request Example ```bash curl "https://api.lindo.ai/v1/ai/workspace/blog/status/rec_blog_ghi789" \ -H "Authorization: Bearer lindo_sk_xxxx" ``` ### Response #### Success Response (200) - **result** (object) - Contains the status details of the blog build. - **record_id** (string) - The ID of the blog record. - **status** (string) - The current status of the build (e.g., "completed"). - **website_id** (string) - The ID of the associated website. - **domain** (string) - The domain of the completed website. #### Response Example ```json { "result": { "record_id": "rec_website_abc123", "status": "completed", "website_id": "web_newly_built", "domain": "newsite.lindo.site" } } ``` ``` -------------------------------- ### Page — Create (AI) Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Adds an AI-generated page to an existing website. Returns a record_id for status polling. ```APIDOC ## Page — Create (AI) Adds an AI-generated page to an existing website via `POST /v1/ai/workspace/website/{websiteId}/page`. Returns a `record_id` for status polling. ### Method POST ### Endpoint `/v1/ai/workspace/website/{websiteId}/page` ### Parameters #### Path Parameters - **websiteId** (string) - Required - The ID of the website to add the page to. #### Request Body - **prompt** (string) - Required - The prompt to generate the page content. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/web_abc/page" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Pricing page with 3 tiers: Starter, Pro, and Enterprise" }' ``` ### Response #### Success Response (200) - **record_id** (string) - The ID for status polling. ``` -------------------------------- ### Configure n8n Node for Page Creation Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt This is an n8n node configuration object for creating a page. It specifies the resource, operation, website ID, and the prompt for AI generation. ```json // n8n node configuration { "resource": "page", "operation": "create", "websiteId": "web_abc", "prompt": "Pricing page with 3 tiers: Starter, Pro, and Enterprise" } ``` -------------------------------- ### n8n Workflow Template: New Website to Slack Notification Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt An importable n8n workflow template that triggers on a new website creation in Lindo and sends a formatted message to Slack. It uses the Lindo Trigger and Slack nodes. ```json { "name": "Notify Slack when a new Lindo website is created", "nodes": [ { "name": "Lindo Trigger", "type": "n8n-nodes-lindo.lindoTrigger", "parameters": { "event": "website.created" } }, { "name": "Slack", "type": "n8n-nodes-base.slack", "parameters": { "channel": "#websites", "text": "🌐 New website created!\n*Name:* {{ $json.data.name }}\n*Domain:* {{ $json.data.domain }}" } } ] } ``` -------------------------------- ### Lindo Trigger Node Available Events Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt A list of available event values that can be configured for the Lindo Trigger node. These events correspond to actions within the Lindo workspace. ```json // Available event values: // "website.created" — a new website is created in the workspace // "client.created" — a new client is added to the workspace // "workflow.website.completed" — an AI website creation workflow finishes // "workflow.page.completed" — an AI page creation workflow finishes // "workflow.blog.completed" — an AI blog creation workflow finishes ``` -------------------------------- ### Workflow Status — Check Single Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Polls the status of a single AI creation job (website, page, or blog) using the record_id returned at creation time. ```APIDOC ## Workflow Status — Check Single Polls the status of a single AI creation job (website, page, or blog) using the `record_id` returned at creation time. Maps to three endpoints depending on asset type. ### Method GET ### Endpoint - `/v1/ai/workspace/website/status/{record_id}` (for websites) - `/v1/ai/workspace/page/status/{record_id}` (for pages) - `/v1/ai/workspace/blog/status/{record_id}` (for blogs) ### Parameters #### Path Parameters - **record_id** (string) - Required - The ID of the record to check the status for. ### Request Example ```bash # Check a website build curl "https://api.lindo.ai/v1/ai/workspace/website/status/rec_website_abc123" \ -H "Authorization: Bearer lindo_sk_xxxx" # Check a page build curl "https://api.lindo.ai/v1/ai/workspace/page/status/rec_page_def456" \ -H "Authorization: Bearer lindo_sk_xxxx" ``` ``` -------------------------------- ### Lindo Trigger Node - Webhook Events Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Registers a webhook with Lindo to receive event notifications. ```APIDOC ## POST /v1/workspace/automations/n8n/hooks ### Description Registers a webhook with Lindo via `POST /v1/workspace/automations/n8n/hooks` when the workflow activates and auto-deletes it on deactivation. Fires downstream n8n steps when the selected event occurs. ### Method POST ### Endpoint /v1/workspace/automations/n8n/hooks ### Parameters #### Request Body - **event** (string) - Required - The event to subscribe to. Available values: - "website.created" - "client.created" - "workflow.website.completed" - "workflow.page.completed" - "workflow.blog.completed" ### Request Example (n8n node configuration) ```json { "event": "workflow.website.completed" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the webhook has been registered. #### Example webhook payload received by the trigger (website.created) ```json { "event": "website.created", "data": { "website_id": "web_abc", "name": "Mario's Kitchen", "domain": "marios.lindo.site", "created_at": "2025-05-20T14:32:00Z" } } ``` ``` -------------------------------- ### Lindo API Credential Configuration Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Configure Lindo API credentials in n8n by providing an API key and the base URL. This is used for authenticating all requests to the Lindo API. ```json { "apiKey": "lindo_sk_xxxxxxxxxxxxxxxxxxxxxxxx", "baseUrl": "https://api.lindo.ai" } ``` ```bash # Equivalent raw HTTP call curl -X GET "https://api.lindo.ai/v1/workspace/automations/workspaces" \ -H "Authorization: Bearer lindo_sk_xxxxxxxxxxxxxxxxxxxxxxxx" ``` -------------------------------- ### Lindo API Credentials Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Authentication for Lindo.ai is handled via an API key, which is provided as a Bearer token in the Authorization header for all requests. This credential can be configured in n8n settings. ```APIDOC ## Credentials — Lindo API Authentication is handled via a `lindoApi` credential, which injects a Bearer token into every request. The credential is tested automatically against `GET /v1/workspace/automations/workspaces`. ```json // n8n credential configuration (set in Settings → Credentials → New → Lindo API) { "apiKey": "lindo_sk_xxxxxxxxxxxxxxxxxxxxxxxx", "baseUrl": "https://api.lindo.ai" } ``` ```bash # Equivalent raw HTTP call curl -X GET "https://api.lindo.ai/v1/workspace/automations/workspaces" \ -H "Authorization: Bearer lindo_sk_xxxxxxxxxxxxxxxxxxxxxxxx" ``` ``` -------------------------------- ### lindoApiRequest - Core HTTP Helper Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt The `lindoApiRequest` function is an internal helper used by all node operations to make authenticated HTTP requests to the Lindo.ai API. It automatically resolves credentials and constructs the necessary request options. ```APIDOC ## `lindoApiRequest` — Core HTTP Helper Central authenticated request function used internally by every node operation. Builds an `IHttpRequestOptions` object and delegates to n8n's `httpRequestWithAuthentication` helper so credentials are resolved automatically. ```typescript // GenericFunctions.ts — internal usage pattern import { lindoApiRequest } from './GenericFunctions'; // POST with a JSON body const response = await lindoApiRequest.call( this, 'POST', '/v1/workspace/client/create', { name: 'Acme Corp', email: 'hello@acme.com' }, ); // GET with query string parameters const list = await lindoApiRequest.call( this, 'GET', '/v1/workspace/website/list', {}, { page: '1', search: 'coffee' }, ); // DELETE (no body) await lindoApiRequest.call( this, 'DELETE', '/v1/workspace/automations/n8n/hooks', { target_url: 'https://my-n8n.example.com/webhook/abc123' }, ); ``` ``` -------------------------------- ### Check Single Workflow Status Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Polls the status of a single AI creation job using its record_id. Separate endpoints exist for checking website, page, and blog build statuses. ```bash # Check a website build curl "https://api.lindo.ai/v1/ai/workspace/website/status/rec_website_abc123" \ -H "Authorization: Bearer lindo_sk_xxxx" ``` ```bash # Check a page build curl "https://api.lindo.ai/v1/ai/workspace/page/status/rec_page_def456" \ -H "Authorization: Bearer lindo_sk_xxxx" ``` -------------------------------- ### Batch Check Workflow Status Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Polls the status of up to 25 AI jobs in a single request. ```APIDOC ## POST /v1/ai/workspace/{type}/status/batch ### Description Polls up to 25 AI jobs in a single request via `POST /v1/ai/workspace/{type}/status/batch`. Returns an array of status objects. ### Method POST ### Endpoint /v1/ai/workspace/{type}/status/batch ### Parameters #### Path Parameters - **type** (string) - Required - The type of workspace resource (e.g., "website"). #### Request Body - **record_ids** (array of strings) - Required - A list of record IDs to check the status for. ### Request Example ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/status/batch" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "record_ids": ["rec_001", "rec_002", "rec_003"] }' ``` ### Response #### Success Response (200) - **result** (array of objects) - An array of status objects for each requested record ID. - **record_id** (string) - The ID of the record. - **status** (string) - The status of the job (e.g., "completed", "processing", "failed"). - **website_id** (string, optional) - The ID of the website if the status is completed. - **error** (string, optional) - An error message if the status is failed. #### Response Example ```json { "result": [ { "record_id": "rec_001", "status": "completed", "website_id": "web_aaa" }, { "record_id": "rec_002", "status": "processing" }, { "record_id": "rec_003", "status": "failed", "error": "Prompt too vague" } ] } ``` ``` -------------------------------- ### Batch Check AI Job Status Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt Poll the status of up to 25 AI jobs in a single request using the POST /v1/ai/workspace/{type}/status/batch endpoint. This is useful for efficiently checking multiple job statuses. ```bash curl -X POST "https://api.lindo.ai/v1/ai/workspace/website/status/batch" \ -H "Authorization: Bearer lindo_sk_xxxx" \ -H "Content-Type: application/json" \ -d '{ "record_ids": ["rec_001", "rec_002", "rec_003"] }' ``` -------------------------------- ### Core `lindoApiRequest` Helper Usage Source: https://context7.com/lindoai/n8n-nodes-lindo/llms.txt The `lindoApiRequest` function is an internal helper for making authenticated HTTP requests to the Lindo API. It handles credential resolution and request formatting for various HTTP methods and parameters. ```typescript // GenericFunctions.ts — internal usage pattern import { lindoApiRequest } from './GenericFunctions'; // POST with a JSON body const response = await lindoApiRequest.call( this, 'POST', '/v1/workspace/client/create', { name: 'Acme Corp', email: 'hello@acme.com' }, ); // GET with query string parameters const list = await lindoApiRequest.call( this, 'GET', '/v1/workspace/website/list', {}, { page: '1', search: 'coffee' }, ); // DELETE (no body) await lindoApiRequest.call( this, 'DELETE', '/v1/workspace/automations/n8n/hooks', { target_url: 'https://my-n8n.example.com/webhook/abc123' }, ); ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.