### Install Dependencies and Start Server Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/4--docs-starter-templates-custom-feeds.html Use 'yarn' to install project dependencies and 'yarn start' to run the server. The server defaults to port 3000, but this can be configured via '.env'. ```bash yarn yarn start ``` -------------------------------- ### Install Dependencies Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/cloudflareWAF/artifacts/ai-artifacts/test-plan.md Navigate to the Cloudflare WAF directory and install necessary npm packages before running tests. ```bash cd src/appmixer/cloudflareWAF npm install ``` -------------------------------- ### List Model Examples Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/replicate/context.md Retrieves a list of examples for a specific model. Examples demonstrate how to use the model effectively. ```APIDOC ## GET /models/{model_owner}/{model_name}/examples ### Description Lists examples for a model. ### Method GET ### Endpoint /models/{model_owner}/{model_name}/examples ### Parameters #### Path Parameters - **model_owner** (string) - Required - The username of the model owner. - **model_name** (string) - Required - The name of the model. ``` -------------------------------- ### Install atproto SDK (Python) Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/1--docs-get-started.html Install the atproto package using pip. ```python pip install atproto ``` -------------------------------- ### Install TypeScript and Node.js Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/3--docs-starter-templates-bots.html Install the necessary tools for running the TypeScript bot script. Ensure you have Node.js and npm installed globally. ```bash npm i -g typescript npm i -g ts-node ``` -------------------------------- ### Install Dependencies Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/README.md Install project dependencies once before running tests. ```bash # install dependencies once scripts/npm-install.sh ``` -------------------------------- ### FindProjects Component Output Example Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md This is an example of the output received from the FindProjects component when it successfully retrieves a list of projects. It includes details for each project found. ```json { result: [ { id: 46282845, name: 'Archived Project', code: null, is_active: false, is_billable: true, is_fixed_fee: false, bill_by: 'none', budget: null, budget_by: 'none', budget_is_monthly: false, notify_when_over_budget: false, over_budget_notification_percentage: 80, show_budget_to_all: false, created_at: '2025-10-23T09:24:41Z', updated_at: '2025-10-23T09:24:41Z', starts_on: null, ends_on: null, over_budget_notification_date: null, notes: 'This is an archived project', cost_budget: null, cost_budget_include_expenses: false, hourly_rate: null, fee: null, client: { id: 16959641, name: 'Fully Updated Client', currency: 'EUR' } }, { id: 46282844, name: 'Monthly Budget Project', code: null, is_active: true, is_billable: true, is_fixed_fee: false, bill_by: 'People', budget: null, budget_by: 'none', budget_is_monthly: false, notify_when_over_budget: false, over_budget_notification_percentage: 80, show_budget_to_all: false, created_at: '2025-10-23T09:24:36Z', updated_at: '2025-10-23T09:24:36Z', starts_on: null, ends_on: null, over_budget_notification_date: null, notes: null, cost_budget: null, cost_budget_include_expenses: false, hourly_rate: null, fee: null, client: { id: 16978813, name: 'Another Updated Name', currency: 'GBP' } }, { id: 46282843, name: 'Simple Project', code: null, is_active: true, is_billable: true, is_fixed_fee: false, bill_by: 'none', budget: null, budget_by: 'none', budget_is_monthly: false, notify_when_over_budget: false, over_budget_notification_percentage: 80, show_budget_to_all: false, created_at: '2025-10-23T09:24:32Z', updated_at: '2025-10-23T09:24:32Z', starts_on: null, ends_on: null, over_budget_notification_date: null, notes: null, cost_budget: null, cost_budget_include_expenses: false, hourly_rate: null, fee: null, client: { id: 16959641, name: 'Fully Updated Client', currency: 'EUR' } }, { id: 46282841, name: 'Website Redesign Project', code: null, is_active: true, is_billable: true, is_fixed_fee: false, bill_by: 'Project', budget: null, budget_by: 'none', budget_is_monthly: false, notify_when_over_budget: false, over_budget_notification_percentage: 80, show_budget_to_all: false, created_at: '2025-10-23T09:24:26Z', updated_at: '2025-10-23T09:24:26Z', starts_on: null, ends_on: null, over_budget_notification_date: null, notes: 'Client website redesign project', cost_budget: null, cost_budget_include_expenses: false, hourly_rate: 150, fee: null, client: { id: 16978813, name: 'Another Updated Name', currency: 'GBP' } }, { id: 46239251, name: 'Example Project', code: null, is_active: true, is_billable: true, is_fixed_fee: false, bill_by: 'Project', budget: 50, budget_by: 'project', budget_is_monthly: false, notify_when_over_budget: false, over_budget_notification_percentage: 80, show_budget_to_all: true, created_at: '2025-10-18T14:34:19Z', updated_at: '2025-10-18T14:34:19Z', starts_on: null, ends_on: null, over_budget_notification_date: null, notes: 'This is an example project to help you trial Harvest. You can track time to this project and see what insights you can get from our reports! Feel free to make any edits you want to this project or even delete it.', cost_budget: null, cost_budget_include_expenses: false, hourly_rate: 100, fee: null, client: { id: 16959641, name: 'Fully Updated Client', currency: 'EUR' } } ], count: 5 } ``` -------------------------------- ### Install @atproto/api SDK (TypeScript) Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/1--docs-get-started.html Install the @atproto/api package using yarn. ```typescript yarn add @atproto/api ``` -------------------------------- ### FindClients Component Test (First Output) Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Tests the FindClients component to retrieve the first matching client. This example shows how to get a single client record when outputType is set to 'first'. ```bash appmixer test component src/appmixer/harvest/client/FindClients/ -i '{"in":{"in":{"outputType":"first"}}}' ``` -------------------------------- ### Run FindTimeEntries Component Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Example of how to execute the FindTimeEntries component with specific input parameters. ```bash appmixer test component src/appmixer/harvest/timeEntry/FindTimeEntries/ -i '{"in":{"in":{"outputType":"object"}}}' ``` -------------------------------- ### Install @atproto/api Package Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/5--docs-starter-templates-clients.html Install the official Bluesky API client library for JavaScript. This package provides the necessary tools to interact with the Bluesky AT Protocol. ```bash pnpm add @atproto/api ``` -------------------------------- ### Build Shared Flow Bundle Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/apigee/README.md Run these commands to install dependencies and generate the Shared Flow bundle. ```bash npm install npm run bundle ``` -------------------------------- ### Run FindInvoices Component Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Example of how to execute the FindInvoices component with specific input parameters. This command initiates the process of retrieving invoice data. ```bash appmixer test component src/appmixer/harvest/invoice/FindInvoices/ -i '{"in":{"in":{"outputType":"object"}}}' ``` -------------------------------- ### FindTimeEntries Output Example Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Demonstrates the structure of the output when the FindTimeEntries component successfully retrieves time entries. ```json { result: [ { id: 2778619259, spent_date: '2025-10-26', hours: 99, hours_without_timer: 99, rounded_hours: 99, notes: 'agagag', is_locked: false, locked_reason: null, approval_status: 'unsubmitted', is_closed: false, is_billed: false, timer_started_at: null, started_time: null, ended_time: null, is_running: false, billable: true, budgeted: true, billable_rate: 100, cost_rate: null, created_at: '2025-10-22T23:42:32Z', updated_at: '2025-10-22T23:42:32Z', user: { id: 5402173, name: 'John Doe' }, client: { id: 16959641, name: 'Fully Updated Client', currency: 'EUR' }, project: { id: 46239251, name: 'Example Project', code: null }, task: { id: 25313462, name: 'Programming - Updated' }, user_assignment: { id: 538554696, is_project_manager: true, is_active: true, use_default_rates: true, budget: null, created_at: '2025-10-18T14:34:19Z', updated_at: '2025-10-18T14:34:19Z', hourly_rate: null }, task_assignment: { id: 511953819, billable: true, is_active: true, created_at: '2025-10-18T14:34:19Z', updated_at: '2025-10-18T14:34:19Z', hourly_rate: 100, budget: null }, invoice: null, external_reference: null }, { id: 2778816646, spent_date: '2025-10-23', hours: 0.01, hours_without_timer: 0, rounded_hours: 0.01, notes: 'Marketing campaign planning', is_locked: false, locked_reason: null, approval_status: 'unsubmitted', is_closed: false, is_billed: false, timer_started_at: '2025-10-23T09:35:44Z', started_time: '11:35am', ended_time: null, is_running: true, billable: true, budgeted: true, billable_rate: 100, cost_rate: null, created_at: '2025-10-23T09:35:44Z', updated_at: '2025-10-23T09:35:44Z', user: { id: 5402173, name: 'John Doe' }, client: { id: 16959641, name: 'Fully Updated Client', currency: 'EUR' }, project: { id: 46239251, name: 'Example Project', code: null }, task: { id: 25313463, name: 'Marketing' }, user_assignment: { id: 538554696, ``` -------------------------------- ### Create a Simple Project Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Tests the CreateProject component with basic input parameters for a simple project. Ensure the component is correctly configured to accept clientId and name. ```bash appmixer test component src/appmixer/harvest/project/CreateProject/ -i '{"in":{"clientId":"16959641","name":"Simple Project"}}' ``` -------------------------------- ### com.atproto.identity.getRecommendedDidCredentials Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/6--docs-category-http-reference.html Gets recommended DID credentials. To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide. ```APIDOC ## GET /com.atproto.identity.getRecommendedDidCredentials ### Description Gets recommended DID credentials. To learn more about calling atproto API endpoints like this one, see the API Hosts and Auth guide. ### Method GET ### Endpoint /com.atproto.identity.getRecommendedDidCredentials ``` -------------------------------- ### app.bsky.graph.getStarterPack Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/6--docs-category-http-reference.html Retrieves a specific starter pack. ```APIDOC ## GET app.bsky.graph.getStarterPack ### Description Retrieves a specific starter pack. ### Method GET ### Endpoint /app.bsky.graph.getStarterPack ### Parameters #### Query Parameters - **starterPack** (string) - Required - The AT URI of the starter pack. ``` -------------------------------- ### XrpcClient Initialization with Dynamic Service URL and Headers Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/29--blog-ts-api-refactor.html Demonstrates initializing XrpcClient with dynamic service URLs and headers using functions. Null return values for headers are ignored. ```typescript import { XrpcClient } from '@atproto/xrpc' const instance = new XrpcClient( { service: () => 'http://my-service.com', headers: { 'my-header': () => 'my-value', 'my-ignored-header': () => null, // ignored }, }, [ { lexicon: 1, id: 'io.example.doStuff', defs: {}, }, ], ) ``` -------------------------------- ### app.bsky.graph.searchStarterPacks Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/6--docs-category-http-reference.html Searches for starter packs. ```APIDOC ## GET app.bsky.graph.searchStarterPacks ### Description Searches for starter packs. ### Method GET ### Endpoint /app.bsky.graph.searchStarterPacks ### Parameters #### Query Parameters - **query** (string) - Required - The search query. - **limit** (integer) - Optional - The maximum number of results to return. - **cursor** (string) - Optional - The cursor for pagination. ``` -------------------------------- ### Tutorials Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/0--.html Follow tutorials to learn how to handle the Bluesky API for various use cases. ```APIDOC ## Tutorials ### Description Find step-by-step guides and examples to help you effectively use the Bluesky API. ### Link [/docs/category/tutorials](/docs/category/tutorials) ``` -------------------------------- ### tools.ozone.setting.listOptions Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/6--docs-category-http-reference.html Lists setting options. ```APIDOC ## GET /tools.ozone.setting.listOptions ### Description Lists setting options. ### Method GET ### Endpoint /tools.ozone.setting.listOptions ### Query Parameters - **keys** (string[]) - Optional - Filter by specific setting keys. ### Response #### Success Response (200) - **options** (object[]) - An array of setting option objects. ``` -------------------------------- ### Starter Templates Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/0--.html Utilize starter code templates for building bots, custom feeds, and client applications on Bluesky. ```APIDOC ## Starter Templates ### Description Get started quickly with pre-built code examples for common Bluesky application types. ### Link [/docs/category/starter-templates](/docs/category/starter-templates) ``` -------------------------------- ### Intercom Tag Output Example Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/intercom/artifacts/ai-artifacts/README.md This is an example of the JSON output when retrieving tags from Intercom. It lists tags with their IDs and names. ```json { "tags": [ { "type": "tag", "id": "12215915", "name": "Feature Request" } ] } ``` -------------------------------- ### FindTimeEntries Component Output Example Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md An example of the output received from the FindTimeEntries component after execution. This JSON structure represents retrieved time entry data. ```json { result: [ { id: 2778619259, spent_date: '2025-10-26', hours: 99, hours_without_timer: 99, rounded_hours: 99, notes: 'agagag', is_locked: false, locked_reason: null, approval_status: 'unsubmitted', is_closed: false, is_billed: false, timer_started_at: null, started_time: null, ended_time: null, is_running: false, billable: true, budgeted: true, billable_rate: 100, cost_rate: null, created_at: '2025-10-22T23:42:32Z', updated_at: '2025-10-22T23:42:32Z', user: { id: 5402173, name: 'John Doe' }, client: { id: 16959641, name: 'Fully Updated Client', currency: 'EUR' }, project: { id: 46239251, name: 'Example Project', code: null }, task: { id: 25313462, name: 'Programming - Updated' }, user_assignment: { id: 538554696, is_project_manager: true, is_active: true, use_default_rates: true, budget: null, created_at: '2025-10-18T14:34:19Z', updated_at: '2025-10-18T14:34:19Z', hourly_rate: null }, task_assignment: { id: 511953819, billable: true, is_active: true, created_at: '2025-10-18T14:34:19Z', updated_at: '2025-10-18T14:34:19Z', hourly_rate: 100, budget: null }, invoice: null, external_reference: null }, { id: 2778816646, spent_date: '2025-10-23', hours: 0.01, hours_without_timer: 0, rounded_hours: 0.01, notes: 'Marketing campaign planning', is_locked: false, locked_reason: null, approval_status: 'unsubmitted', is_closed: false, is_billed: false, timer_started_at: '2025-10-23T09:35:44Z', started_time: '11:35am', ended_time: null, is_running: true, billable: true, budgeted: true, billable_rate: 100, cost_rate: null, created_at: '2025-10-23T09:35:44Z', updated_at: '2025-10-23T09:35:44Z', user: { id: 5402173, name: 'John Doe' }, client: { id: 16959641, name: 'Fully Updated Client', currency: 'EUR' }, project: { id: 46239251, name: 'Example Project', code: null }, task: { id: 25313463, name: 'Marketing' }, user_assignment: { id: 538554696, is_project_manager: true, is_active: true, use_default_rates: true, budget: null, created_at: '2025-10-18T14:34:19Z', updated_at: '2025-10-18T14:34:19Z', hourly_rate: null }, task_assignment: { id: 511953818, billable: true, is_active: true, created_at: '2025-10-18T14:34:19Z', updated_at: '2025-10-18T14:34:19Z', hourly_rate: 100, budget: null }, invoice: null, external_reference: null }, { id: 2778816586, spent_date: '2025-10-23', hours: 5, hours_without_timer: 5, rounded_hours: 5, notes: 'Programming work on example project', is_locked: false, locked_reason: null, approval_status: 'unsubmitted', is_closed: false, is_billed: false, timer_started_at: null, started_time: null, ended_time: null, is_running: false, billable: true, budgeted: true, billable_rate: 100, cost_rate: null, created_at: '2025-10-23T09:35:38Z', updated_at: '2025-10-23T09:35:38Z', user: { id: 5402173, name: 'John Doe' }, ``` -------------------------------- ### Create a Project with Monthly Budget Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Tests the CreateProject component for a project with a specified monthly budget and billing type. This example demonstrates setting budgetIsMonthly and billBy parameters. ```bash appmixer test component src/appmixer/harvest/project/CreateProject/ -i '{"in":{"clientId":"16978813","name":"Monthly Budget Project","isActive":true,"budget":10000,"budgetIsMonthly":true,"billBy":"People"}}' ``` -------------------------------- ### Strava OAuth2 Token Response Example Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/strava/context.md This is an example of a successful token response from Strava. It includes token details, expiry information, and athlete profile data. ```json { "token_type": "Bearer", "expires_at": 1568775134, "expires_in": 21600, "refresh_token": "e5n567567...", "access_token": "a4b945687g...", "athlete": { "id": 12345, "username": "athlete_username", "firstname": "John", "lastname": "Doe" } } ``` -------------------------------- ### Create a Complete Workflow with Appmixer Connectors Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/kit/README.md Demonstrates creating a multi-step workflow: creating a tag, then a subscriber, and finally adding the tag to the subscriber. Ensure necessary connector components are available. ```javascript // 1. Create a tag for segmentation const tag = await CreateTag.receive({ messages: { in: { content: { name: "Premium Customers" } } } }); // 2. Create a subscriber const subscriber = await CreateSubscriber.receive({ messages: { in: { content: { email: "customer@example.com", firstName: "John", customFields: { "plan": "premium", "source": "website" } } } } }); // 3. Add tag to subscriber const tagAssignment = await AddTagToSubscriber.receive({ messages: { in: { content: { subscriberId: subscriber.data.id, tagId: tag.data.id } } } }); ``` -------------------------------- ### Test CreateProject Component with Valid Input Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Use this command to test the `CreateProject` component with valid input, demonstrating a successful project creation. The output shows the created project's details. ```bash appmixer test component src/appmixer/harvest/project/CreateProject/ -i '{"in":{"clientId":"16978813","name":"Website Redesign Project","isActive":true,"billBy":"Project","hourlyRate":150,"budget":5000,"budgetIsMonthly":false,"notes":"Client website redesign project"}}' ``` -------------------------------- ### FindInvoices Component Output Example Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Example output from the FindInvoices component when run with the 'draft' state and 'array' output type. This shows the structure of the returned invoice data. ```json { result: [ { id: 49201891, client_key: '1567a5f2b33c164eeb4aa5dc0ecd568329d959a0', number: '4', purchase_order: null, amount: 0, due_amount: 0, tax: null, tax_amount: null, tax2: null, tax2_amount: null, discount: null, discount_amount: null, subject: 'Monthly Retainer', notes: null, state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-10-23', payment_term: 'custom', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:55Z', updated_at: '2025-10-23T09:38:55Z', paid_date: null, currency: 'GBP', payment_options: [], client: { id: 16978813, name: 'Another Updated Name' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201888, client_key: '9055ad2442478bfb0930183eeaab5fbcc021c42d', number: 'INV-2025-001', purchase_order: 'PO-12345', amount: 0, due_amount: 0, tax: 15, tax_amount: null, tax2: 5, tax2_amount: null, discount: 10, discount_amount: null, subject: 'Design Services', notes: null, state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-12-22', payment_term: 'net 60', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:50Z', updated_at: '2025-10-23T09:38:50Z', paid_date: null, currency: 'EUR', payment_options: [], client: { id: 16959641, name: 'Fully Updated Client' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201887, client_key: '5c28c1d52620f04af7a99481609000fd5266baa5', number: '3', purchase_order: null, amount: 0, due_amount: 0, tax: 10, tax_amount: null, tax2: null, tax2_amount: null, discount: 5, discount_amount: null, subject: 'Consulting Services', notes: 'Consulting work for Q4 2025', state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-11-07', payment_term: 'net 15', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:44Z', updated_at: '2025-10-23T09:38:44Z', paid_date: null, currency: 'GBP', payment_options: [], client: { id: 16978813, name: 'Another Updated Name' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201886, client_key: 'b228deda5e1233e6bff493a28eb481172a3a6ef6', number: '2', purchase_order: null, amount: 0, due_amount: 0, tax: null, tax_amount: null, tax2: null, tax2_amount: null, discount: null, discount_amount: null, subject: 'Website Development Services', notes: 'Invoice for website development project', state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-11-22', payment_term: 'net 30', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:39Z', updated_at: '2025-10-23T09:38:39Z', paid_date: null, currency: 'EUR', payment_options: [], client: { id: 16959641, name: 'Fully Updated Client' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201884, ``` -------------------------------- ### FindInvoices Component Output Example Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md This is an example of the output received from the FindInvoices component when querying for invoices. It includes detailed invoice information such as ID, client details, dates, and amounts. ```json { result: [ { id: 49201891, client_key: '1567a5f2b33c164eeb4aa5dc0ecd568329d959a0', number: '4', purchase_order: null, amount: 0, due_amount: 0, tax: null, tax_amount: null, tax2: null, tax2_amount: null, discount: null, discount_amount: null, subject: 'Monthly Retainer', notes: null, state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-10-23', payment_term: 'custom', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:55Z', updated_at: '2025-10-23T09:38:55Z', paid_date: null, currency: 'GBP', payment_options: [], client: { id: 16978813, name: 'Another Updated Name' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201888, client_key: '9055ad2442478bfb0930183eeaab5fbcc021c42d', number: 'INV-2025-001', purchase_order: 'PO-12345', amount: 0, due_amount: 0, tax: 15, tax_amount: null, tax2: 5, tax2_amount: null, discount: 10, discount_amount: null, subject: 'Design Services', notes: null, state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-12-22', payment_term: 'net 60', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:50Z', updated_at: '2025-10-23T09:38:50Z', paid_date: null, currency: 'EUR', payment_options: [], client: { id: 16959641, name: 'Fully Updated Client' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201887, client_key: '5c28c1d52620f04af7a99481609000fd5266baa5', number: '3', purchase_order: null, amount: 0, due_amount: 0, tax: 10, tax_amount: null, tax2: null, tax2_amount: null, discount: 5, discount_amount: null, subject: 'Consulting Services', notes: 'Consulting work for Q4 2025', state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-11-07', payment_term: 'net 15', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:44Z', updated_at: '2025-10-23T09:38:44Z', paid_date: null, currency: 'GBP', payment_options: [], client: { id: 16978813, name: 'Another Updated Name' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201886, client_key: 'b228deda5e1233e6bff493a28eb481172a3a6ef6', number: '2', purchase_order: null, amount: 0, due_amount: 0, tax: null, tax_amount: null, tax2: null, tax2_amount: null, discount: null, discount_amount: null, subject: 'Website Development Services', notes: 'Invoice for website development project', state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-11-22', payment_term: 'net 30', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:39Z', updated_at: '2025-10-23T09:38:39Z', paid_date: null, currency: 'EUR', payment_options: [], client: { id: 16959641, name: 'Fully Updated Client' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] }, { id: 49201884, client_key: 'ab808ddb9fa8ad62f7f11d171aebf81ee13f0b67', number: '1', purchase_order: null, amount: 0, due_amount: 0, tax: null, tax_amount: null, tax2: null, tax2_amount: null, discount: null, discount_amount: null, subject: null, notes: null, state: 'draft', period_start: null, period_end: null, issue_date: '2025-10-23', due_date: '2025-11-22', payment_term: 'net 30', sent_at: null, paid_at: null, closed_at: null, recurring_invoice_id: null, created_at: '2025-10-23T09:38:34Z', updated_at: '2025-10-23T09:38:34Z', paid_date: null, currency: 'EUR', payment_options: [], client: { id: 16959641, name: 'Fully Updated Client' }, estimate: null, retainer: null, creator: { id: 5402173, name: 'John Doe' }, line_items: [] } ], count: 5 } ``` -------------------------------- ### app.bsky.graph.getStarterPacks Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/6--docs-category-http-reference.html Retrieves a list of available starter packs. This endpoint is part of the Bluesky application Lexicon APIs. ```APIDOC ## app.bsky.graph.getStarterPacks ### Description Retrieves a list of available starter packs. This endpoint is part of the Bluesky application Lexicon APIs. ### Method GET ### Endpoint /app.bsky.graph.getStarterPacks ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of starter packs to return. - **cursor** (string) - Optional - The cursor for pagination. ### Response #### Success Response (200) - **packs** (array) - An array of starter packs. - **id** (string) - The unique identifier of the starter pack. - **name** (string) - The name of the starter pack. - **description** (string) - A description of the starter pack. - **creator** (object) - The actor who created the starter pack. - **did** (string) - The creator's DID. - **handle** (string) - The creator's handle. - **items** (array) - An array of items in the starter pack. - **type** (string) - The type of item (e.g., 'actor' or 'label'). - **actor** (object) - If type is 'actor', details of the actor. - **did** (string) - The actor's DID. - **handle** (string) - The actor's handle. - **label** (object) - If type is 'label', details of the label. - **val** (string) - The label value. - **cursor** (string) - The cursor for the next page of results. ### Request Example ```json { "limit": 10 } ``` ### Response Example ```json { "packs": [ { "id": "my-starter-pack-id", "name": "Awesome People", "description": "A curated list of awesome people on Bluesky.", "creator": { "did": "did:plc:examplecreator", "handle": "creator.example.com" }, "items": [ { "type": "actor", "actor": { "did": "did:plc:exampleactor1", "handle": "alice.example.com" } } ] } ], "cursor": "next-page-cursor" } ``` ``` -------------------------------- ### Install Pre-commit Hook Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/scripts/README.md Installs the pre-commit hook script, which automatically runs validation checks before allowing a git commit. This helps maintain code quality by catching issues early. ```bash npm run hooks:install # sets core.hooksPath=scripts/hooks, makes hooks executable git commit --no-verify # bypass once (use sparingly) ``` -------------------------------- ### Test UpdateTimeEntry with Started and Ended Time Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Tests the UpdateTimeEntry component by providing a time entry ID and updating the started and ended times. Ensure the time entry ID exists. ```bash appmixer test component src/appmixer/harvest/timeEntry/UpdateTimeEntry/ -i '{"in":{"timeEntryId":2778619259,"startedTime":"9:00am","endedTime":"5:00pm"}}' ``` -------------------------------- ### Test CreateCustomer Component with Basic Input Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/mollie/artifacts/ai-artifacts/test-plan-report.md Use this command to test the CreateCustomer component with a JSON input string. This is useful for verifying the component's initial setup and basic validation. ```bash appmixer test component src/appmixer/mollie/core/CreateCustomer/ -i '{"name":"John Doe","email":"john.doe@example.com","locale":"en_US"}' ``` -------------------------------- ### GetOrder Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/square/artifacts/ai-artifacts/context.md Get detailed information for a specific order. ```APIDOC ## GET /v2/orders/{order_id} ### Description Get details for a specific order. ### Method GET ### Endpoint /v2/orders/{order_id} ``` -------------------------------- ### XrpcClient Initialization with Static Headers Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/29--blog-ts-api-refactor.html Illustrates initializing XrpcClient with static headers that will be applied to all requests. The 'service' and 'headers' can be provided as an object. ```typescript import { XrpcClient } from '@atproto/xrpc' const instance = new XrpcClient( { service: 'http://my-service.com', headers: { 'my-header': 'my-value', }, }, [ { lexicon: 1, id: 'io.example.doStuff', defs: {}, }, ], ) ``` -------------------------------- ### Get Account Information Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/replicate/context.md Retrieves information about the authenticated account. ```APIDOC ## GET /account ### Description Gets the authenticated account. ### Method GET ### Endpoint /account ``` -------------------------------- ### app.bsky.graph.getStarterPacks Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/6--docs-category-http-reference.html Retrieves a list of starter packs created by a given actor. ```APIDOC ## GET app.bsky.graph.getStarterPacks ### Description Retrieves a list of starter packs created by a given actor. ### Method GET ### Endpoint /app.bsky.graph.getStarterPacks ### Parameters #### Query Parameters - **actor** (string) - Required - The DID of the actor. - **limit** (integer) - Optional - The maximum number of results to return. - **cursor** (string) - Optional - The cursor for pagination. ``` -------------------------------- ### Get Collection Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/replicate/context.md Retrieves a collection of models based on its slug. ```APIDOC ## GET /collections/{collection_slug} ### Description Gets a collection of models. ### Method GET ### Endpoint /collections/{collection_slug} ### Parameters #### Path Parameters - **collection_slug** (string) - Required - The slug identifier for the collection. ``` -------------------------------- ### GetCatalogObject Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/square/artifacts/ai-artifacts/context.md Get detailed information for a specific catalog item. ```APIDOC ## GET /v2/catalog/object/{object_id} ### Description Get details for a specific catalog item. ### Method GET ### Endpoint /v2/catalog/object/{object_id} ``` -------------------------------- ### Test CreateProject Component Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/railway/README.md Use this command to test the creation of a new project with specified name and description, or with minimal data. ```bash # Test creating a new project appmixer test component src/appmixer/railway/core/CreateProject -i '{"in":{"name":"Test Project","description":"A test project created via Appmixer"}}' ``` ```bash # Test creating a project with minimal data appmixer test component src/appmixer/railway/core/CreateProject -i '{"in":{"name":"Minimal Test Project"}}' ``` -------------------------------- ### Simplified XrpcClient Initialization (Static Service URL) Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/29--blog-ts-api-refactor.html Shows a simplified XrpcClient initialization when no custom fetch logic is needed and requests are directed to a static service URL. ```typescript import { XrpcClient } from '@atproto/xrpc' const instance = new XrpcClient('http://my-service.com', [ { lexicon: 1, id: 'io.example.doStuff', defs: {}, }, ]) ``` -------------------------------- ### GetPayment Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/square/artifacts/ai-artifacts/context.md Get detailed information for a specific payment transaction. ```APIDOC ## GET /v2/payments/{payment_id} ### Description Get details for a specific payment. ### Method GET ### Endpoint /v2/payments/{payment_id} ``` -------------------------------- ### Create List - Create a new static list Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/klaviyo/README.md Use this command to create a new static list in Klaviyo. Provide a name for the list. ```bash appmixer test component ./src/appmixer/klaviyo/list/CreateList -i '{"in":{"name":"Appmixer Test List"}}' ``` -------------------------------- ### app.bsky.contact.startPhoneVerification Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/bluesky/artifacts/api-scraper/docs.bsky.app/2-pages-raw/6--docs-category-http-reference.html Starts the phone number verification process for the authenticated actor. ```APIDOC ## POST app.bsky.contact.startPhoneVerification ### Description Starts the phone number verification process for the authenticated actor. ### Method POST ### Endpoint /app.bsky.contact.startPhoneVerification ### Parameters #### Request Body - **phone** (string) - Required - The phone number to verify. ``` -------------------------------- ### Get File Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/replicate/context.md Retrieves details for a specific file using its ID. ```APIDOC ## GET /files/{file_id} ### Description Gets a file. ### Method GET ### Endpoint /files/{file_id} ### Parameters #### Path Parameters - **file_id** (string) - Required - The unique identifier for the file. ``` -------------------------------- ### Test CreateCustomer Component (Initial) Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/paddle/artifacts/ai-artifacts/test-plan-report.md This command tests the CreateCustomer component with a basic set of input properties. It is used to verify the component's functionality and identify initial errors. ```bash appmixer test component src/appmixer/paddle/core/CreateCustomer/ -i '{"in":{"email":"testcustomer@example.com","name":"Test Customer","locale":"en","marketingConsent":true,"addressLine1":"123 Main Street","addressCity":"San Francisco","addressPostalCode":"94105","addressCountryCode":"US"}}' ``` -------------------------------- ### Get Model Version Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/replicate/context.md Retrieves details for a specific version of a model. ```APIDOC ## GET /models/{model_owner}/{model_name}/versions/{version_id} ### Description Gets a model version. ### Method GET ### Endpoint /models/{model_owner}/{model_name}/versions/{version_id} ### Parameters #### Path Parameters - **model_owner** (string) - Required - The username of the model owner. - **model_name** (string) - Required - The name of the model. - **version_id** (string) - Required - The ID of the model version. ``` -------------------------------- ### Create an Archived Project Source: https://github.com/appmixer-ai/appmixer-connectors/blob/dev/src/appmixer/harvest/artifacts/ai-artifacts/test-plan-report.md Tests the CreateProject component to create an archived project by setting the isActive parameter to false. This example also shows how to include notes for the archived project. ```bash appmixer test component src/appmixer/harvest/project/CreateProject/ -i '{"in":{"clientId":"16959641","name":"Archived Project","isActive":false,"notes":"This is an archived project"}}' ```