# nodes

node_type: @datafix/n8n-nodes-anthias.anthias
package_name: @datafix/n8n-nodes-anthias
display_name: Anthias
description: Node for controlling Anthias deployments with the Anthias API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: bramknuever
author_github_url: https://github.com/DataFix-B-V/n8n-nodes-anthias.git
npm_package_name: @datafix/n8n-nodes-anthias
npm_version: 0.1.3
community_fetched_at: 2026-02-19T14:41:52.559Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "asset",
      "options": [
        {
          "name": "Asset",
          "value": "asset"
        },
        {
          "name": "Device",
          "value": "device"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllAssets",
      "options": [
        {
          "name": "Control Asset Playback",
          "value": "controlAssetPlayback",
          "action": "Control asset playback"
        },
        {
          "name": "Create Asset",
          "value": "createAsset",
          "action": "Create an asset"
        },
        {
          "name": "Delete Asset",
          "value": "deleteAsset",
          "action": "Delete an asset"
        },
        {
          "name": "Get All Assets",
          "value": "getAllAssets",
          "action": "Get all assets"
        },
        {
          "name": "Get Asset",
          "value": "getAsset",
          "action": "Get an asset"
        },
        {
          "name": "Get Asset Content",
          "value": "getAssetContent",
          "action": "Get asset content"
        },
        {
          "name": "Update Asset",
          "value": "updateAsset",
          "action": "Update an asset"
        },
        {
          "name": "Update Playlist Order",
          "value": "updatePlaylistOrder",
          "action": "Update playlist order"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "asset"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDeviceSettings",
      "options": [
        {
          "name": "Get Device Settings",
          "value": "getDeviceSettings",
          "action": "Get device settings"
        },
        {
          "name": "Get Integrations Information",
          "value": "getIntegrationsInformation",
          "action": "Get integrations information"
        },
        {
          "name": "Get System Information",
          "value": "getSystemInfo",
          "action": "Get system information"
        },
        {
          "name": "Reboot Device",
          "value": "rebootDevice",
          "action": "Reboot device"
        },
        {
          "name": "Shutdown Device",
          "value": "shutdownDevice",
          "action": "Shutdown device"
        },
        {
          "name": "Update Device Settings",
          "value": "updateDeviceSettings",
          "action": "Update device settings"
        }
      ],
      "displayName": "Operation",
      "placeholder": "Select operation",
      "displayOptions": {
        "show": {
          "resource": [
            "device"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Control Asset Playback",
      "value": "controlAssetPlayback",
      "action": "Control asset playback"
    },
    {
      "name": "Create Asset",
      "value": "createAsset",
      "action": "Create an asset"
    },
    {
      "name": "Delete Asset",
      "value": "deleteAsset",
      "action": "Delete an asset"
    },
    {
      "name": "Get All Assets",
      "value": "getAllAssets",
      "action": "Get all assets"
    },
    {
      "name": "Get Asset",
      "value": "getAsset",
      "action": "Get an asset"
    },
    {
      "name": "Get Asset Content",
      "value": "getAssetContent",
      "action": "Get asset content"
    },
    {
      "name": "Update Asset",
      "value": "updateAsset",
      "action": "Update an asset"
    },
    {
      "name": "Update Playlist Order",
      "value": "updatePlaylistOrder",
      "action": "Update playlist order"
    },
    {
      "name": "Get Device Settings",
      "value": "getDeviceSettings",
      "action": "Get device settings"
    },
    {
      "name": "Get Integrations Information",
      "value": "getIntegrationsInformation",
      "action": "Get integrations information"
    },
    {
      "name": "Get System Information",
      "value": "getSystemInfo",
      "action": "Get system information"
    },
    {
      "name": "Reboot Device",
      "value": "rebootDevice",
      "action": "Reboot device"
    },
    {
      "name": "Shutdown Device",
      "value": "shutdownDevice",
      "action": "Shutdown device"
    },
    {
      "name": "Update Device Settings",
      "value": "updateDeviceSettings",
      "action": "Update device settings"
    }
  ]

npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-anthias

  This is a custom node for n8n, a powerful workflow automation tool. It provides a simple way to connect your n8n workflows with the Anthias, a digital signage platform. By using this node, you can automate tasks related to your digital displays, content management, and player controls.

  ## What can you do with this node?
  The n8n-nodes-anthias node acts as a bridge between n8n and the Anthias API. It includes features like:

  - Retrieve information about your screens and players.
  - Update content on a display.
  - Change the schedule for a screen.
  - Trigger actions on a player, such as a reboot or a content refresh.

  ## Developer
  ![logo](https://github.com/datafix-b-v/n8n-nodes-anthias/blob/master/images/logoDataFix.png)

  This node was created by [DataFix B.V.](https://datafix.nl), a n8n expert partner from the Netherlands.

  DataFix supports companies with their implementation of n8n, including node development. If you want to use our services, feel free to reach out. You can contact us through our [site](https://datafix.nl) or by emailing hi@datafix.nl

  ## More information

  Refer to the [documentation on installing nodes](https://docs.n8n.io/integrations/community-nodes/installation/) for detailed information on installing custom nodes.

  Refer to the [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building your own nodes.

  ## License

  [MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides a bridge between n8n and the Anthias digital signage platform, allowing workflows to control Anthias deployments via the Anthias API (manage displays, content, schedules, and player actions).","capabilities":["Retrieve information about screens and players (status, inventory)","Update content on a display","Change or update the schedule for a screen","Trigger player actions such as reboot or content refresh","Integrate Anthias operations into n8n workflows for automation"],"authentication":"Not specified in README (likely requires Anthias API credentials/token; README does not document the auth method)","commonUseCases":["Automate content rollouts and updates to one or many displays","Schedule or change playback schedules for screens from workflows","Remote maintenance operations: reboot players or trigger content refreshes","Periodic inventory or health checks of screens and players for monitoring","Integrate Anthias actions with alerts, business logic, or other systems in n8n"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-mrscraper.mrscraper
package_name: n8n-nodes-mrscraper
display_name: MrScraper
description: Interact with the MrScraper API
category: Community
development_style: declarative
version: 1,1.1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: hagairaja-mrscraper
author_github_url: https://github.com/mrscraper-com/
npm_package_name: n8n-nodes-mrscraper
npm_version: 1.2.0
community_fetched_at: 2026-02-19T14:41:52.559Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "rerun",
      "options": [
        {
          "name": "Rerun",
          "value": "rerun"
        },
        {
          "name": "Result",
          "value": "result"
        },
        {
          "name": "Create Scraper",
          "value": "createScraper"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "manual",
      "options": [
        {
          "name": "Run Manual Scraper",
          "value": "manual",
          "action": "Run manual scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-manual-rerun",
              "method": "POST"
            }
          },
          "description": "Run manual scraper given a Scraper ID and get the result"
        },
        {
          "name": "Run General Agent Scraper",
          "value": "generalAgent",
          "action": "Run general agent scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-ai-rerun",
              "method": "POST"
            }
          },
          "description": "Run general agent scraper given a Scraper ID and get the result"
        },
        {
          "name": "Run Listing Agent Scraper",
          "value": "listingAgent",
          "action": "Run listing agent scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-ai-rerun",
              "method": "POST"
            }
          },
          "description": "Run listing agent scraper given a Scraper ID and get the result"
        },
        {
          "name": "Run Map Agent Scraper",
          "value": "mapAgent",
          "action": "Run map agent scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-ai-rerun",
              "method": "POST"
            }
          },
          "description": "Run map agent scraper given a Scraper ID and get the result"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "rerun"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get results",
          "routing": {
            "request": {
              "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page={{$parameter.page}}&pageSize={{$parameter.pageSize}}&sort={{$parameter.sort}}&sortOrder={{$parameter.sortOrder}}",
              "method": "GET"
            }
          },
          "description": "Get results based on given page number, page size, filters, and sorting"
        },
        {
          "name": "Get Latest",
          "value": "getLatest",
          "action": "Get latest results",
          "routing": {
            "request": {
              "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page=1&pageSize={{$parameter.pageSize}}&sort=createdAt&sortOrder=DESC",
              "method": "GET"
            }
          },
          "description": "Get N latest results"
        },
        {
          "name": "Get Detail",
          "value": "get",
          "action": "Get result detail",
          "routing": {
            "request": {
              "url": "=/api/v1/results/{{$parameter.resultId}}",
              "method": "GET"
            }
          },
          "description": "Get a result detail by its ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "result"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generalAgent",
      "options": [
        {
          "name": "Create General Agent Scraper",
          "value": "generalAgent",
          "action": "Create general agent",
          "routing": {
            "send": {
              "type": "body",
              "value": "general",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a general agent scraper using input link and message"
        },
        {
          "name": "Create Listing Agent Scraper",
          "value": "listingAgent",
          "action": "Create listing agent",
          "routing": {
            "send": {
              "type": "body",
              "value": "listing",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a listing agent scraper using input link and message"
        },
        {
          "name": "Create Map Agent Scraper",
          "value": "mapAgent",
          "action": "Create map agent",
          "routing": {
            "send": {
              "type": "body",
              "value": "map",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a map agent scraper using input link and message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "createScraper"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Run Manual Scraper",
      "value": "manual",
      "action": "Run manual scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-manual-rerun",
          "method": "POST"
        }
      },
      "description": "Run manual scraper given a Scraper ID and get the result"
    },
    {
      "name": "Run General Agent Scraper",
      "value": "generalAgent",
      "action": "Run general agent scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-ai-rerun",
          "method": "POST"
        }
      },
      "description": "Run general agent scraper given a Scraper ID and get the result"
    },
    {
      "name": "Run Listing Agent Scraper",
      "value": "listingAgent",
      "action": "Run listing agent scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-ai-rerun",
          "method": "POST"
        }
      },
      "description": "Run listing agent scraper given a Scraper ID and get the result"
    },
    {
      "name": "Run Map Agent Scraper",
      "value": "mapAgent",
      "action": "Run map agent scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-ai-rerun",
          "method": "POST"
        }
      },
      "description": "Run map agent scraper given a Scraper ID and get the result"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get results",
      "routing": {
        "request": {
          "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page={{$parameter.page}}&pageSize={{$parameter.pageSize}}&sort={{$parameter.sort}}&sortOrder={{$parameter.sortOrder}}",
          "method": "GET"
        }
      },
      "description": "Get results based on given page number, page size, filters, and sorting"
    },
    {
      "name": "Get Latest",
      "value": "getLatest",
      "action": "Get latest results",
      "routing": {
        "request": {
          "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page=1&pageSize={{$parameter.pageSize}}&sort=createdAt&sortOrder=DESC",
          "method": "GET"
        }
      },
      "description": "Get N latest results"
    },
    {
      "name": "Get Detail",
      "value": "get",
      "action": "Get result detail",
      "routing": {
        "request": {
          "url": "=/api/v1/results/{{$parameter.resultId}}",
          "method": "GET"
        }
      },
      "description": "Get a result detail by its ID"
    },
    {
      "name": "Create General Agent Scraper",
      "value": "generalAgent",
      "action": "Create general agent",
      "routing": {
        "send": {
          "type": "body",
          "value": "general",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a general agent scraper using input link and message"
    },
    {
      "name": "Create Listing Agent Scraper",
      "value": "listingAgent",
      "action": "Create listing agent",
      "routing": {
        "send": {
          "type": "body",
          "value": "listing",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a listing agent scraper using input link and message"
    },
    {
      "name": "Create Map Agent Scraper",
      "value": "mapAgent",
      "action": "Create map agent",
      "routing": {
        "send": {
          "type": "body",
          "value": "map",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a map agent scraper using input link and message"
    }
  ]

npm_readme:
  # n8n-nodes-mrscraper
  ![](./mrscraper.jpeg)

  This is an n8n community node. It lets you use **MrScraper** in your n8n workflows.

  **MrScraper** is an AI-powered web scraping tool that allows users to extract structured data from websites without needing extensive coding skills. User can create scraper once via chatting with our agent and use the same logic on other URLs.

  Main page: https://mrscraper.com

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.

  [Installation](#installation)
  [Operations](#operations)
  [Credentials](#credentials)
  [Compatibility](#compatibility)
  [Usage](#usage)
  [Resources](#resources)
  [Version history](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  _List of operations supported:_

  ### Create AI Scraper
  Create AI scraper programmatically. The nodes behave just like the code explained in this [docs](https://docs.mrscraper.com/docs/guides/programmatically#step-4-create-detail-scraper). There are 3 supported AI scrapers:
  1. General Agent Scraper: Retrieves URL HTML and converts it to a targeted JSON structure based on your prompt. Ideal for detail pages
  2. Listing Agent Scraper: Scrapes data from search results or listing pages with pagination, infinite scroll, or load more buttons
  3. Map Agent Scraper: Scrapes URLs from a starting URL until the specified number of unique URLs has been collected. Ideal for URL scraping on complex landing page.

  ### Rerun
  Re-execute your MrScraper scraping agent that you've developed on our platform or from the create AI Scraper. We provide 4 different operations corresponding to the 4 agent types available (manual only available from platform):
  1. Manual Scraper: Step-by-step scraping agent
  2. General Agent Scraper: Given a new URL, the agent retrieves its HTML and converts it to the same targeted JSON structure based on your previous prompt.
  3. Listing Agent Scraper: Given a new URL, the agent perform pagination clicking, infinite scroll, or load more buttons and scrape the data following the previous run when creating the scraper.
  4. Map Agent Scraper: Re-execute the map agent scraper.

  This operation provides parameters that match those in the MrScraper platform.

  ### Result
  Retrieve scraping results from MrScraper database:
  1. Get Many: Returns results in table format with pagination (page number, page size), filters, and sorting options
  2. Get Latest: Returns N most recent scraping results based on scraper ID
  3. Get Detail: Returns detailed scraping results including data, screenshots, and HTML

  ## Credentials

  **MrScraper API Token**

  MrScraper API token is the only authentication method available for this node. You can find your API key in the MrScraper API Tokens page.

  ## Compatibility

  This node has been tested with the following versions of N8N:
  - N8N 2.0.3

  ## Usage

  1. Develop your scraping agent (manual/general/listing/map) through our [platform](https://mrscraper.com)
  2. Activate scraper API access
  3. Integrate the param into n8n rerun operation
  4. Retrieve scraping result with n8n result operation


  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [MrScraper API documentation](https://docs.mrscraper.com/docs/getting-started/overview)

ai_documentation_summary:
  {"purpose":"Provides n8n actions to create, re-run, and retrieve results from MrScraper — an AI-powered web-scraping platform — so workflows can programmatically extract structured data from websites.","capabilities":["Create AI Scraper (programmatically) — supports General Agent Scraper, Listing Agent Scraper, Map Agent Scraper","Rerun existing scrapers — supports General Agent, Listing Agent, Map Agent (Manual scraper rerun is only available from the MrScraper platform)","Retrieve results — Get Many (table format with pagination, filters, sorting), Get Latest (N most recent results), Get Detail (data, screenshots, HTML)","Pass parameters matching the MrScraper platform for reruns (e.g., pagination/infinite scroll controls, URL input, max URLs for map scrapers)"],"authentication":"API key required (MrScraper API Token)","commonUseCases":["Extract structured data from detail pages using an AI scraper tailored by a prompt","Scrape lists/search results with pagination, infinite scroll, or load-more behavior","Collect unique URLs from complex landing pages using map scraping","Programmatically re-run scrapers against new URLs or datasets in n8n workflows","Retrieve results (including screenshots and HTML) for downstream processing, storage, or analysis"],"limitations":["Only MrScraper API token authentication is supported (no OAuth)","Manual scraper rerun is not available from the node — must be executed from the MrScraper platform","Requires creating/activating scrapers and enabling API access on the MrScraper platform before use","Node compatibility has only been tested with n8n 2.0.3 (other versions may vary)"],"relatedNodes":[]}


node_type: n8n-nodes-browserbase.browserbase
package_name: n8n-nodes-browserbase
display_name: Browserbase Agent
category: Community
development_style: declarative
version: 2
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: kylejeong
author_github_url: https://github.com/browserbase/n8n-node.git
npm_package_name: n8n-nodes-browserbase
npm_version: 1.1.0
community_fetched_at: 2026-02-19T14:41:52.562Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  AI-powered browser automation. Provide a URL and instruction, get results. Supports CUA (vision), DOM (selectors), and Hybrid modes.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "agent",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "execute",
      "options": [
        {
          "name": "Execute",
          "value": "execute",
          "action": "Execute an agent",
          "description": "Execute an AI agent to perform browser automation tasks"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Execute",
      "value": "execute",
      "action": "Execute an agent",
      "description": "Execute an AI agent to perform browser automation tasks"
    }
  ]

npm_readme:
  # n8n-nodes-browserbase

  This is an n8n community node that lets you automate browsers using [Browserbase](https://browserbase.com) powered by [Stagehand](https://stagehand.dev) in your n8n workflows.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Development / Testing with Docker

  ```bash
  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Run n8n with your node in Docker
  docker-compose up --build

  # Open http://localhost:5678 and search for "Browserbase" node
  ```

  To rebuild after changes:
  ```bash
  npm run build && docker-compose up --build
  ```

  ## How It Works

  The Browserbase Agent node is a single, self-contained node that:
  1. Creates a browser session
  2. Navigates to your starting URL
  3. Executes an AI agent to complete your task
  4. Closes the session automatically

  Just provide a URL and an instruction - the node handles everything else.

  ## Configuration

  ### Required Fields

  | Field | Description |
  |-------|-------------|
  | **Starting URL** | The page where the agent begins (e.g., `https://example.com`) |
  | **Instruction** | Natural language task for the agent to complete |

  ### Driver Model

  The driver model powers the browser session (navigation, DOM interactions). Choose from:

  - `google/gemini-2.5-flash` (Recommended - fast & cheap)
  - `google/gemini-2.5-pro`
  - `openai/gpt-4o`
  - `openai/gpt-4o-mini`
  - `anthropic/claude-sonnet-4-5-20250929`

  ### Agent Mode

  | Mode | Description | Best For |
  |------|-------------|----------|
  | **CUA** | Computer Use Agent - uses vision and coordinates | Complex UIs, visual interactions |
  | **DOM** | Uses DOM selectors - works with any LLM | Speed, simple pages |
  | **Hybrid** | Combines both approaches | Fallback reliability |

  ### Agent Models

  Models available depend on the selected mode:

  **CUA Mode:**
  - `google/gemini-2.5-computer-use-preview-10-2025`
  - `openai/computer-use-preview`
  - `anthropic/claude-sonnet-4-20250514`
  - `anthropic/claude-sonnet-4-5-20250929`
  - `anthropic/claude-haiku-4-5-20251001`

  **DOM Mode:**
  - `google/gemini-2.5-flash`
  - `google/gemini-2.5-pro`
  - `openai/gpt-4o`
  - `openai/gpt-4o-mini`
  - `anthropic/claude-sonnet-4-5-20250929`

  **Hybrid Mode:**
  - `google/gemini-3-flash-preview`
  - `anthropic/claude-sonnet-4-20250514`
  - `anthropic/claude-haiku-4-5-20251001`

  ## Credentials

  You need three credentials:

  | Credential | Description |
  |------------|-------------|
  | **Browserbase API Key** | Your Browserbase API key |
  | **Browserbase Project ID** | Your Browserbase project ID |
  | **Model API Key** | API key for your chosen model provider |

  > **Important:** The Model API Key must match the provider of your models. If using Google models, provide a Google API key. If using OpenAI, provide an OpenAI key.

  ### Getting Credentials

  1. Sign up at [Browserbase](https://browserbase.com)
  2. Navigate to your dashboard for API key and Project ID
  3. Get an API key from your model provider:
     - [Google AI Studio](https://aistudio.google.com/apikey)
     - [OpenAI](https://platform.openai.com/api-keys)
     - [Anthropic](https://console.anthropic.com/)

  ## Example Usage

  **Simple extraction:**
  - URL: `https://news.ycombinator.com`
  - Instruction: `Find the top 3 stories and return their titles and URLs`

  **Form filling:**
  - URL: `https://example.com/contact`
  - Instruction: `Fill out the contact form with name "John Doe" and email "john@example.com", then submit`

  **Navigation + action:**
  - URL: `https://github.com`
  - Instruction: `Search for "stagehand" and click on the first repository result`

  ## Output

  The node returns an `AgentResult` object:

  ```json
  {
    "success": true,
    "message": "Task completed successfully",
    "actions": [
      { "type": "act", "action": "clicked submit button" }
    ],
    "completed": true,
    "usage": {
      "input_tokens": 1250,
      "output_tokens": 340,
      "inference_time_ms": 2500
    },
    "sessionId": "abc-123"
  }
  ```

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Browserbase Documentation](https://docs.browserbase.com)
  - [Stagehand Documentation](https://docs.stagehand.dev)

ai_documentation_summary:
  {"purpose":"Automate browser tasks using an AI agent: provide a starting URL and natural-language instruction and the node will create a browser session, perform the requested actions (via vision, DOM selectors, or a hybrid approach), and return structured results.","capabilities":["Create and manage a browser session (auto-open and auto-close)","Navigate to a starting URL","Execute an AI agent to interact with pages","Three agent modes: CUA (vision/coordinate-based), DOM (selector-based), and Hybrid (combines both)","Support for multiple driver and agent models (Google, OpenAI, Anthropic variants)","Perform common UI actions: extraction/scraping, form filling and submission, clicking, navigation","Select driver model that controls navigation/DOM interactions","Return structured AgentResult (success, message, actions performed, usage metrics, sessionId)"],"authentication":"API keys required: Browserbase API Key, Browserbase Project ID, and a Model API Key for the chosen model provider (Google/OpenAI/Anthropic). The Model API Key must match the provider of the selected model.","commonUseCases":["Extract top stories or structured data from a webpage (web scraping)","Auto-fill and submit forms (e.g., contact forms)","Automated navigation and UI interactions (search and click flows)","Interact with complex visual UIs using vision-based agent (CUA) or use DOM selectors for faster/simpler pages"],"limitations":["Requires a Browserbase account and project (Browserbase API key + Project ID)","Model API Key must match the provider of the selected model (e.g., Google key for Google models)","Available agent/model selections are constrained by chosen mode (CUA, DOM, Hybrid) and listed supported models","Compatible only with n8n versions 1.60.0 or later"],"relatedNodes":[]}


node_type: n8n-nodes-dart.dart
package_name: n8n-nodes-dart
display_name: Dart
description: Dart streamlines project management so your team can get back to work that matters.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: dart-software
author_github_url: https://github.com/its-dart/
npm_package_name: n8n-nodes-dart
npm_version: 0.2.4
community_fetched_at: 2026-02-19T14:41:52.563Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Attachment",
      "options": [
        {
          "name": "Attachment",
          "value": "Attachment"
        },
        {
          "name": "Comment",
          "value": "Comment"
        },
        {
          "name": "Config",
          "value": "Config"
        },
        {
          "name": "Dartboard",
          "value": "Dartboard"
        },
        {
          "name": "Doc",
          "value": "Doc"
        },
        {
          "name": "Folder",
          "value": "Folder"
        },
        {
          "name": "Help Center Article",
          "value": "Help Center Article"
        },
        {
          "name": "Skill",
          "value": "Skill"
        },
        {
          "name": "Task",
          "value": "Task"
        },
        {
          "name": "View",
          "value": "View"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Task Comment",
      "options": [
        {
          "name": "Add Task Comment",
          "value": "Add Task Comment",
          "action": "Create a new comment",
          "routing": {
            "request": {
              "url": "=/comments",
              "method": "POST"
            }
          },
          "description": "Record a new comment that the user intends to add to a given task. This will save the comment in Dart for later access, search, etc."
        },
        {
          "name": "List Comments",
          "value": "List Comments",
          "action": "List comments",
          "routing": {
            "request": {
              "url": "=/comments/list",
              "method": "GET"
            }
          },
          "description": "List comments for a task with filtering options. Filter by author, text content, or date range. Sort by date or hierarchical thread order. Task ID required. Supports pagination."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Comment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Config",
      "options": [
        {
          "name": "Get Config",
          "value": "Get Config",
          "action": "Get user space configuration",
          "routing": {
            "request": {
              "url": "=/config",
              "method": "GET"
            }
          },
          "description": "Get information about the user's space, including all of the possible values that can be provided to other endpoints"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Config"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Dartboard",
      "options": [
        {
          "name": "Get Dartboard",
          "value": "Get Dartboard",
          "action": "Retrieve an existing dartboard",
          "routing": {
            "request": {
              "url": "=/dartboards/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing dartboard. This will return the dartboard's information, including the title and description."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Dartboard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Doc",
      "options": [
        {
          "name": "Create Doc",
          "value": "Create Doc",
          "action": "Create a new doc",
          "routing": {
            "request": {
              "url": "=/docs",
              "method": "POST"
            }
          },
          "description": "Record a new doc that the user intends to write down. This will save the doc in Dart for later access, search, etc. By default the created doc will be in the Docs folder. More information can be included in the text."
        },
        {
          "name": "Delete Doc",
          "value": "Delete Doc",
          "action": "Delete an existing doc",
          "routing": {
            "request": {
              "url": "=/docs/{{$parameter[\"id\"]}}",
              "method": "DELETE"
            }
          },
          "description": "Move an existing doc to the trash, where it can be recovered if needed. Nothing else about the doc will be changed."
        },
        {
          "name": "Get Doc",
          "value": "Get Doc",
          "action": "Retrieve an existing doc",
          "routing": {
            "request": {
              "url": "=/docs/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing doc. This will return the doc's information, including the title, folder, text and others."
        },
        {
          "name": "List Docs",
          "value": "List Docs",
          "action": "List docs",
          "routing": {
            "request": {
              "url": "=/docs/list",
              "method": "GET"
            }
          },
          "description": "List docs with filtering and search capabilities. Filter by folder, title, text content, or use full-text search. Sort by creation/update date or title. Supports pagination."
        },
        {
          "name": "Update Doc",
          "value": "Update Doc",
          "action": "Update an existing doc",
          "routing": {
            "request": {
              "url": "=/docs/{{$parameter[\"id\"]}}",
              "method": "PUT"
            }
          },
          "description": "Update certain properties of an existing doc. This will save the doc in Dart for later access, search, etc. Any properties that are not specified will not be changed."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Folder",
      "options": [
        {
          "name": "Get Folder",
          "value": "Get Folder",
          "action": "Retrieve an existing folder",
          "routing": {
            "request": {
              "url": "=/folders/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing folder. This will return the folder's information, including the title, description, all docs within it, and others."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "List Help Center Articles",
      "options": [
        {
          "name": "List Help Center Articles",
          "value": "List Help Center Articles",
          "action": "List help center articles by query",
          "routing": {
            "request": {
              "url": "=/help-center-articles/list",
              "method": "GET"
            }
          },
          "description": "Search for up to two help center articles by their semantic similarity to a short (1-5 word) query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Help Center Article"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Retrieve Skill By Title",
      "options": [
        {
          "name": "Retrieve Skill By Title",
          "value": "Retrieve Skill By Title",
          "action": "Retrieve a skill by title",
          "routing": {
            "request": {
              "url": "=/skills/by-title",
              "method": "GET"
            }
          },
          "description": "Retrieve a skill by its title. Skills are user-defined instructions or templates for performing specific task types in the workspace. Returns the skill's title and instructions if found."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Skill"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Task Time Tracking",
      "options": [
        {
          "name": "Add Task Time Tracking",
          "value": "Add Task Time Tracking",
          "action": "Add a time tracking entry to a task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}/time-tracking",
              "method": "POST"
            }
          },
          "description": "Record an additional time tracking entry on a task and return the updated task with refreshed time tracking"
        },
        {
          "name": "Create Task",
          "value": "Create Task",
          "action": "Create a new task",
          "routing": {
            "request": {
              "url": "=/tasks",
              "method": "POST"
            }
          },
          "description": "Record a new task that the user intends to do. By default the task will be assigned to the current user, have an unstarted status, have no parent, and be in the default dartboard. More information can be included in the description."
        },
        {
          "name": "Delete Task",
          "value": "Delete Task",
          "action": "Delete an existing task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}",
              "method": "DELETE"
            }
          },
          "description": "Move an existing task to the trash, where it can be recovered if needed. Nothing else about the task will be changed."
        },
        {
          "name": "Get Task",
          "value": "Get Task",
          "action": "Retrieve an existing task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing task. This will return the task's information, including the title, dartboard, status, description and others."
        },
        {
          "name": "List Tasks",
          "value": "List Tasks",
          "action": "List tasks",
          "routing": {
            "request": {
              "url": "=/tasks/list",
              "method": "GET"
            }
          },
          "description": "List tasks with powerful filtering options. Filter by dartboard, status, assignee, tags, priority, dates, completion state, view, and more. Supports pagination with limit/offset."
        },
        {
          "name": "Move Task",
          "value": "Move Task",
          "action": "Move a task within its dartboard",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}/move",
              "method": "POST"
            }
          },
          "description": "Move a task to a specific position within results sorted by the order field. Use afterTaskId to place the task after a specific task, or beforeTaskId to place it before one."
        },
        {
          "name": "Update Task",
          "value": "Update Task",
          "action": "Update an existing task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}",
              "method": "PUT"
            }
          },
          "description": "Update properties of an existing task. For customProperties, use property NAME (not ID) as key. Get property names from workspace config. Example: {\"customTextProperty\": \"Some text\"}. Fields not provided are unchanged."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Task Attachment From Url",
      "options": [
        {
          "name": "Add Task Attachment From Url",
          "value": "Add Task Attachment From Url",
          "action": "Attach a file from a provided URL to a task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}/attachments/from-url",
              "method": "POST"
            }
          },
          "description": "Attach a file from a provided URL to a task. The file will be downloaded and attached asynchronously. This operation may take a few moments to complete."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Attachment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get View",
      "options": [
        {
          "name": "Get View",
          "value": "Get View",
          "action": "Retrieve an existing view",
          "routing": {
            "request": {
              "url": "=/views/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing view. This will return the view's information, including the title, description, and others."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "View"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Comment"
          ],
          "operation": [
            "Add Task Comment"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /comments/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Comment"
          ],
          "operation": [
            "List Comments"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /config",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Config"
          ],
          "operation": [
            "Get Config"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /dartboards/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Dartboard"
          ],
          "operation": [
            "Get Dartboard"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /docs",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Create Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /docs/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Get Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /docs/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Update Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /docs/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Delete Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /docs/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "List Docs"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /folders/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Folder"
          ],
          "operation": [
            "Get Folder"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /help-center-articles/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Help Center Article"
          ],
          "operation": [
            "List Help Center Articles"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /skills/by-title",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Skill"
          ],
          "operation": [
            "Retrieve Skill By Title"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Create Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tasks/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Get Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /tasks/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Update Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /tasks/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Delete Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks/{ID}/attachments/from-url",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Attachment"
          ],
          "operation": [
            "Add Task Attachment From Url"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks/{ID}/move",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Move Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks/{ID}/time-tracking",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Add Task Time Tracking"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tasks/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "List Tasks"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /views/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "View"
          ],
          "operation": [
            "Get View"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "name": "Add Task Comment",
      "value": "Add Task Comment",
      "action": "Create a new comment",
      "routing": {
        "request": {
          "url": "=/comments",
          "method": "POST"
        }
      },
      "description": "Record a new comment that the user intends to add to a given task. This will save the comment in Dart for later access, search, etc."
    },
    {
      "name": "List Comments",
      "value": "List Comments",
      "action": "List comments",
      "routing": {
        "request": {
          "url": "=/comments/list",
          "method": "GET"
        }
      },
      "description": "List comments for a task with filtering options. Filter by author, text content, or date range. Sort by date or hierarchical thread order. Task ID required. Supports pagination."
    },
    {
      "name": "Get Config",
      "value": "Get Config",
      "action": "Get user space configuration",
      "routing": {
        "request": {
          "url": "=/config",
          "method": "GET"
        }
      },
      "description": "Get information about the user's space, including all of the possible values that can be provided to other endpoints"
    },
    {
      "name": "Get Dartboard",
      "value": "Get Dartboard",
      "action": "Retrieve an existing dartboard",
      "routing": {
        "request": {
          "url": "=/dartboards/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing dartboard. This will return the dartboard's information, including the title and description."
    },
    {
      "name": "Create Doc",
      "value": "Create Doc",
      "action": "Create a new doc",
      "routing": {
        "request": {
          "url": "=/docs",
          "method": "POST"
        }
      },
      "description": "Record a new doc that the user intends to write down. This will save the doc in Dart for later access, search, etc. By default the created doc will be in the Docs folder. More information can be included in the text."
    },
    {
      "name": "Delete Doc",
      "value": "Delete Doc",
      "action": "Delete an existing doc",
      "routing": {
        "request": {
          "url": "=/docs/{{$parameter[\"id\"]}}",
          "method": "DELETE"
        }
      },
      "description": "Move an existing doc to the trash, where it can be recovered if needed. Nothing else about the doc will be changed."
    },
    {
      "name": "Get Doc",
      "value": "Get Doc",
      "action": "Retrieve an existing doc",
      "routing": {
        "request": {
          "url": "=/docs/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing doc. This will return the doc's information, including the title, folder, text and others."
    },
    {
      "name": "List Docs",
      "value": "List Docs",
      "action": "List docs",
      "routing": {
        "request": {
          "url": "=/docs/list",
          "method": "GET"
        }
      },
      "description": "List docs with filtering and search capabilities. Filter by folder, title, text content, or use full-text search. Sort by creation/update date or title. Supports pagination."
    },
    {
      "name": "Update Doc",
      "value": "Update Doc",
      "action": "Update an existing doc",
      "routing": {
        "request": {
          "url": "=/docs/{{$parameter[\"id\"]}}",
          "method": "PUT"
        }
      },
      "description": "Update certain properties of an existing doc. This will save the doc in Dart for later access, search, etc. Any properties that are not specified will not be changed."
    },
    {
      "name": "Get Folder",
      "value": "Get Folder",
      "action": "Retrieve an existing folder",
      "routing": {
        "request": {
          "url": "=/folders/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing folder. This will return the folder's information, including the title, description, all docs within it, and others."
    },
    {
      "name": "List Help Center Articles",
      "value": "List Help Center Articles",
      "action": "List help center articles by query",
      "routing": {
        "request": {
          "url": "=/help-center-articles/list",
          "method": "GET"
        }
      },
      "description": "Search for up to two help center articles by their semantic similarity to a short (1-5 word) query"
    },
    {
      "name": "Retrieve Skill By Title",
      "value": "Retrieve Skill By Title",
      "action": "Retrieve a skill by title",
      "routing": {
        "request": {
          "url": "=/skills/by-title",
          "method": "GET"
        }
      },
      "description": "Retrieve a skill by its title. Skills are user-defined instructions or templates for performing specific task types in the workspace. Returns the skill's title and instructions if found."
    },
    {
      "name": "Add Task Time Tracking",
      "value": "Add Task Time Tracking",
      "action": "Add a time tracking entry to a task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}/time-tracking",
          "method": "POST"
        }
      },
      "description": "Record an additional time tracking entry on a task and return the updated task with refreshed time tracking"
    },
    {
      "name": "Create Task",
      "value": "Create Task",
      "action": "Create a new task",
      "routing": {
        "request": {
          "url": "=/tasks",
          "method": "POST"
        }
      },
      "description": "Record a new task that the user intends to do. By default the task will be assigned to the current user, have an unstarted status, have no parent, and be in the default dartboard. More information can be included in the description."
    },
    {
      "name": "Delete Task",
      "value": "Delete Task",
      "action": "Delete an existing task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}",
          "method": "DELETE"
        }
      },
      "description": "Move an existing task to the trash, where it can be recovered if needed. Nothing else about the task will be changed."
    },
    {
      "name": "Get Task",
      "value": "Get Task",
      "action": "Retrieve an existing task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing task. This will return the task's information, including the title, dartboard, status, description and others."
    },
    {
      "name": "List Tasks",
      "value": "List Tasks",
      "action": "List tasks",
      "routing": {
        "request": {
          "url": "=/tasks/list",
          "method": "GET"
        }
      },
      "description": "List tasks with powerful filtering options. Filter by dartboard, status, assignee, tags, priority, dates, completion state, view, and more. Supports pagination with limit/offset."
    },
    {
      "name": "Move Task",
      "value": "Move Task",
      "action": "Move a task within its dartboard",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}/move",
          "method": "POST"
        }
      },
      "description": "Move a task to a specific position within results sorted by the order field. Use afterTaskId to place the task after a specific task, or beforeTaskId to place it before one."
    },
    {
      "name": "Update Task",
      "value": "Update Task",
      "action": "Update an existing task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}",
          "method": "PUT"
        }
      },
      "description": "Update properties of an existing task. For customProperties, use property NAME (not ID) as key. Get property names from workspace config. Example: {\"customTextProperty\": \"Some text\"}. Fields not provided are unchanged."
    },
    {
      "name": "Add Task Attachment From Url",
      "value": "Add Task Attachment From Url",
      "action": "Attach a file from a provided URL to a task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}/attachments/from-url",
          "method": "POST"
        }
      },
      "description": "Attach a file from a provided URL to a task. The file will be downloaded and attached asynchronously. This operation may take a few moments to complete."
    },
    {
      "name": "Get View",
      "value": "Get View",
      "action": "Retrieve an existing view",
      "routing": {
        "request": {
          "url": "=/views/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing view. This will return the view's information, including the title, description, and others."
    }
  ]

npm_readme:
  <div align="center">
    <h1>Dart n8n Node</h1>
    <p>
      <a href="https://www.npmjs.com/package/n8n-nodes-dart"><img src="https://img.shields.io/npm/v/n8n-nodes-dart" alt="NPM"></a>
      <a href="LICENSE"><img src="https://img.shields.io/github/license/its-dart/n8n-nodes-dart" alt="License"></a>
    </p>
  </div>

  [Dart](https://dartai.com?nr=1) is Project Management powered by AI.

  `n8n-nodes-dart` is the Dart n8n community node. It enables direct integration with Dart through n8n workflows.

  - [Installation](#installation)
  - [Credentials](#credentials)
  - [Resources](#resources)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Credentials

  This node uses bearer token authentication with the Dart API. You'll need to:

  1. Sign up for a [Dart account](https://app.dartai.com)
  2. Get your API token from [your Dart profile](https://app.dartai.com/home?settings=account)
  3. Configure the Dart API credentials in n8n with your token

  ## Help and Resources

  - [Homepage](https://dartai.com/?nr=1)
  - [Web App](https://app.dartai.com/)
  - [Help Center](https://help.dartai.com/)
  - [Bugs and Features](https://app.dartai.com/p/r/JFyPnhL9En61)
  - [Library Source](https://github.com/its-dart/n8n-nodes-dart/)
  - [Chat on Discord](https://discord.gg/RExv8jEkSh)
  - Email us at [support@dartai.com](mailto:support@dartai.com)

  ## Contributing

  Contributions are welcome! Please open an issue or submit a pull request.

  ## License

  This project is licensed under [the MIT License](LICENSE).

ai_documentation_summary:
  {"purpose":"Provides an n8n community node to integrate n8n workflows with the Dart AI project-management platform, enabling automation and programmatic access to Dart resources.","capabilities":["Authenticate to the Dart API and make authorized requests","Perform CRUD-style operations against Dart API resources (e.g., create, get, update, delete, list) — typically projects, tasks, users, workspaces and comments (as exposed by the Dart API)","Integrate Dart actions into n8n workflows to automate project and task management","Pass data between n8n and Dart for automations such as task creation, updates, and status changes"],"authentication":"Bearer token (API token required from your Dart account)","commonUseCases":["Automatically create or update Dart tasks from form submissions, issue trackers, or support tickets","Synchronize tasks and project state between Dart and other systems (e.g., CRM, issue tracker)","Generate or update tasks using AI-driven suggestions from Dart within n8n workflows","Send notifications or create audit entries in Dart when external events occur","Enrich workflow data with Dart user/workspace/project information"],"limitations":["README does not enumerate the node's exact resources/actions or provide example operations — consult the node source or the Dart API docs for detailed endpoints","Requires an active Dart account and API token to use","No details in the README about triggers, rate limits, error handling, or pagination behavior — these depend on the underlying Dart API","Community node (not explicitly an official n8n integration) — feature support and maintenance may vary"],"relatedNodes":["HTTP Request (for making custom or unsupported API calls)","Webhook (to receive external events and trigger workflows)","Function / FunctionItem (for transforming data between n8n and Dart formats)","Cron / Schedule Trigger (to poll or run periodic syncs)"]}


node_type: n8n-nodes-neverbounce-email-verification.nbEmailVerification
package_name: n8n-nodes-neverbounce-email-verification
display_name: NeverBounce Email Verification
description: Verify email addresses using NeverBounce API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: omri.katz
author_github_url: https://github.com/NeverBounce/n8n-nodes-neverbounce.git
npm_package_name: n8n-nodes-neverbounce-email-verification
npm_version: 1.0.20
community_fetched_at: 2026-02-19T14:41:52.563Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "email",
      "options": [
        {
          "name": "Email",
          "value": "email"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "verify",
      "options": [
        {
          "name": "Verify",
          "value": "verify",
          "action": "Verify an email address",
          "description": "Verify an email address"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "email"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Verify",
      "value": "verify",
      "action": "Verify an email address",
      "description": "Verify an email address"
    }
  ]

npm_readme:
  # NeverBounce Email Verification Node

  This node allows you to verify email addresses using the NeverBounce API, providing detailed validation results to improve email deliverability and reduce bounce rates in your workflows.

  ## Overview

  The NeverBounce Email Verification node connects to the NeverBounce API to validate email addresses. It checks if an email address is valid, invalid, disposable, a catch-all address, or if its status is unknown. The node provides detailed verification results including status codes, flags, and suggested corrections for potentially misspelled domains.

  ## Prerequisites

  - **NeverBounce API Key**: You need a valid API key from NeverBounce to use this node. You can obtain one by signing up at [NeverBounce](https://neverbounce.com/).

  ## Input Parameters

  ### Operation
  - **Verify Email**: Validates an email address using the NeverBounce API.

  ### API Endpoint
  - **API Endpoint**: The NeverBounce API endpoint to use. Default is `https://api.neverbounce.com'`.

  ### Email Field
  - **Email Field**: The name of the field in the input data that contains the email address to verify. Default is `email`.

  ### Additional Fields (Optional)
  - **Output Field Name**: The name of the field where verification results will be stored. Default is `verification_result`.
  - **Timeout**: Timeout in seconds for the API request. Default is 30 seconds.

  ## Output Fields

  The node adds the verification results to the output data in the specified output field (default: `verification_result`). The results include:

  - **valid**: Boolean indicating if the email is valid.
  - **status**: String representation of the verification status (`valid`, `invalid`, `disposable`, `catchall`, or `unknown`).
  - **status_code**: Numeric code representing the verification status:
    - `0`: Valid
    - `1`: Invalid
    - `2`: Disposable
    - `3`: Catchall
    - `4`: Unknown
  - **flags**: Array of flags providing additional information about the email address.
  - **suggested_correction**: Suggested correction for potentially misspelled domains (if available).
  - **raw_response**: The complete raw response from the NeverBounce API.

  Additionally, the node adds two metadata fields:
  - **email_verified**: Boolean set to `true` indicating the email has been verified.
  - **verification_timestamp**: ISO timestamp of when the verification was performed.

  ## Examples

  ### Basic Email Verification

  This example shows how to verify an email address and use the results in a workflow.

  1. **HTTP Request node**: Receives a webhook with an email to verify.
  2. **NeverBounce Email Verification node**: Verifies the email address.
     - Set "Email Field" to `email`
     - Leave other settings as default
  3. **IF node**: Routes the workflow based on verification results.
     - If `{{$json.verification_result.valid}} === true`, proceed with sending email
     - Otherwise, handle invalid email (e.g., notify user, log error)

  ### Bulk Email Verification with Custom Output Field

  This example shows how to verify multiple emails with a custom output field.

  1. **Spreadsheet node**: Reads a list of email addresses from a CSV file.
  2. **NeverBounce Email Verification node**: Verifies each email address.
     - Set "Email Field" to the column name containing emails
     - Set "Output Field Name" to `nb_verification`
  3. **Filter node**: Filters out invalid emails.
     - Set condition to `{{$json.nb_verification.valid}} === true`
  4. **Spreadsheet node**: Saves valid emails to a new spreadsheet.

  ## Additional Resources

  - [NeverBounce N8N Node Repository](https://github.com/NeverBounce/n8n-nodes-neverbounce)
  - [NeverBounce API Documentation](https://developers.neverbounce.com/docs)
  - [Email Deliverability Best Practices](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.nbemailverification/)

ai_documentation_summary:
  {"purpose":"Verify email addresses using the NeverBounce API to determine validity, detect disposable or catch-all addresses, and provide detailed verification metadata to improve deliverability and reduce bounces.","capabilities":["Verify a single email address using the NeverBounce API (operation: Verify Email)","Return detailed verification results: valid (boolean), status (valid/invalid/disposable/catchall/unknown), status_code (0-4), flags (array), suggested_correction, and raw_response","Add metadata fields: email_verified (boolean) and verification_timestamp (ISO timestamp)","Configure which input field contains the email (Email Field) and where results are stored (Output Field Name)","Configure API endpoint (default https://api.neverbounce.com) and request timeout (default 30 seconds)","Detect disposable and catch-all addresses and suggest domain corrections when available"],"authentication":"API key required","commonUseCases":["Validate email received from a webhook or form before sending transactional email","Bulk-verify lists of emails from a spreadsheet/CSV by iterating over rows and filtering valid addresses","Filter or route workflow execution based on verification status (e.g., use IF node to only send to valid addresses)","Enrich contact records with verification metadata and raw API response for logging or audit","Automatically detect and correct likely misspelled email domains using suggested_correction"],"limitations":["Requires a NeverBounce API key (no other auth methods documented)","Node exposes only a single 'Verify Email' operation — no built-in bulk/batch verification; bulk workflows must iterate per item","No explicit handling of rate limiting, retries, or exponential backoff described in the README","Default timeout is 30 seconds; long-running verifications or slow responses may need workflow-level handling"],"relatedNodes":["HTTP Request node","Spreadsheet node","IF node","Filter node"]}


node_type: n8n-nodes-copyseeker.copyseeker
package_name: n8n-nodes-copyseeker
display_name: Copyseeker
description: Reverse image search and copyright analysis
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: copyseeker
author_github_url: https://github.com/man-tas/
npm_package_name: n8n-nodes-copyseeker
npm_version: 1.0.5
community_fetched_at: 2026-02-19T14:41:52.564Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Image",
          "value": "image"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "reverseSearch",
      "options": [
        {
          "name": "Reverse Search",
          "value": "reverseSearch",
          "action": "Perform reverse image search",
          "description": "Find where an image appears online"
        },
        {
          "name": "Site-Specific Search",
          "value": "siteSearch",
          "action": "Search specific site for image",
          "description": "Search for image on a specific website"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Reverse Search",
      "value": "reverseSearch",
      "action": "Perform reverse image search",
      "description": "Find where an image appears online"
    },
    {
      "name": "Site-Specific Search",
      "value": "siteSearch",
      "action": "Search specific site for image",
      "description": "Search for image on a specific website"
    }
  ]

npm_readme:
  # n8n-nodes-copyseeker

  n8n community node for [Copyseeker](https://copyseeker.net) - Reverse Image Search API

  [Installation](#installation) • [Configuration](#configuration) • [Operations](#operations) • [Use Cases](#use-cases) • [Support](#support)

  ## Installation

  ### Via n8n Community Nodes

  1. Go to **Settings** > **Community Nodes**
  2. Click **Install**
  3. Enter `n8n-nodes-copyseeker`
  4. Click **Install**

  ### Via npm
  ```bash
  npm install n8n-nodes-copyseeker
  ```

  ## Prerequisites

  Get your API key from [RapidAPI Copyseeker](https://rapidapi.com/copyseeker1-copyseeker-default/api/reverse-image-search-by-copyseeker)

  ## Configuration

  1. Add **Copyseeker** node to workflow
  2. Click **Create New Credentials**
  3. Enter your RapidAPI key
  4. Save

  ## Operations

  ### Reverse Image Search

  Find where an image appears online.

  **Input:**
  - Image URL (required)
  - Return Full Response (optional)
  - Filter by Minimum Rank (optional)
  - Include Visual Similar Images (optional)

  **Output:**
  ```json
  {
    "bestGuess": "logo design",
    "totalMatches": 15,
    "highestRankedSource": {
      "url": "https://example.com",
      "title": "Example Website",
      "rank": 8.5
    },
    "topEntities": ["Web Design", "Logo", "Branding"],
    "visuallySimilarCount": 23,
    "allPages": [],
    "entities": [],
    "visuallySimilar": []
  }
  ```

  ### Site-Specific Search

  Search for an image on a specific website.

  **Input:**
  - Image URL (required)
  - Target Site (required) - domain without protocol
  - Return Full Response (optional)
  - Filter by Minimum Rank (optional)
  - Include Visual Similar Images (optional)

  ## Use Cases

  ### Copyright Protection
  Monitor unauthorized use of your images across the web.

  ### E-commerce Visual Search
  Enable customers to find products by uploading images.

  ### Brand Protection
  Detect counterfeit products and unauthorized logo usage.

  ### Content Moderation
  Filter duplicate or previously flagged content.

  ### Fraud Detection
  Verify profile photos in dating apps, insurance claims, job applications.

  ### Fact-Checking
  Verify image authenticity and track original sources.

  ## Page Authority Scores

  | Score | Authority |
  |-------|-----------|
  | 8.0-10.0 | Very High - Major sites, likely original |
  | 6.0-7.9 | High - Established sites |
  | 4.0-5.9 | Medium - Regular sites |
  | 2.0-3.9 | Low - Smaller sites |
  | 0.0-1.9 | Very Low - New or low-authority |

  ## Best Practices

  **Do:**
  - Use direct image URLs (.jpg, .png, .gif, .webp)
  - Keep images under 10MB
  - Implement error handling
  - Cache results when possible
  - Use minimum rank filtering

  **Don't:**
  - Use HTML page URLs
  - Include protocol in Target Site
  - Exceed rate limits
  - Process same image repeatedly

  ## Troubleshooting

  **No matches found**
  - Verify URL is direct and public
  - Image may be too new to index

  **Rate limit exceeded**
  - Check RapidAPI plan limits
  - Add delays between requests

  **Invalid credentials**
  - Verify RapidAPI key
  - Check subscription status

  ## Support

  - [Copyseeker Website](https://copyseeker.net)
  - [GitHub Issues](https://github.com/man-tas/n8n-nodes-copyseeker/issues)
  - [RapidAPI Page](https://rapidapi.com/copyseeker1-copyseeker-default/api/reverse-image-search-by-copyseeker)

  ## License

  MIT

  ---

  Built for the n8n community • [Documentation](https://docs.n8n.io/integrations/community-nodes/)

ai_documentation_summary:
  {"purpose":"Provides reverse image search and copyright/brand analysis by locating where an image appears online, returning match metadata and visually similar images.","capabilities":["Reverse Image Search: find occurrences of an image on the web and return summary fields (bestGuess, totalMatches, highestRankedSource, topEntities)","Site-Specific Search: limit search to a single target domain","Include visually similar images in results","Filter results by minimum rank / page authority","Option to return full raw API response","Outputs structured data: visuallySimilarCount, allPages, entities, visuallySimilar and authority/rank values"],"authentication":"API key required (RapidAPI key via node credentials)","commonUseCases":["Copyright protection and monitoring unauthorized use of images","E-commerce visual search to find products by image","Brand protection and counterfeit detection","Content moderation to detect duplicates or flagged content","Fraud detection (profile/photo verification)"],"limitations":["Requires direct public image URLs (no HTML page URLs); include only image file URLs (.jpg, .png, .gif, .webp)","Images should be under 10MB","Target Site must be provided without protocol","Subject to RapidAPI rate limits and plan restrictions","New images may not be indexed yet and can return no matches"],"relatedNodes":[]}


node_type: @coginiti/n8n-nodes-coginiti.coginiti
package_name: @coginiti/n8n-nodes-coginiti
display_name: Coginiti
description: Interact with Coginiti API (Catalog, Execute, Identity Management)
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: dimabreeze
author_github_url: https://github.com/coginiti-dev/n8n-nodes-coginiti.git
npm_package_name: @coginiti/n8n-nodes-coginiti
npm_version: 1.1.2
community_fetched_at: 2026-02-19T14:41:52.564Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "execute",
      "options": [
        {
          "name": "Catalog",
          "value": "catalog",
          "description": "Browse catalog assets"
        },
        {
          "name": "Execute",
          "value": "execute",
          "description": "Execute scripts, blocks, and tests"
        },
        {
          "name": "Group",
          "value": "group",
          "description": "Manage groups"
        },
        {
          "name": "User",
          "value": "user",
          "description": "Manage users"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listAssets",
      "options": [
        {
          "name": "Get Asset",
          "value": "getAsset",
          "action": "Get asset by path",
          "description": "Get a single asset by path"
        },
        {
          "name": "List Assets",
          "value": "listAssets",
          "action": "List catalog assets",
          "description": "List catalog assets by given path"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "catalog"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "executeScript",
      "options": [
        {
          "name": "Execute Block",
          "value": "executeBlock",
          "action": "Execute block",
          "description": "Execute a CoginitiScript block"
        },
        {
          "name": "Execute Script",
          "value": "executeScript",
          "action": "Execute script",
          "description": "Execute a SQL script from catalog"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "execute"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create user",
          "description": "Create a new user"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete user",
          "description": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get user",
          "description": "Get a user by ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List users",
          "description": "List all users"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update user",
          "description": "Update a user"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create group",
          "description": "Create a new group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete group",
          "description": "Delete a group"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get group",
          "description": "Get a group by ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List groups",
          "description": "List all groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update group",
          "description": "Update a group"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Asset",
      "value": "getAsset",
      "action": "Get asset by path",
      "description": "Get a single asset by path"
    },
    {
      "name": "List Assets",
      "value": "listAssets",
      "action": "List catalog assets",
      "description": "List catalog assets by given path"
    },
    {
      "name": "Execute Block",
      "value": "executeBlock",
      "action": "Execute block",
      "description": "Execute a CoginitiScript block"
    },
    {
      "name": "Execute Script",
      "value": "executeScript",
      "action": "Execute script",
      "description": "Execute a SQL script from catalog"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create user",
      "description": "Create a new user"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete user",
      "description": "Delete a user"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get user",
      "description": "Get a user by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List users",
      "description": "List all users"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update user",
      "description": "Update a user"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create group",
      "description": "Create a new group"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete group",
      "description": "Delete a group"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get group",
      "description": "Get a group by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List groups",
      "description": "List all groups"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update group",
      "description": "Update a group"
    }
  ]

npm_readme:
  # @coginiti/n8n-nodes-coginiti

  This is an n8n community node. It lets you use [Coginiti API](https://support.coginiti.co/hc/categories/18554190258711-API) in your n8n workflows.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)
  [Operations](#operations)
  [Credentials](#credentials)
  [Compatibility](#compatibility)
  [Resources](#resources)
  [Version history](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  Supports all of the Coginiti API operations as of Nov-11, 2025

  ## Credentials

  Coginiti API Token is required to run Coginiti automations, read more about [managing personal access tokens](https://support.coginiti.co/hc/articles/18723746168087-Managing-Personal-Access-Tokens).

  ## Compatibility

  Coginiti node was tested against n8n 1.116.2

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Coginiti API documentation](https://support.coginiti.co/hc/categories/18554190258711-API)

  ## Version history

ai_documentation_summary:
  {"purpose":"Provides n8n workflow access to the Coginiti API so you can manage catalog items, run/monitor executions, and perform identity management tasks from automation flows.","capabilities":["Access the full Coginiti API surface (supports all operations available as of 2025-11-11)","Catalog operations (list, retrieve, create, update, delete/catalog management)","Execute operations (start, monitor, stop executions / run jobs)","Identity management (manage users, service accounts, and personal access tokens)"],"authentication":"API key required (Coginiti API Token / Personal Access Token)","commonUseCases":["Trigger and monitor Coginiti executions from n8n workflows","Automate catalog CRUD operations and sync catalog data","Manage users, service accounts, and personal access tokens programmatically","Integrate Coginiti actions into broader automation pipelines (e.g., conditional logic, notifications)"],"limitations":["Requires a Coginiti API Token; no OAuth flow or token refresh mechanism documented in the README","Node was tested against n8n v1.116.2 — compatibility with other versions not guaranteed","Support limited to the Coginiti API surface as of 2025-11-11; newer endpoints added after that date may not be supported"],"relatedNodes":[]}


node_type: n8n-nodes-octavehq.octave
package_name: n8n-nodes-octavehq
display_name: Octave
description: Interact with the Octave V2 API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: jtempels
author_github_url: https://github.com/octavehq/octave-n8n.git
npm_package_name: n8n-nodes-octavehq
npm_version: 1.5.0
community_fetched_at: 2026-02-19T14:41:52.565Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "agent",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Async",
          "value": "async"
        },
        {
          "name": "Competitor",
          "value": "competitor"
        },
        {
          "name": "Experiment",
          "value": "experiment"
        },
        {
          "name": "Persona",
          "value": "persona"
        },
        {
          "name": "Playbook",
          "value": "playbook"
        },
        {
          "name": "Product",
          "value": "product"
        },
        {
          "name": "Proof Point",
          "value": "proofPoint"
        },
        {
          "name": "Reference",
          "value": "reference"
        },
        {
          "name": "Segment",
          "value": "segment"
        },
        {
          "name": "Use Case",
          "value": "useCase"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Build Workspace",
          "value": "buildWorkspace",
          "action": "Build workspace",
          "description": "Generate and build a Workspace"
        },
        {
          "name": "Call Prep",
          "value": "callPrep",
          "action": "Generate call prep",
          "description": "Generate call prep content including discovery questions, call scripts, and objection handling"
        },
        {
          "name": "Enrich Company",
          "value": "enrichCompany",
          "action": "Enrich a company",
          "description": "Enrich a company"
        },
        {
          "name": "Enrich Person",
          "value": "enrichPerson",
          "action": "Enrich a person",
          "description": "Enrich a Person"
        },
        {
          "name": "Generate Content",
          "value": "generateContent",
          "action": "Generate content",
          "description": "Generate content for a person"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List agents",
          "description": "List all agents"
        },
        {
          "name": "Qualify Company",
          "value": "qualifyCompany",
          "action": "Qualify a company",
          "description": "Determine if a company is qualified for a given Product and/or Segment"
        },
        {
          "name": "Qualify Person",
          "value": "qualifyPerson",
          "action": "Qualify a person",
          "description": "Determine if a person is qualified for a given Product, Persona, and/or Segment"
        },
        {
          "name": "Run Prospector",
          "value": "runProspector",
          "action": "Run a prospector agent",
          "description": "Find relevant people at a company or lookalike companies"
        },
        {
          "name": "Run Sequence",
          "value": "runSequence",
          "action": "Run a sequence agent",
          "description": "Generate Emails for a person"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List Playbooks",
          "value": "list",
          "action": "List playbooks"
        },
        {
          "name": "Get Playbook",
          "value": "get",
          "action": "Get a playbook by OID"
        },
        {
          "name": "Create Playbook",
          "value": "create",
          "action": "Create a new playbook"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "playbook"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a product",
          "description": "Create a new product"
        },
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate products",
          "description": "Generate products from source materials using AI"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a product",
          "description": "Get a specific product by OId"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List products",
          "description": "List products in the workspace"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a product",
          "description": "Update an existing product"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "product"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a persona",
          "description": "Create a new persona"
        },
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate personas",
          "description": "Generate personas from source materials using AI"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a persona",
          "description": "Get a specific persona by OId"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List personas",
          "description": "List personas in the workspace"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a persona",
          "description": "Update an existing persona"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "persona"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a proof point",
          "description": "Create a new proof point"
        },
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate proof points",
          "description": "Generate proof points from source materials using AI"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a proof point",
          "description": "Get a proof point by OId"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List proof points",
          "description": "List proof points with optional filtering and pagination"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a proof point",
          "description": "Update an existing proof point"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "proofPoint"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a reference",
          "description": "Create a new reference"
        },
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate references",
          "description": "Generate references from source materials using AI"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a reference",
          "description": "Get a specific reference by OId"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List references",
          "description": "List references in the workspace"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a reference",
          "description": "Update an existing reference"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "reference"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a use case",
          "description": "Create a new use case"
        },
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate use cases",
          "description": "Generate use cases from source materials using AI"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a use case",
          "description": "Get a specific use case by OId"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List use cases",
          "description": "List use cases in the workspace"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a use case",
          "description": "Update an existing use case"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "useCase"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "runAgent",
      "options": [
        {
          "name": "Run Agent",
          "value": "runAgent",
          "action": "Run an agent asynchronously",
          "description": "Triggers an agent to run in the background"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "async"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a competitor",
          "description": "Create a new competitor"
        },
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate competitors",
          "description": "Generate competitors from source materials using AI"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a competitor",
          "description": "Get a competitor by OId"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List competitors",
          "description": "List competitors with optional filtering"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a competitor",
          "description": "Update an existing competitor"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "competitor"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a segment",
          "description": "Create a new segment"
        },
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate segments",
          "description": "Generate segments from source materials using AI"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a segment",
          "description": "Get a segment by OId"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List segments",
          "description": "List segments with optional filtering"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a segment",
          "description": "Update an existing segment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "segment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an experiment",
          "description": "Create a new agent experiment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "experiment"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Build Workspace",
      "value": "buildWorkspace",
      "action": "Build workspace",
      "description": "Generate and build a Workspace"
    },
    {
      "name": "Call Prep",
      "value": "callPrep",
      "action": "Generate call prep",
      "description": "Generate call prep content including discovery questions, call scripts, and objection handling"
    },
    {
      "name": "Enrich Company",
      "value": "enrichCompany",
      "action": "Enrich a company",
      "description": "Enrich a company"
    },
    {
      "name": "Enrich Person",
      "value": "enrichPerson",
      "action": "Enrich a person",
      "description": "Enrich a Person"
    },
    {
      "name": "Generate Content",
      "value": "generateContent",
      "action": "Generate content",
      "description": "Generate content for a person"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List agents",
      "description": "List all agents"
    },
    {
      "name": "Qualify Company",
      "value": "qualifyCompany",
      "action": "Qualify a company",
      "description": "Determine if a company is qualified for a given Product and/or Segment"
    },
    {
      "name": "Qualify Person",
      "value": "qualifyPerson",
      "action": "Qualify a person",
      "description": "Determine if a person is qualified for a given Product, Persona, and/or Segment"
    },
    {
      "name": "Run Prospector",
      "value": "runProspector",
      "action": "Run a prospector agent",
      "description": "Find relevant people at a company or lookalike companies"
    },
    {
      "name": "Run Sequence",
      "value": "runSequence",
      "action": "Run a sequence agent",
      "description": "Generate Emails for a person"
    },
    {
      "name": "List Playbooks",
      "value": "list",
      "action": "List playbooks"
    },
    {
      "name": "Get Playbook",
      "value": "get",
      "action": "Get a playbook by OID"
    },
    {
      "name": "Create Playbook",
      "value": "create",
      "action": "Create a new playbook"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a product",
      "description": "Create a new product"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate products",
      "description": "Generate products from source materials using AI"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a product",
      "description": "Get a specific product by OId"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List products",
      "description": "List products in the workspace"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a product",
      "description": "Update an existing product"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a persona",
      "description": "Create a new persona"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate personas",
      "description": "Generate personas from source materials using AI"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a persona",
      "description": "Get a specific persona by OId"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List personas",
      "description": "List personas in the workspace"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a persona",
      "description": "Update an existing persona"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a proof point",
      "description": "Create a new proof point"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate proof points",
      "description": "Generate proof points from source materials using AI"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a proof point",
      "description": "Get a proof point by OId"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List proof points",
      "description": "List proof points with optional filtering and pagination"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a proof point",
      "description": "Update an existing proof point"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a reference",
      "description": "Create a new reference"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate references",
      "description": "Generate references from source materials using AI"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a reference",
      "description": "Get a specific reference by OId"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List references",
      "description": "List references in the workspace"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a reference",
      "description": "Update an existing reference"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a use case",
      "description": "Create a new use case"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate use cases",
      "description": "Generate use cases from source materials using AI"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a use case",
      "description": "Get a specific use case by OId"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List use cases",
      "description": "List use cases in the workspace"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a use case",
      "description": "Update an existing use case"
    },
    {
      "name": "Run Agent",
      "value": "runAgent",
      "action": "Run an agent asynchronously",
      "description": "Triggers an agent to run in the background"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a competitor",
      "description": "Create a new competitor"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate competitors",
      "description": "Generate competitors from source materials using AI"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a competitor",
      "description": "Get a competitor by OId"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List competitors",
      "description": "List competitors with optional filtering"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a competitor",
      "description": "Update an existing competitor"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a segment",
      "description": "Create a new segment"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate segments",
      "description": "Generate segments from source materials using AI"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a segment",
      "description": "Get a segment by OId"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List segments",
      "description": "List segments with optional filtering"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a segment",
      "description": "Update an existing segment"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an experiment",
      "description": "Create a new agent experiment"
    }
  ]

npm_readme:
  # n8n-nodes-octavehq

  This is an n8n community node. It lets you use Octave in your n8n workflows.

  Octave is the AI-powered messaging brain for B2B go-to-market teams, helping you articulate your product's value, synthesize customer interaction data, and deploy consistent, effective messaging across all your execution channels. In a world of rapid product innovation, Octave ensures your go-to-market strategy is always on message and impactful.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)
  [Operations](#operations)
  [Resources](#resources)
  [Version history](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  The Octave node supports the following operations, categorized by resource:

  ### Response Format

  All agent operations now return responses that include both the data and API metadata:

  ```json
  {
    "data": {
      // Actual response data from the operation
    },
    "_metadata": {
      "requestId": "unique-request-identifier",
      "timestamp": "2021-01-01T00:00:00.000Z",
      "usage": 0,
      "message": "Additional information about the request"
    }
  }
  ```

  The `_metadata` field provides valuable information for tracking, debugging, and monitoring API usage.

  **Resource: Agent**
  *   **List Agents**: List all agents
      *   Corresponds to `GET /api/v2/agents/list`
  *   **Build Workspace**: Generate and build a Workspace
      *   Corresponds to `POST /api/v2/agents/workspace/build`
  *   **Call Prep**: Generate call prep content including discovery questions, call scripts, and objection handling
      *   Corresponds to `POST /api/v2/agents/call-prep/run`
  *   **Enrich Company**: Enrich a company
      *   Corresponds to `POST /api/v2/agents/enrich-company/run`
  *   **Enrich Person**: Enrich a Person
      *   Corresponds to `POST /api/v2/agents/enrich-person/run`
  *   **Generate Content**: Generate content for a person
      *   Corresponds to `POST /api/v2/agents/generate-content/run`
  *   **Run Sequence**: Generate Emails for a person
      *   Corresponds to `POST /api/v2/agents/sequence/run`
  *   **Run Prospector**: Find relevant people at a company or lookalike companies
      *   Corresponds to `POST /api/v2/agents/prospector/run`
  *   **Qualify Company**: Determine if a company is qualified for a given Product and/or Segment
      *   Corresponds to `POST /api/v2/agents/qualify-company/run`
  *   **Qualify Person**: Determine if a person is qualified for a given Product, Persona, and/or Segment
      *   Corresponds to `POST /api/v2/agents/qualify-person/run`

  **Resource: Async**
  *   **Run Agent Asynchronously**: Triggers an agent to run in the background.
      *   Corresponds to `POST /api/v2/async/agent/run`

  **Resource: Competitor**
  *   **List Competitors**: Retrieves a list of competitors with optional filtering.
      *   Corresponds to `GET /api/v2/competitor/list`
  *   **Get Competitor**: Retrieves a specific competitor by its OId.
      *   Corresponds to `GET /api/v2/competitor/get`
  *   **Create Competitor**: Creates a new competitor.
      *   Corresponds to `POST /api/v2/competitor/create`
  *   **Update Competitor**: Updates an existing competitor.
      *   Corresponds to `PUT /api/v2/competitor/update`
  *   **Generate Competitors**: Generate competitors from source materials using AI.
      *   Corresponds to `POST /api/v2/competitor/generate`

  **Resource: Experiment**
  *   **Create Experiment**: Creates a new agent experiment for A/B testing different agents.
      *   Corresponds to `POST /api/v2/agents/experiment/create`

  **Resource: Persona**
  *   **List Personas**: Retrieves a list of personas.
      *   Corresponds to `GET /api/v2/persona/list`
  *   **Get Persona**: Retrieves a specific persona by its OId.
      *   Corresponds to `GET /api/v2/persona/get`
  *   **Create Persona**: Creates a new persona.
      *   Corresponds to `POST /api/v2/persona/create`
  *   **Update Persona**: Updates an existing persona.
      *   Corresponds to `PUT /api/v2/persona/update`
  *   **Generate Personas**: Generate personas from source materials using AI.
      *   Corresponds to `POST /api/v2/persona/generate`

  **Resource: Playbook**
  *   **List Playbooks**: Retrieves a list of playbooks.
      *   Corresponds to `GET /api/v2/playbook/list`
  *   **Get Playbook**: Retrieves a specific playbook by its OId.
      *   Corresponds to `GET /api/v2/playbook/get`
  *   **Create Playbook**: Creates a new playbook.
      *   Corresponds to `POST /api/v2/playbook/create`
  *   **Update Playbook**: Updates an existing playbook.
      *   Corresponds to `PUT /api/v2/playbook/update`

  **Resource: Product**
  *   **List Products**: Retrieves a list of products.
      *   Corresponds to `GET /api/v2/product/list`
  *   **Get Product**: Retrieves a specific product by its OId.
      *   Corresponds to `GET /api/v2/product/get`
  *   **Create Product**: Creates a new product.
      *   Corresponds to `POST /api/v2/product/create`
  *   **Update Product**: Updates an existing product.
      *   Corresponds to `PUT /api/v2/product/update`
  *   **Generate Products**: Generate products from source materials using AI.
      *   Corresponds to `POST /api/v2/product/generate`

  **Resource: Proof Point**
  *   **List Proof Points**: Retrieves a list of proof points with optional filtering.
      *   Corresponds to `GET /api/v2/proof-point/list`
  *   **Get Proof Point**: Retrieves a specific proof point by its OId.
      *   Corresponds to `GET /api/v2/proof-point/get`
  *   **Create Proof Point**: Creates a new proof point.
      *   Corresponds to `POST /api/v2/proof-point/create`
  *   **Update Proof Point**: Updates an existing proof point.
      *   Corresponds to `PUT /api/v2/proof-point/update`
  *   **Generate Proof Points**: Generate proof points from source materials using AI.
      *   Corresponds to `POST /api/v2/proof-point/generate`

  **Resource: Reference**
  *   **List References**: Retrieves a list of references.
      *   Corresponds to `GET /api/v2/reference/list`
  *   **Get Reference**: Retrieves a specific reference by its OId.
      *   Corresponds to `GET /api/v2/reference/get`
  *   **Create Reference**: Creates a new reference.
      *   Corresponds to `POST /api/v2/reference/create`
  *   **Update Reference**: Updates an existing reference.
      *   Corresponds to `PUT /api/v2/reference/update`
  *   **Generate References**: Generate references from source materials using AI.
      *   Corresponds to `POST /api/v2/reference/generate`

  **Resource: Segment**
  *   **List Segments**: Retrieves a list of segments with optional filtering.
      *   Corresponds to `GET /api/v2/segment/list`
  *   **Get Segment**: Retrieves a specific segment by its OId.
      *   Corresponds to `GET /api/v2/segment/get`
  *   **Create Segment**: Creates a new segment.
      *   Corresponds to `POST /api/v2/segment/create`
  *   **Update Segment**: Updates an existing segment.
      *   Corresponds to `PUT /api/v2/segment/update`
  *   **Generate Segments**: Generate segments from source materials using AI.
      *   Corresponds to `POST /api/v2/segment/generate`

  **Resource: Use Case**
  *   **List Use Cases**: Retrieves a list of use cases.
      *   Corresponds to `GET /api/v2/use-case/list`
  *   **Get Use Case**: Retrieves a specific use case by its OId.
      *   Corresponds to `GET /api/v2/use-case/get`
  *   **Create Use Case**: Creates a new use case.
      *   Corresponds to `POST /api/v2/use-case/create`
  *   **Update Use Case**: Updates an existing use case.
      *   Corresponds to `PUT /api/v2/use-case/update`
  *   **Generate Use Cases**: Generate use cases from source materials using AI.
      *   Corresponds to `POST /api/v2/use-case/generate`

  ## Credentials

  Get your API key from the Octave settings page. We recommend naming the credentials with the Workspace that the API key is associated with.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Library Overview](https://youtu.be/UyU1tDuRE58)
  * [Playbooks Overview](https://youtu.be/SINDvLIfRa8)
  * [Agents Overview](https://www.youtube.com/watch?v=oExCRibGjAU)
  * [Octave + Clay Overview](https://www.youtube.com/watch?v=JjYLBddEn7A)


  ## Version history
  * 0.1.1 - Octave <> N8N. Let the games begin!
  * 1.0.1 - Add `x-request-source` header to indicate request came from n8n
  * 1.0.2 - Add Credentials test + make Octave node usable by AI
  * 1.1.0 - Added Competitor, Segment, and Experiment resources; Added Call Prep agent; Removed Personalize Template agent; Improved modular architecture
  * 1.1.1 - Uses IHttpRequestOptions instead of deprecated IRequestOptions
  * 1.1.2 - Uses httpRequestWithAuthentication instead of httpRequest to be more secure and maintainable
  * 1.2.0 - Removed List API Keys endpoint
  * 1.2.1 - Rebuild to remove deprecated API files from build
  * 1.3.0 - Major expansion: Added full CRUD support (create, update, generate) for all resources; Added new Proof Point resource; Enhanced UX with native collection inputs for generate operations; Improved agent field ordering with LinkedIn Profile prioritization; Enhanced runtime context handling for sequences
  * 1.3.1 - Fixed UI issue in generate operations where "Add Source" button was not displaying Type and Value fields properly
  * 1.3.2 - Update Playbook types
  * 1.4.0 - Enhanced response format: All agent operations now include API metadata (`_metadata`) alongside data, providing request IDs, timestamps, usage information, and additional context for better tracking and debugging
  * 1.5.0 - Added `generate` route to references. Updated documentation.

ai_documentation_summary:
  {"purpose":"Provides n8n workflow access to the Octave V2 API so workflows can run Octave agents and AI-powered go-to-market operations (messaging generation, enrichment, prospecting, qualification, and resource management).","capabilities":["List Agents (GET /api/v2/agents/list)","Build Workspace (POST /api/v2/agents/workspace/build)","Call Prep generation (POST /api/v2/agents/call-prep/run)","Enrich Company (POST /api/v2/agents/enrich-company/run)","Enrich Person (POST /api/v2/agents/enrich-person/run)","Generate Content for a person (POST /api/v2/agents/generate-content/run)","Run Sequence / Generate Emails (POST /api/v2/agents/sequence/run)","Run Prospector (find people / lookalike companies) (POST /api/v2/agents/prospector/run)","Qualify Company (POST /api/v2/agents/qualify-company/run)","Qualify Person (POST /api/v2/agents/qualify-person/run)"],"authentication":"Not specified in README","commonUseCases":["Generate sales call prep content, scripts, discovery questions, and objection handling","Enrich company and person records before saving to CRM or using in downstream flows","Automatically generate personalized outreach/email sequences","Find prospects and lookalike companies using prospector operations","Automatically qualify companies and people for products, personas, or segments"],"limitations":["Authentication method and connection details are not documented in the provided README excerpt","README truncated — detailed request/response schemas, examples, error handling, rate limits, and field-level documentation are missing","No explicit mention of triggers/webhooks or streaming/real-time response handling in the node documentation"],"relatedNodes":[]}


node_type: @onlyfansapi/n8n-nodes-onlyfansapi.onlyFans
package_name: @onlyfansapi/n8n-nodes-onlyfansapi
display_name: OnlyFans API
description: Consume the OnlyFans API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: onlyfans-dev
author_github_url: https://github.com/onlyfansapi/n8n-nodes-onlyfansapi.git
npm_package_name: @onlyfansapi/n8n-nodes-onlyfansapi
npm_version: 1.1.1
community_fetched_at: 2026-02-19T14:41:52.567Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Connect OnlyFans Account",
          "value": "connectOnlyfansAccount"
        },
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Chats",
          "value": "chats"
        },
        {
          "name": "Chat Messages",
          "value": "chatMessages"
        },
        {
          "name": "Mass Messaging",
          "value": "massMessaging"
        },
        {
          "name": "Saved For Later (Messages)",
          "value": "savedForLaterMessages"
        },
        {
          "name": "Posts",
          "value": "posts"
        },
        {
          "name": "Post Labels",
          "value": "postLabels"
        },
        {
          "name": "Post Comments",
          "value": "postComments"
        },
        {
          "name": "Saved For Later (Posts)",
          "value": "savedForLaterPosts"
        },
        {
          "name": "Queue",
          "value": "queue"
        },
        {
          "name": "Fans",
          "value": "fans"
        },
        {
          "name": "Following",
          "value": "following"
        },
        {
          "name": "User List Collections",
          "value": "userListCollections"
        },
        {
          "name": "Media Vault",
          "value": "mediaVault"
        },
        {
          "name": "Media Vault Lists",
          "value": "mediaVaultLists"
        },
        {
          "name": "Media",
          "value": "media"
        },
        {
          "name": "Free Trial Links",
          "value": "freeTrialLinks"
        },
        {
          "name": "Tracking Links",
          "value": "trackingLinks"
        },
        {
          "name": "Transactions",
          "value": "transactions"
        },
        {
          "name": "Statistics",
          "value": "statistics"
        },
        {
          "name": "Chargebacks",
          "value": "chargebacks"
        },
        {
          "name": "Banking",
          "value": "banking"
        },
        {
          "name": "Payouts",
          "value": "payouts"
        },
        {
          "name": "Users",
          "value": "users"
        },
        {
          "name": "Public Profiles",
          "value": "publicProfiles"
        },
        {
          "name": "Notifications",
          "value": "notifications"
        },
        {
          "name": "OnlyFans Settings",
          "value": "onlyFansSettings"
        },
        {
          "name": "Social Media Buttons",
          "value": "socialMediaButtons"
        },
        {
          "name": "Webhooks",
          "value": "webhooks"
        },
        {
          "name": "API Keys",
          "value": "apiKeys"
        },
        {
          "name": "Client Sessions",
          "value": "clientSessions"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Poll Authentication Status",
          "value": "pollAuthenticationStatus"
        },
        {
          "name": "Submit 2FA",
          "value": "submit2FA"
        },
        {
          "name": "Re-authenticate Account",
          "value": "reAuthenticateAccount"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "connectOnlyfansAccount"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Accounts",
          "value": "listAccounts"
        },
        {
          "name": "Get Current Account",
          "value": "getCurrentAccount"
        },
        {
          "name": "Get Model Start Date",
          "value": "getModelStartDate"
        },
        {
          "name": "Get Top Percentage",
          "value": "getTopPercentage"
        },
        {
          "name": "Disconnect Account",
          "value": "disconnectAccount"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Chats",
          "value": "listChats"
        },
        {
          "name": "List Chat Media (Gallery)",
          "value": "listChatMediaGallery"
        },
        {
          "name": "Mute Chat Notifications",
          "value": "muteChatNotifications"
        },
        {
          "name": "Unmute Chat Notifications",
          "value": "unmuteChatNotifications"
        },
        {
          "name": "Start Typing Indicator",
          "value": "startTypingIndicator"
        },
        {
          "name": "Hide Chat",
          "value": "hideChat"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chats"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Chat Messages",
          "value": "listChatMessages"
        },
        {
          "name": "Search Chat Messages",
          "value": "searchChatMessages"
        },
        {
          "name": "Send Message",
          "value": "sendMessage"
        },
        {
          "name": "Delete Message",
          "value": "deleteMessage"
        },
        {
          "name": "Like Message",
          "value": "likeMessage"
        },
        {
          "name": "Unlike Message",
          "value": "unlikeMessage"
        },
        {
          "name": "Pin Message",
          "value": "pinMessage"
        },
        {
          "name": "Unpin Message",
          "value": "unpinMessage"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chatMessages"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get Mass Message Overview",
          "value": "getMassMessageOverview"
        },
        {
          "name": "List Mass Message Queue",
          "value": "listMassMessageQueue"
        },
        {
          "name": "Get Mass Message",
          "value": "getMassMessage"
        },
        {
          "name": "Send Mass Message",
          "value": "sendMassMessage"
        },
        {
          "name": "Update Mass Message",
          "value": "updateMassMessage"
        },
        {
          "name": "Unsend/Delete Mass Message",
          "value": "unsendDeleteMassMessage"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "massMessaging"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Saved For Later Messages",
          "value": "listSavedForLaterMessages"
        },
        {
          "name": "Get Chat Message Settings",
          "value": "getMessageSettings"
        },
        {
          "name": "Enable/Update Automatic Messaging",
          "value": "enableUpdateAutomaticMessaging"
        },
        {
          "name": "Disable Automatic Messaging",
          "value": "disableAutomaticMessaging"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "savedForLaterMessages"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Posts",
          "value": "listPosts"
        },
        {
          "name": "Get Post",
          "value": "getPost"
        },
        {
          "name": "Send Post",
          "value": "sendPost"
        },
        {
          "name": "Update Post",
          "value": "updatePost"
        },
        {
          "name": "Show Post Statistics",
          "value": "showPostStatistics"
        },
        {
          "name": "Pin/Unpin Post",
          "value": "pinUnpinPost"
        },
        {
          "name": "Archive Post",
          "value": "archivePost"
        },
        {
          "name": "Unarchive Post",
          "value": "unarchivePost"
        },
        {
          "name": "Delete Post",
          "value": "deletePost"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "posts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Labels",
          "value": "listLabels"
        },
        {
          "name": "Create Label",
          "value": "createLabel"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "postLabels"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Post Comments",
          "value": "listPostComments"
        },
        {
          "name": "Create Post Comment",
          "value": "createPostComment"
        },
        {
          "name": "Delete Post Comment",
          "value": "deletePostComment"
        },
        {
          "name": "Like Post Comment",
          "value": "likePostComment"
        },
        {
          "name": "Unlike Post Comment",
          "value": "unlikePostComment"
        },
        {
          "name": "Pin Post Comment",
          "value": "pinPostComment"
        },
        {
          "name": "Unpin Post Comment",
          "value": "unpinPostComment"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "postComments"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Saved For Later Posts",
          "value": "listSavedForLaterPosts"
        },
        {
          "name": "Get Post Settings",
          "value": "getPostSettings"
        },
        {
          "name": "Enable/Update Automatic Posting",
          "value": "enableUpdateAutomaticPosting"
        },
        {
          "name": "Disable Automatic Posting",
          "value": "disableAutomaticPosting"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "savedForLaterPosts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Count Queue Items",
          "value": "countQueueItems"
        },
        {
          "name": "List Queue Items",
          "value": "listQueueItems"
        },
        {
          "name": "Publish Queue Item",
          "value": "publishQueueItem"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "queue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Active Fans",
          "value": "listActiveFans"
        },
        {
          "name": "List All Fans",
          "value": "listAllFans"
        },
        {
          "name": "List Expired Fans",
          "value": "listExpiredFans"
        },
        {
          "name": "List Latest Fans",
          "value": "listLatestFans"
        },
        {
          "name": "Set Fan's Custom Name",
          "value": "setFansCustomName"
        },
        {
          "name": "Get Fan Notes",
          "value": "getFanNotes"
        },
        {
          "name": "Create/Edit Fan Notes",
          "value": "createEditFanNotes"
        },
        {
          "name": "Clear Fan Notes",
          "value": "clearFanNotes"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "fans"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Active Following",
          "value": "listActiveFollowings"
        },
        {
          "name": "List All Following",
          "value": "listAllFollowings"
        },
        {
          "name": "List Expired Following",
          "value": "listExpiredFollowings"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "following"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List User Lists",
          "value": "listUserLists"
        },
        {
          "name": "Create User List",
          "value": "createUserList"
        },
        {
          "name": "Get User List",
          "value": "getUserList"
        },
        {
          "name": "Update User List",
          "value": "updateUserList"
        },
        {
          "name": "Delete User List",
          "value": "deleteUserList"
        },
        {
          "name": "List User List Users",
          "value": "listUserListUsers"
        },
        {
          "name": "Add Users To User List",
          "value": "addUsersToUserList"
        },
        {
          "name": "Remove User from a User List",
          "value": "removeUserFromAUserList"
        },
        {
          "name": "Clear User List",
          "value": "clearUserList"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "userListCollections"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Vault Media",
          "value": "listVaultMedia"
        },
        {
          "name": "Get Vault Media",
          "value": "getVaultMedia"
        },
        {
          "name": "Delete Vault Media",
          "value": "deleteVaultMedia"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "mediaVault"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Add Media To List",
          "value": "addMediaToList"
        },
        {
          "name": "Create Vault List",
          "value": "createVaultList"
        },
        {
          "name": "Delete Vault List",
          "value": "deleteVaultList"
        },
        {
          "name": "List Vault Lists",
          "value": "listVaultLists"
        },
        {
          "name": "Remove Media From List",
          "value": "removeMediaFromList"
        },
        {
          "name": "Rename Vault List",
          "value": "renameVaultList"
        },
        {
          "name": "Show Vault List",
          "value": "showVaultList"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "mediaVaultLists"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Scrape media from the OnlyFans CDN",
          "value": "scrapeMediaFromTheOnlyFansCDN"
        },
        {
          "name": "Upload media to the OnlyFans CDN",
          "value": "uploadMediaToTheOnlyFansCDN"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "media"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Create Free Trial Link",
          "value": "createFreeTrialLink"
        },
        {
          "name": "Delete Free Trial Link",
          "value": "deleteFreeTrialLink"
        },
        {
          "name": "List Free Trial Link Spenders",
          "value": "listFreeTrialLinkSpenders"
        },
        {
          "name": "List Free Trial Link Subscribers",
          "value": "listFreeTrialLinkSubscribers"
        },
        {
          "name": "List Free Trial Links",
          "value": "listFreeTrialLinks"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "freeTrialLinks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Create Tracking Link",
          "value": "createTrackingLink"
        },
        {
          "name": "Delete Tracking Link",
          "value": "deleteTrackingLink"
        },
        {
          "name": "List Tracking Link Spenders",
          "value": "listTrackingLinkSpenders"
        },
        {
          "name": "List Tracking Link Subscribers",
          "value": "listTrackingLinkSubscribers"
        },
        {
          "name": "List Tracking Links",
          "value": "listTrackingLinks"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "trackingLinks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Transactions",
          "value": "listTransactions"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transactions"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Calculate Total Transactions",
          "value": "calculateTotalTransactions"
        },
        {
          "name": "Get Earnings",
          "value": "getEarnings"
        },
        {
          "name": "Get Profile Visitors",
          "value": "getProfileVisitors"
        },
        {
          "name": "Get Subscriber Metrics",
          "value": "getSubscriberMetrics"
        },
        {
          "name": "Get Subscriber Statistics",
          "value": "getSubscriberStatistics"
        },
        {
          "name": "Overview",
          "value": "statisticsOverview"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "statistics"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Calculate Chargeback Ratio",
          "value": "calculateChargebackRatio"
        },
        {
          "name": "List Chargeback Statistics",
          "value": "listChargebackStatistics"
        },
        {
          "name": "List Chargebacks",
          "value": "listChargebacks"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chargebacks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get Account Country Details",
          "value": "getAccountCountryDetails"
        },
        {
          "name": "Get Bank Payout Details",
          "value": "getBankPayoutDetails"
        },
        {
          "name": "Get DAC7 Form Details",
          "value": "getDAC7FormDetails"
        },
        {
          "name": "Get Legal and Tax Status",
          "value": "getLegalAndTaxStatus"
        },
        {
          "name": "Get Legal Form Details",
          "value": "getLegalFormDetails"
        },
        {
          "name": "List Available Payout Systems",
          "value": "listAvailablePayoutSystems"
        },
        {
          "name": "List Countries",
          "value": "listCountries"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "banking"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get Account Balances",
          "value": "getAccountBalances"
        },
        {
          "name": "Get Earning Statistics",
          "value": "getEarningStatistics"
        },
        {
          "name": "Get Eligibility",
          "value": "getEligibility"
        },
        {
          "name": "List Payout Requests",
          "value": "listPayoutRequests"
        },
        {
          "name": "List Transactions (Earnings)",
          "value": "listTransactionsEarnings"
        },
        {
          "name": "Request Manual Withdrawal",
          "value": "requestManualWithdrawal"
        },
        {
          "name": "Update Payout Frequency",
          "value": "updatePayoutFrequency"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "payouts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get User Details",
          "value": "getUserDetails"
        },
        {
          "name": "Restrict User",
          "value": "restrictUser"
        },
        {
          "name": "Unrestrict User",
          "value": "unrestrictUser"
        },
        {
          "name": "Block User",
          "value": "blockUser"
        },
        {
          "name": "Unblock User",
          "value": "unblockUser"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get Profile Details",
          "value": "getProfileDetails"
        },
        {
          "name": "Search Profiles",
          "value": "searchProfiles"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "publicProfiles"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get Notification Counts",
          "value": "getNotificationCounts"
        },
        {
          "name": "Get Notification Tabs Order",
          "value": "getNotificationTabsOrder"
        },
        {
          "name": "List Notifications",
          "value": "listNotifications"
        },
        {
          "name": "Mark All Notifications As Read",
          "value": "markAllNotificationsAsRead"
        },
        {
          "name": "Search Users In Notifications",
          "value": "searchUsersInNotifications"
        },
        {
          "name": "Update Notification Tabs Order",
          "value": "updateNotificationTabsOrder"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "notifications"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get Settings",
          "value": "getSettings"
        },
        {
          "name": "Update Profile",
          "value": "updateProfile"
        },
        {
          "name": "Check Username Availability",
          "value": "checkUsernameAvailability"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "onlyFansSettings"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Social Media Buttons",
          "value": "listSocialMediaButtons"
        },
        {
          "name": "Add Social Media Button",
          "value": "addSocialMediaButton"
        },
        {
          "name": "Update Social Media Button",
          "value": "updateSocialMediaButton"
        },
        {
          "name": "Delete Social Media Button",
          "value": "deleteSocialMediaButton"
        },
        {
          "name": "Reorder Social Media Button",
          "value": "reorderSocialMediaButtons"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "socialMediaButtons"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Webhooks",
          "value": "listWebhooks"
        },
        {
          "name": "List Available Events",
          "value": "listAvailableEvents"
        },
        {
          "name": "Create Webhook",
          "value": "createWebhook"
        },
        {
          "name": "Show Webhook",
          "value": "showWebhook"
        },
        {
          "name": "Update Webhook",
          "value": "updateWebhook"
        },
        {
          "name": "Delete Webhook",
          "value": "deleteWebhook"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Whoami",
          "value": "whoami"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "apiKeys"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Create Client Session",
          "value": "createClientSession"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "clientSessions"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Poll Authentication Status",
      "value": "pollAuthenticationStatus"
    },
    {
      "name": "Submit 2FA",
      "value": "submit2FA"
    },
    {
      "name": "Re-authenticate Account",
      "value": "reAuthenticateAccount"
    },
    {
      "name": "List Accounts",
      "value": "listAccounts"
    },
    {
      "name": "Get Current Account",
      "value": "getCurrentAccount"
    },
    {
      "name": "Get Model Start Date",
      "value": "getModelStartDate"
    },
    {
      "name": "Get Top Percentage",
      "value": "getTopPercentage"
    },
    {
      "name": "Disconnect Account",
      "value": "disconnectAccount"
    },
    {
      "name": "List Chats",
      "value": "listChats"
    },
    {
      "name": "List Chat Media (Gallery)",
      "value": "listChatMediaGallery"
    },
    {
      "name": "Mute Chat Notifications",
      "value": "muteChatNotifications"
    },
    {
      "name": "Unmute Chat Notifications",
      "value": "unmuteChatNotifications"
    },
    {
      "name": "Start Typing Indicator",
      "value": "startTypingIndicator"
    },
    {
      "name": "Hide Chat",
      "value": "hideChat"
    },
    {
      "name": "List Chat Messages",
      "value": "listChatMessages"
    },
    {
      "name": "Search Chat Messages",
      "value": "searchChatMessages"
    },
    {
      "name": "Send Message",
      "value": "sendMessage"
    },
    {
      "name": "Delete Message",
      "value": "deleteMessage"
    },
    {
      "name": "Like Message",
      "value": "likeMessage"
    },
    {
      "name": "Unlike Message",
      "value": "unlikeMessage"
    },
    {
      "name": "Pin Message",
      "value": "pinMessage"
    },
    {
      "name": "Unpin Message",
      "value": "unpinMessage"
    },
    {
      "name": "Get Mass Message Overview",
      "value": "getMassMessageOverview"
    },
    {
      "name": "List Mass Message Queue",
      "value": "listMassMessageQueue"
    },
    {
      "name": "Get Mass Message",
      "value": "getMassMessage"
    },
    {
      "name": "Send Mass Message",
      "value": "sendMassMessage"
    },
    {
      "name": "Update Mass Message",
      "value": "updateMassMessage"
    },
    {
      "name": "Unsend/Delete Mass Message",
      "value": "unsendDeleteMassMessage"
    },
    {
      "name": "List Saved For Later Messages",
      "value": "listSavedForLaterMessages"
    },
    {
      "name": "Get Chat Message Settings",
      "value": "getMessageSettings"
    },
    {
      "name": "Enable/Update Automatic Messaging",
      "value": "enableUpdateAutomaticMessaging"
    },
    {
      "name": "Disable Automatic Messaging",
      "value": "disableAutomaticMessaging"
    },
    {
      "name": "List Posts",
      "value": "listPosts"
    },
    {
      "name": "Get Post",
      "value": "getPost"
    },
    {
      "name": "Send Post",
      "value": "sendPost"
    },
    {
      "name": "Update Post",
      "value": "updatePost"
    },
    {
      "name": "Show Post Statistics",
      "value": "showPostStatistics"
    },
    {
      "name": "Pin/Unpin Post",
      "value": "pinUnpinPost"
    },
    {
      "name": "Archive Post",
      "value": "archivePost"
    },
    {
      "name": "Unarchive Post",
      "value": "unarchivePost"
    },
    {
      "name": "Delete Post",
      "value": "deletePost"
    },
    {
      "name": "List Labels",
      "value": "listLabels"
    },
    {
      "name": "Create Label",
      "value": "createLabel"
    },
    {
      "name": "List Post Comments",
      "value": "listPostComments"
    },
    {
      "name": "Create Post Comment",
      "value": "createPostComment"
    },
    {
      "name": "Delete Post Comment",
      "value": "deletePostComment"
    },
    {
      "name": "Like Post Comment",
      "value": "likePostComment"
    },
    {
      "name": "Unlike Post Comment",
      "value": "unlikePostComment"
    },
    {
      "name": "Pin Post Comment",
      "value": "pinPostComment"
    },
    {
      "name": "Unpin Post Comment",
      "value": "unpinPostComment"
    },
    {
      "name": "List Saved For Later Posts",
      "value": "listSavedForLaterPosts"
    },
    {
      "name": "Get Post Settings",
      "value": "getPostSettings"
    },
    {
      "name": "Enable/Update Automatic Posting",
      "value": "enableUpdateAutomaticPosting"
    },
    {
      "name": "Disable Automatic Posting",
      "value": "disableAutomaticPosting"
    },
    {
      "name": "Count Queue Items",
      "value": "countQueueItems"
    },
    {
      "name": "List Queue Items",
      "value": "listQueueItems"
    },
    {
      "name": "Publish Queue Item",
      "value": "publishQueueItem"
    },
    {
      "name": "List Active Fans",
      "value": "listActiveFans"
    },
    {
      "name": "List All Fans",
      "value": "listAllFans"
    },
    {
      "name": "List Expired Fans",
      "value": "listExpiredFans"
    },
    {
      "name": "List Latest Fans",
      "value": "listLatestFans"
    },
    {
      "name": "Set Fan's Custom Name",
      "value": "setFansCustomName"
    },
    {
      "name": "Get Fan Notes",
      "value": "getFanNotes"
    },
    {
      "name": "Create/Edit Fan Notes",
      "value": "createEditFanNotes"
    },
    {
      "name": "Clear Fan Notes",
      "value": "clearFanNotes"
    },
    {
      "name": "List Active Following",
      "value": "listActiveFollowings"
    },
    {
      "name": "List All Following",
      "value": "listAllFollowings"
    },
    {
      "name": "List Expired Following",
      "value": "listExpiredFollowings"
    },
    {
      "name": "List User Lists",
      "value": "listUserLists"
    },
    {
      "name": "Create User List",
      "value": "createUserList"
    },
    {
      "name": "Get User List",
      "value": "getUserList"
    },
    {
      "name": "Update User List",
      "value": "updateUserList"
    },
    {
      "name": "Delete User List",
      "value": "deleteUserList"
    },
    {
      "name": "List User List Users",
      "value": "listUserListUsers"
    },
    {
      "name": "Add Users To User List",
      "value": "addUsersToUserList"
    },
    {
      "name": "Remove User from a User List",
      "value": "removeUserFromAUserList"
    },
    {
      "name": "Clear User List",
      "value": "clearUserList"
    },
    {
      "name": "List Vault Media",
      "value": "listVaultMedia"
    },
    {
      "name": "Get Vault Media",
      "value": "getVaultMedia"
    },
    {
      "name": "Delete Vault Media",
      "value": "deleteVaultMedia"
    },
    {
      "name": "Add Media To List",
      "value": "addMediaToList"
    },
    {
      "name": "Create Vault List",
      "value": "createVaultList"
    },
    {
      "name": "Delete Vault List",
      "value": "deleteVaultList"
    },
    {
      "name": "List Vault Lists",
      "value": "listVaultLists"
    },
    {
      "name": "Remove Media From List",
      "value": "removeMediaFromList"
    },
    {
      "name": "Rename Vault List",
      "value": "renameVaultList"
    },
    {
      "name": "Show Vault List",
      "value": "showVaultList"
    },
    {
      "name": "Scrape media from the OnlyFans CDN",
      "value": "scrapeMediaFromTheOnlyFansCDN"
    },
    {
      "name": "Upload media to the OnlyFans CDN",
      "value": "uploadMediaToTheOnlyFansCDN"
    },
    {
      "name": "Create Free Trial Link",
      "value": "createFreeTrialLink"
    },
    {
      "name": "Delete Free Trial Link",
      "value": "deleteFreeTrialLink"
    },
    {
      "name": "List Free Trial Link Spenders",
      "value": "listFreeTrialLinkSpenders"
    },
    {
      "name": "List Free Trial Link Subscribers",
      "value": "listFreeTrialLinkSubscribers"
    },
    {
      "name": "List Free Trial Links",
      "value": "listFreeTrialLinks"
    },
    {
      "name": "Create Tracking Link",
      "value": "createTrackingLink"
    },
    {
      "name": "Delete Tracking Link",
      "value": "deleteTrackingLink"
    },
    {
      "name": "List Tracking Link Spenders",
      "value": "listTrackingLinkSpenders"
    },
    {
      "name": "List Tracking Link Subscribers",
      "value": "listTrackingLinkSubscribers"
    },
    {
      "name": "List Tracking Links",
      "value": "listTrackingLinks"
    },
    {
      "name": "List Transactions",
      "value": "listTransactions"
    },
    {
      "name": "Calculate Total Transactions",
      "value": "calculateTotalTransactions"
    },
    {
      "name": "Get Earnings",
      "value": "getEarnings"
    },
    {
      "name": "Get Profile Visitors",
      "value": "getProfileVisitors"
    },
    {
      "name": "Get Subscriber Metrics",
      "value": "getSubscriberMetrics"
    },
    {
      "name": "Get Subscriber Statistics",
      "value": "getSubscriberStatistics"
    },
    {
      "name": "Overview",
      "value": "statisticsOverview"
    },
    {
      "name": "Calculate Chargeback Ratio",
      "value": "calculateChargebackRatio"
    },
    {
      "name": "List Chargeback Statistics",
      "value": "listChargebackStatistics"
    },
    {
      "name": "List Chargebacks",
      "value": "listChargebacks"
    },
    {
      "name": "Get Account Country Details",
      "value": "getAccountCountryDetails"
    },
    {
      "name": "Get Bank Payout Details",
      "value": "getBankPayoutDetails"
    },
    {
      "name": "Get DAC7 Form Details",
      "value": "getDAC7FormDetails"
    },
    {
      "name": "Get Legal and Tax Status",
      "value": "getLegalAndTaxStatus"
    },
    {
      "name": "Get Legal Form Details",
      "value": "getLegalFormDetails"
    },
    {
      "name": "List Available Payout Systems",
      "value": "listAvailablePayoutSystems"
    },
    {
      "name": "List Countries",
      "value": "listCountries"
    },
    {
      "name": "Get Account Balances",
      "value": "getAccountBalances"
    },
    {
      "name": "Get Earning Statistics",
      "value": "getEarningStatistics"
    },
    {
      "name": "Get Eligibility",
      "value": "getEligibility"
    },
    {
      "name": "List Payout Requests",
      "value": "listPayoutRequests"
    },
    {
      "name": "List Transactions (Earnings)",
      "value": "listTransactionsEarnings"
    },
    {
      "name": "Request Manual Withdrawal",
      "value": "requestManualWithdrawal"
    },
    {
      "name": "Update Payout Frequency",
      "value": "updatePayoutFrequency"
    },
    {
      "name": "Get User Details",
      "value": "getUserDetails"
    },
    {
      "name": "Restrict User",
      "value": "restrictUser"
    },
    {
      "name": "Unrestrict User",
      "value": "unrestrictUser"
    },
    {
      "name": "Block User",
      "value": "blockUser"
    },
    {
      "name": "Unblock User",
      "value": "unblockUser"
    },
    {
      "name": "Get Profile Details",
      "value": "getProfileDetails"
    },
    {
      "name": "Search Profiles",
      "value": "searchProfiles"
    },
    {
      "name": "Get Notification Counts",
      "value": "getNotificationCounts"
    },
    {
      "name": "Get Notification Tabs Order",
      "value": "getNotificationTabsOrder"
    },
    {
      "name": "List Notifications",
      "value": "listNotifications"
    },
    {
      "name": "Mark All Notifications As Read",
      "value": "markAllNotificationsAsRead"
    },
    {
      "name": "Search Users In Notifications",
      "value": "searchUsersInNotifications"
    },
    {
      "name": "Update Notification Tabs Order",
      "value": "updateNotificationTabsOrder"
    },
    {
      "name": "Get Settings",
      "value": "getSettings"
    },
    {
      "name": "Update Profile",
      "value": "updateProfile"
    },
    {
      "name": "Check Username Availability",
      "value": "checkUsernameAvailability"
    },
    {
      "name": "List Social Media Buttons",
      "value": "listSocialMediaButtons"
    },
    {
      "name": "Add Social Media Button",
      "value": "addSocialMediaButton"
    },
    {
      "name": "Update Social Media Button",
      "value": "updateSocialMediaButton"
    },
    {
      "name": "Delete Social Media Button",
      "value": "deleteSocialMediaButton"
    },
    {
      "name": "Reorder Social Media Button",
      "value": "reorderSocialMediaButtons"
    },
    {
      "name": "List Webhooks",
      "value": "listWebhooks"
    },
    {
      "name": "List Available Events",
      "value": "listAvailableEvents"
    },
    {
      "name": "Create Webhook",
      "value": "createWebhook"
    },
    {
      "name": "Show Webhook",
      "value": "showWebhook"
    },
    {
      "name": "Update Webhook",
      "value": "updateWebhook"
    },
    {
      "name": "Delete Webhook",
      "value": "deleteWebhook"
    },
    {
      "name": "Whoami",
      "value": "whoami"
    },
    {
      "name": "Create Client Session",
      "value": "createClientSession"
    }
  ]

npm_readme:
  # n8n-nodes-onlyfansapi
  ![Example workflow](/images/example.png)

  This is an n8n community node. It lets you use OnlyFans API in your n8n workflows.

  OnlyFans API is an unofficial API for OnlyFans, a popular content subscription service, to automate your workflows with ease.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)
  [Operations](#operations)
  [Credentials](#credentials)
  [Compatibility](#compatibility)
  [Usage](#usage)
  [Resources](#resources)
  [Version history](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  This node supports the following resources and operations:

  ### Account
  - **Get Account** - Get OnlyFans Profile details for an Account
  - **Get Many** - List many connected OnlyFans accounts
  - **Get Model Start Date** - Get the start date of the model (the date+time monetization was enabled)
  - **Disconnect Account** - Disconnect an OnlyFans account

  ### API Key
  - **Whoami** - Get details about the currently used API Key & the relevant Team

  ### Banking
  - **Get Account Country Details** - Returns the account owner's country details for banking
  - **Get Bank Payout Details** - Returns the account owner's bank payout details
  - **Get DAC7 Form Details** - Returns the account owner's DAC7 form information required for tax reporting
  - **Get Legal and Tax Status** - Returns the account owner's legal and tax status required for banking
  - **Get Legal Form Details** - Returns the account owner's legal form details for banking
  - **List Available Payout Systems** - Returns a list of available payout systems for the account
  - **List Countries** - Returns a list of countries available for banking configuration

  ### Chargeback
  - **Calculate Chargeback Ratio** - Calculate the chargeback ratio (chargebacks vs total payments)
  - **Get Many** - Retrieve a list of chargebacks within a specified date range
  - **List Chargeback Statistics** - List chargeback counts & amounts per hour, day or month

  ### Chat
  - **Get Many** - Get the list of chats for an Account
  - **List Chat Media (Gallery)** - List media files shared in a specific chat
  - **Mute Chat Notifications** - Mute notifications for a specific chat
  - **Start Typing Indicator** - Start the typing indicator for a specific chat
  - **Unmute Chat Notifications** - Unmute notifications for a specific chat

  ### Chat Message
  - **Delete Message** - Delete a message from a chat (only messages sent less than 24 hours ago)
  - **Get Many** - Get messages from a specific chat
  - **Like Message** - Like a chat message
  - **Pin Message** - Pin a message from a chat
  - **Send Message** - Send a new message to a chat
  - **Unlike Message** - Unlike a chat message
  - **Unpin Message** - Unpin a message from a chat

  ### Client Session
  - **Create Client Session** - Create Client Session Token for later use in embedded auth components

  ### Connect OnlyFans Account
  - **Poll Authentication Status** - Poll the status of the authentication process
  - **Re-Authenticate Account** - Trigger account reauthentication without the need to submit email & password again
  - **Start Authentication** - Start the authentication process for a new account
  - **Submit 2FA** - Submit the 2FA code for the authentication process

  ### Fan
  - **List Active Fans** - Get a paginated list of active fans for an Account
  - **List All Fans** - Get a paginated list of all fans for an Account
  - **List Expired Fans** - Get a paginated list of expired fans for an Account
  - **List Latest Fans** - Get a paginated list of latest fans for an Account
  - **Set Custom Name** - Change the fan's custom name shown in OnlyFans

  ### Following
  - **List Active Followings** - Get a paginated list of active followings for an Account
  - **List All Followings** - Get a paginated list of all followings for an Account
  - **List Expired Followings** - Get a paginated list of expired followings for an Account

  ### Free Trial Link
  - **Create Free Trial Link** - Create a free trial link for the account
  - **Delete Free Trial Link** - Delete a free trial link by its ID
  - **Get Many** - List many free trial links for the account, including the details and statistics
  - **List Free Trial Link Spenders** - Only available if we already scraped subscribers and calculated revenue per fan
  - **List Free Trial Link Subscribers** - Get list of subscribers who joined through a Free Trial Link

  ### Mass Messaging
  - **Get Mass Message** - Get the content of a mass message
  - **List Mass Message Queue** - List the pending or recently sent mass messages in the message queue
  - **List Mass Message Statistics** - List mass messaging statistics, showing the send count and view count
  - **Send Mass Message** - Send a mass message to lists and/or users
  - **Unsend/Delete Mass Message** - Unsend a recently sent mass message, or delete a scheduled/saved message
  - **Update Mass Message** - Update a mass message

  ### Media
  - **Scrape Media From The OnlyFans CDN** - Scrapes a https://cdn*.onlyfans.com/* URL and uploads it to the OnlyFans API CDN (max file size: 500MB)

  ### Media Vault
  - **Delete Vault Media** - Delete one or multiple media from your vault
  - **Get Many** - List media items stored in your vault

  ### Media Vault List
  - **Add Media To List** - Add one or multiple media to a list
  - **Create Vault List** - Create a new Vault list
  - **Delete Vault List** - Delete a Vault list
  - **Get Many** - List your Vault lists (categories)
  - **Remove Media From List** - Remove one or multiple media from a list
  - **Rename Vault List** - Rename a Vault list
  - **Show Vault List** - Show a Vault list

  ### Notification
  - **Get Many** - List many notifications for the account
  - **Get Notification Counts** - Get a quick overview of all unread notification types
  - **Get Notification Tabs Order** - Get the order of an account's notification tabs
  - **Mark All Notifications As Read** - Mark all notifications of this account as read
  - **Search Users In Notifications** - Search users that have appeared in your notifications
  - **Update Notification Tabs Order** - Update the order of an account's notification tabs

  ### Payout
  - **Get Account Balances** - Get the current available and pending balances for the account
  - **Get Earning Statistics** - Get total and monthly time-series earning statistics for the account
  - **Get Eligibility** - Get the eligibility details for receiving payouts
  - **List Payout Requests** - List all payout requests for the account
  - **List Transactions (Earnings)** - List all transactions for the account
  - **Request Manual Withdrawal** - Request a payout withdrawal, if the frequency is set to manual
  - **Update Payout Frequency** - Update the payout frequency for the account (Manual, Weekly or Monthly)

  ### Post
  - **Archive Post** - Archive a post from your account
  - **Delete Post** - Delete a post from your account
  - **Get** - Retrieve details of a post from your account
  - **Get Many** - Get posts from your OnlyFans account
  - **Pin/Unpin Post** - Pin or unpin a post to your account
  - **Send Post** - Compose and send a new post to your OnlyFans account
  - **Show Post Statistics** - Get statistics for a specific post
  - **Unarchive Post** - Unarchive a post from your account
  - **Update Post** - Update a posted, queued, or "saved for later" post

  ### Post Comment
  - **Create Comment** - Create a comment on one of your posts
  - **Delete Comment** - Delete a comment on one of your posts
  - **Get Many** - Get comments from one of your posts
  - **Like Comment** - Like a comment on one of your posts
  - **Pin Comment** - Pin a comment on one of your posts
  - **Unlike Comment** - Unlike a comment on one of your posts
  - **Unpin Comment** - Unpin a comment from one of your posts

  ### Post Label
  - **Create Label** - Create a new post label
  - **Get Many** - List the labels that you can use to organize your posts

  ### Public Profile
  - **Get** - Get profile details by username
  - **Search** - Full-text search for profiles with filters

  ### Queue
  - **Count Items** - Count posts and messages in the queue
  - **Get Many** - List posts and messages in the queue
  - **Publish Item** - Publish a queue item or "saved for later" item immediately

  ### Saved For Later Message
  - **Disable Automatic Messaging** - Disable automatic messaging of Saved For Later messages
  - **Enable Automatic Messaging** - Enable or update automatic messaging of Saved For Later messages
  - **Get Many** - List many messages that are marked as "Save For Later"
  - **Get Settings** - Get the Saved For Later message settings

  ### Saved For Later Post
  - **Disable Automatic Posting** - Disable automatic posting of Saved For Later posts
  - **Enable Automatic Posting** - Enable or update automatic posting of Saved For Later posts
  - **Get Many** - List many posts that are marked as "Save For Later"
  - **Get Settings** - Get the Saved For Later post settings

  ### Setting
  - **Check Username Availability** - Check if a username is taken
  - **Get Settings** - Returns the account settings
  - **Update Profile** - Update the account profile

  ### Statistic
  - **Calculate Total Transactions** - Calculate the total transactions and amounts
  - **Get Earnings** - Get the earnings for a given period
  - **Get Profile Visitors** - Get the number of profile visitors for a given period
  - **Get Subscriber Metrics** - Get subscriber metrics for a given period
  - **Get Subscriber Statistics** - Get subscriber statistics for a given period
  - **Overview** - Get an overview of statistics

  ### Tracking Link
  - **Create** - Create a new tracking link
  - **Delete** - Delete a tracking link
  - **Get Many** - List many tracking links for the account with revenue data
  - **Get Spenders** - Get list of spenders who made purchases through a tracking link
  - **Get Subscribers** - Get list of subscribers who joined through a tracking link

  ### Transaction
  - **Get Many** - Get a paginated list of transactions for an account (newest first)

  ### User
  - **Get** - Get OnlyFans profile details for a given username

  ### User List
  - **Add Users to User List** - Add multiple Users To OnlyFans User List
  - **Create User List** - Create a OnlyFans User List
  - **Delete User List** - Delete a OnlyFans User List
  - **Get** - Get a single user list
  - **Get Many** - Get a list of OnlyFans Collections - User Lists
  - **Get Users in List** - Get all users in a OnlyFans user list
  - **Remove User From a User List** - Remove User from OnlyFans User List
  - **Update User List** - Update a OnlyFans User List

  ### Webhook
  - **Create** - Create a new webhook for your team
  - **Delete** - Delete an existing webhook

  ## Credentials

  To make use of the OnlyFans API node, you must have an OnlyFans API account. Follow these simple steps:
  1. Sign up for an account at [OnlyFans API](https://app.onlyfansapi.com)
  2. Go to the OnlyFans API console -> API Keys
      ![API Keys navigation item](/images/api-keys/api-keys-nav-item.png)
  3. Create a new API key
      ![Create API Key button](/images/api-keys/create-api-key-button.png)
  4. Give it a name, and press "Add"
      ![API Key creation form](/images/api-keys/api-key-creation-form.png)
  5. Copy the API key to your clipboard
      ![Save API Key](/images/api-keys/save-api-key.png)
  6. In n8n, create a new credential for the OnlyFans API node, and paste the API key into the "API Key" field.

  ## Compatibility
  Tested with n8n version 1.115.0 and above. Earlier versions may work but are not officially supported.

  ## Usage
  ### Getting Started with n8n

  If you're new to n8n, check out the [Try it out](https://docs.n8n.io/try-it-out/) documentation to help you get started with the basics of building workflows.

  ### Understanding OnlyFans API

  Before using this node, we recommend familiarizing yourself with the [OnlyFans API documentation](https://docs.onlyfansapi.com/introduction) to understand:

  - What OnlyFans API is and what it offers
  - The available features and capabilities
  - How to work with OnlyFans accounts
  - Best practices for API usage

  The OnlyFans API platform provides a comprehensive REST API that allows you to interact with OnlyFans without needing to build your own proxy management system or reverse engineer the API. With this n8n node, you can easily integrate these capabilities into your automated workflows.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [OnlyFans API introduction](https://docs.onlyfansapi.com/introduction)
  * [Connecting an OnlyFans account](https://docs.onlyfansapi.com/introduction/guides/connect-onlyfans-account)
  * [OnlyFans API credit structure](https://docs.onlyfansapi.com/introduction/essentials/credits)
  * [API reference](https://docs.onlyfansapi.com/api-reference)
  * [Webhooks](https://docs.onlyfansapi.com/webhooks)
  * [FAQ](https://docs.onlyfansapi.com/faq)

  ## Version history
  ### 0.1
  - Initial release with support for all OnlyFans API resources and operations.

ai_documentation_summary:
  {"purpose":"Provides access to the unofficial OnlyFans API from n8n to automate account management, messaging, media, payouts/banking, fans/followings, mass messaging and related workflows.","capabilities":["Account: get account/profile details, list accounts, get model start date, disconnect account","API Key: whoami - retrieve details about the used API key and team","Banking: get account country details, bank payout details, DAC7 form details, legal & tax status, legal form details, list available payout systems, list countries","Chargeback: calculate chargeback ratio, list chargebacks in a date range, list chargeback statistics (hour/day/month)","Chat: list chats, list chat media (gallery), mute/unmute chat notifications, start typing indicator","Chat Message: get messages, send message, delete message (sent <24h), like/unlike, pin/unpin messages","Client Session: create client session token (for embedded auth components)","Connect OnlyFans Account: start authentication, submit 2FA, poll authentication status, re-authenticate account","Fan: list active/all/expired/latest fans, set custom fan name","Following: list active/all/expired followings"],"authentication":"API key required for the OnlyFans API; node also exposes operations to perform embedded account authentication flows (start auth, submit 2FA, poll status, re-authenticate)","commonUseCases":["Automate messaging workflows: send messages, manage chat media, mute/unmute notifications","Manage subscribers/fans and followings: list, filter and update fan information","Media handling: scrape CDN-hosted media and upload to OnlyFans CDN, manage vault media and lists","Mass communications: schedule and send mass messages and monitor stats","Payouts and compliance: retrieve banking, payout, legal and tax details for accounts"],"limitations":["Unofficial OnlyFans API (potential stability, compatibility or legal concerns)","Media scraping/upload has a max file size of 500MB","Message deletion only supported for messages sent less than 24 hours ago","Some features (e.g., Free Trial Link spenders) require prior subscriber scraping and revenue-per-fan calculations"],"relatedNodes":[]}


node_type: n8n-nodes-ada.ada
package_name: n8n-nodes-ada
display_name: Data Analysis
description: Interact with the Ada API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: saber_kurama
author_github_url: https://github.com/Saber-Kurama/
npm_package_name: n8n-nodes-ada
npm_version: 0.1.6
community_fetched_at: 2026-02-19T14:41:52.568Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "data-analysis",
      "options": [
        {
          "name": "Data Analysis",
          "value": "data-analysis"
        },
        {
          "name": "Data Interpretation",
          "value": "data-interpretation"
        },
        {
          "name": "Data Visualization",
          "value": "data-visualization"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "jsonDataAnalysis",
      "options": [
        {
          "name": "JSON Data Analysis",
          "value": "jsonDataAnalysis",
          "action": "Analyze JSON data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/platform_api/PythonDataAnalysis",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "data-analysis"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "interpretJsonData",
      "options": [
        {
          "name": "Interpret JSON Data",
          "value": "interpretJsonData",
          "action": "Interpret JSON data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/platform_api/DataInterpretation",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "data-interpretation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "visualizeJsonData",
      "options": [
        {
          "name": "Visualize JSON Data",
          "value": "visualizeJsonData",
          "action": "Visualize JSON data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/platform_api/EchartsVisualization",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "data-visualization"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "JSON Data Analysis",
      "value": "jsonDataAnalysis",
      "action": "Analyze JSON data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/platform_api/PythonDataAnalysis",
          "method": "POST"
        }
      }
    },
    {
      "name": "Interpret JSON Data",
      "value": "interpretJsonData",
      "action": "Interpret JSON data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/platform_api/DataInterpretation",
          "method": "POST"
        }
      }
    },
    {
      "name": "Visualize JSON Data",
      "value": "visualizeJsonData",
      "action": "Visualize JSON data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/platform_api/EchartsVisualization",
          "method": "POST"
        }
      }
    }
  ]

npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-ada

  This repo contains AdaApi's community node for n8n.

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Credentials

  ### Apply for an API Key
  You can easily create and manage your API Key in the [ADA official website](https://ada.im/home?ada_data_=&utm_source=n8n&utm_medium=landingpage&utm_infeluncer=landingpage&utm_campain=landingpage&utm_content=landingpage) - API. To begin with, You need to register for an ADA account.

  Once on the homepage, click the bottom left corner to access the API management dashboard.

  ![apply_apikey_1.png](https://d1551jsgrpwivo.cloudfront.net/apply_apikey_1.png)

  Here, you can create new APIs and set the credit consumption limit for each API. A single account can create up to 10 APIs.

  ![apply_apikey_2.png](https://d1551jsgrpwivo.cloudfront.net/apply_apikey_2.png)

  After successful creation, you can copy the API Key to set credentials. You can also view the credit consumption of each API and manage your APIs.

  ![apply_apikey_3.png](https://d1551jsgrpwivo.cloudfront.net/apply_apikey_3.png)

  #### **Credit Rules:**

  - Calling a single tool consumes 20 credits.
  - You will get 500 free credits per month for ADA Free account,  with each batch of credits valid for three months.
  - When credits run out, you can purchase more or upgrade your account on the ADA Billing page. Each batch of purchased credits is valid for three months. Expiration dates and billing details are available on the [ADA website-Billing](https://ada.im/udsl/#/system/billing).
  ![apply_apikey_4.png](https://d1551jsgrpwivo.cloudfront.net/apply_apikey_4.png)

  ## Usage

  Add Ada to a workflow.


  ![Add Ada to Workflow](https://d1551jsgrpwivo.cloudfront.net/ada-workflow1.png)

  Configure a basic query and hit "Execute step" to try a search.

  ![Add AdaApi](https://d1551jsgrpwivo.cloudfront.net/ada-workflow2.png)

  ![Test  AdaApi](https://d1551jsgrpwivo.cloudfront.net/ada-workflow2.png)


  ## License

  [MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)

ai_documentation_summary:
  {"purpose":"Expose the Ada API to n8n so workflows can send queries/searches and receive Ada responses for downstream workflow logic.","capabilities":["Send queries / perform searches against the Ada API","Call Ada tools via the Ada API from an n8n workflow","Execute a configured Ada node step and return the API response for use in subsequent nodes","Add and configure the Ada node inside n8n workflows"],"authentication":"API key required (Ada API key created and managed in the ADA dashboard)","commonUseCases":["Run automated queries/searches against Ada and use responses to route or transform workflow data","Integrate Ada-powered analysis or lookup results into multi-step automation","Trigger downstream actions in n8n based on Ada API responses"],"limitations":["Requires an ADA account and API key; node does not handle account creation","Usage is credit-based: calling a single tool consumes 20 credits; ADA Free accounts get 500 free credits per month; purchased credits and free credits expire after three months","A single ADA account can create up to 10 API keys (APIs)","README provides minimal detail on node operations/parameters (no granular operation list or examples beyond a basic query)"],"relatedNodes":[]}


node_type: n8n-nodes-greip.greip
package_name: n8n-nodes-greip
display_name: Greip
description: Get fraud prevention, threat intelligence, and risk scoring data from Greip.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: greip
author_github_url: https://github.com/Greipio/
npm_package_name: n8n-nodes-greip
npm_version: 1.0.7
community_fetched_at: 2026-02-19T14:41:52.568Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "dataLookup",
      "options": [
        {
          "name": "Data Lookup",
          "value": "dataLookup"
        },
        {
          "name": "Risk Scoring",
          "value": "riskScoring"
        }
      ],
      "displayName": "Resources",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ipLookup",
      "options": [
        {
          "name": "ASN Lookup",
          "value": "asnLookup",
          "action": "ASN Lookup",
          "description": "Lookup Autonomous System Number (ASN) data"
        },
        {
          "name": "BIN Lookup",
          "value": "binLookup",
          "action": "BIN Lookup",
          "description": "Retrieve comprehensive information associated with a debit or credit card"
        },
        {
          "name": "Country Lookup",
          "value": "countryLookup",
          "action": "Country lookup",
          "description": "Retrieve detailed information about a given country"
        },
        {
          "name": "Domain Lookup",
          "value": "domainLookup",
          "action": "Domain lookup",
          "description": "Lookup any domain name and retrieve associated data and risk evaluation metrics"
        },
        {
          "name": "IBAN Lookup",
          "value": "ibanLookup",
          "action": "IBAN Lookup",
          "description": "Validate a given IBAN and obtain essential information about the issuing country"
        },
        {
          "name": "IP Lookup",
          "value": "ipLookup",
          "action": "IP Lookup",
          "description": "Retrieve comprehensive information about a given IP address"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dataLookup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ipThreats",
      "options": [
        {
          "name": "Email Scoring",
          "value": "emailScoring",
          "action": "Email scoring",
          "description": "Score any email address and retrieve its risk evaluation metrics"
        },
        {
          "name": "IP Scoring",
          "value": "ipThreats",
          "action": "IP Scoring",
          "description": "Get threat intelligence and risk scoring for an IP address"
        },
        {
          "name": "Payment Fraud Detection",
          "value": "paymentFraudDetection",
          "action": "Payment fraud detection",
          "description": "Detect and score payment fraud risk for a transaction",
          "displayOptions": {
            "show": {
              "resource": [
                "riskScoring"
              ]
            }
          }
        },
        {
          "name": "Phone Scoring",
          "value": "phoneScoring",
          "action": "Phone number scoring",
          "description": "Score any phone number and retrieve its risk evaluation metrics"
        },
        {
          "name": "Profanity Detection",
          "value": "profanityDetection",
          "action": "Profanity detection",
          "description": "Detect offensive or inappropriate language in a given text"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "riskScoring"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "ASN Lookup",
      "value": "asnLookup",
      "action": "ASN Lookup",
      "description": "Lookup Autonomous System Number (ASN) data"
    },
    {
      "name": "BIN Lookup",
      "value": "binLookup",
      "action": "BIN Lookup",
      "description": "Retrieve comprehensive information associated with a debit or credit card"
    },
    {
      "name": "Country Lookup",
      "value": "countryLookup",
      "action": "Country lookup",
      "description": "Retrieve detailed information about a given country"
    },
    {
      "name": "Domain Lookup",
      "value": "domainLookup",
      "action": "Domain lookup",
      "description": "Lookup any domain name and retrieve associated data and risk evaluation metrics"
    },
    {
      "name": "IBAN Lookup",
      "value": "ibanLookup",
      "action": "IBAN Lookup",
      "description": "Validate a given IBAN and obtain essential information about the issuing country"
    },
    {
      "name": "IP Lookup",
      "value": "ipLookup",
      "action": "IP Lookup",
      "description": "Retrieve comprehensive information about a given IP address"
    },
    {
      "name": "Email Scoring",
      "value": "emailScoring",
      "action": "Email scoring",
      "description": "Score any email address and retrieve its risk evaluation metrics"
    },
    {
      "name": "IP Scoring",
      "value": "ipThreats",
      "action": "IP Scoring",
      "description": "Get threat intelligence and risk scoring for an IP address"
    },
    {
      "name": "Payment Fraud Detection",
      "value": "paymentFraudDetection",
      "action": "Payment fraud detection",
      "description": "Detect and score payment fraud risk for a transaction",
      "displayOptions": {
        "show": {
          "resource": [
            "riskScoring"
          ]
        }
      }
    },
    {
      "name": "Phone Scoring",
      "value": "phoneScoring",
      "action": "Phone number scoring",
      "description": "Score any phone number and retrieve its risk evaluation metrics"
    },
    {
      "name": "Profanity Detection",
      "value": "profanityDetection",
      "action": "Profanity detection",
      "description": "Detect offensive or inappropriate language in a given text"
    }
  ]

npm_readme:
  # n8n Nodes - Greip Integration

  This is an n8n community node that integrates with the Greip API, allowing users to interact with Greip's services directly from n8n workflows.

  [Greip](https://greip.io) is a platform that provides various services for fraud detection, proxy detection, content moderation, and more.

  ## Table of contents

  ## Installation (self-hosted)

  To install the Greip community node directly from the n8n Editor UI:

  1. Open your n8n instance.
  2. Go to Settings > Community Nodes
  3. Select Install.
  4. Enter the npm package name: n8n-nodes-greip to install the latest version.
  5. Agree to the risks of using community nodes and select Install.
  6. The node is now available to use in your workflows.

  ## Installation (n8n Cloud)

  If you're using n8n Cloud, installing community nodes is even simpler:

  1. Go to the Canvas and open the nodes panel.
  2. Search for Greip in the community node registry.
  3. Click Install node to add the Greip node to your instance.

  > On n8n cloud users can choose not to show verified community nodes. Instance owners can toggle this in the Cloud Admin Panel. To install the Greip node, make sure the installation of verified community nodes is enabled.

  ## Operations

  This node supports a wide range of Greip operations, organized by resource type:

  ### Data Lookup

  - ASN Lookup: Retrieve Autonomous System Number information and prefixes by AS number.
  - BIN Lookup: Get Bank Identification Number details.
  - IP Lookup: Retrieve information about an IP address, including location, ASN, security threats, and more.
  - Country Lookup: Get details about a country using its ISO code.
  - Domain Lookup: Fetch information about a domain, including its registration details and associated threats.
  - IBAN Lookup: Retrieve International Bank Account Number information.

  ### Risk Scoring

  - Email Scoring: Assess the risk associated with an email address.
  - IP Scoring: Evaluate the risk level of an IP address.
  - Phone Scoring: Determine the risk score of a phone number.
  - Payment Fraud Detection: Analyze payment details for potential fraud.
  - Profanity Detection: Check text for offensive language and profanity.

  ## AI Tools

  All Greip node operations can be combined with n8n's AI tools to create powerful workflows. For example, you can use AI to generate personalized marketing messages and then use the Greip Email Scoring operation to ensure the email addresses are valid and low-risk.

  ## Credentials

  To use the Greip node, you need to set up your Greip API credentials in n8n:

  1. Go to Settings > Credentials in n8n.
  2. Click on New Credential and select Greip API from the list.
  3. Enter your Greip API Key, which you can obtain from your Greip account dashboard.
  4. Save the credentials.

  ## Compatibility

  This node has been tested with n8n version `1.112.3`.

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Greip API Documentation](https://docs.greip.io/knowledge-base/integrations/n8n)

  ## Troubleshooting

  ### Common issues

  1. Authentication errors
     - Ensure that your Greip API Key is correct and has the necessary permissions.
     - Check for any typos or formatting issues in the API Key.
  2. Resource Not Found
     - Verify that the resource you are trying to access exists and that you have the correct identifiers.
     - Ensure you have access to the resource based on your Greip account plan.
  3. Operation failures
     - Double-check the parameters you are passing to the operation.
     - Verify resource limits (memory, timeout)

  ### Getting help

  If you encounter any issues or need assistance with the Greip node, consider the following options:

  1. Check our [N8N integration guide](https://docs.greip.io/knowledge-base/integrations/n8n)
  2. Review the [n8n Community Nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  3. Open an issue in the [GitHub repository](https://github.com/Greipio/n8n-nodes-greip)

ai_documentation_summary:
  {"purpose":"Provides n8n workflows with access to Greip's fraud prevention, threat intelligence, and risk scoring services (IP/domain/ASN lookup, payment and contact scoring) so users can enrich and evaluate entities for risk.","capabilities":["ASN Lookup (Autonomous System Number information and prefixes)","BIN Lookup (Bank Identification Number details)","IP Lookup (IP address details: location, ASN, security threats)","Country Lookup (country details by ISO code)","Domain Lookup (domain registration and associated threat data)","IBAN Lookup (International Bank Account Number information)","Email Scoring (risk assessment for email addresses)","IP Scoring (risk assessment for IP addresses)","Phone Scoring (risk score for phone numbers)","Payment Fraud Detection (analyze payment details for potential fraud)"],"authentication":"API key required (Greip API Key configured in n8n Credentials)","commonUseCases":["Preventing fraud by scoring payments, emails, IPs, and phone numbers before processing","Enriching logs or alerts with IP, ASN, domain, and country intelligence for threat investigation","Validating and cleansing contact/payment data (BIN/IBAN/email) during onboarding or transactions","Automating content moderation using profanity detection","Combining AI-generated content or segmentation with Greip risk checks (e.g., personalized campaigns validated for low-risk emails)"],"limitations":["Requires a Greip account and API key; some resources/features may depend on your Greip plan and permissions","Node tested with n8n version 1.112.3 — compatibility with other versions is not guaranteed","Subject to API/resource limits (e.g., memory, timeout) and typical API constraints (rate limits); operation failures may occur if limits are exceeded","Community node — installation requires enabling community nodes and accepting associated risks"],"relatedNodes":["n8n AI tools (to combine scoring/lookup results with AI workflows)"]}


node_type: n8n-nodes-pdforge.pdforge
package_name: n8n-nodes-pdforge
display_name: PDF Noodle
description: Generate PDF from HTML or reusable templates with PDF Noodle (previously pdforge).
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: mabreum
author_github_url: https://github.com/pdforge/
npm_package_name: n8n-nodes-pdforge
npm_version: 2.3.3
community_fetched_at: 2026-02-19T14:41:52.569Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "pdf",
      "options": [
        {
          "name": "Generate PDF",
          "value": "pdf"
        },
        {
          "name": "Generate Image",
          "value": "image"
        },
        {
          "name": "Convert HTML to PDF",
          "value": "html-to-pdf"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sync",
      "options": [
        {
          "name": "Generate Syncronously",
          "value": "sync",
          "action": "Generate PDF syncronously",
          "description": "Generate PDF syncronously"
        },
        {
          "name": "Generate Asynchronously",
          "value": "async",
          "action": "Generate PDF asynchronously",
          "description": "Generate PDF asynchronously"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sync",
      "options": [
        {
          "name": "Generate Syncronously",
          "value": "sync",
          "action": "Generate image syncronously",
          "description": "Generate Image syncronously"
        },
        {
          "name": "Generate Asynchronously",
          "value": "async",
          "action": "Generate image asynchronously",
          "description": "Generate Image asynchronously"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sync",
      "options": [
        {
          "name": "Convert HTML to PDF Syncronously",
          "value": "sync",
          "action": "Convert syncronously",
          "description": "Convert your HTML data into a PDF file syncronously"
        },
        {
          "name": "Convert HTML to PDF Asynchronously",
          "value": "async",
          "action": "Convert asynchronously",
          "description": "Convert your HTML data into a PDF file asynchronously"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "html-to-pdf"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Syncronously",
      "value": "sync",
      "action": "Generate PDF syncronously",
      "description": "Generate PDF syncronously"
    },
    {
      "name": "Generate Asynchronously",
      "value": "async",
      "action": "Generate PDF asynchronously",
      "description": "Generate PDF asynchronously"
    },
    {
      "name": "Generate Syncronously",
      "value": "sync",
      "action": "Generate image syncronously",
      "description": "Generate Image syncronously"
    },
    {
      "name": "Generate Asynchronously",
      "value": "async",
      "action": "Generate image asynchronously",
      "description": "Generate Image asynchronously"
    },
    {
      "name": "Convert HTML to PDF Syncronously",
      "value": "sync",
      "action": "Convert syncronously",
      "description": "Convert your HTML data into a PDF file syncronously"
    },
    {
      "name": "Convert HTML to PDF Asynchronously",
      "value": "async",
      "action": "Convert asynchronously",
      "description": "Convert your HTML data into a PDF file asynchronously"
    }
  ]

npm_readme:
  # n8n-nodes-pdforge

  This is an n8n node. It lets you use [pdf noodle](https://pdfnoodle.com) (previously pdforge) in your n8n workflows.

  **pdf noodle automates PDF Generation in minutes using AI**.

  Create custom PDF templates in seconds using our AI Agents, fine tune the design with our pDF builder and automate the PDF delivery with our native pdf noodle node inside n8n. No code or design experience needed.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)  
  [Usage](#usage)
  [Resources](#resources)
  [Version history](#version-history)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  With pdf noodle you can create pdfs from html or reusable templates (or convert them to images), both synchronously or asynchronously. Here are the operations you can use:

  | Name                      | Operation           | Description                                                                                                                  | Documentation Link                                                          |
  | ------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
  | Generate Pdf Sync         | `pdf:sync`          | Creates a PDF file with JSON data and your template.                                                                         | [Link](https://docs.pdforge.com/pdfs/synchronous-request)                   |
  | Generate Pdf Async        | `pdf:async`         | Creates a PDF file asynchronously with JSON data and your template. The API returns immediately, and will retry for 3 times. | [Link](https://docs.pdforge.com/pdfs/asynchronous-request)                  |
  | Generate Image Sync       | `image:sync`        | Creates a PNG file with JSON data and your template.                                                                         | [Link](https://docs.pdforge.com/images/how-render-png-instead-of-pdf)       |
  | Generate Image Async      | `image:async`       | Creates a PNG file asynchronously with JSON data and your template. The API returns immediately, and will retry for 3 times. | [Link](https://docs.pdforge.com/images/how-render-png-instead-of-pdf)       |
  | Convert HTML to PDF Sync  | `html-to-pdf:sync`  | Creates a PDF file using the HTML data and PDF params sent.                                                                  | [Link](https://docs.pdforge.com/html-to-pdf-conversion/synchronous-request) |
  | Convert HTML to PDF Async | `html-to-pdf:async` | Creates a PDF file asynchronously using the HTML data and PDF params sent.                                                   | [Link](https://docs.pdforge.com/html-to-pdf-conversion/synchronous-request) |

  ## Credentials

  You only need a pdf noodle API Key to integrate to start generating pdfs. You can get it using our [web portal](https://app.pdfnoodle.com/auth/sign-up) and choosing any plan to subscribe to.

  - [pdf noodle Auth Documentation](https://docs.pdforge.com/getting-started/authentication)

  ## Compatibility

  This package was developed & tested with n8n > 1.97.1

  ## Usage

  Please check out the [pdf noodle API Reference](https://docs.pdforge.com/) for more information on how to use the integration.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [pdf noodle API Reference](https://docs.pdforge.com/)
  - [pdf noodle Knowledge Base](https://docs.pdforge.com/knowledge-base)

  ## Version history

  | Version | Changes                                                                                                           |
  | ------- | ----------------------------------------------------------------------------------------------------------------- |
  | 2.3.3   | Updating repository to pdfnoodle                                                                                  |
  | 2.3.2   | Fix on package json to make integration update work on n8n instances                                              |
  | 2.3.1   | Adjusting names so it doesn't break existing pdforge installs on n8n                                              |
  | 2.3.0   | Rebranding changing the name from pdforge to pdf noodle (everything else stays the same)                          |
  | 2.2.1   | Added debug option so you have additional information such as rendered HTML and variables validation              |
  | 2.1.1   | Changed description and treated Print Params not being properly converted into objects                            |
  | 2.1.0   | Added `hasCover` option to include a cover page in generated PDFs to automatically hide footer and header content |
  | 2.0.0   | Added support for HTML to PDF conversion operations and custom s3 bucket configuration                            |
  | 1.0.0   | Initial release with PDF and Image generation capabilities                                                        |

ai_documentation_summary:
  {"purpose":"Generate PDFs or PNGs from HTML or reusable templates (with JSON data) using the pdf noodle service inside n8n workflows, supporting both synchronous and asynchronous rendering.","capabilities":["Generate PDF synchronously from a template with JSON data (pdf:sync)","Generate PDF asynchronously from a template with JSON data (pdf:async) — API returns immediately and retries up to 3 times","Generate PNG synchronously from a template with JSON data (image:sync)","Generate PNG asynchronously from a template with JSON data (image:async) — API returns immediately and retries up to 3 times","Convert raw HTML to PDF synchronously (html-to-pdf:sync)","Convert raw HTML to PDF asynchronously (html-to-pdf:async)","Support for reusable templates and passing JSON payloads into templates","Optional debug output (rendered HTML and variables validation)","hasCover option to include a cover page in generated PDFs","Support for configuring custom S3 bucket for output"],"authentication":"API key required (pdf noodle API Key)","commonUseCases":["Produce templated invoices, reports or contracts by feeding JSON data into PDF templates","Convert HTML email or webpage content to PDF for archiving or delivery","Generate PNG snapshots of templates for previews or thumbnails","Offload generation to asynchronous API calls for long-running renders and handle callbacks/retries","Automate delivery workflows (save to S3, attach to emails, or store in file systems) after PDF/PNG generation"],"limitations":["Requires a pdf noodle API key and an account/plan on pdfnoodle (subscription needed to obtain key)","Asynchronous operations return immediately and rely on pdf noodle retries (up to 3 retries) — workflow must handle non-blocking completion semantics","Compatibility tested with n8n versions greater than 1.97.1 (may not be validated on older n8n versions)"],"relatedNodes":[]}


node_type: @nalpeiron/n8n-nodes-nalpeiron.nalpeironZentitle2
package_name: @nalpeiron/n8n-nodes-nalpeiron
display_name: Nalpeiron Zentitle2
description: Interact with Nalpeiron Zentitle2 API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: tszturmaj-nalpeiron
author_github_url: https://github.com/Nalpeiron/integrations-n8n.git
npm_package_name: @nalpeiron/n8n-nodes-nalpeiron
npm_version: 1.0.5
community_fetched_at: 2026-02-19T14:41:52.570Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Attribute",
          "value": "attribute",
          "description": "Manage global attributes"
        },
        {
          "name": "Customer",
          "value": "customer",
          "description": "Manage customer general operations"
        },
        {
          "name": "Entitlement",
          "value": "entitlement",
          "description": "Manage entitlement general operations"
        },
        {
          "name": "Feature",
          "value": "feature",
          "description": "Manage global features"
        },
        {
          "name": "Offering",
          "value": "offering",
          "description": "Manage offerings"
        },
        {
          "name": "Plan",
          "value": "plan",
          "description": "Manage plans"
        },
        {
          "name": "Product",
          "value": "product",
          "description": "Manage product general operations"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get Global Attribute",
          "value": "get",
          "action": "Get global attribute",
          "description": "This method returns selected global attribute"
        },
        {
          "name": "Get Global Attributes List",
          "value": "list",
          "action": "Get global attributes list",
          "description": "This method returns list of all attributes"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "attribute"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get a Customer Contact List",
          "value": "listContacts",
          "action": "Get a customer contact list",
          "description": "This method returns a list of customer contacts"
        },
        {
          "name": "Get Contact Credentials",
          "value": "listContactsCredentials",
          "action": "Get contact credentials",
          "description": "Return the credentials for a contact. If contact does not have credentials, Authentication field will be null."
        },
        {
          "name": "Get Customer",
          "value": "get",
          "action": "Get customer",
          "description": "This method returns the selected customer"
        },
        {
          "name": "Get Customer Contact",
          "value": "getContacts",
          "action": "Get customer contact",
          "description": "This method returns selected customer contact details"
        },
        {
          "name": "Get Customer End User Portal URL",
          "value": "listEup",
          "action": "Get customer end user portal url",
          "description": "This method returns customer End User Portal URL"
        },
        {
          "name": "Get Customer List",
          "value": "list",
          "action": "Get customer list",
          "description": "This method returns list of customers"
        },
        {
          "name": "Get Customer Note",
          "value": "getNotes",
          "action": "Get customer note",
          "description": "This method returns customer note"
        },
        {
          "name": "Get Customer Note List",
          "value": "listNotes",
          "action": "Get customer note list",
          "description": "This method returns list of customer notes"
        },
        {
          "name": "Get Customer Zentitle Statistic",
          "value": "listStats",
          "action": "Get customer zentitle statistic",
          "description": "Return zentitle statistic for a given customer"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get Activation State",
          "value": "getActivations",
          "action": "Get activation state",
          "description": "This method returns activation details including information about attributes and available features"
        },
        {
          "name": "Get an Entitlement Group",
          "value": "getGroups",
          "action": "Get an entitlement group",
          "description": "This method returns entitlement group details. The amount of data returned can be adjusted by using query expand parameter configuration."
        },
        {
          "name": "Get Entitlement",
          "value": "get",
          "action": "Get entitlement",
          "description": "This method returns entitlement details"
        },
        {
          "name": "Get Entitlement Group Authorized Contacts",
          "value": "listGroupsAuthorizedContacts",
          "action": "Get entitlement group authorized contacts",
          "description": "This method returns list of contacts (with ABL credentials) authorized for the entitlement group"
        },
        {
          "name": "Get Entitlement Group List",
          "value": "listGroups",
          "action": "Get entitlement group list",
          "description": "This method returns entitlement group list. Amount of data returned can be adjusted by using query expand parameter configuration."
        },
        {
          "name": "Get Entitlement List",
          "value": "list",
          "action": "Get entitlement list",
          "description": "This method returns list of entitlements that can be filtered by following query parameters"
        },
        {
          "name": "Get Entitlement Note",
          "value": "getNotes",
          "action": "Get entitlement note",
          "description": "This method returns entitlement note"
        },
        {
          "name": "Get Entitlement Note List",
          "value": "listNotes",
          "action": "Get entitlement note list",
          "description": "This method returns list of entitlement notes"
        },
        {
          "name": "List of Entitlement Activations",
          "value": "listActivations",
          "action": "List of entitlement activations",
          "description": "This method returns list of entitlement activation that can be filtered by following query parameters"
        },
        {
          "name": "Log of Activations Activity",
          "value": "listActivationsLog",
          "action": "Log of activations activity",
          "description": "This method returns log of activations activity on the entitlement"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "entitlement"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get Global Feature",
          "value": "get",
          "action": "Get global feature",
          "description": "This method returns selected global feature"
        },
        {
          "name": "Get Global Features List",
          "value": "list",
          "action": "Get global features list",
          "description": "This method returns list of all global features"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "feature"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get Offering",
          "value": "get",
          "action": "Get offering",
          "description": "This method returns offering details"
        },
        {
          "name": "Get Offering List",
          "value": "list",
          "action": "Get offering list",
          "description": "This method returns list of offering that can be filtered by the following query parameters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "offering"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get Plan",
          "value": "get",
          "action": "Get plan",
          "description": "This method returns plan details"
        },
        {
          "name": "Get Plan List",
          "value": "list",
          "action": "Get plan list",
          "description": "This method returns list of plans that can be filtered by following query parameters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "plan"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get a Product List",
          "value": "list",
          "action": "Get a product list",
          "description": "This method returns a list of products that can be filtered by following query parameters"
        },
        {
          "name": "Get Edition",
          "value": "getEditions",
          "action": "Get edition",
          "description": "This method returns product edition details"
        },
        {
          "name": "Get Edition Attribute",
          "value": "getEditionsAttributes",
          "action": "Get edition attribute",
          "description": "This method returns selected attribute with value defined in edition level (in case of override). If no value is defined in edition level, value defined in higher level is returned."
        },
        {
          "name": "Get Edition Attributes List",
          "value": "listEditionsAttributes",
          "action": "Get edition attributes list",
          "description": "This method returns list of all attributes for selected edition"
        },
        {
          "name": "Get Edition Feature",
          "value": "getEditionsFeatures",
          "action": "Get edition feature",
          "description": "This method returns selected feature with value defined in edition level (in case of override). If no value is defined in edition level, value defined in higher level is returned."
        },
        {
          "name": "Get Edition Feature List",
          "value": "listEditionsFeatures",
          "action": "Get edition feature list",
          "description": "This method returns list of all features for selected edition"
        },
        {
          "name": "Get Edition List",
          "value": "listEditions",
          "action": "Get edition list",
          "description": "This method returns list of editions that can be filtered by following query parameters"
        },
        {
          "name": "Get Product",
          "value": "get",
          "action": "Get product",
          "description": "This method returns product details"
        },
        {
          "name": "Get Product Attribute",
          "value": "getAttributes",
          "action": "Get product attribute",
          "description": "This method returns selected attribute. In case of global attribute, if overridden value exists on product level, it will be returned, otherwise global value will be returned."
        },
        {
          "name": "Get Product Attributes List",
          "value": "listAttributes",
          "action": "Get product attributes list",
          "description": "This method returns list of all attributes for selected product"
        },
        {
          "name": "Get Product Feature",
          "value": "getFeatures",
          "action": "Get product feature",
          "description": "This method returns selected feature. In case of global feature, if overridden value exists on product level, it will be returned, otherwise global value will be returned."
        },
        {
          "name": "Get Product Features List",
          "value": "listFeatures",
          "action": "Get product features list",
          "description": "This method returns list of all features for selected product"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "product"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Global Attribute",
      "value": "get",
      "action": "Get global attribute",
      "description": "This method returns selected global attribute"
    },
    {
      "name": "Get Global Attributes List",
      "value": "list",
      "action": "Get global attributes list",
      "description": "This method returns list of all attributes"
    },
    {
      "name": "Get a Customer Contact List",
      "value": "listContacts",
      "action": "Get a customer contact list",
      "description": "This method returns a list of customer contacts"
    },
    {
      "name": "Get Contact Credentials",
      "value": "listContactsCredentials",
      "action": "Get contact credentials",
      "description": "Return the credentials for a contact. If contact does not have credentials, Authentication field will be null."
    },
    {
      "name": "Get Customer",
      "value": "get",
      "action": "Get customer",
      "description": "This method returns the selected customer"
    },
    {
      "name": "Get Customer Contact",
      "value": "getContacts",
      "action": "Get customer contact",
      "description": "This method returns selected customer contact details"
    },
    {
      "name": "Get Customer End User Portal URL",
      "value": "listEup",
      "action": "Get customer end user portal url",
      "description": "This method returns customer End User Portal URL"
    },
    {
      "name": "Get Customer List",
      "value": "list",
      "action": "Get customer list",
      "description": "This method returns list of customers"
    },
    {
      "name": "Get Customer Note",
      "value": "getNotes",
      "action": "Get customer note",
      "description": "This method returns customer note"
    },
    {
      "name": "Get Customer Note List",
      "value": "listNotes",
      "action": "Get customer note list",
      "description": "This method returns list of customer notes"
    },
    {
      "name": "Get Customer Zentitle Statistic",
      "value": "listStats",
      "action": "Get customer zentitle statistic",
      "description": "Return zentitle statistic for a given customer"
    },
    {
      "name": "Get Activation State",
      "value": "getActivations",
      "action": "Get activation state",
      "description": "This method returns activation details including information about attributes and available features"
    },
    {
      "name": "Get an Entitlement Group",
      "value": "getGroups",
      "action": "Get an entitlement group",
      "description": "This method returns entitlement group details. The amount of data returned can be adjusted by using query expand parameter configuration."
    },
    {
      "name": "Get Entitlement",
      "value": "get",
      "action": "Get entitlement",
      "description": "This method returns entitlement details"
    },
    {
      "name": "Get Entitlement Group Authorized Contacts",
      "value": "listGroupsAuthorizedContacts",
      "action": "Get entitlement group authorized contacts",
      "description": "This method returns list of contacts (with ABL credentials) authorized for the entitlement group"
    },
    {
      "name": "Get Entitlement Group List",
      "value": "listGroups",
      "action": "Get entitlement group list",
      "description": "This method returns entitlement group list. Amount of data returned can be adjusted by using query expand parameter configuration."
    },
    {
      "name": "Get Entitlement List",
      "value": "list",
      "action": "Get entitlement list",
      "description": "This method returns list of entitlements that can be filtered by following query parameters"
    },
    {
      "name": "Get Entitlement Note",
      "value": "getNotes",
      "action": "Get entitlement note",
      "description": "This method returns entitlement note"
    },
    {
      "name": "Get Entitlement Note List",
      "value": "listNotes",
      "action": "Get entitlement note list",
      "description": "This method returns list of entitlement notes"
    },
    {
      "name": "List of Entitlement Activations",
      "value": "listActivations",
      "action": "List of entitlement activations",
      "description": "This method returns list of entitlement activation that can be filtered by following query parameters"
    },
    {
      "name": "Log of Activations Activity",
      "value": "listActivationsLog",
      "action": "Log of activations activity",
      "description": "This method returns log of activations activity on the entitlement"
    },
    {
      "name": "Get Global Feature",
      "value": "get",
      "action": "Get global feature",
      "description": "This method returns selected global feature"
    },
    {
      "name": "Get Global Features List",
      "value": "list",
      "action": "Get global features list",
      "description": "This method returns list of all global features"
    },
    {
      "name": "Get Offering",
      "value": "get",
      "action": "Get offering",
      "description": "This method returns offering details"
    },
    {
      "name": "Get Offering List",
      "value": "list",
      "action": "Get offering list",
      "description": "This method returns list of offering that can be filtered by the following query parameters"
    },
    {
      "name": "Get Plan",
      "value": "get",
      "action": "Get plan",
      "description": "This method returns plan details"
    },
    {
      "name": "Get Plan List",
      "value": "list",
      "action": "Get plan list",
      "description": "This method returns list of plans that can be filtered by following query parameters"
    },
    {
      "name": "Get a Product List",
      "value": "list",
      "action": "Get a product list",
      "description": "This method returns a list of products that can be filtered by following query parameters"
    },
    {
      "name": "Get Edition",
      "value": "getEditions",
      "action": "Get edition",
      "description": "This method returns product edition details"
    },
    {
      "name": "Get Edition Attribute",
      "value": "getEditionsAttributes",
      "action": "Get edition attribute",
      "description": "This method returns selected attribute with value defined in edition level (in case of override). If no value is defined in edition level, value defined in higher level is returned."
    },
    {
      "name": "Get Edition Attributes List",
      "value": "listEditionsAttributes",
      "action": "Get edition attributes list",
      "description": "This method returns list of all attributes for selected edition"
    },
    {
      "name": "Get Edition Feature",
      "value": "getEditionsFeatures",
      "action": "Get edition feature",
      "description": "This method returns selected feature with value defined in edition level (in case of override). If no value is defined in edition level, value defined in higher level is returned."
    },
    {
      "name": "Get Edition Feature List",
      "value": "listEditionsFeatures",
      "action": "Get edition feature list",
      "description": "This method returns list of all features for selected edition"
    },
    {
      "name": "Get Edition List",
      "value": "listEditions",
      "action": "Get edition list",
      "description": "This method returns list of editions that can be filtered by following query parameters"
    },
    {
      "name": "Get Product",
      "value": "get",
      "action": "Get product",
      "description": "This method returns product details"
    },
    {
      "name": "Get Product Attribute",
      "value": "getAttributes",
      "action": "Get product attribute",
      "description": "This method returns selected attribute. In case of global attribute, if overridden value exists on product level, it will be returned, otherwise global value will be returned."
    },
    {
      "name": "Get Product Attributes List",
      "value": "listAttributes",
      "action": "Get product attributes list",
      "description": "This method returns list of all attributes for selected product"
    },
    {
      "name": "Get Product Feature",
      "value": "getFeatures",
      "action": "Get product feature",
      "description": "This method returns selected feature. In case of global feature, if overridden value exists on product level, it will be returned, otherwise global value will be returned."
    },
    {
      "name": "Get Product Features List",
      "value": "listFeatures",
      "action": "Get product features list",
      "description": "This method returns list of all features for selected product"
    }
  ]

npm_readme:
  # @nalpeiron/n8n-nodes-nalpeiron

  Automate your license management and customer success workflows with the [Nalpeiron Growth Platform](https://nalpeiron.com). This n8n community node lets you integrate both Zentitle2 (license operations) and Zengain (customer lifecycle management) components with real-time notifications into your automation workflows.

  ![Version](https://img.shields.io/npm/v/@nalpeiron/n8n-nodes-nalpeiron)
  ![Downloads](https://img.shields.io/npm/dm/@nalpeiron/n8n-nodes-nalpeiron)
  ![License](https://img.shields.io/npm/l/@nalpeiron/n8n-nodes-nalpeiron)

  ## What You Can Do

  ### 📊 License Data & Reporting

  - Retrieve license details and status information
  - List and filter licenses by various criteria
  - Track license usage and seat assignments
  - Monitor license expiration dates

  ### 👥 Customer Information

  - Get customer records and contact details
  - List customers with filtering options
  - Access customer-specific license information
  - Handle multi-tenant customer scenarios

  ### 📦 Product & Feature Insights

  - Retrieve product configurations and details
  - List available features and capabilities
  - Access product offerings and packages
  - Query custom attributes and configurations

  ### 🔔 Real-Time Notifications

  Listen for webhook events from both Growth Platform components:

  **Zentitle2 Component Events**:

  - License creation, activation, and expiration
  - Customer lifecycle events
  - Seat management notifications
  - Renewal and maintenance alerts

  **Zengain Component Events**:

  - Customer lifecycle changes (creation and updates) for revenue optimization and proactive customer success

  ## Use Cases

  Perfect for automating:

  **License Management (Zentitle2 Component):**

  - **License Monitoring**: Track license status and expiration dates across your organization
  - **Renewal Alerts**: Set up notifications for upcoming license expirations
  - **Usage Reporting**: Generate reports on license utilization and seat assignments
  - **Compliance Tracking**: Monitor license compliance and usage patterns

  **Customer Success & Revenue Growth (Zengain Component):**

  - **Revenue Optimization**: Identify upsell opportunities and at-risk accounts
  - **Proactive Customer Success**: Automate engagement based on customer lifecycle insights
  - **Sales Intelligence**: Sync customer behavior data to CRM systems for prioritized outreach
  - **Churn Prevention**: Set up automated workflows to address customer health signals

  **Integrated Growth Platform Workflows:**

  - **Data Synchronization**: Keep external systems updated with both license and customer success information from the Growth Platform
  - **Unified Customer View**: Combine Zentitle2 licensing data with Zengain customer success insights for complete customer intelligence

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes** in n8n
  2. Select **Install**
  3. Enter `@nalpeiron/n8n-nodes-nalpeiron` as the package name
  4. Click **Install**

  ### npm

  ```bash
  npm install @nalpeiron/n8n-nodes-nalpeiron
  ```

  ## Setup Guide

  ### Step 1: Installation

  Install via Community Nodes (recommended) or npm as shown above.

  ### Step 2: Create API Credentials

  1. Log into your Nalpeiron Growth Platform account
  2. Go to the API credentials section
  3. Create new OAuth2 credentials
  4. Note down your Client ID, Client Secret, and OAuth URL

  ### Step 3: Configure Credentials in n8n

  1. In n8n, go to **Settings** > **Credentials**
  2. Click **Add Credential** and select **Nalpeiron account**
  3. Configure the following fields:
     - **Base URL**: Your Nalpeiron API endpoint (e.g., https://api.nalpeiron.com)
     - **Tenant ID**: Your Nalpeiron tenant identifier
     - **Client ID**: Your OAuth2 Client ID from Nalpeiron admin panel
     - **Client Secret**: Your OAuth2 Client Secret from Nalpeiron admin panel
     - **Access Token URL**: The OAuth2 Token endpoint URL (e.g., https://auth.nalpeiron.com/protocol/openid-connect/token)

  ### Step 4: Test Your Credentials

  The credentials include a built-in test function:

  1. Fill in your credential fields in the n8n UI
  2. Click the **"Test"** button
  3. Get immediate validation of your OAuth2 configuration

  **What Gets Tested:**

  - OAuth2 Token Request validation
  - Access Token format verification
  - Tenant-specific API access
  - Error diagnosis with specific guidance for common issues

  ## Getting Started

  After installation, you'll find four new nodes in your n8n palette:

  **Zentitle2 Nodes** (License Management Component):

  - **📊 Nalpeiron Zentitle2** - Retrieve license data (get licenses, customers, products, usage information)
  - **🔔 Nalpeiron Zentitle2 Trigger** - Listen for real-time events (license expiration, customer updates, renewals)

  **Zengain Nodes** (Customer Success Component):

  - **📊 Nalpeiron Zengain** - Access customer lifecycle data and account insights for revenue optimization
  - **🔔 Nalpeiron Zengain Trigger** - Listen for customer success events to drive proactive engagement

  **Note:** All Nalpeiron nodes are also available as AI tools for enhanced automation and intelligent workflows.

  ### Example Workflows

  **License Renewal Alert (Zentitle2 Component):**

  ```
  Nalpeiron Zentitle2 Trigger (license expires in 7 days) → Get Customer Details → Send Renewal Notice
  ```

  **Customer Success Automation (Zengain Component):**

  ```
  Nalpeiron Zengain Trigger (customer created) → Get Customer Insights → Update CRM with Revenue Opportunities
  ```

  ## Resources

  The node provides access to these Nalpeiron Growth Platform resources

  ## Webhook Events

  The trigger node supports webhook events for real-time automation

  ## Webhook Setup

  ### Basic Setup

  1. Add either the **Nalpeiron Zentitle2 Trigger** or **Nalpeiron Zengain Trigger** node to your workflow
  2. Select the events you want to listen for (supports multiple selection)
  3. Webhooks are automatically registered
  4. The webhook URL is automatically configured

  ### Authentication

  **Note:** RSA signature verification has been removed from this community package to ensure compatibility with n8n Cloud verification requirements. All webhook requests are accepted without signature verification.

  For production deployments requiring webhook authentication, consider implementing verification in your external systems or using n8n self-hosted with custom authentication logic.

  ### Auto-Setup Feature

  The trigger node automatically manage webhooks:

  - **Auto-Create**: Creates webhooks when the trigger activates
  - **Auto-Update**: Updates webhook subscriptions when events change
  - **Auto-Delete**: Removes webhooks when the trigger is deactivated

  ### Webhook Payload Structure

  All webhooks follow this structure:

  ```json
  {
  	"eventId": "event_NsqUHwSXC0S4f4vuNkegSg",
  	"eventDate": "2025-06-06T11:39:22.739326Z",
  	"eventCode": "customer.created",
  	"resourceId": "cust_ILLqMyx3UUy_n5cZqui7NQ",
  	"callAttempt": 1,
  	"payload": {
  		// Event-specific data
  	}
  }
  ```

  ### Accessing Webhook Data in n8n

  | Data          | Access Path                   | Example                  |
  | ------------- | ----------------------------- | ------------------------ |
  | Event Type    | `{{ $json.data.eventCode }}`  | `"customer.created"`     |
  | Resource ID   | `{{ $json.data.resourceId }}` | `"cust_abc123"`          |
  | Event Payload | `{{ $json.data.payload }}`    | Event-specific data      |
  | Event Date    | `{{ $json.data.eventDate }}`  | `"2025-06-06T11:39:22Z"` |

  ## Troubleshooting

  ### Webhook Not Triggering

  1. Check webhook URL is correctly registered in Nalpeiron Growth Platform
  2. Verify selected events match the events being sent
  3. Review n8n execution logs for errors
  4. Test webhook manually using the "Test URL" feature

  ### API Calls Failing

  1. Verify OAuth2 credentials are correct and have proper permissions
  2. Check the base URL points to the correct environment

  ## License

  MIT

  ## Support

  For Nalpeiron Growth Platform API questions, please contact [Nalpeiron Support](https://nalpeiron.com/support).

  ## Links

  - [n8n](https://n8n.io)
  - [Nalpeiron Growth Platform](https://nalpeiron.com)
  - [API Documentation](https://api.nalpeiron.io/docs)

ai_documentation_summary:
  {"purpose":"Provides access to the Nalpeiron Zentitle2 license-management API to retrieve and manage license, product and customer data, and includes a trigger node to receive webhook-based real-time events for automating license workflows.","capabilities":["Retrieve license details and status information","List and filter licenses by various criteria","Track license usage and seat assignments","Monitor license expiration dates and renewal status","Get customer records and contact details","List customers with filtering and multi-tenant support","Access customer-specific license information","Retrieve product configurations, offerings, features and custom attributes","Listen for real-time webhook events (license creation, activation, expiration, seat management, renewals, customer lifecycle events)"],"authentication":"OAuth2 required — configure Nalpeiron credentials (Base URL, Tenant ID, Client ID, Client Secret, Access Token URL).","commonUseCases":["License monitoring and status tracking across organization","Automated renewal alerts and notifications for expiring licenses","Usage and seat assignment reporting","Compliance and license usage tracking","Customer-success workflows: identify upsell opportunities and at-risk accounts"],"limitations":[],"relatedNodes":["Nalpeiron Zentitle2 Trigger","Nalpeiron Zengain","Nalpeiron Zengain Trigger"]}


node_type: n8n-nodes-pdfmonkey.pdfMonkey
package_name: n8n-nodes-pdfmonkey
display_name: PDFMonkey
description: Generate PDFs using PDFMonkey API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: tiny-monkey
author_github_url: https://github.com/pdfmonkey/
npm_package_name: n8n-nodes-pdfmonkey
npm_version: 0.4.0
community_fetched_at: 2026-02-19T14:41:52.571Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "generateDocument",
      "options": [
        {
          "name": "Generate Document",
          "value": "generateDocument",
          "action": "Create a new PDF using a template",
          "description": "Create a new PDF using a template"
        },
        {
          "name": "Get Document",
          "value": "getDocument",
          "action": "Get document details and status",
          "description": "Get document details and status"
        },
        {
          "name": "Download File",
          "value": "downloadFile",
          "action": "Download a generated PDF or image",
          "description": "Download a generated PDF or Image"
        },
        {
          "name": "Delete Document",
          "value": "deleteDocument",
          "action": "Delete an existing PDF document",
          "description": "Delete an existing PDF document"
        }
      ],
      "description": "Choose what you want to do with PDFMonkey",
      "displayName": "Actions",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Document",
      "value": "generateDocument",
      "action": "Create a new PDF using a template",
      "description": "Create a new PDF using a template"
    },
    {
      "name": "Get Document",
      "value": "getDocument",
      "action": "Get document details and status",
      "description": "Get document details and status"
    },
    {
      "name": "Download File",
      "value": "downloadFile",
      "action": "Download a generated PDF or image",
      "description": "Download a generated PDF or Image"
    },
    {
      "name": "Delete Document",
      "value": "deleteDocument",
      "action": "Delete an existing PDF document",
      "description": "Delete an existing PDF document"
    }
  ]

npm_readme:
  ![PDFMonkey for n8n](./images/n8n-nodes-pdfmonkey.webp)

  # n8n-nodes-pdfmonkey

  This is an n8n community node. It lets you use PDFMonkey in your n8n workflows.

  [PDFMonkey](https://www.pdfmonkey.io/) is a service that allows you to generate PDFs from HTML templates with dynamic data.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)
  [Operations](#operations)
  [Credentials](#credentials)
  [Compatibility](#compatibility)
  [Usage](#usage)
  [Resources](#resources)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  ### PDFMonkey Node

  The PDFMonkey node provides the following operations:

  - **Generate Document**: Create a new PDF document using a template and dynamic data
    - Supports custom metadata and filename customization
    - Optional auto-polling for document completion (controlled by "Wait For Completion" option)
    - Uses a simple 2-second interval between status checks when polling
    - Downloads the PDF automatically if generation is successful and auto-polling is enabled
  - **Get Document**: Get document details and check its generation status
  - **Download File**: Download a generated PDF or image document and save it as a binary file
  - **Delete Document**: Delete a previously generated PDF document from PDFMonkey

  ### PDFMonkey Trigger Node

  The PDFMonkey Trigger node listens for webhooks from PDFMonkey and processes them:

  - **Webhook Receiver**: Triggers when PDFMonkey sends a webhook notification
  - **Automatic File Download**: Automatically downloads the PDF or image when the document generation is successful
  - **Intelligent Filename Handling**: Extracts the filename from metadata
  - **Complete Response Data**: Returns all document properties from the PDFMonkey API in the JSON output

  ## Credentials

  To use the PDFMonkey nodes, you need to have a PDFMonkey account and API key.

  1. Sign up for PDFMonkey at [https://www.pdfmonkey.io/](https://www.pdfmonkey.io/)
  2. In your PDFMonkey dashboard, navigate to the API section
  3. Copy your API key
  4. In n8n, create new credentials of type 'PDFMonkey API' and paste your API key

  ## Compatibility

  This node has been tested with n8n version 1.0.0 and later.

  ## Usage

  ### Flexible Payload Input

  The Generate Document operation supports two methods for providing template data:

  1. **JSON Format**:

     - Enter your entire payload as a JSON object
     - Ideal for complex data structures or when copying from another source
     - Example:
       ```json
       {
       	"invoiceNumber": "INV-2023-001",
       	"customerName": "Acme Inc.",
       	"items": [
       		{ "name": "Widget", "quantity": 5, "price": 10.99 },
       		{ "name": "Gadget", "quantity": 2, "price": 24.99 }
       	],
       	"total": 104.93
       }
       ```

  2. **Key-Value Pairs**:
     - Add fields individually with key-value pairs
     - More visual and easier to manage for simple templates
     - Supports complex data structures:
       - JSON objects/arrays: Values starting with `{` or `[` are automatically parsed as JSON
       - Arrays from other nodes: The node automatically handles n8n's special array format `[Array: [...]]`
       - Direct objects: When passing data from other nodes that return objects, they are used directly

  ### Enhanced Object Handling

  The node intelligently processes different value types in key-value pairs:

  - **Direct Objects**: Objects passed directly from other nodes are preserved intact
  - **JSON Strings**: Strings that look like JSON (starting with `{` or `[`) are parsed automatically
  - **Special Array Format**: The n8n array format `[Array: [...]]` is detected and parsed
  - **Regular Values**: Simple strings, numbers, and booleans are handled appropriately

  This makes it easy to pass complex data from other nodes to PDFMonkey without manual conversion.

  #### Example: Processing Arrays from n8n

  When you map data from other nodes (like Function or HTTP Request nodes), arrays often come in this special format:

  ```
  [Array: [{"name":"Mouse","quantity":3,"price":88.92},{"name":"Headphones","quantity":5,"price":14.99},{"name":"Keyboard","quantity":3,"price":48.28}]]
  ```

  The PDFMonkey node will automatically detect this format, extract the array content, and properly parse it as a JSON array. This is especially useful for templating tables or lists in your PDFs where you need to pass complex structured data.

  ### Generate Document with Auto-Polling

  The Generate Document operation includes a "Wait For Completion" option that controls whether the node waits for the document to finish generating before continuing the workflow:

  1. When **enabled** (default):

     - The node checks the document status every 2 seconds until it reaches a final state (success or failure)
     - If successful, it automatically downloads the PDF or image and returns it as a binary file
     - Simple, straightforward polling mechanism with minimal overhead
     - Progress is logged with status updates during polling

  2. When **disabled**:
     - The node returns immediately after creating the document
     - The response includes the document ID and initial pending status
     - You can later use the Get Document or Download File operations to check status and retrieve the document

  This feature is especially useful for smaller documents that generate quickly, providing a simpler workflow without needing separate Get Document and Download File steps. For larger documents that take longer to generate, you may want to disable this option and use a separate Get Document or Download File operation later.

  ### Custom Filenames

  You can set a custom filename for your generated PDF or image using the dedicated `Custom Filename` field in the Generate Document operation

  If the field is left empty, the node will use the default generated filename.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [PDFMonkey API Documentation](https://docs.pdfmonkey.io/)

ai_documentation_summary:
  {"purpose":"Allows n8n workflows to generate, retrieve, download, and manage PDFs (or images) using the PDFMonkey API, and to react to PDFMonkey webhook notifications.","capabilities":["Generate Document: create a PDF/image from an HTML template with dynamic data, optional custom metadata and custom filename","Generate Document: supports two payload input modes (full JSON payload or key-value pairs) and automatic parsing of JSON strings, n8n [Array:] format, and direct objects","Optional auto-polling (Wait For Completion) that checks status every 2 seconds until success/failure and auto-downloads the file on success","Get Document: retrieve document details and generation status","Download File: download a generated PDF/image and save it as binary data","Delete Document: remove a generated document from PDFMonkey","Trigger node: webhook receiver for PDFMonkey notifications, returns full document properties, automatically downloads successful files, and extracts filenames from metadata","Progress logging during polling and handling of various input value types for templating"],"authentication":"API key required (create 'PDFMonkey API' credentials in n8n and paste your PDFMonkey API key)","commonUseCases":["Generate invoices, receipts or reports from templates with dynamic data and attach them to emails or save to storage","Create and automatically download PDFs synchronously within a workflow using Wait For Completion","Asynchronous workflows: start generation, then use Get Document/Download File later or react to webhook notifications from PDFMonkey Trigger","Automated cleanup or management of generated documents (Delete Document)"],"limitations":["Auto-polling uses a simple fixed 2-second interval for status checks (not configurable in the node)","Automatic file download occurs only when 'Wait For Completion' is enabled; otherwise workflow must explicitly call Get Document/Download File or rely on webhooks"],"relatedNodes":["PDFMonkey (action) node","PDFMonkey Trigger (webhook) node"]}


node_type: @picsart/n8n-nodes-picsart-creative-apis.picsartImage
package_name: @picsart/n8n-nodes-picsart-creative-apis
display_name: Picsart
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: romiksar
author_github_url: https://github.com/PicsArt/n8n-plugin.git
npm_package_name: @picsart/n8n-nodes-picsart-creative-apis
npm_version: 5.2.1
community_fetched_at: 2026-02-19T14:41:52.572Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Process and generate images with Picsart API: generate from text, remove backgrounds, and enhance images

properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "Remove Background",
      "options": [
        {
          "name": "Car Classify",
          "value": "Car Classify",
          "action": "Classify car image",
          "description": "Classify a car image into categories (exterior, interior, engine, undercarriage, other)"
        },
        {
          "name": "Convert PNG to JPG",
          "value": "Convert PNG to JPG",
          "action": "Convert PNG image to JPG format",
          "description": "Convert PNG images to JPG format"
        },
        {
          "name": "Convert PNG to WEBP",
          "value": "Convert PNG to WEBP",
          "action": "Convert PNG image to WEBP format",
          "description": "Convert PNG images to WEBP format"
        },
        {
          "name": "Crop Image",
          "value": "Crop Image",
          "action": "Crop image to specific dimensions",
          "description": "Crop image to specified width and height"
        },
        {
          "name": "Describe Image",
          "value": "Describe Image",
          "action": "Generate text description from image",
          "description": "Generate a detailed text description for the provided image (image-to-text)"
        },
        {
          "name": "Enhance",
          "value": "Enhance",
          "action": "Enhance and upscale an image",
          "description": "Enhance and upscale an image"
        },
        {
          "name": "Face Enhance",
          "value": "Face Enhance",
          "action": "Enhance faces in photos",
          "description": "Turn old, blurry photos into clear portraits with AI face restoration"
        },
        {
          "name": "Hashtag",
          "value": "Hashtag",
          "action": "Generate hashtags from image",
          "description": "Analyze image and suggest relevant hashtags for the content"
        },
        {
          "name": "Remove Background",
          "value": "Remove Background",
          "action": "Remove background from an image",
          "description": "Remove background from an image"
        },
        {
          "name": "Resize Image",
          "value": "Resize Image",
          "action": "Resize image to specific dimensions",
          "description": "Resize image to specified width and height"
        },
        {
          "name": "Text2Image",
          "value": "text2Image",
          "action": "Generate an image from text prompt",
          "description": "Generate an image from a text prompt using AI"
        },
        {
          "name": "Text2Sticker",
          "value": "text2Sticker",
          "action": "Generate a sticker from text prompt",
          "description": "Generate a sticker from a text prompt using AI"
        },
        {
          "name": "Ultra Enhance",
          "value": "Ultra Enhance",
          "action": "Ultra enhance with generative model",
          "description": "Generative upscaling with high frequency detail (2x-16x, up to 64Mpx)"
        },
        {
          "name": "Ultra Upscale",
          "value": "Ultra Upscale",
          "action": "Ultra upscale an image up to 16x",
          "description": "Ultra upscale an image with advanced AI (2x-16x)"
        },
        {
          "name": "Watermark",
          "value": "Watermark",
          "action": "Add watermark to image",
          "description": "Add a watermark or logo to protect images from unauthorized usage"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    },
    {
      "name": "resource",
      "type": "options",
      "default": "Image URL",
      "options": [
        {
          "name": "DATA",
          "value": "DATA"
        },
        {
          "name": "Image URL",
          "value": "Image URL"
        }
      ],
      "displayName": "Resource",
      "displayOptions": {
        "show": {
          "operation": [
            "Remove Background",
            "Enhance",
            "Car Classify",
            "Describe Image",
            "Watermark",
            "Hashtag",
            "Convert PNG to JPG",
            "Convert PNG to WEBP",
            "Crop Image",
            "Resize Image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "resource",
      "type": "options",
      "default": "Image URL",
      "options": [
        {
          "name": "Image URL",
          "value": "Image URL"
        },
        {
          "name": "Binary Data",
          "value": "DATA"
        }
      ],
      "description": "Choose whether to provide an image URL or binary image data",
      "displayName": "Resource",
      "displayOptions": {
        "show": {
          "operation": [
            "Ultra Upscale"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "resource",
      "type": "options",
      "default": "Image URL",
      "options": [
        {
          "name": "Image URL",
          "value": "Image URL"
        },
        {
          "name": "Binary Data",
          "value": "DATA"
        }
      ],
      "description": "Choose whether to provide an image URL or binary image data",
      "displayName": "Resource",
      "displayOptions": {
        "show": {
          "operation": [
            "Ultra Enhance"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "resource",
      "type": "options",
      "default": "Image URL",
      "options": [
        {
          "name": "Image URL",
          "value": "Image URL"
        },
        {
          "name": "Binary Data",
          "value": "DATA"
        }
      ],
      "description": "Choose whether to provide an image URL or binary image data",
      "displayName": "Resource",
      "displayOptions": {
        "show": {
          "operation": [
            "Face Enhance"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Car Classify",
      "value": "Car Classify",
      "action": "Classify car image",
      "description": "Classify a car image into categories (exterior, interior, engine, undercarriage, other)"
    },
    {
      "name": "Convert PNG to JPG",
      "value": "Convert PNG to JPG",
      "action": "Convert PNG image to JPG format",
      "description": "Convert PNG images to JPG format"
    },
    {
      "name": "Convert PNG to WEBP",
      "value": "Convert PNG to WEBP",
      "action": "Convert PNG image to WEBP format",
      "description": "Convert PNG images to WEBP format"
    },
    {
      "name": "Crop Image",
      "value": "Crop Image",
      "action": "Crop image to specific dimensions",
      "description": "Crop image to specified width and height"
    },
    {
      "name": "Describe Image",
      "value": "Describe Image",
      "action": "Generate text description from image",
      "description": "Generate a detailed text description for the provided image (image-to-text)"
    },
    {
      "name": "Enhance",
      "value": "Enhance",
      "action": "Enhance and upscale an image",
      "description": "Enhance and upscale an image"
    },
    {
      "name": "Face Enhance",
      "value": "Face Enhance",
      "action": "Enhance faces in photos",
      "description": "Turn old, blurry photos into clear portraits with AI face restoration"
    },
    {
      "name": "Hashtag",
      "value": "Hashtag",
      "action": "Generate hashtags from image",
      "description": "Analyze image and suggest relevant hashtags for the content"
    },
    {
      "name": "Remove Background",
      "value": "Remove Background",
      "action": "Remove background from an image",
      "description": "Remove background from an image"
    },
    {
      "name": "Resize Image",
      "value": "Resize Image",
      "action": "Resize image to specific dimensions",
      "description": "Resize image to specified width and height"
    },
    {
      "name": "Text2Image",
      "value": "text2Image",
      "action": "Generate an image from text prompt",
      "description": "Generate an image from a text prompt using AI"
    },
    {
      "name": "Text2Sticker",
      "value": "text2Sticker",
      "action": "Generate a sticker from text prompt",
      "description": "Generate a sticker from a text prompt using AI"
    },
    {
      "name": "Ultra Enhance",
      "value": "Ultra Enhance",
      "action": "Ultra enhance with generative model",
      "description": "Generative upscaling with high frequency detail (2x-16x, up to 64Mpx)"
    },
    {
      "name": "Ultra Upscale",
      "value": "Ultra Upscale",
      "action": "Ultra upscale an image up to 16x",
      "description": "Ultra upscale an image with advanced AI (2x-16x)"
    },
    {
      "name": "Watermark",
      "value": "Watermark",
      "action": "Add watermark to image",
      "description": "Add a watermark or logo to protect images from unauthorized usage"
    }
  ]

npm_readme:
  # @picsart/n8n-nodes-picsart-creative-apis

  [![npm version](https://img.shields.io/npm/v/@picsart/n8n-nodes-picsart-creative-apis.svg)](https://www.npmjs.com/package/@picsart/n8n-nodes-picsart-creative-apis)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  n8n community nodes for image processing and generation using Picsart APIs.
  ## 💻 Development

  ### Setup
  ```bash
  git clone <repository-url>
  cd n8n-nodes-picsart-creative-apis
  pnpm install
  pnpm run build
  ```

  ### Available Scripts
  ```bash
  pnpm run dev        # Watch mode
  pnpm run build      # Build
  pnpm run lint       # Lint code
  pnpm run lintfix    # Fix linting issues
  ```

  ### Docker Development
  ```bash
  ./rebuild.sh
  # Open http://localhost:5678
  ```

  ## 🚀 Release

  Use the automated release script:

  ```bash
  ./release.sh patch    # Bug fixes (0.1.0 → 0.1.1)
  ./release.sh minor    # New features (0.1.0 → 0.2.0)
  ./release.sh major    # Breaking changes (0.1.0 → 1.0.0)
  ```

  Then push:
  ```bash
  git push && git push --tags
  ```

  CI/CD will automatically publish to npm.

  ## 📖 Resources

  - [Picsart API Documentation](https://docs.picsart.io/)
  - [n8n Documentation](https://docs.n8n.io/)
  - [Creating n8n Nodes](https://docs.n8n.io/integrations/creating-nodes/)
    
  ## Installation

  **For n8n Cloud:**
  1. Settings > Community Nodes > Install
  2. Enter: `@picsart/n8n-nodes-picsart-creative-apis`

  **For Self-hosted:**

  npm install @picsart/n8n-nodes-picsart-creative-apis

  Then restart n8n.

  **Setup Credentials:**
  1. Get API key from [Picsart Console](https://console.picsart.io/dashboard)
  2. In n8n: Settings → Credentials → Add "Picsart API"
  3. Paste your API key


  ## 📚 Nodes

  ### Picsart Text2Image
  Generate images from text prompts using Picsart GenAI API.

  **Key Parameters:**
  - Prompt (required): Text description of the image to generate
  - Width: Image width in pixels (default: 1024, max: 1024)
  - Height: Image height in pixels (default: 1024, max: 1024)

  **Output:** Binary image + JSON with prompt, dimensions, transaction ID, and image URL

  **Documentation:** [Picsart Text2Image API](https://docs.picsart.io/reference/genai-text2image-1)

  ### Picsart Enhance
  Upscale and enhance images with AI.

  **Key Parameters:**
  - Image URL (required, supports JPG/PNG/WEBP)
  - Upscale Factor: 2x, 4x, 6x, 8x, 16x
  - Format: JPG | PNG | WEBP

  **Output:** Binary image + JSON with URL and credits

  ### Picsart Remove Background

  **Key Parameters:**
  - Image URL (required)
  - Output Type: cutout | mask
  - Background: color, image URL, or transparent
  - Effects: blur, stroke, shadow
  - Format: JPG | PNG | WEBP

  **Output:** Binary image + JSON with URL and credits

ai_documentation_summary:
  {"purpose":"Provides n8n nodes to generate and process images via the Picsart API — create images from text prompts, enhance/upscale images, and remove or replace backgrounds.","capabilities":["Text-to-image generation (Picsart GenAI) from a prompt with configurable width and height","Image enhancement and upscaling with selectable upscale factors (2x, 4x, 6x, 8x, 16x) and output format (JPG, PNG, WEBP)","Background removal producing cutout or mask outputs, with options to set background to a color, an image URL, or transparent","Apply background effects such as blur, stroke, and shadow when removing/replacing backgrounds","Accept image URLs as input (JPG/PNG/WEBP supported) and return binary image output plus JSON metadata (prompt, dimensions, transaction ID, image URL, credits)"],"authentication":"API key required (Picsart API key configured in n8n Credentials as 'Picsart API')","commonUseCases":["Generate images from natural-language prompts for content creation or prototyping","Upscale and enhance low-resolution images for publishing or printing","Remove or replace image backgrounds for product photos, marketing assets, or composites","Automate image processing pipelines that need binary images plus metadata for downstream steps"],"limitations":["Image inputs are provided via URL (image URL required) rather than direct local file upload in the node","Max text-to-image dimensions limited to 1024x1024 (default 1024)","Supported output/input formats restricted to JPG, PNG, and WEBP","Enhancement/upscale options limited to specified factors (2x, 4x, 6x, 8x, 16x)"],"relatedNodes":["Picsart Text2Image","Picsart Enhance","Picsart Remove Background"]}


node_type: n8n-nodes-zigpoll.zigpollTrigger
package_name: n8n-nodes-zigpoll
display_name: Zigpoll Trigger
description: Triggers when a specific Zigpoll survey is completed
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: zigpoll
author_github_url: https://github.com/JasonZigelbaum/
npm_package_name: n8n-nodes-zigpoll
npm_version: 0.1.9
community_fetched_at: 2026-02-19T14:41:52.572Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-zigpoll

  This is an n8n community node. It lets you use Zigpoll in your n8n workflows.

  Zigpoll is a contextual survey platform that lets you understand what customers think & feel about your product by running highly targeted surveys inside and outside of your product at key moments.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials) <!-- delete if no auth needed -->  
  [Compatibility](#compatibility)  
  [Usage](#usage) <!-- delete if not using this section -->  
  [Resources](#resources)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  Run workflows on new responses you receive for your surveys.

  ## Credentials

  You only need a Zigpoll API Key for this. Please check out the [Zigpoll Docs](https://docs.zigpoll.com/integrations/n8n) for more information.

  ## Compatibility

  This package was developed & tested with n8n > 1.4.0.

  ## Usage

  Please check out the [Zigpoll Docs](https://docs.zigpoll.com/integrations/n8n) for more information on how to use the integration.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Zigpoll Docs](https://docs.zigpoll.com/integrations/n8n)

ai_documentation_summary:
  {"purpose":"Trigger n8n workflows when a specific Zigpoll survey receives a new response, delivering the survey response data into the workflow.","capabilities":["Listen for new Zigpoll survey responses and trigger workflows","Deliver full survey response payload to subsequent workflow nodes","Target triggers to a specific Zigpoll survey (fire when that survey is completed)"],"authentication":"API key required (Zigpoll API Key)","commonUseCases":["Start follow-up workflows when a survey is completed (e.g., send a thank-you email)","Route survey responses into databases or CRM systems for storage and analysis","Notify teams or channels (Slack, email) about new feedback in real time","Trigger automated analytics, reporting, or tagging workflows based on responses"],"limitations":["Node is a trigger only — README only documents running workflows on new responses (no create/update survey operations described)","Requires a Zigpoll API key to operate","Developed and tested with n8n > 1.4.0 (compatibility constraint)"],"relatedNodes":[]}


node_type: n8n-nodes-videotoblog.videoToBlog
package_name: n8n-nodes-videotoblog
display_name: VideoToBlog
description: Emits events from Video To Blog when a post is exported
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: andrewp629
author_github_url: https://github.com/Video-To-Blog/
npm_package_name: n8n-nodes-videotoblog
npm_version: 1.0.3
community_fetched_at: 2026-02-19T14:41:52.573Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-videotoblog

  Community node(s) to integrate Video To Blog with n8n.

  - Nodes
    - VideoToBlog (Trigger): Emits an item when a post is exported in Video To Blog

  ## Quick Start

  1. Install and link locally:

  ```sh
  npm run build
  npm link
  # In your n8n custom dir (~/.n8n/custom)
  npm link n8n-nodes-videotoblog
  n8n start
  ```

  2. Open n8n and add "VideoToBlog" as the first node.
     - Destination: a friendly label (e.g., "Docs")
     - Credentials: VideoToBlog API (enter your n8n API key from Video To Blog Integrations)
  3. Click "Listen for test event" to register the Test URL, or Activate the workflow to register the Production URL automatically.
  4. Export a blog post from Video To Blog. The trigger will output one item with:
     - html, markdown, emailHtml, title, metaDescription, metaTitle, slug, tags

  Optional: None - the trigger auto-registers/unregisters its webhook.

  ## Node parameters

  - Destination (string): Friendly identifier for your publishing target in n8n
  - Trigger Event (fixed): Post Exported
    

  ## Credentials

  - VideoToBlog API: Generic header auth, adds `x-api-key: <your_key>`.

  ## Docs & references

  - VideoToBlog n8n integration guide: https://docs.videotoblog.ai/en/help/articles/2997507-n8n
  - n8n submission checklist: https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/

  ## HTTPS and modes

  - No Base URL field is required in the node UI.
  - Test mode (Execute Node) uses the local Test webhook URL; activation registers the Production webhook URL.

  ## Development

  - Lint/build/test with the n8n node CLI scripts already included:
    - `npm run lint`
    - `npm run dev`
    - `npm run build`

  ## Compatibility

  - n8n: 1.x
  - License: MIT

ai_documentation_summary:
  {"purpose":"Trigger node that emits an item whenever a post is exported from Video To Blog, delivering the exported post content and metadata into an n8n workflow.","capabilities":["Trigger on Post Exported events from Video To Blog","Outputs export payload fields: html, markdown, emailHtml, title, metaDescription, metaTitle, slug, tags","Auto-registers and unregisters webhooks for Test (local) and Production modes","Configurable Destination parameter to label the publishing target","Provides a Test mode (Listen for test event) and automatic Production registration on activation"],"authentication":"API key required — VideoToBlog API key sent as x-api-key header (generic header auth)","commonUseCases":["Automatically publish exported blog posts into a CMS or static site generator","Send exported post content via email or newsletter pipelines","Save exported posts to a database or cloud storage for archiving","Trigger content transformations (e.g., markdown→HTML, SEO metadata updates) or downstream automation","Notify teams (Slack/email) when a post is exported"],"limitations":["Only implements a single fixed trigger event: 'Post Exported' (no other Video To Blog events/actions exposed)","No Base URL or advanced webhook configuration in the node UI — webhook registration is automatic","Community node targeted at n8n v1.x; may lack enterprise features or extended support"],"relatedNodes":[]}


node_type: n8n-nodes-sourcegeek.sourcegeek
package_name: n8n-nodes-sourcegeek
display_name: SourceGeek for LinkedIn
description: Automate LinkedIn tasks and AI workflows with SourceGeek.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: daraseliya
author_github_url: https://github.com/sourcegeekinc/
npm_package_name: n8n-nodes-sourcegeek
npm_version: 0.4.0
community_fetched_at: 2026-02-19T14:41:52.573Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "linkedin",
      "options": [
        {
          "name": "",
          "value": "linkedin"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getProfileData",
      "options": [
        {
          "name": "AI People Search",
          "value": "aiPeopleSearch",
          "action": "Search for people using AI"
        },
        {
          "name": "Check Connection Status",
          "value": "checkConnectionStatus",
          "action": "Check connection status with a profile"
        },
        {
          "name": "Get Company Data",
          "value": "getCompanyData",
          "action": "Get data from a linkedin company page"
        },
        {
          "name": "Get Data From A Linkedin Profile",
          "value": "getProfileData",
          "action": "Get data from a linkedin profile"
        },
        {
          "name": "Get Recent Accepted Connection Requests",
          "value": "getRecentAcceptedConnectionRequests",
          "action": "Get recent accepted connection requests"
        },
        {
          "name": "Get Recent Messages",
          "value": "getRecentMessages",
          "action": "Get recent messages"
        },
        {
          "name": "Get Recent Recruiter Messages",
          "value": "getRecentRecruiterMessages",
          "action": "Get recent recruiter messages"
        },
        {
          "name": "Get Tool Run Result",
          "value": "getToolRun",
          "action": "Get tool run result by ID"
        },
        {
          "name": "Import Contacts - Basic Search",
          "value": "importContactsBasicSearch",
          "action": "Import contacts from basic search"
        },
        {
          "name": "Import Contacts - Recruiter Search",
          "value": "importContactsRecruiterSearch",
          "action": "Import contacts from recruiter search"
        },
        {
          "name": "Import Contacts - Sales Navigator Search",
          "value": "importContactsSalesNavSearch",
          "action": "Import contacts from sales navigator search"
        },
        {
          "name": "Send Connection Request",
          "value": "sendConnectionRequest",
          "action": "Send connection request"
        },
        {
          "name": "Send Message",
          "value": "sendMessage",
          "action": "Send message"
        },
        {
          "name": "Send Recruiter InMail Message",
          "value": "sendRecruiterInMailMessage",
          "action": "Send recruiter inmail message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "linkedin"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "AI People Search",
      "value": "aiPeopleSearch",
      "action": "Search for people using AI"
    },
    {
      "name": "Check Connection Status",
      "value": "checkConnectionStatus",
      "action": "Check connection status with a profile"
    },
    {
      "name": "Get Company Data",
      "value": "getCompanyData",
      "action": "Get data from a linkedin company page"
    },
    {
      "name": "Get Data From A Linkedin Profile",
      "value": "getProfileData",
      "action": "Get data from a linkedin profile"
    },
    {
      "name": "Get Recent Accepted Connection Requests",
      "value": "getRecentAcceptedConnectionRequests",
      "action": "Get recent accepted connection requests"
    },
    {
      "name": "Get Recent Messages",
      "value": "getRecentMessages",
      "action": "Get recent messages"
    },
    {
      "name": "Get Recent Recruiter Messages",
      "value": "getRecentRecruiterMessages",
      "action": "Get recent recruiter messages"
    },
    {
      "name": "Get Tool Run Result",
      "value": "getToolRun",
      "action": "Get tool run result by ID"
    },
    {
      "name": "Import Contacts - Basic Search",
      "value": "importContactsBasicSearch",
      "action": "Import contacts from basic search"
    },
    {
      "name": "Import Contacts - Recruiter Search",
      "value": "importContactsRecruiterSearch",
      "action": "Import contacts from recruiter search"
    },
    {
      "name": "Import Contacts - Sales Navigator Search",
      "value": "importContactsSalesNavSearch",
      "action": "Import contacts from sales navigator search"
    },
    {
      "name": "Send Connection Request",
      "value": "sendConnectionRequest",
      "action": "Send connection request"
    },
    {
      "name": "Send Message",
      "value": "sendMessage",
      "action": "Send message"
    },
    {
      "name": "Send Recruiter InMail Message",
      "value": "sendRecruiterInMailMessage",
      "action": "Send recruiter inmail message"
    }
  ]

npm_readme:
  ![Banner image](https://pub-9f6d72605bf54a19ab5a9a098f99e37c.r2.dev/sourcegeek-hero-github.png)

  # SourceGeek n8n node for LinkedIn

  This is an n8n community node. It lets you use SourceGeek and LinkedIn in your n8n workflows.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)  
  [Usage](#usage)
  [Resources](#resources)  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  * Get Data From A Linkedin Profile
  * Import Contacts - Basic Search
  * Import Contacts - Recruiter Search
  * Import Contacts - Sales Navigator Search
  * Send Connection Request
  * Send Message
  * Send Recruiter InMail Message

  ## Credentials

  To be able to use this SourceGeek n8n integration, you need to follow these steps:
  1. Sign up for a free SourceGeek account at [app.sourcegeek.com/login](https://app.sourcegeek.com/signup)
  2. Create n8n integration in SourceGeek Integrations settings [page](https://app.sourcegeek.com/settings/integrations) by pressing the "Add Integration" button and selecting "n8n"
  3. Click on "Copy API Key" button and paste it in the API Key field in the n8n credentials

  For more information, please refer to the [SourceGeek documentation](https://support.sourcegeek.com/en/articles/12441230-n8n-integration).

  ## Compatibility

  * Tested against: 1.112.6
  * Minimum n8n version: works with all recent n8n versions

  ## Usage

  For more information, please refer to the [SourceGeek documentation](https://support.sourcegeek.com/en/articles/12441230-n8n-integration).

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [SourceGeek documentation](https://support.sourcegeek.com/en/articles/12441230-n8n-integration)

ai_documentation_summary:
  {"purpose":"Provide SourceGeek-powered LinkedIn automation inside n8n so you can import contacts, read profile data, and automate outreach and AI workflows using SourceGeek's API.","capabilities":["Get Data From A Linkedin Profile","Import Contacts - Basic Search","Import Contacts - Recruiter Search","Import Contacts - Sales Navigator Search","Send Connection Request","Send Message","Send Recruiter InMail Message"],"authentication":"API key required (SourceGeek API key created in SourceGeek Integrations and pasted into the n8n credential)","commonUseCases":["Enrich workflows with LinkedIn profile data","Bulk-import contacts from LinkedIn via basic, recruiter, or Sales Navigator searches","Automate outreach: send connection requests and follow-up messages","Send recruiter InMail messages as part of recruiting workflows","Combine SourceGeek's AI features with n8n automations for lead sourcing and messaging"],"limitations":[],"relatedNodes":["LinkedIn"]}


node_type: @crowdin/n8n-nodes-crowdin.crowdinFileBased
package_name: @crowdin/n8n-nodes-crowdin
display_name: Crowdin (File-Based)
description: Interact with crowdin.com API for localization management
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: taras.prosvirov
author_github_url: https://github.com/crowdin/n8n-nodes-crowdin.git
npm_package_name: @crowdin/n8n-nodes-crowdin
npm_version: 0.3.0
community_fetched_at: 2026-02-19T14:41:52.574Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "ai",
      "options": [
        {
          "name": "AI",
          "value": "ai"
        },
        {
          "name": "Storage",
          "value": "storage",
          "description": "\nStorage is a separate container for each file. You need to use _Add Storage_ method before adding files to your projects via API. Files that should be uploaded into storage include files for localization, screenshots, Glossaries, and Translation Memories.\n\n_Storage id_ is the identifier of the file uploaded to the Storage.\n\n__Note:__ Files uploaded to the storage are kept during the next 24 hours.\n"
        },
        {
          "name": "Languages",
          "value": "languages",
          "description": "\nCrowdin supports more than 300 world languages and custom languages created in the system.\n\nUse API to get the list of all supported languages and retrieve additional details (e.g. text direction, internal code) on specific language.\n"
        },
        {
          "name": "Projects",
          "value": "projects",
          "description": "\nUsing projects, you can keep your source files sorted.\n\nUse API to manage projects, change their settings, or remove them if required.\n"
        },
        {
          "name": "Source Files",
          "value": "sourceFiles",
          "description": "\nSource files are resources for translation. You can keep files structure using folders or manage different versions of the content via branches.\n\nUse API to keep the source files up to date, check on file revisions, and manage project branches. Before adding source files to the project, upload each file to the Storage first.\n\n__Note:__ If you use branches, make sure your master branch is the first one you integrate with Crowdin.\n"
        },
        {
          "name": "Translations",
          "value": "translations",
          "description": "\nTranslators can work with entirely untranslated project or you can pre-translate the files to ease the translations process.\n\nUse API to pre-translate files via Machine Translation (MT) or Translation Memory (TM), upload your existing translations, and download translations correspondingly. Pre-translate and build are [asynchronous operations](#section/Introduction/Asynchronous-Operations) and shall be completed with sequence of API methods.\n\n__Note:__ If there are no new translations or changes in build parameters, Crowdin will return the current build for such requests.\n"
        },
        {
          "name": "Source Strings",
          "value": "sourceStrings",
          "description": "\nSource strings are the text units for translation. Instead of modifying source files, you can manage source strings one by one.\n\nUse API to add, edit, or delete some specific strings  in the source-based and files-based projects (available only for the following file formats: CSV, RESX, JSON, Android XML, iOS strings, PROPERTIES, XLIFF).\n"
        },
        {
          "name": "String/Asset Translations",
          "value": "stringAssetTranslations",
          "description": "Use API to add or remove strings/asset translations, approvals, and votes."
        },
        {
          "name": "String/Asset Comments",
          "value": "stringAssetComments",
          "description": "Use API to list, add, edit or remove string/asset comments."
        },
        {
          "name": "Screenshots",
          "value": "screenshots",
          "description": "\nScreenshots provide translators with additional context for the source strings.  Screenshot tags allow specifying  which source strings are displayed on each screenshot.\n\nUse API to manage screenshots and their tags.\n"
        },
        {
          "name": "Glossaries",
          "value": "glossaries",
          "description": "\nGlossaries help to explain some specific terms or the ones often used in the project so that they can be properly and consistently translated.\n\nUse API to manage glossaries or specific terms. Glossary export and import are [asynchronous operations](#section/Introduction/Asynchronous-Operations) and shall be completed with sequence of API methods.\n"
        },
        {
          "name": "Translation Memory",
          "value": "translationMemory",
          "description": "\nTranslation Memory (TM) is a vault of translations that were previously made in other projects. Those translations can be reused to speed up the translation process. Every translation made in the project is automatically added to the project Translation Memory.\n\nUse API to create, upload, download, or remove specific TM. Translation Memory export and import are [asynchronous operations](#section/Introduction/Asynchronous-Operations) and shall be completed with sequence of API methods.\n"
        },
        {
          "name": "Machine Translation Engines",
          "value": "machineTranslationEngines",
          "description": "\nMachine Translation Engines (MTE) are the sources for pre-translations. You can currently connect Google Translate, Microsoft Translator, Crowdin Translate, DeepL Pro and Amazon Translate engines.\n\nUse API to add, update, and delete specific MTE.\n"
        },
        {
          "name": "Translation Status",
          "value": "translationStatus",
          "description": "\nStatus represents the general localization progress on both translations and proofreading.\n\nUse API to check translation and proofreading progress on different levels: file, language, branch, directory.\n"
        },
        {
          "name": "Reports",
          "value": "reports",
          "description": "\nReports help to estimate costs, calculate translation costs, and identify the top members.\n\nUse API to generate Cost Estimate, Translation Cost, and Top Members reports. You can then export reports in .xlsx or .csv file formats. Report generation is an [asynchronous operation](#section/Introduction/Asynchronous-Operations) and shall be completed with a sequence of API methods."
        },
        {
          "name": "Tasks",
          "value": "tasks",
          "description": "\nCreate and assign tasks to get files translated or proofread by specific people. You can set the due dates, split words between people, and receive notifications about the changes and updates on tasks. Tasks are project-specific, so you’ll have to create them within a project.\n\nUse API to create, modify, and delete specific tasks.\n"
        },
        {
          "name": "Users",
          "value": "users",
          "description": "\nUsers API gives you the possibility to get profile information about the currently authenticated user.\n"
        },
        {
          "name": "Webhooks",
          "value": "webhooks",
          "description": "\nWebhooks allow you to collect information about events that happen in your Crowdin projects. You can select the request type, content type, and add a custom payload, which allows you to create integrations with other systems on your own.\n\nYou can configure webhooks for the following events:\n * project file is fully translated\n * project file is fully reviewed\n * project file is fully QA checked\n * all strings in project are translated\n * all strings in project are reviewed\n * all strings in project QA check are finished\n * final translation of string is updated (using Replace in suggestions feature)\n * source string is added\n * source string is updated\n * source string is deleted\n * source string is translated\n * translation for source string is updated (using Replace in suggestions feature)\n * one of translations is deleted\n * translation for string is approved\n * approval for previously added translation is removed\n\nUse API to create, modify, and delete specific webhooks.\n"
        },
        {
          "name": "Organization Webhooks",
          "value": "organizationWebhooks",
          "description": "\nWebhooks allow you to collect information about events that happen in your Crowdin account. You can select the request type, content type, and add a custom payload, which allows you to create integrations with other systems on your own.\n\nYou can configure webhooks for the following events:\n * project is created\n * project is deleted\n\nUse API to create, modify, and delete specific webhooks."
        },
        {
          "name": "Dictionaries",
          "value": "dictionaries",
          "description": "\nDictionaries allow you to create a storage of words that should be skipped by the spell checker.\n\nUse API to get the list of organization dictionaries and to edit a specific dictionary."
        },
        {
          "name": "Applications",
          "value": "applications",
          "description": "\nCrowdin Apps are web applications that can be integrated with Crowdin to extend its functionality.\n\nUse the API to manage the necessary app data.\n"
        },
        {
          "name": "Integrations",
          "value": "integrations",
          "description": "\nIntegration applications provide synchronization between Crowdin and external content management systems.\n\nUse the API to manage integration files, jobs, settings, and authentication."
        },
        {
          "name": "Bundles",
          "value": "bundles"
        },
        {
          "name": "Distributions",
          "value": "distributions"
        },
        {
          "name": "Labels",
          "value": "labels"
        },
        {
          "name": "Notifications",
          "value": "notifications"
        },
        {
          "name": "Security Logs",
          "value": "securityLogs"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.ai.prompts.snippets.getMany",
      "options": [
        {
          "name": "List AI Snippets",
          "value": "api.ai.prompts.snippets.getMany",
          "action": "List AI Snippets",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read only)."
        },
        {
          "name": "Add AI Snippet",
          "value": "api.ai.prompts.snippets.post",
          "action": "Add AI Snippet",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read and Write)."
        },
        {
          "name": "Get AI Snippet",
          "value": "api.ai.prompts.snippets.get",
          "action": "Get AI Snippet",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets/{{$parameter[\"aiSnippetId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read only)."
        },
        {
          "name": "Delete AI Snippet",
          "value": "api.ai.prompts.snippets.delete",
          "action": "Delete AI Snippet",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets/{{$parameter[\"aiSnippetId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read and Write)."
        },
        {
          "name": "Edit AI Snippet",
          "value": "api.ai.prompts.snippets.patch",
          "action": "Edit AI Snippet",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets/{{$parameter[\"aiSnippetId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read and Write)."
        },
        {
          "name": "AI File Translations",
          "value": "api.users.ai.file-translations.post",
          "action": "AI File Translations",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `ai.translate` (Read and Write)."
        },
        {
          "name": "Get File Translations Status",
          "value": "api.users.ai.file-translations.get",
          "action": "Get File Translations Status",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.translate` (Read and Write)."
        },
        {
          "name": "Cancel File Translations",
          "value": "api.users.ai.file-translations.delete",
          "action": "Cancel File Translations",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `ai.translate` (Read and Write)."
        },
        {
          "name": "Download Translated File",
          "value": "api.users.ai.file-translations.download",
          "action": "Download Translated File",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.translate` (Read and Write)."
        },
        {
          "name": "Download Translated File Strings",
          "value": "api.users.ai.file-translations.download-strings",
          "action": "Download Translated File Strings",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}/translations",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.translate` (Read and Write)."
        },
        {
          "name": "Clone AI Prompt",
          "value": "api.users.ai.prompts.clones.post",
          "action": "Clone AI Prompt",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}/clones",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read and Write)."
        },
        {
          "name": "List AI Prompts",
          "value": "api.ai.prompts.getMany",
          "action": "List AI Prompts",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read only)."
        },
        {
          "name": "Add AI Prompt",
          "value": "api.users.ai.prompts.post",
          "action": "Add AI Prompt",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read and Write)."
        },
        {
          "name": "Get AI Prompt",
          "value": "api.users.ai.prompts.get",
          "action": "Get AI Prompt",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read only)."
        },
        {
          "name": "Delete AI Prompt",
          "value": "api.users.ai.prompts.delete",
          "action": "Delete AI Prompt",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read and Write)."
        },
        {
          "name": "Edit AI Prompt",
          "value": "api.users.ai.prompts.patch",
          "action": "Edit AI Prompt",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `ai.prompt` (Read and Write)."
        },
        {
          "name": "List AI Provider Models",
          "value": "api.ai.providers.models.crowdin.getMany",
          "action": "List AI Provider Models",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/models",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "List AI Providers",
          "value": "api.ai.providers.getMany",
          "action": "List AI Providers",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "Add AI Provider",
          "value": "api.users.ai.providers.post",
          "action": "Add AI Provider",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read and Write)."
        },
        {
          "name": "Get AI Provider",
          "value": "api.users.ai.providers.get",
          "action": "Get AI Provider",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "Delete AI Provider",
          "value": "api.users.ai.providers.delete",
          "action": "Delete AI Provider",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read and Write)."
        },
        {
          "name": "Edit AI Provider",
          "value": "api.users.ai.providers.patch",
          "action": "Edit AI Provider",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read and Write)."
        },
        {
          "name": "List AI Provider Models",
          "value": "api.ai.providers.models.getMany",
          "action": "List AI Provider Models",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}/models",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "List Supported AI Provider Models",
          "value": "api.ai.providers.supported-models.crowdin.getMany",
          "action": "List Supported AI Provider Models",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/supported-models",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "Generate AI Report",
          "value": "api.users.ai.reports.post",
          "action": "Generate AI Report",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/reports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "Check AI Report Generation Status",
          "value": "api.users.ai.reports.get",
          "action": "Check AI Report Generation Status",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/reports/{{$parameter[\"aiReportId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "Download AI Report",
          "value": "api.users.ai.reports.download.download",
          "action": "Download AI Report",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/reports/{{$parameter[\"aiReportId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai.provider` (Read only)."
        },
        {
          "name": "Get AI Settings",
          "value": "api.users.ai.settings.get",
          "action": "Get AI Settings",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `ai` (Read only)."
        },
        {
          "name": "Edit AI Settings",
          "value": "api.users.ai.settings.patch",
          "action": "Edit AI Settings",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `ai` (Read and Write)."
        },
        {
          "name": "AI Translate Strings",
          "value": "api.users.ai.translate.strings.post",
          "action": "AI Translate Strings",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/ai/translate",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `ai.translate` (Read and Write)."
        },
        {
          "name": "Get Project AI Settings",
          "value": "api.projects.ai.settings.get",
          "action": "Get Project AI Settings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/ai/settings",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project` (Read only)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/settings/snippets",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.prompts.snippets.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/ai/settings/snippets",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.prompts.snippets.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/settings/snippets/{aiSnippetId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.prompts.snippets.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /users/{userId}/ai/settings/snippets/{aiSnippetId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.prompts.snippets.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /users/{userId}/ai/settings/snippets/{aiSnippetId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.prompts.snippets.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/ai/file-translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.file-translations.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/file-translations/{jobIdentifier}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.file-translations.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /users/{userId}/ai/file-translations/{jobIdentifier}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.file-translations.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/file-translations/{jobIdentifier}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.file-translations.download"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/file-translations/{jobIdentifier}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.file-translations.download-strings"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/ai/prompts/{aiPromptId}/clones",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.prompts.clones.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/prompts",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.prompts.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/ai/prompts",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.prompts.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/prompts/{aiPromptId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.prompts.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /users/{userId}/ai/prompts/{aiPromptId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.prompts.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /users/{userId}/ai/prompts/{aiPromptId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.prompts.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/providers/models",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.providers.models.crowdin.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/providers",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.providers.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/ai/providers",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.providers.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/providers/{aiProviderId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.providers.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /users/{userId}/ai/providers/{aiProviderId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.providers.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /users/{userId}/ai/providers/{aiProviderId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.providers.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/providers/{aiProviderId}/models",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.providers.models.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/providers/supported-models",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.ai.providers.supported-models.crowdin.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/ai/reports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.reports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/reports/{aiReportId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.reports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/reports/{aiReportId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.reports.download.download"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/ai/settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.settings.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/ai/translate",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.translate.strings.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/ai/settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.projects.ai.settings.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.storages.getMany",
      "options": [
        {
          "name": "List Storages",
          "value": "api.storages.getMany",
          "action": "List Storages",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/storages",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Storage",
          "value": "api.storages.get",
          "action": "Get Storage",
          "routing": {
            "request": {
              "url": "=/storages/{{$parameter[\"storageId\"]}}",
              "method": "GET"
            }
          }
        },
        {
          "name": "Delete Storage",
          "value": "api.storages.delete",
          "action": "Delete Storage",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/storages/{{$parameter[\"storageId\"]}}",
              "method": "DELETE"
            }
          }
        },
        {
          "name": "Add Storage",
          "value": "api.storages.post",
          "action": "Add Storage",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/storages",
              "method": "POST",
              "headers": {
                "Crowdin-API-FileName": "={{$parameter[\"fileName\"]}}"
              }
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "storage"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /storages",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "storage"
          ],
          "operation": [
            "api.storages.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /storages/{storageId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "storage"
          ],
          "operation": [
            "api.storages.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /storages/{storageId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "storage"
          ],
          "operation": [
            "api.storages.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.languages.getMany",
      "options": [
        {
          "name": "List Supported Languages",
          "value": "api.languages.getMany",
          "action": "List Supported Languages",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/languages",
              "method": "GET"
            }
          }
        },
        {
          "name": "Add Custom Language",
          "value": "api.languages.post",
          "action": "Add Custom Language",
          "routing": {
            "request": {
              "url": "=/languages",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `language` (Read and Write)."
        },
        {
          "name": "Get Language",
          "value": "api.languages.get",
          "action": "Get Language",
          "routing": {
            "request": {
              "url": "=/languages/{{$parameter[\"languageId\"]}}",
              "method": "GET"
            }
          }
        },
        {
          "name": "Delete Custom Language",
          "value": "api.languages.delete",
          "action": "Delete Custom Language",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/languages/{{$parameter[\"languageId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `language` (Read and Write)."
        },
        {
          "name": "Edit Custom Language",
          "value": "api.languages.patch",
          "action": "Edit Custom Language",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/languages/{{$parameter[\"languageId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `language` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "languages"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /languages",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "languages"
          ],
          "operation": [
            "api.languages.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /languages",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "languages"
          ],
          "operation": [
            "api.languages.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /languages/{languageId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "languages"
          ],
          "operation": [
            "api.languages.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /languages/{languageId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "languages"
          ],
          "operation": [
            "api.languages.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /languages/{languageId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "languages"
          ],
          "operation": [
            "api.languages.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.getMany",
      "options": [
        {
          "name": "List Projects",
          "value": "api.projects.getMany",
          "action": "List Projects",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read only)."
        },
        {
          "name": "Add Project",
          "value": "api.projects.post",
          "action": "Add Project",
          "routing": {
            "request": {
              "url": "=/projects",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "Get Project",
          "value": "api.projects.get",
          "action": "Get Project",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read only)."
        },
        {
          "name": "Delete Project",
          "value": "api.projects.delete",
          "action": "Delete Project",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project` (Read and Write)."
        },
        {
          "name": "Edit Project",
          "value": "api.projects.patch",
          "action": "Edit Project",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "Download Project File Format Settings Custom Segmentation",
          "value": "api.projects.file-format-settings.custom-segmentations.get",
          "action": "Download Project File Format Settings Custom Segmentation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}/custom-segmentations",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read only)."
        },
        {
          "name": "Reset Project File Format Settings Custom Segmentation",
          "value": "api.projects.file-format-settings.custom-segmentations.delete",
          "action": "Reset Project File Format Settings Custom Segmentation",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}/custom-segmentations",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "List Project File Format Settings",
          "value": "api.projects.file-format-settings.getMany",
          "action": "List Project File Format Settings",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read only)."
        },
        {
          "name": "Add Project File Format Settings",
          "value": "api.projects.file-format-settings.post",
          "action": "Add Project File Format Settings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "Get Project File Format Settings",
          "value": "api.projects.file-format-settings.get",
          "action": "Get Project File Format Settings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read only)."
        },
        {
          "name": "Delete Project File Format Settings",
          "value": "api.projects.file-format-settings.delete",
          "action": "Delete Project File Format Settings",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "Edit Project File Format Settings",
          "value": "api.projects.file-format-settings.patch",
          "action": "Edit Project File Format Settings",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "List Project Strings Exporter Settings",
          "value": "api.projects.strings-exporter-settings.getMany",
          "action": "List Project Strings Exporter Settings",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read only)."
        },
        {
          "name": "Add Project Strings Exporter Settings",
          "value": "api.projects.strings-exporter-settings.post",
          "action": "Add Project Strings Exporter Settings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "Get Project Strings Exporter Settings",
          "value": "api.projects.strings-exporter-settings.get",
          "action": "Get Project Strings Exporter Settings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings/{{$parameter[\"systemStringsExporterSettingsId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read only)."
        },
        {
          "name": "Delete Project Strings Exporter Settings",
          "value": "api.projects.strings-exporter-settings.delete",
          "action": "Delete Project Strings Exporter Settings",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings/{{$parameter[\"systemStringsExporterSettingsId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        },
        {
          "name": "Edit Project Strings Exporter Settings",
          "value": "api.projects.strings-exporter-settings.patch",
          "action": "Edit Project Strings Exporter Settings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings/{{$parameter[\"systemStringsExporterSettingsId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.settings` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/file-format-settings/{fileFormatSettingsId}/custom-segmentations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.file-format-settings.custom-segmentations.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/file-format-settings/{fileFormatSettingsId}/custom-segmentations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.file-format-settings.custom-segmentations.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/file-format-settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.file-format-settings.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/file-format-settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.file-format-settings.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/file-format-settings/{fileFormatSettingsId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.file-format-settings.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/file-format-settings/{fileFormatSettingsId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.file-format-settings.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/file-format-settings/{fileFormatSettingsId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.file-format-settings.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/strings-exporter-settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.strings-exporter-settings.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/strings-exporter-settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.strings-exporter-settings.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.strings-exporter-settings.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.strings-exporter-settings.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/strings-exporter-settings/{systemStringsExporterSettingsId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "projects"
          ],
          "operation": [
            "api.projects.strings-exporter-settings.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.branches.getMany",
      "options": [
        {
          "name": "List Branches",
          "value": "api.projects.branches.getMany",
          "action": "List Branches",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Add Branch",
          "value": "api.projects.branches.post",
          "action": "Add Branch",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Get Branch",
          "value": "api.projects.branches.get",
          "action": "Get Branch",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Delete Branch",
          "value": "api.projects.branches.delete",
          "action": "Delete Branch",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Edit Branch",
          "value": "api.projects.branches.patch",
          "action": "Edit Branch",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "List Directories",
          "value": "api.projects.directories.getMany",
          "action": "List Directories",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/directories",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Add Directory",
          "value": "api.projects.directories.post",
          "action": "Add Directory",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/directories",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Get Directory",
          "value": "api.projects.directories.get",
          "action": "Get Directory",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Delete Directory",
          "value": "api.projects.directories.delete",
          "action": "Delete Directory",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Edit Directory",
          "value": "api.projects.directories.patch",
          "action": "Edit Directory",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "List Files",
          "value": "api.projects.files.getMany",
          "action": "List Files",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Add File",
          "value": "api.projects.files.post",
          "action": "Add File",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Get File",
          "value": "api.projects.files.get",
          "action": "Get File",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Update or Restore File",
          "value": "api.projects.files.put",
          "action": "Update or Restore File",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
              "method": "PUT"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write).\n\nUpdate your current file with a new one or restore it to one of the previous revisions"
        },
        {
          "name": "Delete File",
          "value": "api.projects.files.delete",
          "action": "Delete File",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Edit File",
          "value": "api.projects.files.patch",
          "action": "Edit File",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Download File Preview",
          "value": "api.projects.files.preview.get",
          "action": "Download File Preview",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/preview",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Download File",
          "value": "api.projects.files.download.get",
          "action": "Download File",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "List Asset References",
          "value": "api.projects.files.references.getMany",
          "action": "List Asset References",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only).\n\nList all reference files for an asset"
        },
        {
          "name": "Add Asset Reference",
          "value": "api.projects.files.references.post",
          "action": "Add Asset Reference",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write).\n\nUpload a reference file for an asset"
        },
        {
          "name": "Get Asset Reference",
          "value": "api.projects.files.references.get",
          "action": "Get Asset Reference",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references/{{$parameter[\"referenceId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only).\n\nGet information about a specific asset reference"
        },
        {
          "name": "Delete Asset Reference",
          "value": "api.projects.files.references.delete",
          "action": "Delete Asset Reference",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references/{{$parameter[\"referenceId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write).\n\nDelete a reference file for an asset"
        },
        {
          "name": "List File Revisions",
          "value": "api.projects.files.revisions.getMany",
          "action": "List File Revisions",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/revisions",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Get File Revision",
          "value": "api.projects.files.revisions.get",
          "action": "Get File Revision",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/revisions/{{$parameter[\"revisionId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.branches.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/branches",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.branches.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches/{branchId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.branches.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/branches/{branchId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.branches.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/branches/{branchId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.branches.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/directories",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.directories.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/directories",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.directories.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/directories/{directoryId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.directories.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/directories/{directoryId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.directories.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/directories/{directoryId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.directories.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/files",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /projects/{projectId}/files/{fileId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.put"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/files/{fileId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/files/{fileId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}/preview",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.preview.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.download.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}/references",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.references.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/files/{fileId}/references",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.references.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}/references/{referenceId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.references.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/files/{fileId}/references/{referenceId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.references.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}/revisions",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.revisions.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}/revisions/{revisionId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceFiles"
          ],
          "operation": [
            "api.projects.files.revisions.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.pre-translations.getMany",
      "options": [
        {
          "name": "List Pre-Translations",
          "value": "api.projects.pre-translations.getMany",
          "action": "List Pre-Translations",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Apply Pre-Translation",
          "value": "api.projects.pre-translations.post",
          "action": "Apply Pre-Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Pre-Translation Status",
          "value": "api.projects.pre-translations.get",
          "action": "Pre-Translation Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations/{{$parameter[\"preTranslationId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Edit Pre-Translation",
          "value": "api.projects.pre-translations.patch",
          "action": "Edit Pre-Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations/{{$parameter[\"preTranslationId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Pre-Translation Report",
          "value": "api.projects.pre-translations.report.getReport",
          "action": "Pre-Translation Report",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations/{{$parameter[\"preTranslationId\"]}}/report",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Validate text by QA Checks",
          "value": "api.projects.translations.validate-qa-checks.post",
          "action": "Validate text by QA Checks",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/validate-qa-checks",
              "method": "POST"
            }
          }
        },
        {
          "name": "Build Project Directory Translation",
          "value": "api.projects.translations.builds.directories.post",
          "action": "Build Project Directory Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/directories/{{$parameter[\"directoryId\"]}}",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Build Project File Translation",
          "value": "api.projects.translations.builds.files.post",
          "action": "Build Project File Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/files/{{$parameter[\"fileId\"]}}",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "List Project Builds",
          "value": "api.projects.translations.builds.getMany",
          "action": "List Project Builds",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Build Project Translation",
          "value": "api.projects.translations.builds.post",
          "action": "Build Project Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Download Project Translations",
          "value": "api.projects.translations.builds.download.download",
          "action": "Download Project Translations",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/{{$parameter[\"buildId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Check Project Build Status",
          "value": "api.projects.translations.builds.get",
          "action": "Check Project Build Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/{{$parameter[\"buildId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Cancel Build",
          "value": "api.projects.translations.builds.delete",
          "action": "Cancel Build",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/{{$parameter[\"buildId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Export Project Translation",
          "value": "api.projects.translations.exports.post",
          "action": "Export Project Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/exports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/)."
        },
        {
          "name": "Import Translations",
          "value": "api.projects.translations.imports",
          "action": "Import Translations",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/imports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Import Translations Status",
          "value": "api.projects.translations.imports.get",
          "action": "Import Translations Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/imports/{{$parameter[\"importTranslationId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Import Translations Report",
          "value": "api.projects.translations.imports.report.get",
          "action": "Import Translations Report",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/imports/{{$parameter[\"importTranslationId\"]}}/report",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/pre-translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.pre-translations.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/pre-translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.pre-translations.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/pre-translations/{preTranslationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.pre-translations.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/pre-translations/{preTranslationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.pre-translations.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/pre-translations/{preTranslationId}/report",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.pre-translations.report.getReport"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/validate-qa-checks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.validate-qa-checks.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/builds/directories/{directoryId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.builds.directories.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/builds/files/{fileId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.builds.files.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations/builds",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.builds.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/builds",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.builds.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations/builds/{buildId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.builds.download.download"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations/builds/{buildId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.builds.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/translations/builds/{buildId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.builds.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/exports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.exports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/imports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.imports"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations/imports/{importTranslationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.imports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations/imports/{importTranslationId}/report",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translations"
          ],
          "operation": [
            "api.projects.translations.imports.report.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.strings.getMany",
      "options": [
        {
          "name": "List Strings",
          "value": "api.projects.strings.getMany",
          "action": "List Strings",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        },
        {
          "name": "Add String",
          "value": "api.projects.strings.post",
          "action": "Add String",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        },
        {
          "name": "Get String",
          "value": "api.projects.strings.get",
          "action": "Get String",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/{{$parameter[\"stringId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        },
        {
          "name": "Delete String",
          "value": "api.projects.strings.delete",
          "action": "Delete String",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/{{$parameter[\"stringId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        },
        {
          "name": "Edit String",
          "value": "api.projects.strings.patch",
          "action": "Edit String",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/{{$parameter[\"stringId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/strings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ],
          "operation": [
            "api.projects.strings.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/strings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ],
          "operation": [
            "api.projects.strings.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/strings/{stringId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ],
          "operation": [
            "api.projects.strings.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/strings/{stringId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ],
          "operation": [
            "api.projects.strings.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.approvals.getMany",
      "options": [
        {
          "name": "List Translation Approvals",
          "value": "api.projects.approvals.getMany",
          "action": "List Translation Approvals",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ Either `translationId` OR `fileId` OR `labelIds` OR `excludeLabelIds` with `languageId` OR `stringId` with `languageId` are required"
        },
        {
          "name": "Add Approval",
          "value": "api.projects.approvals.post",
          "action": "Add Approval",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Remove String/Asset Approvals",
          "value": "api.projects.approvals.deleteMany",
          "action": "Remove String/Asset Approvals",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write).\n\nRemove all approvals for a string or asset. Use the oneOf pattern:\n- **String type**: Use `stringId`\n- **Asset type**: Use `fileId`"
        },
        {
          "name": "Get Approval",
          "value": "api.projects.approvals.get",
          "action": "Get Approval",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals/{{$parameter[\"approvalId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Remove Approval",
          "value": "api.projects.approvals.delete",
          "action": "Remove Approval",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals/{{$parameter[\"approvalId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "List Language Translations",
          "value": "api.projects.languages.translations.getMany",
          "action": "List Language Translations",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/languages/{{$parameter[\"languageId\"]}}/translations",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/)."
        },
        {
          "name": "List Translations",
          "value": "api.projects.translations.getMany",
          "action": "List Translations",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/)."
        },
        {
          "name": "Add Translation",
          "value": "api.projects.translations.post",
          "action": "Add Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Delete String/Asset Translations",
          "value": "api.projects.translations.deleteMany",
          "action": "Delete String/Asset Translations",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write).\n\nDelete translations for a string or an asset. Use the oneOf pattern:\n - **String type**: Use `stringId`\n - **Asset type**: Use `fileId`"
        },
        {
          "name": "Get Translation",
          "value": "api.projects.translations.get",
          "action": "Get Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/{{$parameter[\"translationId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Restore Translation",
          "value": "api.projects.translations.put",
          "action": "Restore Translation",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/{{$parameter[\"translationId\"]}}",
              "method": "PUT"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Delete Translation",
          "value": "api.projects.translations.delete",
          "action": "Delete Translation",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/{{$parameter[\"translationId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Translation Alignment",
          "value": "api.projects.translations.alignment.post",
          "action": "Translation Alignment",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/alignment",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "List Translation Votes",
          "value": "api.projects.votes.getMany",
          "action": "List Translation Votes",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/votes",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ Either `translationId` OR `fileId` OR `labelIds` OR `excludeLabelIds` with `languageId` OR `stringId` with `languageId` are required"
        },
        {
          "name": "Add Vote",
          "value": "api.projects.votes.post",
          "action": "Add Vote",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/votes",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Get Vote",
          "value": "api.projects.votes.get",
          "action": "Get Vote",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/votes/{{$parameter[\"voteId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Cancel Vote",
          "value": "api.projects.votes.delete",
          "action": "Cancel Vote",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/votes/{{$parameter[\"voteId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/approvals",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.approvals.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/approvals",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.approvals.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/approvals",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.approvals.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/approvals/{approvalId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.approvals.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/approvals/{approvalId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.approvals.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/languages/{languageId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.languages.translations.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.translations.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.translations.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.translations.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations/{translationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.translations.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /projects/{projectId}/translations/{translationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.translations.put"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/translations/{translationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.translations.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/alignment",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.translations.alignment.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/votes",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.votes.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/votes",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.votes.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/votes/{voteId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.votes.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/votes/{voteId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetTranslations"
          ],
          "operation": [
            "api.projects.votes.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.comments.attachments.delete",
      "options": [
        {
          "name": "Delete Attachment from String/Asset Comment",
          "value": "api.projects.comments.attachments.delete",
          "action": "Delete Attachment from String/Asset Comment",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}/attachments/{{$parameter[\"attachmentId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        },
        {
          "name": "List String/Asset Comments",
          "value": "api.projects.comments.getMany",
          "action": "List String/Asset Comments",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only).\n\nList comments and issues for strings or assets. Use the oneOf pattern:\n- **String type**: Use `stringId`\n- **Asset type**: Use `fileId`\n- **All comments**: Omit both parameters to list all project comments"
        },
        {
          "name": "Add String/Asset Comment",
          "value": "api.projects.comments.post",
          "action": "Add String/Asset Comment",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write).\n\nAdd a comment or issue to a string or asset. Use the oneOf pattern:\n- **String type**: Use `stringId`\n- **Asset type**: Use `fileId`"
        },
        {
          "name": "Get String/Asset Comment",
          "value": "api.projects.comments.get",
          "action": "Get String/Asset Comment",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        },
        {
          "name": "Delete String/Asset Comment",
          "value": "api.projects.comments.delete",
          "action": "Delete String/Asset Comment",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        },
        {
          "name": "Edit String/Asset Comment",
          "value": "api.projects.comments.patch",
          "action": "Edit String/Asset Comment",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetComments"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/comments/{commentId}/attachments/{attachmentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetComments"
          ],
          "operation": [
            "api.projects.comments.attachments.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetComments"
          ],
          "operation": [
            "api.projects.comments.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetComments"
          ],
          "operation": [
            "api.projects.comments.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetComments"
          ],
          "operation": [
            "api.projects.comments.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetComments"
          ],
          "operation": [
            "api.projects.comments.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.screenshots.getMany",
      "options": [
        {
          "name": "List Screenshots",
          "value": "api.projects.screenshots.getMany",
          "action": "List Screenshots",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read only)."
        },
        {
          "name": "Add Screenshot",
          "value": "api.projects.screenshots.post",
          "action": "Add Screenshot",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "Get Screenshot",
          "value": "api.projects.screenshots.get",
          "action": "Get Screenshot",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read only)."
        },
        {
          "name": "Update Screenshot",
          "value": "api.projects.screenshots.put",
          "action": "Update Screenshot",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
              "method": "PUT"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "Delete Screenshot",
          "value": "api.projects.screenshots.delete",
          "action": "Delete Screenshot",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "Edit Screenshot",
          "value": "api.projects.screenshots.patch",
          "action": "Edit Screenshot",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "List Tags",
          "value": "api.projects.screenshots.tags.getMany",
          "action": "List Tags",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read only)."
        },
        {
          "name": "Replace Tags (Auto Tag)",
          "value": "api.projects.screenshots.tags.putMany",
          "action": "Replace Tags (Auto Tag)",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
              "method": "PUT"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "Add Tag",
          "value": "api.projects.screenshots.tags.post",
          "action": "Add Tag",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "Clear Tags",
          "value": "api.projects.screenshots.tags.deleteMany",
          "action": "Clear Tags",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "Get Tag",
          "value": "api.projects.screenshots.tags.get",
          "action": "Get Tag",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags/{{$parameter[\"tagId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read only)."
        },
        {
          "name": "Delete Tag",
          "value": "api.projects.screenshots.tags.delete",
          "action": "Delete Tag",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags/{{$parameter[\"tagId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        },
        {
          "name": "Edit Tag",
          "value": "api.projects.screenshots.tags.patch",
          "action": "Edit Tag",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags/{{$parameter[\"tagId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.screenshot` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/screenshots",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/screenshots",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/screenshots/{screenshotId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /projects/{projectId}/screenshots/{screenshotId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.put"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/screenshots/{screenshotId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/screenshots/{screenshotId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/screenshots/{screenshotId}/tags",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.tags.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /projects/{projectId}/screenshots/{screenshotId}/tags",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.tags.putMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/screenshots/{screenshotId}/tags",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.tags.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/screenshots/{screenshotId}/tags",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.tags.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/screenshots/{screenshotId}/tags/{tagId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.tags.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/screenshots/{screenshotId}/tags/{tagId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.tags.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/screenshots/{screenshotId}/tags/{tagId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "screenshots"
          ],
          "operation": [
            "api.projects.screenshots.tags.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.glossaries.concepts.getMany",
      "options": [
        {
          "name": "List Concepts",
          "value": "api.glossaries.concepts.getMany",
          "action": "List Concepts",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Get concept",
          "value": "api.glossaries.concepts.get",
          "action": "Get concept",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts/{{$parameter[\"conceptId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Update concept",
          "value": "api.glossaries.concepts.put",
          "action": "Update concept",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts/{{$parameter[\"conceptId\"]}}",
              "method": "PUT"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write).\n\n__Note:__ There is no separate method for concept creation. Concepts are automatically created when adding a term without specifying a `conceptId`."
        },
        {
          "name": "Delete Concept",
          "value": "api.glossaries.concepts.delete",
          "action": "Delete Concept",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts/{{$parameter[\"conceptId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "List Glossaries",
          "value": "api.glossaries.getMany",
          "action": "List Glossaries",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/glossaries",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Add Glossary",
          "value": "api.glossaries.post",
          "action": "Add Glossary",
          "routing": {
            "request": {
              "url": "=/glossaries",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "Get Glossary",
          "value": "api.glossaries.get",
          "action": "Get Glossary",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Delete Glossary",
          "value": "api.glossaries.delete",
          "action": "Delete Glossary",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "Edit Glossary",
          "value": "api.glossaries.patch",
          "action": "Edit Glossary",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "Export Glossary",
          "value": "api.glossaries.exports.post",
          "action": "Export Glossary",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/exports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Check Glossary Export Status",
          "value": "api.glossaries.exports.get",
          "action": "Check Glossary Export Status",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/exports/{{$parameter[\"exportId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Download Glossary",
          "value": "api.glossaries.exports.download.download",
          "action": "Download Glossary",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Import Glossary",
          "value": "api.glossaries.imports.post",
          "action": "Import Glossary",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/imports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "Check Glossary Import Status",
          "value": "api.glossaries.imports.get",
          "action": "Check Glossary Import Status",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/imports/{{$parameter[\"importId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "Concordance search in Glossaries",
          "value": "api.projects.glossaries.concordance.post",
          "action": "Concordance search in Glossaries",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/glossaries/concordance",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "List Terms",
          "value": "api.glossaries.terms.getMany",
          "action": "List Terms",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Add Term",
          "value": "api.glossaries.terms.post",
          "action": "Add Term",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write).\n\n__Note:__ If `conceptId` is not specified, a new concept will be automatically created for the term."
        },
        {
          "name": "Clear Glossary",
          "value": "api.glossaries.terms.deleteMany",
          "action": "Clear Glossary",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "Get Term",
          "value": "api.glossaries.terms.get",
          "action": "Get Term",
          "routing": {
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms/{{$parameter[\"termId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `glossary` (Read only)."
        },
        {
          "name": "Delete Term",
          "value": "api.glossaries.terms.delete",
          "action": "Delete Term",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms/{{$parameter[\"termId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        },
        {
          "name": "Edit Term",
          "value": "api.glossaries.terms.patch",
          "action": "Edit Term",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms/{{$parameter[\"termId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `glossary` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}/concepts",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.concepts.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}/concepts/{conceptId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.concepts.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /glossaries/{glossaryId}/concepts/{conceptId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.concepts.put"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /glossaries/{glossaryId}/concepts/{conceptId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.concepts.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /glossaries",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /glossaries/{glossaryId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /glossaries/{glossaryId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /glossaries/{glossaryId}/exports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.exports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}/exports/{exportId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.exports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}/exports/{exportId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.exports.download.download"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /glossaries/{glossaryId}/imports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.imports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}/imports/{importId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.imports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/glossaries/concordance",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.projects.glossaries.concordance.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}/terms",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.terms.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /glossaries/{glossaryId}/terms",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.terms.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /glossaries/{glossaryId}/terms",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.terms.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /glossaries/{glossaryId}/terms/{termId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.terms.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /glossaries/{glossaryId}/terms/{termId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.terms.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /glossaries/{glossaryId}/terms/{termId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "glossaries"
          ],
          "operation": [
            "api.glossaries.terms.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.tms.getMany",
      "options": [
        {
          "name": "List TMs",
          "value": "api.tms.getMany",
          "action": "List TMs",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/tms",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `tm` (Read only)."
        },
        {
          "name": "Add TM",
          "value": "api.tms.post",
          "action": "Add TM",
          "routing": {
            "request": {
              "url": "=/tms",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write)."
        },
        {
          "name": "Get TM",
          "value": "api.tms.get",
          "action": "Get TM",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `tm` (Read only)."
        },
        {
          "name": "Delete TM",
          "value": "api.tms.delete",
          "action": "Delete TM",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write)."
        },
        {
          "name": "Edit TM",
          "value": "api.tms.patch",
          "action": "Edit TM",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write)."
        },
        {
          "name": "List TM Segments",
          "value": "api.tms.segments.getMany",
          "action": "List TM Segments",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/segments",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `tm` (Read only).\n\nGet list of translation unit segments"
        },
        {
          "name": "Create TM Segment",
          "value": "api.tms.segments.post",
          "action": "Create TM Segment",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/segments",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write).\n\nCreate translation unit with given segments"
        },
        {
          "name": "Clear TM",
          "value": "api.tms.segments.clear",
          "action": "Clear TM",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/segments",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write)."
        },
        {
          "name": "Export TM",
          "value": "api.tms.exports.post",
          "action": "Export TM",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/exports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `tm` (Read only)."
        },
        {
          "name": "Check TM Export Status",
          "value": "api.tms.exports.get",
          "action": "Check TM Export Status",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/exports/{{$parameter[\"exportId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `tm` (Read only)."
        },
        {
          "name": "Download TM",
          "value": "api.tms.exports.download.download",
          "action": "Download TM",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `tm` (Read only)."
        },
        {
          "name": "Concordance search in TMs",
          "value": "api.projects.tms.concordance.post",
          "action": "Concordance search in TMs",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tms/concordance",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write)."
        },
        {
          "name": "Import TM",
          "value": "api.tms.imports.post",
          "action": "Import TM",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/imports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write)."
        },
        {
          "name": "Check TM Import Status",
          "value": "api.tms.imports.get",
          "action": "Check TM Import Status",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/imports/{{$parameter[\"importId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write)."
        },
        {
          "name": "Get TM Segment",
          "value": "api.tms.segments.get",
          "action": "Get TM Segment",
          "routing": {
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/segments/{{$parameter[\"segmentId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `tm` (Read only).\n\nGet segments of translation unit"
        },
        {
          "name": "Delete TM Segment",
          "value": "api.tms.segments.delete",
          "action": "Delete TM Segment",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/segments/{{$parameter[\"segmentId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write).\n\nDelete all segments of translation unit"
        },
        {
          "name": "Edit TM Segment",
          "value": "api.tms.segments.patch",
          "action": "Edit TM Segment",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/tms/{{$parameter[\"tmId\"]}}/segments/{{$parameter[\"segmentId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `tm` (Read and Write).\n\nEdit segment of translation unit"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tms",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tms",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tms/{tmId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /tms/{tmId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /tms/{tmId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tms/{tmId}/segments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.segments.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tms/{tmId}/segments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.segments.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /tms/{tmId}/segments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.segments.clear"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tms/{tmId}/exports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.exports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tms/{tmId}/exports/{exportId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.exports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tms/{tmId}/exports/{exportId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.exports.download.download"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/tms/concordance",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.projects.tms.concordance.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tms/{tmId}/imports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.imports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tms/{tmId}/imports/{importId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.imports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tms/{tmId}/segments/{segmentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.segments.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /tms/{tmId}/segments/{segmentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.segments.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.mts.getMany",
      "options": [
        {
          "name": "List MTs",
          "value": "api.mts.getMany",
          "action": "List MTs",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/mts",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `mt` (Read only)."
        },
        {
          "name": "Get MT",
          "value": "api.mts.get",
          "action": "Get MT",
          "routing": {
            "request": {
              "url": "=/mts/{{$parameter[\"mtId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `mt` (Read only)."
        },
        {
          "name": "Translate via MT",
          "value": "api.mts.translations.post",
          "action": "Translate via MT",
          "routing": {
            "request": {
              "url": "=/mts/{{$parameter[\"mtId\"]}}/translations",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `mt` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "machineTranslationEngines"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /mts",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "machineTranslationEngines"
          ],
          "operation": [
            "api.mts.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /mts/{mtId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "machineTranslationEngines"
          ],
          "operation": [
            "api.mts.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /mts/{mtId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "machineTranslationEngines"
          ],
          "operation": [
            "api.mts.translations.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.branches.languages.progress.getMany",
      "options": [
        {
          "name": "Get Branch Progress",
          "value": "api.projects.branches.languages.progress.getMany",
          "action": "Get Branch Progress",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/languages/progress",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.status.progress` (Read only)."
        },
        {
          "name": "Get Directory Progress",
          "value": "api.projects.directories.languages.progress.getMany",
          "action": "Get Directory Progress",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}/languages/progress",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.status.progress` (Read only)."
        },
        {
          "name": "Get File Progress",
          "value": "api.projects.files.languages.progress.getMany",
          "action": "Get File Progress",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/languages/progress",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.status.progress` (Read only)."
        },
        {
          "name": "Get Language Progress",
          "value": "api.projects.languages.files.progress.getMany",
          "action": "Get Language Progress",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/languages/{{$parameter[\"languageId\"]}}/progress",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.status.progress` (Read only)."
        },
        {
          "name": "Get Project Progress",
          "value": "api.projects.languages.progress.getMany",
          "action": "Get Project Progress",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/languages/progress",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.status.progress` (Read only)."
        },
        {
          "name": "Revalidate QA Checks",
          "value": "api.projects.qa-checks.revalidate.post",
          "action": "Revalidate QA Checks",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks/revalidate",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.status.qa-check` (Read and Write).\n\nTriggers revalidation of all QA checks for the project"
        },
        {
          "name": "QA Checks Revalidation Status",
          "value": "api.projects.qa-checks.revalidate.get",
          "action": "QA Checks Revalidation Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks/revalidate/{{$parameter[\"revalidationId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.status.qa-check` (Read and Write).\n\nReturns the status of QA checks revalidation job"
        },
        {
          "name": "Cancel QA Checks Revalidation",
          "value": "api.projects.qa-checks.revalidate.delete",
          "action": "Cancel QA Checks Revalidation",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks/revalidate/{{$parameter[\"revalidationId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.status.qa-check` (Read and Write).\n\nCancels the QA checks revalidation job"
        },
        {
          "name": "List QA Check Issues",
          "value": "api.projects.qa-checks.getMany",
          "action": "List QA Check Issues",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.status.qa-check` (Read only)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches/{branchId}/languages/progress",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.branches.languages.progress.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/directories/{directoryId}/languages/progress",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.directories.languages.progress.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/files/{fileId}/languages/progress",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.files.languages.progress.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/languages/{languageId}/progress",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.languages.files.progress.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/languages/progress",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.languages.progress.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/qa-checks/revalidate",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.qa-checks.revalidate.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/qa-checks/revalidate/{revalidationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.qa-checks.revalidate.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/qa-checks/revalidate/{revalidationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.qa-checks.revalidate.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/qa-checks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationStatus"
          ],
          "operation": [
            "api.projects.qa-checks.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.reports.archives.getMany",
      "options": [
        {
          "name": "List Report Archives",
          "value": "api.reports.archives.getMany",
          "action": "List Report Archives",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Get Report Archive",
          "value": "api.users.reports.archives.get",
          "action": "Get Report Archive",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Delete Report Archive",
          "value": "api.users.reports.archives.delete",
          "action": "Delete Report Archive",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.report` (Read and Write)."
        },
        {
          "name": "Export Report Archive",
          "value": "api.reports.archives.exports.post",
          "action": "Export Report Archive",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}/exports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Check Report Archive Export Status",
          "value": "api.users.reports.archives.exports.get",
          "action": "Check Report Archive Export Status",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}/exports/{{$parameter[\"exportId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Download Report Archive",
          "value": "api.users.reports.archives.exports.download.get",
          "action": "Download Report Archive",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Generate Report",
          "value": "api.projects.reports.post",
          "action": "Generate Report",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Check Report Generation Status",
          "value": "api.projects.reports.get",
          "action": "Check Report Generation Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/{{$parameter[\"reportId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Download Report",
          "value": "api.projects.reports.download.download",
          "action": "Download Report",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/{{$parameter[\"reportId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "List Report Settings Templates",
          "value": "api.projects.reports.settings-templates.getMany",
          "action": "List Report Settings Templates",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Add Report Settings Template",
          "value": "api.projects.reports.settings-templates.post",
          "action": "Add Report Settings Template",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.report` (Read and Write)."
        },
        {
          "name": "Get Report Settings Template",
          "value": "api.projects.reports.settings-templates.get",
          "action": "Get Report Settings Template",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.report` (Read only)."
        },
        {
          "name": "Delete Report Settings Template",
          "value": "api.projects.reports.settings-templates.delete",
          "action": "Delete Report Settings Template",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.report` (Read and Write)."
        },
        {
          "name": "Edit Report Settings Template",
          "value": "api.projects.reports.settings-templates.patch",
          "action": "Edit Report Settings Template",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.report` (Read and Write)."
        },
        {
          "name": "List User Report Settings Templates",
          "value": "api.users.reports.settings-templates.getMany",
          "action": "List User Report Settings Templates",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `user` (Read only)."
        },
        {
          "name": "Add User Report Settings Template",
          "value": "api.users.reports.settings-templates.post",
          "action": "Add User Report Settings Template",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `user` (Read and Write)."
        },
        {
          "name": "Get User Report Settings Template",
          "value": "api.users.reports.settings-templates.get",
          "action": "Get User Report Settings Template",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `user` (Read only)."
        },
        {
          "name": "Delete User Report Settings Template",
          "value": "api.users.reports.settings-templates.delete",
          "action": "Delete User Report Settings Template",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `user` (Read and Write)."
        },
        {
          "name": "Edit User Report Settings Template",
          "value": "api.users.reports.settings-templates.patch",
          "action": "Edit User Report Settings Template",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `user` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/reports/archives",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.reports.archives.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/reports/archives/{archiveId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.archives.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /users/{userId}/reports/archives/{archiveId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.archives.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/reports/archives/{archiveId}/exports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.reports.archives.exports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/reports/archives/{archiveId}/exports/{exportId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.archives.exports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/reports/archives/{archiveId}/exports/{exportId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.archives.exports.download.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/reports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/reports/{reportId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/reports/{reportId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.download.download"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/reports/settings-templates",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.settings-templates.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/reports/settings-templates",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.settings-templates.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.settings-templates.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.settings-templates.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/reports/settings-templates/{reportSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.projects.reports.settings-templates.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/reports/settings-templates",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.settings-templates.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /users/{userId}/reports/settings-templates",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.settings-templates.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/reports/settings-templates/{reportSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.settings-templates.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /users/{userId}/reports/settings-templates/{reportSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.settings-templates.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /users/{userId}/reports/settings-templates/{reportSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "reports"
          ],
          "operation": [
            "api.users.reports.settings-templates.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.users.tasks.getMany",
      "options": [
        {
          "name": "List Tasks",
          "value": "api.users.tasks.getMany",
          "action": "List Tasks",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/tasks",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only).\n\nLists all of the user's project tasks."
        },
        {
          "name": "Export Project Task Strings",
          "value": "api.projects.tasks.exports.post",
          "action": "Export Project Task Strings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/exports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only)."
        },
        {
          "name": "List Project Task Settings Templates",
          "value": "api.projects.tasks.settings-templates.getMany",
          "action": "List Project Task Settings Templates",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only)."
        },
        {
          "name": "Add Project Task Settings Template",
          "value": "api.projects.tasks.settings-templates.post",
          "action": "Add Project Task Settings Template",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "Get Project Task Settings Template",
          "value": "api.projects.tasks.settings-templates.get",
          "action": "Get Project Task Settings Template",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates/{{$parameter[\"taskSettingsTemplateId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only)."
        },
        {
          "name": "Delete Project Task Settings Template",
          "value": "api.projects.tasks.settings-templates.delete",
          "action": "Delete Project Task Settings Template",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates/{{$parameter[\"taskSettingsTemplateId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "Edit Project Task Settings Template",
          "value": "api.projects.tasks.settings-templates.patch",
          "action": "Edit Project Task Settings Template",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates/{{$parameter[\"taskSettingsTemplateId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "List Project Tasks",
          "value": "api.projects.tasks.getMany",
          "action": "List Project Tasks",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only)."
        },
        {
          "name": "Add Project Task",
          "value": "api.projects.tasks.post",
          "action": "Add Project Task",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "Get Project Task",
          "value": "api.projects.tasks.get",
          "action": "Get Project Task",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only)."
        },
        {
          "name": "Delete Project Task",
          "value": "api.projects.tasks.delete",
          "action": "Delete Project Task",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "List Project Task Comments",
          "value": "api.projects.tasks.comments.getMany",
          "action": "List Project Task Comments",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only)."
        },
        {
          "name": "Add Project Task Comment",
          "value": "api.projects.tasks.comments.post",
          "action": "Add Project Task Comment",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "Get Project Task Comment",
          "value": "api.projects.tasks.comments.get",
          "action": "Get Project Task Comment",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments/{{$parameter[\"commentId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.task` (Read only)."
        },
        {
          "name": "Delete Project Task Comment",
          "value": "api.projects.tasks.comments.delete",
          "action": "Delete Project Task Comment",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments/{{$parameter[\"commentId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "Edit Project Task Comment",
          "value": "api.projects.tasks.comments.patch",
          "action": "Edit Project Task Comment",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments/{{$parameter[\"commentId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "Edit Project Task",
          "value": "api.projects.tasks.patch",
          "action": "Edit Project Task",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.task` (Read and Write)."
        },
        {
          "name": "List User Tasks",
          "value": "api.user.tasks.getMany",
          "action": "List User Tasks",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/user/tasks",
              "method": "GET"
            }
          }
        },
        {
          "name": "Edit Task Archived Status",
          "value": "api.user.tasks.patch",
          "action": "Edit Task Archived Status",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/user/tasks/{{$parameter[\"taskId\"]}}?projectId={{$parameter[\"projectId\"]}}",
              "method": "PATCH"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/tasks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.users.tasks.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/tasks/{taskId}/exports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.exports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/tasks/settings-templates",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.settings-templates.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/tasks/settings-templates",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.settings-templates.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.settings-templates.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.settings-templates.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/tasks/settings-templates/{taskSettingsTemplateId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.settings-templates.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/tasks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/tasks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/tasks/{taskId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/tasks/{taskId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/tasks/{taskId}/comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.comments.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/tasks/{taskId}/comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.comments.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/tasks/{taskId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.comments.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/tasks/{taskId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.comments.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/tasks/{taskId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.comments.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /user/tasks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.user.tasks.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.user.get",
      "options": [
        {
          "name": "Get Authenticated User",
          "value": "api.user.get",
          "action": "Get Authenticated User",
          "routing": {
            "request": {
              "url": "=/user",
              "method": "GET"
            }
          }
        },
        {
          "name": "Edit Authenticated User",
          "value": "api.user.patch",
          "action": "Edit Authenticated User",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/user",
              "method": "PATCH"
            }
          }
        },
        {
          "name": "List Project Members",
          "value": "api.projects.members.getMany",
          "action": "List Project Members",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/members",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.member` (Read only)."
        },
        {
          "name": "Add Project Member",
          "value": "api.projects.members.post",
          "action": "Add Project Member",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/members",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.member` (Read and Write)."
        },
        {
          "name": "Get Member Info",
          "value": "api.projects.members.get",
          "action": "Get Member Info",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/members/{{$parameter[\"memberId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.member` (Read only)."
        },
        {
          "name": "Replace Project Member Permissions",
          "value": "api.projects.members.put",
          "action": "Replace Project Member Permissions",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/members/{{$parameter[\"memberId\"]}}",
              "method": "PUT"
            }
          },
          "description": "**Required scopes:** `project.member` (Read and Write)."
        },
        {
          "name": "Delete Member From Project",
          "value": "api.projects.members.delete",
          "action": "Delete Member From Project",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/members/{{$parameter[\"memberId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.member` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /user",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ],
          "operation": [
            "api.user.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/members",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ],
          "operation": [
            "api.projects.members.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/members",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ],
          "operation": [
            "api.projects.members.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/members/{memberId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ],
          "operation": [
            "api.projects.members.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /projects/{projectId}/members/{memberId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ],
          "operation": [
            "api.projects.members.put"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/members/{memberId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ],
          "operation": [
            "api.projects.members.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.webhooks.getMany",
      "options": [
        {
          "name": "List Webhooks",
          "value": "api.projects.webhooks.getMany",
          "action": "List Webhooks",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.webhook` (Read only)."
        },
        {
          "name": "Add Webhook",
          "value": "api.projects.webhooks.post",
          "action": "Add Webhook",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.webhook` (Read and Write)."
        },
        {
          "name": "Get Webhook",
          "value": "api.projects.webhooks.get",
          "action": "Get Webhook",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks/{{$parameter[\"webhookId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.webhook` (Read only)."
        },
        {
          "name": "Delete Webhook",
          "value": "api.projects.webhooks.delete",
          "action": "Delete Webhook",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks/{{$parameter[\"webhookId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.webhook` (Read and Write)."
        },
        {
          "name": "Edit Webhook",
          "value": "api.projects.webhooks.patch",
          "action": "Edit Webhook",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks/{{$parameter[\"webhookId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.webhook` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/webhooks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ],
          "operation": [
            "api.projects.webhooks.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/webhooks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ],
          "operation": [
            "api.projects.webhooks.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/webhooks/{webhookId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ],
          "operation": [
            "api.projects.webhooks.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/webhooks/{webhookId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ],
          "operation": [
            "api.projects.webhooks.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/webhooks/{webhookId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ],
          "operation": [
            "api.projects.webhooks.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.webhooks.getMany",
      "options": [
        {
          "name": "List Webhooks",
          "value": "api.webhooks.getMany",
          "action": "List Webhooks",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/webhooks",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `webhook` (Read only)."
        },
        {
          "name": "Add Webhook",
          "value": "api.webhooks.post",
          "action": "Add Webhook",
          "routing": {
            "request": {
              "url": "=/webhooks",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `webhook` (Read and Write)."
        },
        {
          "name": "Get Webhook",
          "value": "api.webhooks.get",
          "action": "Get Webhook",
          "routing": {
            "request": {
              "url": "=/webhooks/{{$parameter[\"organizationWebhookId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `webhook` (Read only)."
        },
        {
          "name": "Delete Webhook",
          "value": "api.webhooks.delete",
          "action": "Delete Webhook",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/webhooks/{{$parameter[\"organizationWebhookId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `webhook` (Read and Write)."
        },
        {
          "name": "Edit Webhook",
          "value": "api.webhooks.patch",
          "action": "Edit Webhook",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/webhooks/{{$parameter[\"organizationWebhookId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `webhook` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "organizationWebhooks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /webhooks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "organizationWebhooks"
          ],
          "operation": [
            "api.webhooks.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /webhooks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "organizationWebhooks"
          ],
          "operation": [
            "api.webhooks.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /webhooks/{organizationWebhookId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "organizationWebhooks"
          ],
          "operation": [
            "api.webhooks.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /webhooks/{organizationWebhookId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "organizationWebhooks"
          ],
          "operation": [
            "api.webhooks.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /webhooks/{organizationWebhookId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "organizationWebhooks"
          ],
          "operation": [
            "api.webhooks.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.dictionaries.getMany",
      "options": [
        {
          "name": "List Dictionaries",
          "value": "api.projects.dictionaries.getMany",
          "action": "List Dictionaries",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/dictionaries",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.dictionary` (Read only)."
        },
        {
          "name": "Edit Dictionary",
          "value": "api.projects.dictionaries.patch",
          "action": "Edit Dictionary",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/dictionaries/{{$parameter[\"languageId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.dictionary` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dictionaries"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/dictionaries",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "dictionaries"
          ],
          "operation": [
            "api.projects.dictionaries.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.applications.installations.getMany",
      "options": [
        {
          "name": "List Application Installations",
          "value": "api.applications.installations.getMany",
          "action": "List Application Installations",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/applications/installations",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `application` (Read only)."
        },
        {
          "name": "Install Application",
          "value": "api.applications.installations.post",
          "action": "Install Application",
          "routing": {
            "request": {
              "url": "=/applications/installations",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `application` (Read and Write)."
        },
        {
          "name": "Get Application Installation",
          "value": "api.applications.installations.get",
          "action": "Get Application Installation",
          "routing": {
            "request": {
              "url": "=/applications/installations/{{$parameter[\"identifier\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `application` (Read only)."
        },
        {
          "name": "Delete Application Installation",
          "value": "api.applications.installations.delete",
          "action": "Delete Application Installation",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/applications/installations/{{$parameter[\"identifier\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `application` (Read and Write)."
        },
        {
          "name": "Edit Application Installation",
          "value": "api.applications.installations.patch",
          "action": "Edit Application Installation",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/applications/installations/{{$parameter[\"identifier\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `application` (Read and Write)."
        },
        {
          "name": "Get Application Data",
          "value": "api.applications.api.get",
          "action": "Get Application Data",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `application` (Read only).\n\nRetrieves data from the specified application.\n\n__Note__: Query parameters are application-specific and vary depending on the application being accessed."
        },
        {
          "name": "Update or Restore Application Data",
          "value": "api.applications.api.put",
          "action": "Update or Restore Application Data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
              "method": "PUT"
            }
          },
          "description": "**Required scopes:** `application` (Read and Write).\n\nUpdates or restores data in the specified application.\n\n__Note__: Both the query parameters and request body are application-specific and vary depending on the application being accessed."
        },
        {
          "name": "Add Application Data",
          "value": "api.applications.api.post",
          "action": "Add Application Data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `application` (Read and Write).\n\nAdds new data to the specified application.\n\n__Note__: Both the query parameters and request body are application-specific and vary depending on the application being accessed."
        },
        {
          "name": "Delete Application Data",
          "value": "api.applications.api.delete",
          "action": "Delete Application Data",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `application` (Read and Write).\n\nDeletes data from the specified application.\n\n__Note__: Query parameters are application-specific and vary depending on the application being accessed."
        },
        {
          "name": "Edit Application Data",
          "value": "api.applications.api.patch",
          "action": "Edit Application Data",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `application` (Read and Write).\n\nEdits existing data in the specified application.\n\n__Note__: Both the query parameters and request body are application-specific and vary depending on the application being accessed."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/installations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.installations.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /applications/installations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.installations.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/installations/{identifier}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.installations.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /applications/installations/{identifier}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.installations.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /applications/installations/{identifier}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.installations.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/{path}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.api.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /applications/{applicationIdentifier}/api/{path}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.api.put"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /applications/{applicationIdentifier}/api/{path}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.api.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /applications/{applicationIdentifier}/api/{path}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.api.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /applications/{applicationIdentifier}/api/{path}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "applications"
          ],
          "operation": [
            "api.applications.api.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.applications.integrations.crowdin.files",
      "options": [
        {
          "name": "List Crowdin Files",
          "value": "api.applications.integrations.crowdin.files",
          "action": "List Crowdin Files",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/crowdin-files",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get File Progress",
          "value": "api.applications.integrations.file.progress",
          "action": "Get File Progress",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/file-progress",
              "method": "GET"
            }
          }
        },
        {
          "name": "List Integration Files",
          "value": "api.applications.integrations.integration.files",
          "action": "List Integration Files",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/integration-files",
              "method": "GET"
            }
          }
        },
        {
          "name": "Update Crowdin Files",
          "value": "api.applications.integrations.crowdin.update",
          "action": "Update Crowdin Files",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/crowdin-update",
              "method": "POST"
            }
          }
        },
        {
          "name": "Update Integration Files",
          "value": "api.applications.integrations.integration.update",
          "action": "Update Integration Files",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/integration-update",
              "method": "POST"
            }
          }
        },
        {
          "name": "List Jobs",
          "value": "api.applications.integrations.job.list",
          "action": "List Jobs",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/all-jobs",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Job Info",
          "value": "api.applications.integrations.job.info",
          "action": "Get Job Info",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/job-info",
              "method": "GET"
            }
          }
        },
        {
          "name": "Cancel Job",
          "value": "api.applications.integrations.job.cancel",
          "action": "Cancel Job",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/jobs",
              "method": "DELETE"
            }
          }
        },
        {
          "name": "Get Application Settings",
          "value": "api.applications.integrations.settings.get",
          "action": "Get Application Settings",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/settings",
              "method": "GET"
            }
          }
        },
        {
          "name": "Update Application Settings",
          "value": "api.applications.integrations.settings.update",
          "action": "Update Application Settings",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/settings",
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Sync Settings",
          "value": "api.applications.integrations.sync.settings.get",
          "action": "Get Sync Settings",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/sync-settings",
              "method": "GET"
            }
          }
        },
        {
          "name": "Update Sync Settings",
          "value": "api.applications.integrations.sync.settings.update",
          "action": "Update Sync Settings",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/sync-settings",
              "method": "POST"
            }
          }
        },
        {
          "name": "Integration Login Form Fields",
          "value": "api.applications.integrations.integration.fields",
          "action": "Integration Login Form Fields",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/login-fields",
              "method": "GET"
            }
          }
        },
        {
          "name": "Integration Login",
          "value": "api.applications.integrations.integration.login",
          "action": "Integration Login",
          "routing": {
            "request": {
              "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/login",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/crowdin-files",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.crowdin.files"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/file-progress",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.file.progress"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/integration-files",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.integration.files"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /applications/{applicationIdentifier}/api/crowdin-update",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.crowdin.update"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /applications/{applicationIdentifier}/api/integration-update",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.integration.update"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/all-jobs",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.job.list"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/job-info",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.job.info"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /applications/{applicationIdentifier}/api/jobs",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.job.cancel"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.settings.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /applications/{applicationIdentifier}/api/settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.settings.update"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/sync-settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.sync.settings.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /applications/{applicationIdentifier}/api/sync-settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.sync.settings.update"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /applications/{applicationIdentifier}/api/login-fields",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.integration.fields"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /applications/{applicationIdentifier}/api/login",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "integrations"
          ],
          "operation": [
            "api.applications.integrations.integration.login"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.bundles.getMany",
      "options": [
        {
          "name": "List Bundles",
          "value": "api.projects.bundles.getMany",
          "action": "List Bundles",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Add Bundle",
          "value": "api.projects.bundles.post",
          "action": "Add Bundle",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Get Bundle",
          "value": "api.projects.bundles.get",
          "action": "Get Bundle",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Delete Bundle",
          "value": "api.projects.bundles.delete",
          "action": "Delete Bundle",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Edit Bundle",
          "value": "api.projects.bundles.patch",
          "action": "Edit Bundle",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Download Bundle",
          "value": "api.projects.bundles.exports.download.get",
          "action": "Download Bundle",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Export Bundle",
          "value": "api.projects.bundles.exports.post",
          "action": "Export Bundle",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/exports",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Check Bundle Export Status",
          "value": "api.projects.bundles.exports.get",
          "action": "Check Bundle Export Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/exports/{{$parameter[\"exportId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Bundle List Files",
          "value": "api.projects.bundles.files.getMany",
          "action": "Bundle List Files",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/files",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/bundles",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/bundles",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/bundles/{bundleId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/bundles/{bundleId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/bundles/{bundleId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/bundles/{bundleId}/exports/{exportId}/download",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.exports.download.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/bundles/{bundleId}/exports",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.exports.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/bundles/{bundleId}/exports/{exportId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.exports.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/bundles/{bundleId}/files",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.files.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.distributions.getMany",
      "options": [
        {
          "name": "List Distributions",
          "value": "api.projects.distributions.getMany",
          "action": "List Distributions",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Add Distribution",
          "value": "api.projects.distributions.post",
          "action": "Add Distribution",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Get Distribution",
          "value": "api.projects.distributions.get",
          "action": "Get Distribution",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read only)."
        },
        {
          "name": "Delete Distribution",
          "value": "api.projects.distributions.delete",
          "action": "Delete Distribution",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Edit Distribution",
          "value": "api.projects.distributions.patch",
          "action": "Edit Distribution",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Get Distribution Release",
          "value": "api.projects.distributions.release.get",
          "action": "Get Distribution Release",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}/release",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        },
        {
          "name": "Release Distribution",
          "value": "api.projects.distributions.release.post",
          "action": "Release Distribution",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}/release",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.translation` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/distributions",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ],
          "operation": [
            "api.projects.distributions.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/distributions",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ],
          "operation": [
            "api.projects.distributions.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/distributions/{hash}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ],
          "operation": [
            "api.projects.distributions.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/distributions/{hash}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ],
          "operation": [
            "api.projects.distributions.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/distributions/{hash}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ],
          "operation": [
            "api.projects.distributions.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/distributions/{hash}/release",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ],
          "operation": [
            "api.projects.distributions.release.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/distributions/{hash}/release",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "distributions"
          ],
          "operation": [
            "api.projects.distributions.release.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.labels.strings.post",
      "options": [
        {
          "name": "Assign Label to Strings",
          "value": "api.projects.labels.strings.post",
          "action": "Assign Label to Strings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/strings",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Unassign Label from Strings",
          "value": "api.projects.labels.strings.deleteMany",
          "action": "Unassign Label from Strings",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/strings",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "List Labels",
          "value": "api.projects.labels.getMany",
          "action": "List Labels",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Add Label",
          "value": "api.projects.labels.post",
          "action": "Add Label",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Get Label",
          "value": "api.projects.labels.get",
          "action": "Get Label",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "name": "Delete Label",
          "value": "api.projects.labels.delete",
          "action": "Delete Label",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Edit Label",
          "value": "api.projects.labels.patch",
          "action": "Edit Label",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Assign Label to Screenshots",
          "value": "api.projects.labels.screenshots.post",
          "action": "Assign Label to Screenshots",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/screenshots",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Unassign Label from Screenshots",
          "value": "api.projects.labels.screenshots.deleteMany",
          "action": "Unassign Label from Screenshots",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/screenshots",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/labels/{labelId}/strings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.strings.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/labels/{labelId}/strings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.strings.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/labels",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/labels",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/labels/{labelId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/labels/{labelId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/labels/{labelId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/labels/{labelId}/screenshots",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.screenshots.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/labels/{labelId}/screenshots",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "labels"
          ],
          "operation": [
            "api.projects.labels.screenshots.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.notify.post",
      "options": [
        {
          "name": "Send Notification to Authenticated User",
          "value": "api.notify.post",
          "action": "Send Notification to Authenticated User",
          "routing": {
            "request": {
              "url": "=/notify",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `notification` (Read and Write)."
        },
        {
          "name": "Send Notification To Project Members",
          "value": "api.projects.notify.post",
          "action": "Send Notification To Project Members",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/notify",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "notifications"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /notify",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "notifications"
          ],
          "operation": [
            "api.notify.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/notify",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "notifications"
          ],
          "operation": [
            "api.projects.notify.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.users.security-logs.getMany",
      "options": [
        {
          "name": "List User Security Logs",
          "value": "api.users.security-logs.getMany",
          "action": "List User Security Logs",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/security-logs",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `security-log` (Read only)."
        },
        {
          "name": "Get User Security Log",
          "value": "api.users.security-logs.get",
          "action": "Get User Security Log",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter[\"userId\"]}}/security-logs/{{$parameter[\"securityLogId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `security-log` (Read only)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "securityLogs"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/security-logs",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "securityLogs"
          ],
          "operation": [
            "api.users.security-logs.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /users/{userId}/security-logs/{securityLogId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "securityLogs"
          ],
          "operation": [
            "api.users.security-logs.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/dictionaries/{languageId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "dictionaries"
          ],
          "operation": [
            "api.projects.dictionaries.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/strings/{stringId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ],
          "operation": [
            "api.projects.strings.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /storages",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "storage"
          ],
          "operation": [
            "api.storages.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringAssetComments"
          ],
          "operation": [
            "api.projects.comments.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /user/tasks/{taskId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.user.tasks.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /tms/{tmId}/segments/{segmentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "translationMemory"
          ],
          "operation": [
            "api.tms.segments.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /users/{userId}/ai/settings",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ],
          "operation": [
            "api.users.ai.settings.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /user",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ],
          "operation": [
            "api.user.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/tasks/{taskId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ],
          "operation": [
            "api.projects.tasks.patch"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "name": "List AI Snippets",
      "value": "api.ai.prompts.snippets.getMany",
      "action": "List AI Snippets",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read only)."
    },
    {
      "name": "Add AI Snippet",
      "value": "api.ai.prompts.snippets.post",
      "action": "Add AI Snippet",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read and Write)."
    },
    {
      "name": "Get AI Snippet",
      "value": "api.ai.prompts.snippets.get",
      "action": "Get AI Snippet",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets/{{$parameter[\"aiSnippetId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read only)."
    },
    {
      "name": "Delete AI Snippet",
      "value": "api.ai.prompts.snippets.delete",
      "action": "Delete AI Snippet",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets/{{$parameter[\"aiSnippetId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read and Write)."
    },
    {
      "name": "Edit AI Snippet",
      "value": "api.ai.prompts.snippets.patch",
      "action": "Edit AI Snippet",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings/snippets/{{$parameter[\"aiSnippetId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read and Write)."
    },
    {
      "name": "AI File Translations",
      "value": "api.users.ai.file-translations.post",
      "action": "AI File Translations",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `ai.translate` (Read and Write)."
    },
    {
      "name": "Get File Translations Status",
      "value": "api.users.ai.file-translations.get",
      "action": "Get File Translations Status",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.translate` (Read and Write)."
    },
    {
      "name": "Cancel File Translations",
      "value": "api.users.ai.file-translations.delete",
      "action": "Cancel File Translations",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `ai.translate` (Read and Write)."
    },
    {
      "name": "Download Translated File",
      "value": "api.users.ai.file-translations.download",
      "action": "Download Translated File",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.translate` (Read and Write)."
    },
    {
      "name": "Download Translated File Strings",
      "value": "api.users.ai.file-translations.download-strings",
      "action": "Download Translated File Strings",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/file-translations/{{$parameter[\"jobIdentifier\"]}}/translations",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.translate` (Read and Write)."
    },
    {
      "name": "Clone AI Prompt",
      "value": "api.users.ai.prompts.clones.post",
      "action": "Clone AI Prompt",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}/clones",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read and Write)."
    },
    {
      "name": "List AI Prompts",
      "value": "api.ai.prompts.getMany",
      "action": "List AI Prompts",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read only)."
    },
    {
      "name": "Add AI Prompt",
      "value": "api.users.ai.prompts.post",
      "action": "Add AI Prompt",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read and Write)."
    },
    {
      "name": "Get AI Prompt",
      "value": "api.users.ai.prompts.get",
      "action": "Get AI Prompt",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read only)."
    },
    {
      "name": "Delete AI Prompt",
      "value": "api.users.ai.prompts.delete",
      "action": "Delete AI Prompt",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read and Write)."
    },
    {
      "name": "Edit AI Prompt",
      "value": "api.users.ai.prompts.patch",
      "action": "Edit AI Prompt",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/prompts/{{$parameter[\"aiPromptId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `ai.prompt` (Read and Write)."
    },
    {
      "name": "List AI Provider Models",
      "value": "api.ai.providers.models.crowdin.getMany",
      "action": "List AI Provider Models",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/models",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "List AI Providers",
      "value": "api.ai.providers.getMany",
      "action": "List AI Providers",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "Add AI Provider",
      "value": "api.users.ai.providers.post",
      "action": "Add AI Provider",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read and Write)."
    },
    {
      "name": "Get AI Provider",
      "value": "api.users.ai.providers.get",
      "action": "Get AI Provider",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "Delete AI Provider",
      "value": "api.users.ai.providers.delete",
      "action": "Delete AI Provider",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read and Write)."
    },
    {
      "name": "Edit AI Provider",
      "value": "api.users.ai.providers.patch",
      "action": "Edit AI Provider",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read and Write)."
    },
    {
      "name": "List AI Provider Models",
      "value": "api.ai.providers.models.getMany",
      "action": "List AI Provider Models",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/{{$parameter[\"aiProviderId\"]}}/models",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "List Supported AI Provider Models",
      "value": "api.ai.providers.supported-models.crowdin.getMany",
      "action": "List Supported AI Provider Models",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/providers/supported-models",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "Generate AI Report",
      "value": "api.users.ai.reports.post",
      "action": "Generate AI Report",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/reports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "Check AI Report Generation Status",
      "value": "api.users.ai.reports.get",
      "action": "Check AI Report Generation Status",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/reports/{{$parameter[\"aiReportId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "Download AI Report",
      "value": "api.users.ai.reports.download.download",
      "action": "Download AI Report",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/reports/{{$parameter[\"aiReportId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai.provider` (Read only)."
    },
    {
      "name": "Get AI Settings",
      "value": "api.users.ai.settings.get",
      "action": "Get AI Settings",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `ai` (Read only)."
    },
    {
      "name": "Edit AI Settings",
      "value": "api.users.ai.settings.patch",
      "action": "Edit AI Settings",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/settings",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `ai` (Read and Write)."
    },
    {
      "name": "AI Translate Strings",
      "value": "api.users.ai.translate.strings.post",
      "action": "AI Translate Strings",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/ai/translate",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `ai.translate` (Read and Write)."
    },
    {
      "name": "Get Project AI Settings",
      "value": "api.projects.ai.settings.get",
      "action": "Get Project AI Settings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/ai/settings",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project` (Read only)."
    },
    {
      "name": "List Storages",
      "value": "api.storages.getMany",
      "action": "List Storages",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/storages",
          "method": "GET"
        }
      }
    },
    {
      "name": "Get Storage",
      "value": "api.storages.get",
      "action": "Get Storage",
      "routing": {
        "request": {
          "url": "=/storages/{{$parameter[\"storageId\"]}}",
          "method": "GET"
        }
      }
    },
    {
      "name": "Delete Storage",
      "value": "api.storages.delete",
      "action": "Delete Storage",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/storages/{{$parameter[\"storageId\"]}}",
          "method": "DELETE"
        }
      }
    },
    {
      "name": "Add Storage",
      "value": "api.storages.post",
      "action": "Add Storage",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/storages",
          "method": "POST",
          "headers": {
            "Crowdin-API-FileName": "={{$parameter[\"fileName\"]}}"
          }
        }
      }
    },
    {
      "name": "List Supported Languages",
      "value": "api.languages.getMany",
      "action": "List Supported Languages",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/languages",
          "method": "GET"
        }
      }
    },
    {
      "name": "Add Custom Language",
      "value": "api.languages.post",
      "action": "Add Custom Language",
      "routing": {
        "request": {
          "url": "=/languages",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `language` (Read and Write)."
    },
    {
      "name": "Get Language",
      "value": "api.languages.get",
      "action": "Get Language",
      "routing": {
        "request": {
          "url": "=/languages/{{$parameter[\"languageId\"]}}",
          "method": "GET"
        }
      }
    },
    {
      "name": "Delete Custom Language",
      "value": "api.languages.delete",
      "action": "Delete Custom Language",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/languages/{{$parameter[\"languageId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `language` (Read and Write)."
    },
    {
      "name": "Edit Custom Language",
      "value": "api.languages.patch",
      "action": "Edit Custom Language",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/languages/{{$parameter[\"languageId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `language` (Read and Write)."
    },
    {
      "name": "List Projects",
      "value": "api.projects.getMany",
      "action": "List Projects",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read only)."
    },
    {
      "name": "Add Project",
      "value": "api.projects.post",
      "action": "Add Project",
      "routing": {
        "request": {
          "url": "=/projects",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "Get Project",
      "value": "api.projects.get",
      "action": "Get Project",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read only)."
    },
    {
      "name": "Delete Project",
      "value": "api.projects.delete",
      "action": "Delete Project",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project` (Read and Write)."
    },
    {
      "name": "Edit Project",
      "value": "api.projects.patch",
      "action": "Edit Project",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "Download Project File Format Settings Custom Segmentation",
      "value": "api.projects.file-format-settings.custom-segmentations.get",
      "action": "Download Project File Format Settings Custom Segmentation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}/custom-segmentations",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read only)."
    },
    {
      "name": "Reset Project File Format Settings Custom Segmentation",
      "value": "api.projects.file-format-settings.custom-segmentations.delete",
      "action": "Reset Project File Format Settings Custom Segmentation",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}/custom-segmentations",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "List Project File Format Settings",
      "value": "api.projects.file-format-settings.getMany",
      "action": "List Project File Format Settings",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read only)."
    },
    {
      "name": "Add Project File Format Settings",
      "value": "api.projects.file-format-settings.post",
      "action": "Add Project File Format Settings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "Get Project File Format Settings",
      "value": "api.projects.file-format-settings.get",
      "action": "Get Project File Format Settings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read only)."
    },
    {
      "name": "Delete Project File Format Settings",
      "value": "api.projects.file-format-settings.delete",
      "action": "Delete Project File Format Settings",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "Edit Project File Format Settings",
      "value": "api.projects.file-format-settings.patch",
      "action": "Edit Project File Format Settings",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/file-format-settings/{{$parameter[\"fileFormatSettingsId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "List Project Strings Exporter Settings",
      "value": "api.projects.strings-exporter-settings.getMany",
      "action": "List Project Strings Exporter Settings",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read only)."
    },
    {
      "name": "Add Project Strings Exporter Settings",
      "value": "api.projects.strings-exporter-settings.post",
      "action": "Add Project Strings Exporter Settings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "Get Project Strings Exporter Settings",
      "value": "api.projects.strings-exporter-settings.get",
      "action": "Get Project Strings Exporter Settings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings/{{$parameter[\"systemStringsExporterSettingsId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read only)."
    },
    {
      "name": "Delete Project Strings Exporter Settings",
      "value": "api.projects.strings-exporter-settings.delete",
      "action": "Delete Project Strings Exporter Settings",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings/{{$parameter[\"systemStringsExporterSettingsId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "Edit Project Strings Exporter Settings",
      "value": "api.projects.strings-exporter-settings.patch",
      "action": "Edit Project Strings Exporter Settings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings-exporter-settings/{{$parameter[\"systemStringsExporterSettingsId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write)."
    },
    {
      "name": "List Branches",
      "value": "api.projects.branches.getMany",
      "action": "List Branches",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Add Branch",
      "value": "api.projects.branches.post",
      "action": "Add Branch",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Get Branch",
      "value": "api.projects.branches.get",
      "action": "Get Branch",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Delete Branch",
      "value": "api.projects.branches.delete",
      "action": "Delete Branch",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Edit Branch",
      "value": "api.projects.branches.patch",
      "action": "Edit Branch",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "List Directories",
      "value": "api.projects.directories.getMany",
      "action": "List Directories",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/directories",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Add Directory",
      "value": "api.projects.directories.post",
      "action": "Add Directory",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/directories",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Get Directory",
      "value": "api.projects.directories.get",
      "action": "Get Directory",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Delete Directory",
      "value": "api.projects.directories.delete",
      "action": "Delete Directory",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Edit Directory",
      "value": "api.projects.directories.patch",
      "action": "Edit Directory",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "List Files",
      "value": "api.projects.files.getMany",
      "action": "List Files",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Add File",
      "value": "api.projects.files.post",
      "action": "Add File",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Get File",
      "value": "api.projects.files.get",
      "action": "Get File",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Update or Restore File",
      "value": "api.projects.files.put",
      "action": "Update or Restore File",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
          "method": "PUT"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write).\n\nUpdate your current file with a new one or restore it to one of the previous revisions"
    },
    {
      "name": "Delete File",
      "value": "api.projects.files.delete",
      "action": "Delete File",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Edit File",
      "value": "api.projects.files.patch",
      "action": "Edit File",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Download File Preview",
      "value": "api.projects.files.preview.get",
      "action": "Download File Preview",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/preview",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Download File",
      "value": "api.projects.files.download.get",
      "action": "Download File",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "List Asset References",
      "value": "api.projects.files.references.getMany",
      "action": "List Asset References",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only).\n\nList all reference files for an asset"
    },
    {
      "name": "Add Asset Reference",
      "value": "api.projects.files.references.post",
      "action": "Add Asset Reference",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write).\n\nUpload a reference file for an asset"
    },
    {
      "name": "Get Asset Reference",
      "value": "api.projects.files.references.get",
      "action": "Get Asset Reference",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references/{{$parameter[\"referenceId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only).\n\nGet information about a specific asset reference"
    },
    {
      "name": "Delete Asset Reference",
      "value": "api.projects.files.references.delete",
      "action": "Delete Asset Reference",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/references/{{$parameter[\"referenceId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write).\n\nDelete a reference file for an asset"
    },
    {
      "name": "List File Revisions",
      "value": "api.projects.files.revisions.getMany",
      "action": "List File Revisions",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/revisions",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Get File Revision",
      "value": "api.projects.files.revisions.get",
      "action": "Get File Revision",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/revisions/{{$parameter[\"revisionId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "List Pre-Translations",
      "value": "api.projects.pre-translations.getMany",
      "action": "List Pre-Translations",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Apply Pre-Translation",
      "value": "api.projects.pre-translations.post",
      "action": "Apply Pre-Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Pre-Translation Status",
      "value": "api.projects.pre-translations.get",
      "action": "Pre-Translation Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations/{{$parameter[\"preTranslationId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Edit Pre-Translation",
      "value": "api.projects.pre-translations.patch",
      "action": "Edit Pre-Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations/{{$parameter[\"preTranslationId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Pre-Translation Report",
      "value": "api.projects.pre-translations.report.getReport",
      "action": "Pre-Translation Report",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations/{{$parameter[\"preTranslationId\"]}}/report",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Validate text by QA Checks",
      "value": "api.projects.translations.validate-qa-checks.post",
      "action": "Validate text by QA Checks",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/validate-qa-checks",
          "method": "POST"
        }
      }
    },
    {
      "name": "Build Project Directory Translation",
      "value": "api.projects.translations.builds.directories.post",
      "action": "Build Project Directory Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/directories/{{$parameter[\"directoryId\"]}}",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Build Project File Translation",
      "value": "api.projects.translations.builds.files.post",
      "action": "Build Project File Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/files/{{$parameter[\"fileId\"]}}",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "List Project Builds",
      "value": "api.projects.translations.builds.getMany",
      "action": "List Project Builds",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Build Project Translation",
      "value": "api.projects.translations.builds.post",
      "action": "Build Project Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Download Project Translations",
      "value": "api.projects.translations.builds.download.download",
      "action": "Download Project Translations",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/{{$parameter[\"buildId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Check Project Build Status",
      "value": "api.projects.translations.builds.get",
      "action": "Check Project Build Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/{{$parameter[\"buildId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Cancel Build",
      "value": "api.projects.translations.builds.delete",
      "action": "Cancel Build",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/builds/{{$parameter[\"buildId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Export Project Translation",
      "value": "api.projects.translations.exports.post",
      "action": "Export Project Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/exports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/)."
    },
    {
      "name": "Import Translations",
      "value": "api.projects.translations.imports",
      "action": "Import Translations",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/imports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Import Translations Status",
      "value": "api.projects.translations.imports.get",
      "action": "Import Translations Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/imports/{{$parameter[\"importTranslationId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Import Translations Report",
      "value": "api.projects.translations.imports.report.get",
      "action": "Import Translations Report",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/imports/{{$parameter[\"importTranslationId\"]}}/report",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "List Strings",
      "value": "api.projects.strings.getMany",
      "action": "List Strings",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only)."
    },
    {
      "name": "Add String",
      "value": "api.projects.strings.post",
      "action": "Add String",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write)."
    },
    {
      "name": "Get String",
      "value": "api.projects.strings.get",
      "action": "Get String",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/{{$parameter[\"stringId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only)."
    },
    {
      "name": "Delete String",
      "value": "api.projects.strings.delete",
      "action": "Delete String",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/{{$parameter[\"stringId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write)."
    },
    {
      "name": "Edit String",
      "value": "api.projects.strings.patch",
      "action": "Edit String",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/{{$parameter[\"stringId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write)."
    },
    {
      "name": "List Translation Approvals",
      "value": "api.projects.approvals.getMany",
      "action": "List Translation Approvals",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ Either `translationId` OR `fileId` OR `labelIds` OR `excludeLabelIds` with `languageId` OR `stringId` with `languageId` are required"
    },
    {
      "name": "Add Approval",
      "value": "api.projects.approvals.post",
      "action": "Add Approval",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Remove String/Asset Approvals",
      "value": "api.projects.approvals.deleteMany",
      "action": "Remove String/Asset Approvals",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write).\n\nRemove all approvals for a string or asset. Use the oneOf pattern:\n- **String type**: Use `stringId`\n- **Asset type**: Use `fileId`"
    },
    {
      "name": "Get Approval",
      "value": "api.projects.approvals.get",
      "action": "Get Approval",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals/{{$parameter[\"approvalId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Remove Approval",
      "value": "api.projects.approvals.delete",
      "action": "Remove Approval",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/approvals/{{$parameter[\"approvalId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "List Language Translations",
      "value": "api.projects.languages.translations.getMany",
      "action": "List Language Translations",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/languages/{{$parameter[\"languageId\"]}}/translations",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/)."
    },
    {
      "name": "List Translations",
      "value": "api.projects.translations.getMany",
      "action": "List Translations",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ For instant translation delivery to your mobile, web, server, or desktop apps, it is recommended to use [OTA](https://support.crowdin.com/content-delivery/)."
    },
    {
      "name": "Add Translation",
      "value": "api.projects.translations.post",
      "action": "Add Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Delete String/Asset Translations",
      "value": "api.projects.translations.deleteMany",
      "action": "Delete String/Asset Translations",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write).\n\nDelete translations for a string or an asset. Use the oneOf pattern:\n - **String type**: Use `stringId`\n - **Asset type**: Use `fileId`"
    },
    {
      "name": "Get Translation",
      "value": "api.projects.translations.get",
      "action": "Get Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/{{$parameter[\"translationId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Restore Translation",
      "value": "api.projects.translations.put",
      "action": "Restore Translation",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/{{$parameter[\"translationId\"]}}",
          "method": "PUT"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Delete Translation",
      "value": "api.projects.translations.delete",
      "action": "Delete Translation",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/{{$parameter[\"translationId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Translation Alignment",
      "value": "api.projects.translations.alignment.post",
      "action": "Translation Alignment",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/translations/alignment",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "List Translation Votes",
      "value": "api.projects.votes.getMany",
      "action": "List Translation Votes",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/votes",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only).\n\n__Note:__ Either `translationId` OR `fileId` OR `labelIds` OR `excludeLabelIds` with `languageId` OR `stringId` with `languageId` are required"
    },
    {
      "name": "Add Vote",
      "value": "api.projects.votes.post",
      "action": "Add Vote",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/votes",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Get Vote",
      "value": "api.projects.votes.get",
      "action": "Get Vote",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/votes/{{$parameter[\"voteId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Cancel Vote",
      "value": "api.projects.votes.delete",
      "action": "Cancel Vote",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/votes/{{$parameter[\"voteId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Delete Attachment from String/Asset Comment",
      "value": "api.projects.comments.attachments.delete",
      "action": "Delete Attachment from String/Asset Comment",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}/attachments/{{$parameter[\"attachmentId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write)."
    },
    {
      "name": "List String/Asset Comments",
      "value": "api.projects.comments.getMany",
      "action": "List String/Asset Comments",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only).\n\nList comments and issues for strings or assets. Use the oneOf pattern:\n- **String type**: Use `stringId`\n- **Asset type**: Use `fileId`\n- **All comments**: Omit both parameters to list all project comments"
    },
    {
      "name": "Add String/Asset Comment",
      "value": "api.projects.comments.post",
      "action": "Add String/Asset Comment",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write).\n\nAdd a comment or issue to a string or asset. Use the oneOf pattern:\n- **String type**: Use `stringId`\n- **Asset type**: Use `fileId`"
    },
    {
      "name": "Get String/Asset Comment",
      "value": "api.projects.comments.get",
      "action": "Get String/Asset Comment",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only)."
    },
    {
      "name": "Delete String/Asset Comment",
      "value": "api.projects.comments.delete",
      "action": "Delete String/Asset Comment",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write)."
    },
    {
      "name": "Edit String/Asset Comment",
      "value": "api.projects.comments.patch",
      "action": "Edit String/Asset Comment",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write)."
    },
    {
      "name": "List Screenshots",
      "value": "api.projects.screenshots.getMany",
      "action": "List Screenshots",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read only)."
    },
    {
      "name": "Add Screenshot",
      "value": "api.projects.screenshots.post",
      "action": "Add Screenshot",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "Get Screenshot",
      "value": "api.projects.screenshots.get",
      "action": "Get Screenshot",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read only)."
    },
    {
      "name": "Update Screenshot",
      "value": "api.projects.screenshots.put",
      "action": "Update Screenshot",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
          "method": "PUT"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "Delete Screenshot",
      "value": "api.projects.screenshots.delete",
      "action": "Delete Screenshot",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "Edit Screenshot",
      "value": "api.projects.screenshots.patch",
      "action": "Edit Screenshot",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "List Tags",
      "value": "api.projects.screenshots.tags.getMany",
      "action": "List Tags",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read only)."
    },
    {
      "name": "Replace Tags (Auto Tag)",
      "value": "api.projects.screenshots.tags.putMany",
      "action": "Replace Tags (Auto Tag)",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
          "method": "PUT"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "Add Tag",
      "value": "api.projects.screenshots.tags.post",
      "action": "Add Tag",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "Clear Tags",
      "value": "api.projects.screenshots.tags.deleteMany",
      "action": "Clear Tags",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "Get Tag",
      "value": "api.projects.screenshots.tags.get",
      "action": "Get Tag",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags/{{$parameter[\"tagId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read only)."
    },
    {
      "name": "Delete Tag",
      "value": "api.projects.screenshots.tags.delete",
      "action": "Delete Tag",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags/{{$parameter[\"tagId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "Edit Tag",
      "value": "api.projects.screenshots.tags.patch",
      "action": "Edit Tag",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/screenshots/{{$parameter[\"screenshotId\"]}}/tags/{{$parameter[\"tagId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.screenshot` (Read and Write)."
    },
    {
      "name": "List Concepts",
      "value": "api.glossaries.concepts.getMany",
      "action": "List Concepts",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Get concept",
      "value": "api.glossaries.concepts.get",
      "action": "Get concept",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts/{{$parameter[\"conceptId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Update concept",
      "value": "api.glossaries.concepts.put",
      "action": "Update concept",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts/{{$parameter[\"conceptId\"]}}",
          "method": "PUT"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write).\n\n__Note:__ There is no separate method for concept creation. Concepts are automatically created when adding a term without specifying a `conceptId`."
    },
    {
      "name": "Delete Concept",
      "value": "api.glossaries.concepts.delete",
      "action": "Delete Concept",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/concepts/{{$parameter[\"conceptId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "List Glossaries",
      "value": "api.glossaries.getMany",
      "action": "List Glossaries",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/glossaries",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Add Glossary",
      "value": "api.glossaries.post",
      "action": "Add Glossary",
      "routing": {
        "request": {
          "url": "=/glossaries",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "Get Glossary",
      "value": "api.glossaries.get",
      "action": "Get Glossary",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Delete Glossary",
      "value": "api.glossaries.delete",
      "action": "Delete Glossary",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "Edit Glossary",
      "value": "api.glossaries.patch",
      "action": "Edit Glossary",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "Export Glossary",
      "value": "api.glossaries.exports.post",
      "action": "Export Glossary",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/exports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Check Glossary Export Status",
      "value": "api.glossaries.exports.get",
      "action": "Check Glossary Export Status",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/exports/{{$parameter[\"exportId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Download Glossary",
      "value": "api.glossaries.exports.download.download",
      "action": "Download Glossary",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Import Glossary",
      "value": "api.glossaries.imports.post",
      "action": "Import Glossary",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/imports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "Check Glossary Import Status",
      "value": "api.glossaries.imports.get",
      "action": "Check Glossary Import Status",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/imports/{{$parameter[\"importId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "Concordance search in Glossaries",
      "value": "api.projects.glossaries.concordance.post",
      "action": "Concordance search in Glossaries",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/glossaries/concordance",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "List Terms",
      "value": "api.glossaries.terms.getMany",
      "action": "List Terms",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Add Term",
      "value": "api.glossaries.terms.post",
      "action": "Add Term",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write).\n\n__Note:__ If `conceptId` is not specified, a new concept will be automatically created for the term."
    },
    {
      "name": "Clear Glossary",
      "value": "api.glossaries.terms.deleteMany",
      "action": "Clear Glossary",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "Get Term",
      "value": "api.glossaries.terms.get",
      "action": "Get Term",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms/{{$parameter[\"termId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only)."
    },
    {
      "name": "Delete Term",
      "value": "api.glossaries.terms.delete",
      "action": "Delete Term",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms/{{$parameter[\"termId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "Edit Term",
      "value": "api.glossaries.terms.patch",
      "action": "Edit Term",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}/terms/{{$parameter[\"termId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write)."
    },
    {
      "name": "List TMs",
      "value": "api.tms.getMany",
      "action": "List TMs",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/tms",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read only)."
    },
    {
      "name": "Add TM",
      "value": "api.tms.post",
      "action": "Add TM",
      "routing": {
        "request": {
          "url": "=/tms",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write)."
    },
    {
      "name": "Get TM",
      "value": "api.tms.get",
      "action": "Get TM",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read only)."
    },
    {
      "name": "Delete TM",
      "value": "api.tms.delete",
      "action": "Delete TM",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write)."
    },
    {
      "name": "Edit TM",
      "value": "api.tms.patch",
      "action": "Edit TM",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write)."
    },
    {
      "name": "List TM Segments",
      "value": "api.tms.segments.getMany",
      "action": "List TM Segments",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/segments",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read only).\n\nGet list of translation unit segments"
    },
    {
      "name": "Create TM Segment",
      "value": "api.tms.segments.post",
      "action": "Create TM Segment",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/segments",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write).\n\nCreate translation unit with given segments"
    },
    {
      "name": "Clear TM",
      "value": "api.tms.segments.clear",
      "action": "Clear TM",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/segments",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write)."
    },
    {
      "name": "Export TM",
      "value": "api.tms.exports.post",
      "action": "Export TM",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/exports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `tm` (Read only)."
    },
    {
      "name": "Check TM Export Status",
      "value": "api.tms.exports.get",
      "action": "Check TM Export Status",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/exports/{{$parameter[\"exportId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read only)."
    },
    {
      "name": "Download TM",
      "value": "api.tms.exports.download.download",
      "action": "Download TM",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read only)."
    },
    {
      "name": "Concordance search in TMs",
      "value": "api.projects.tms.concordance.post",
      "action": "Concordance search in TMs",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tms/concordance",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write)."
    },
    {
      "name": "Import TM",
      "value": "api.tms.imports.post",
      "action": "Import TM",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/imports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write)."
    },
    {
      "name": "Check TM Import Status",
      "value": "api.tms.imports.get",
      "action": "Check TM Import Status",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/imports/{{$parameter[\"importId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write)."
    },
    {
      "name": "Get TM Segment",
      "value": "api.tms.segments.get",
      "action": "Get TM Segment",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/segments/{{$parameter[\"segmentId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read only).\n\nGet segments of translation unit"
    },
    {
      "name": "Delete TM Segment",
      "value": "api.tms.segments.delete",
      "action": "Delete TM Segment",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/segments/{{$parameter[\"segmentId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write).\n\nDelete all segments of translation unit"
    },
    {
      "name": "Edit TM Segment",
      "value": "api.tms.segments.patch",
      "action": "Edit TM Segment",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}/segments/{{$parameter[\"segmentId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write).\n\nEdit segment of translation unit"
    },
    {
      "name": "List MTs",
      "value": "api.mts.getMany",
      "action": "List MTs",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/mts",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `mt` (Read only)."
    },
    {
      "name": "Get MT",
      "value": "api.mts.get",
      "action": "Get MT",
      "routing": {
        "request": {
          "url": "=/mts/{{$parameter[\"mtId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `mt` (Read only)."
    },
    {
      "name": "Translate via MT",
      "value": "api.mts.translations.post",
      "action": "Translate via MT",
      "routing": {
        "request": {
          "url": "=/mts/{{$parameter[\"mtId\"]}}/translations",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `mt` (Read and Write)."
    },
    {
      "name": "Get Branch Progress",
      "value": "api.projects.branches.languages.progress.getMany",
      "action": "Get Branch Progress",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/languages/progress",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.status.progress` (Read only)."
    },
    {
      "name": "Get Directory Progress",
      "value": "api.projects.directories.languages.progress.getMany",
      "action": "Get Directory Progress",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/directories/{{$parameter[\"directoryId\"]}}/languages/progress",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.status.progress` (Read only)."
    },
    {
      "name": "Get File Progress",
      "value": "api.projects.files.languages.progress.getMany",
      "action": "Get File Progress",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/files/{{$parameter[\"fileId\"]}}/languages/progress",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.status.progress` (Read only)."
    },
    {
      "name": "Get Language Progress",
      "value": "api.projects.languages.files.progress.getMany",
      "action": "Get Language Progress",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/languages/{{$parameter[\"languageId\"]}}/progress",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.status.progress` (Read only)."
    },
    {
      "name": "Get Project Progress",
      "value": "api.projects.languages.progress.getMany",
      "action": "Get Project Progress",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/languages/progress",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.status.progress` (Read only)."
    },
    {
      "name": "Revalidate QA Checks",
      "value": "api.projects.qa-checks.revalidate.post",
      "action": "Revalidate QA Checks",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks/revalidate",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.status.qa-check` (Read and Write).\n\nTriggers revalidation of all QA checks for the project"
    },
    {
      "name": "QA Checks Revalidation Status",
      "value": "api.projects.qa-checks.revalidate.get",
      "action": "QA Checks Revalidation Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks/revalidate/{{$parameter[\"revalidationId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.status.qa-check` (Read and Write).\n\nReturns the status of QA checks revalidation job"
    },
    {
      "name": "Cancel QA Checks Revalidation",
      "value": "api.projects.qa-checks.revalidate.delete",
      "action": "Cancel QA Checks Revalidation",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks/revalidate/{{$parameter[\"revalidationId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.status.qa-check` (Read and Write).\n\nCancels the QA checks revalidation job"
    },
    {
      "name": "List QA Check Issues",
      "value": "api.projects.qa-checks.getMany",
      "action": "List QA Check Issues",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/qa-checks",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.status.qa-check` (Read only)."
    },
    {
      "name": "List Report Archives",
      "value": "api.reports.archives.getMany",
      "action": "List Report Archives",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Get Report Archive",
      "value": "api.users.reports.archives.get",
      "action": "Get Report Archive",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Delete Report Archive",
      "value": "api.users.reports.archives.delete",
      "action": "Delete Report Archive",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.report` (Read and Write)."
    },
    {
      "name": "Export Report Archive",
      "value": "api.reports.archives.exports.post",
      "action": "Export Report Archive",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}/exports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Check Report Archive Export Status",
      "value": "api.users.reports.archives.exports.get",
      "action": "Check Report Archive Export Status",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}/exports/{{$parameter[\"exportId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Download Report Archive",
      "value": "api.users.reports.archives.exports.download.get",
      "action": "Download Report Archive",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/archives/{{$parameter[\"archiveId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Generate Report",
      "value": "api.projects.reports.post",
      "action": "Generate Report",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Check Report Generation Status",
      "value": "api.projects.reports.get",
      "action": "Check Report Generation Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/{{$parameter[\"reportId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Download Report",
      "value": "api.projects.reports.download.download",
      "action": "Download Report",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/{{$parameter[\"reportId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "List Report Settings Templates",
      "value": "api.projects.reports.settings-templates.getMany",
      "action": "List Report Settings Templates",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Add Report Settings Template",
      "value": "api.projects.reports.settings-templates.post",
      "action": "Add Report Settings Template",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.report` (Read and Write)."
    },
    {
      "name": "Get Report Settings Template",
      "value": "api.projects.reports.settings-templates.get",
      "action": "Get Report Settings Template",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.report` (Read only)."
    },
    {
      "name": "Delete Report Settings Template",
      "value": "api.projects.reports.settings-templates.delete",
      "action": "Delete Report Settings Template",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.report` (Read and Write)."
    },
    {
      "name": "Edit Report Settings Template",
      "value": "api.projects.reports.settings-templates.patch",
      "action": "Edit Report Settings Template",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.report` (Read and Write)."
    },
    {
      "name": "List User Report Settings Templates",
      "value": "api.users.reports.settings-templates.getMany",
      "action": "List User Report Settings Templates",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `user` (Read only)."
    },
    {
      "name": "Add User Report Settings Template",
      "value": "api.users.reports.settings-templates.post",
      "action": "Add User Report Settings Template",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `user` (Read and Write)."
    },
    {
      "name": "Get User Report Settings Template",
      "value": "api.users.reports.settings-templates.get",
      "action": "Get User Report Settings Template",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `user` (Read only)."
    },
    {
      "name": "Delete User Report Settings Template",
      "value": "api.users.reports.settings-templates.delete",
      "action": "Delete User Report Settings Template",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `user` (Read and Write)."
    },
    {
      "name": "Edit User Report Settings Template",
      "value": "api.users.reports.settings-templates.patch",
      "action": "Edit User Report Settings Template",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `user` (Read and Write)."
    },
    {
      "name": "List Tasks",
      "value": "api.users.tasks.getMany",
      "action": "List Tasks",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/tasks",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only).\n\nLists all of the user's project tasks."
    },
    {
      "name": "Export Project Task Strings",
      "value": "api.projects.tasks.exports.post",
      "action": "Export Project Task Strings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/exports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only)."
    },
    {
      "name": "List Project Task Settings Templates",
      "value": "api.projects.tasks.settings-templates.getMany",
      "action": "List Project Task Settings Templates",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only)."
    },
    {
      "name": "Add Project Task Settings Template",
      "value": "api.projects.tasks.settings-templates.post",
      "action": "Add Project Task Settings Template",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "Get Project Task Settings Template",
      "value": "api.projects.tasks.settings-templates.get",
      "action": "Get Project Task Settings Template",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates/{{$parameter[\"taskSettingsTemplateId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only)."
    },
    {
      "name": "Delete Project Task Settings Template",
      "value": "api.projects.tasks.settings-templates.delete",
      "action": "Delete Project Task Settings Template",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates/{{$parameter[\"taskSettingsTemplateId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "Edit Project Task Settings Template",
      "value": "api.projects.tasks.settings-templates.patch",
      "action": "Edit Project Task Settings Template",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/settings-templates/{{$parameter[\"taskSettingsTemplateId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "List Project Tasks",
      "value": "api.projects.tasks.getMany",
      "action": "List Project Tasks",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only)."
    },
    {
      "name": "Add Project Task",
      "value": "api.projects.tasks.post",
      "action": "Add Project Task",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "Get Project Task",
      "value": "api.projects.tasks.get",
      "action": "Get Project Task",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only)."
    },
    {
      "name": "Delete Project Task",
      "value": "api.projects.tasks.delete",
      "action": "Delete Project Task",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "List Project Task Comments",
      "value": "api.projects.tasks.comments.getMany",
      "action": "List Project Task Comments",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only)."
    },
    {
      "name": "Add Project Task Comment",
      "value": "api.projects.tasks.comments.post",
      "action": "Add Project Task Comment",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "Get Project Task Comment",
      "value": "api.projects.tasks.comments.get",
      "action": "Get Project Task Comment",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments/{{$parameter[\"commentId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.task` (Read only)."
    },
    {
      "name": "Delete Project Task Comment",
      "value": "api.projects.tasks.comments.delete",
      "action": "Delete Project Task Comment",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments/{{$parameter[\"commentId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "Edit Project Task Comment",
      "value": "api.projects.tasks.comments.patch",
      "action": "Edit Project Task Comment",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}/comments/{{$parameter[\"commentId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "Edit Project Task",
      "value": "api.projects.tasks.patch",
      "action": "Edit Project Task",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/tasks/{{$parameter[\"taskId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.task` (Read and Write)."
    },
    {
      "name": "List User Tasks",
      "value": "api.user.tasks.getMany",
      "action": "List User Tasks",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/user/tasks",
          "method": "GET"
        }
      }
    },
    {
      "name": "Edit Task Archived Status",
      "value": "api.user.tasks.patch",
      "action": "Edit Task Archived Status",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/user/tasks/{{$parameter[\"taskId\"]}}?projectId={{$parameter[\"projectId\"]}}",
          "method": "PATCH"
        }
      }
    },
    {
      "name": "Get Authenticated User",
      "value": "api.user.get",
      "action": "Get Authenticated User",
      "routing": {
        "request": {
          "url": "=/user",
          "method": "GET"
        }
      }
    },
    {
      "name": "Edit Authenticated User",
      "value": "api.user.patch",
      "action": "Edit Authenticated User",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/user",
          "method": "PATCH"
        }
      }
    },
    {
      "name": "List Project Members",
      "value": "api.projects.members.getMany",
      "action": "List Project Members",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/members",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.member` (Read only)."
    },
    {
      "name": "Add Project Member",
      "value": "api.projects.members.post",
      "action": "Add Project Member",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/members",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.member` (Read and Write)."
    },
    {
      "name": "Get Member Info",
      "value": "api.projects.members.get",
      "action": "Get Member Info",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/members/{{$parameter[\"memberId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.member` (Read only)."
    },
    {
      "name": "Replace Project Member Permissions",
      "value": "api.projects.members.put",
      "action": "Replace Project Member Permissions",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/members/{{$parameter[\"memberId\"]}}",
          "method": "PUT"
        }
      },
      "description": "**Required scopes:** `project.member` (Read and Write)."
    },
    {
      "name": "Delete Member From Project",
      "value": "api.projects.members.delete",
      "action": "Delete Member From Project",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/members/{{$parameter[\"memberId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.member` (Read and Write)."
    },
    {
      "name": "List Webhooks",
      "value": "api.projects.webhooks.getMany",
      "action": "List Webhooks",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.webhook` (Read only)."
    },
    {
      "name": "Add Webhook",
      "value": "api.projects.webhooks.post",
      "action": "Add Webhook",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.webhook` (Read and Write)."
    },
    {
      "name": "Get Webhook",
      "value": "api.projects.webhooks.get",
      "action": "Get Webhook",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks/{{$parameter[\"webhookId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.webhook` (Read only)."
    },
    {
      "name": "Delete Webhook",
      "value": "api.projects.webhooks.delete",
      "action": "Delete Webhook",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks/{{$parameter[\"webhookId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.webhook` (Read and Write)."
    },
    {
      "name": "Edit Webhook",
      "value": "api.projects.webhooks.patch",
      "action": "Edit Webhook",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/webhooks/{{$parameter[\"webhookId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.webhook` (Read and Write)."
    },
    {
      "name": "List Webhooks",
      "value": "api.webhooks.getMany",
      "action": "List Webhooks",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/webhooks",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `webhook` (Read only)."
    },
    {
      "name": "Add Webhook",
      "value": "api.webhooks.post",
      "action": "Add Webhook",
      "routing": {
        "request": {
          "url": "=/webhooks",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `webhook` (Read and Write)."
    },
    {
      "name": "Get Webhook",
      "value": "api.webhooks.get",
      "action": "Get Webhook",
      "routing": {
        "request": {
          "url": "=/webhooks/{{$parameter[\"organizationWebhookId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `webhook` (Read only)."
    },
    {
      "name": "Delete Webhook",
      "value": "api.webhooks.delete",
      "action": "Delete Webhook",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/webhooks/{{$parameter[\"organizationWebhookId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `webhook` (Read and Write)."
    },
    {
      "name": "Edit Webhook",
      "value": "api.webhooks.patch",
      "action": "Edit Webhook",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/webhooks/{{$parameter[\"organizationWebhookId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `webhook` (Read and Write)."
    },
    {
      "name": "List Dictionaries",
      "value": "api.projects.dictionaries.getMany",
      "action": "List Dictionaries",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/dictionaries",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.dictionary` (Read only)."
    },
    {
      "name": "Edit Dictionary",
      "value": "api.projects.dictionaries.patch",
      "action": "Edit Dictionary",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/dictionaries/{{$parameter[\"languageId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.dictionary` (Read and Write)."
    },
    {
      "name": "List Application Installations",
      "value": "api.applications.installations.getMany",
      "action": "List Application Installations",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/applications/installations",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `application` (Read only)."
    },
    {
      "name": "Install Application",
      "value": "api.applications.installations.post",
      "action": "Install Application",
      "routing": {
        "request": {
          "url": "=/applications/installations",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `application` (Read and Write)."
    },
    {
      "name": "Get Application Installation",
      "value": "api.applications.installations.get",
      "action": "Get Application Installation",
      "routing": {
        "request": {
          "url": "=/applications/installations/{{$parameter[\"identifier\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `application` (Read only)."
    },
    {
      "name": "Delete Application Installation",
      "value": "api.applications.installations.delete",
      "action": "Delete Application Installation",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/applications/installations/{{$parameter[\"identifier\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `application` (Read and Write)."
    },
    {
      "name": "Edit Application Installation",
      "value": "api.applications.installations.patch",
      "action": "Edit Application Installation",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/applications/installations/{{$parameter[\"identifier\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `application` (Read and Write)."
    },
    {
      "name": "Get Application Data",
      "value": "api.applications.api.get",
      "action": "Get Application Data",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `application` (Read only).\n\nRetrieves data from the specified application.\n\n__Note__: Query parameters are application-specific and vary depending on the application being accessed."
    },
    {
      "name": "Update or Restore Application Data",
      "value": "api.applications.api.put",
      "action": "Update or Restore Application Data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
          "method": "PUT"
        }
      },
      "description": "**Required scopes:** `application` (Read and Write).\n\nUpdates or restores data in the specified application.\n\n__Note__: Both the query parameters and request body are application-specific and vary depending on the application being accessed."
    },
    {
      "name": "Add Application Data",
      "value": "api.applications.api.post",
      "action": "Add Application Data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `application` (Read and Write).\n\nAdds new data to the specified application.\n\n__Note__: Both the query parameters and request body are application-specific and vary depending on the application being accessed."
    },
    {
      "name": "Delete Application Data",
      "value": "api.applications.api.delete",
      "action": "Delete Application Data",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `application` (Read and Write).\n\nDeletes data from the specified application.\n\n__Note__: Query parameters are application-specific and vary depending on the application being accessed."
    },
    {
      "name": "Edit Application Data",
      "value": "api.applications.api.patch",
      "action": "Edit Application Data",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/{{$parameter[\"path\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `application` (Read and Write).\n\nEdits existing data in the specified application.\n\n__Note__: Both the query parameters and request body are application-specific and vary depending on the application being accessed."
    },
    {
      "name": "List Crowdin Files",
      "value": "api.applications.integrations.crowdin.files",
      "action": "List Crowdin Files",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/crowdin-files",
          "method": "GET"
        }
      }
    },
    {
      "name": "Get File Progress",
      "value": "api.applications.integrations.file.progress",
      "action": "Get File Progress",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/file-progress",
          "method": "GET"
        }
      }
    },
    {
      "name": "List Integration Files",
      "value": "api.applications.integrations.integration.files",
      "action": "List Integration Files",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/integration-files",
          "method": "GET"
        }
      }
    },
    {
      "name": "Update Crowdin Files",
      "value": "api.applications.integrations.crowdin.update",
      "action": "Update Crowdin Files",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/crowdin-update",
          "method": "POST"
        }
      }
    },
    {
      "name": "Update Integration Files",
      "value": "api.applications.integrations.integration.update",
      "action": "Update Integration Files",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/integration-update",
          "method": "POST"
        }
      }
    },
    {
      "name": "List Jobs",
      "value": "api.applications.integrations.job.list",
      "action": "List Jobs",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/all-jobs",
          "method": "GET"
        }
      }
    },
    {
      "name": "Get Job Info",
      "value": "api.applications.integrations.job.info",
      "action": "Get Job Info",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/job-info",
          "method": "GET"
        }
      }
    },
    {
      "name": "Cancel Job",
      "value": "api.applications.integrations.job.cancel",
      "action": "Cancel Job",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/jobs",
          "method": "DELETE"
        }
      }
    },
    {
      "name": "Get Application Settings",
      "value": "api.applications.integrations.settings.get",
      "action": "Get Application Settings",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/settings",
          "method": "GET"
        }
      }
    },
    {
      "name": "Update Application Settings",
      "value": "api.applications.integrations.settings.update",
      "action": "Update Application Settings",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/settings",
          "method": "POST"
        }
      }
    },
    {
      "name": "Get Sync Settings",
      "value": "api.applications.integrations.sync.settings.get",
      "action": "Get Sync Settings",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/sync-settings",
          "method": "GET"
        }
      }
    },
    {
      "name": "Update Sync Settings",
      "value": "api.applications.integrations.sync.settings.update",
      "action": "Update Sync Settings",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/sync-settings",
          "method": "POST"
        }
      }
    },
    {
      "name": "Integration Login Form Fields",
      "value": "api.applications.integrations.integration.fields",
      "action": "Integration Login Form Fields",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/login-fields",
          "method": "GET"
        }
      }
    },
    {
      "name": "Integration Login",
      "value": "api.applications.integrations.integration.login",
      "action": "Integration Login",
      "routing": {
        "request": {
          "url": "=/applications/{{$parameter[\"applicationIdentifier\"]}}/api/login",
          "method": "POST"
        }
      }
    },
    {
      "name": "List Bundles",
      "value": "api.projects.bundles.getMany",
      "action": "List Bundles",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Add Bundle",
      "value": "api.projects.bundles.post",
      "action": "Add Bundle",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Get Bundle",
      "value": "api.projects.bundles.get",
      "action": "Get Bundle",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Delete Bundle",
      "value": "api.projects.bundles.delete",
      "action": "Delete Bundle",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Edit Bundle",
      "value": "api.projects.bundles.patch",
      "action": "Edit Bundle",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Download Bundle",
      "value": "api.projects.bundles.exports.download.get",
      "action": "Download Bundle",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/exports/{{$parameter[\"exportId\"]}}/download",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Export Bundle",
      "value": "api.projects.bundles.exports.post",
      "action": "Export Bundle",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/exports",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Check Bundle Export Status",
      "value": "api.projects.bundles.exports.get",
      "action": "Check Bundle Export Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/exports/{{$parameter[\"exportId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Bundle List Files",
      "value": "api.projects.bundles.files.getMany",
      "action": "Bundle List Files",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/files",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "List Distributions",
      "value": "api.projects.distributions.getMany",
      "action": "List Distributions",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Add Distribution",
      "value": "api.projects.distributions.post",
      "action": "Add Distribution",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Get Distribution",
      "value": "api.projects.distributions.get",
      "action": "Get Distribution",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read only)."
    },
    {
      "name": "Delete Distribution",
      "value": "api.projects.distributions.delete",
      "action": "Delete Distribution",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Edit Distribution",
      "value": "api.projects.distributions.patch",
      "action": "Edit Distribution",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Get Distribution Release",
      "value": "api.projects.distributions.release.get",
      "action": "Get Distribution Release",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}/release",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Release Distribution",
      "value": "api.projects.distributions.release.post",
      "action": "Release Distribution",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/distributions/{{$parameter[\"hash\"]}}/release",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write)."
    },
    {
      "name": "Assign Label to Strings",
      "value": "api.projects.labels.strings.post",
      "action": "Assign Label to Strings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/strings",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Unassign Label from Strings",
      "value": "api.projects.labels.strings.deleteMany",
      "action": "Unassign Label from Strings",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/strings",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "List Labels",
      "value": "api.projects.labels.getMany",
      "action": "List Labels",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Add Label",
      "value": "api.projects.labels.post",
      "action": "Add Label",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Get Label",
      "value": "api.projects.labels.get",
      "action": "Get Label",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only)."
    },
    {
      "name": "Delete Label",
      "value": "api.projects.labels.delete",
      "action": "Delete Label",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Edit Label",
      "value": "api.projects.labels.patch",
      "action": "Edit Label",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Assign Label to Screenshots",
      "value": "api.projects.labels.screenshots.post",
      "action": "Assign Label to Screenshots",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/screenshots",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Unassign Label from Screenshots",
      "value": "api.projects.labels.screenshots.deleteMany",
      "action": "Unassign Label from Screenshots",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/labels/{{$parameter[\"labelId\"]}}/screenshots",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write)."
    },
    {
      "name": "Send Notification to Authenticated User",
      "value": "api.notify.post",
      "action": "Send Notification to Authenticated User",
      "routing": {
        "request": {
          "url": "=/notify",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `notification` (Read and Write)."
    },
    {
      "name": "Send Notification To Project Members",
      "value": "api.projects.notify.post",
      "action": "Send Notification To Project Members",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/notify",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project` (Read and Write)."
    },
    {
      "name": "List User Security Logs",
      "value": "api.users.security-logs.getMany",
      "action": "List User Security Logs",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/security-logs",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `security-log` (Read only)."
    },
    {
      "name": "Get User Security Log",
      "value": "api.users.security-logs.get",
      "action": "Get User Security Log",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/security-logs/{{$parameter[\"securityLogId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `security-log` (Read only)."
    }
  ]

npm_readme:
  # @crowdin/n8n-nodes-crowdin

  [![npm](https://img.shields.io/npm/v/@crowdin/n8n-nodes-crowdin?logo=npm&cacheSeconds=1800)](https://www.npmjs.com/package/@crowdin/n8n-nodes-crowdin)
  [![npm](https://img.shields.io/npm/dt/@crowdin/n8n-nodes-crowdin?logo=npm&cacheSeconds=1800)](https://www.npmjs.com/package/@crowdin/n8n-nodes-crowdin)
  [![License](https://img.shields.io/github/license/crowdin/n8n-nodes-crowdin?cacheSeconds=3600)](https://github.com/crowdin/n8n-nodes-crowdin/blob/main/LICENSE)

  This is an n8n community node. It lets you use [Crowdin](https://crowdin.com/) in your n8n workflows.

  Crowdin is an AI-powered localization software designed for teams and businesses. It's a cloud-based solution that streamlines localization management for your product. With 700+ apps and integrations, Crowdin automates the translation process. Its AI translator provides accurate, context-aware translations that continuously improve based on your resources and feedback. Crowdin supports 300+ languages and enables continuous localization for software, mobile apps, websites, marketing content, and help centers.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Nodes](#nodes)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Workflow Templates](#workflow-templates)  
  [Resources](#resources)  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Nodes

  This package includes the following nodes:

  ### Action Nodes

  | Node | Description |
  |------|-------------|
  | **Crowdin (File-Based)** | Interact with Crowdin file-based projects on crowdin.com |
  | **Crowdin (String-Based)** | Interact with Crowdin string-based projects on crowdin.com |
  | **Crowdin Enterprise (File-Based)** | Interact with Crowdin Enterprise file-based projects |
  | **Crowdin Enterprise (String-Based)** | Interact with Crowdin Enterprise string-based projects |

  ### Trigger Nodes

  | Node | Description |
  |------|-------------|
  | **Crowdin (File-Based) Trigger** | Start workflows on file-based project events |
  | **Crowdin (String-Based) Trigger** | Start workflows on string-based project events |
  | **Crowdin Enterprise (File-Based) Trigger** | Start workflows on Enterprise file-based project events |
  | **Crowdin Enterprise (String-Based) Trigger** | Start workflows on Enterprise string-based project events |

  ## Operations

  ### Common Resources

  | Resource | Description |
  |----------|-------------|
  | **AI** | AI-powered features for translation assistance |
  | **Storage** | Upload files for localization, screenshots, glossaries, and TMs |
  | **Languages** | Access 300+ supported languages and their details |
  | **Source Files** | Manage source files, folders, and branches |
  | **Source Strings** | Manage text units for translation |
  | **String/Asset Translations** | Add, remove, and manage translations and approvals |
  | **String/Asset Comments** | Manage comments and issues on strings |
  | **Screenshots** | Provide visual context for translators |
  | **Glossaries** | Maintain terminology consistency |
  | **Translation Memory** | Reuse previous translations |
  | **Machine Translation Engines** | Configure MT providers (Google, DeepL, etc.) |
  | **Translation Status** | Track localization progress |
  | **Reports** | Generate cost estimates and translation reports |
  | **Users** | Get user profile information |
  | **Webhooks** | Configure project-level webhooks |
  | **Organization Webhooks** | Configure account-level webhooks |
  | **Applications** | Manage Crowdin App integrations |
  | **Bundles** | Group files for export |
  | **Dictionaries** | Manage spell-checker word lists |
  | **Distributions** | Configure content delivery |
  | **Labels** | Organize strings with labels |
  | **Notifications** | Manage notification settings |
  | **Security Logs** | Access audit logs |
  | **Tasks** | Create and manage translation tasks |

  ### Crowdin-Specific Resources

  | Resource | Description |
  |----------|-------------|
  | **Projects** | Manage localization projects |
  | **Translations** | Pre-translate and download translations |

  ### Crowdin Enterprise-Specific Resources

  | Resource | Description |
  |----------|-------------|
  | **Projects and Groups** | Manage projects and organizational groups |
  | **Workflows** | Configure translation workflow templates |
  | **Teams** | Manage team members and permissions |
  | **Vendors** | Manage translation vendor relationships |
  | **Clients** | Manage client organizations |
  | **Fields** | Configure custom fields |
  | **Organization** | Manage organization settings |
  | **External QA Checks** | Configure external quality assurance |
  | **Custom Spellcheckers** | Manage custom spell-check dictionaries |
  | **String Corrections** | Manage string correction suggestions |

  ### Trigger Events

  The trigger nodes support the following webhook events. For detailed payload structures, see the [Crowdin Webhooks Documentation](https://support.crowdin.com/developer/webhooks/#events).

  #### Account/Organization Events

  | Event | Crowdin | Enterprise | Description |
  |-------|:-------:|:----------:|-------------|
  | Project created | ✅ | ✅ | A project is created |
  | Project deleted | ✅ | ✅ | A project is deleted |
  | Group created | — | ✅ | A group is created |
  | Group deleted | — | ✅ | A group is deleted |

  #### Project Events

  | Event | Description |
  |-------|-------------|
  | Project fully translated | All files are translated into one of the target languages |
  | Project fully reviewed | Translations in all files are approved for one of the target languages |
  | Project successfully built | A project is built successfully |
  | Project QA check finished | QA check for all strings in the project is finished |
  | Exported translation updated | Final translation of a string is updated |

  #### File Events (File-Based Projects Only)

  | Event | Description |
  |-------|-------------|
  | File added | A new file is added to the project |
  | File updated | A file is updated |
  | File deleted | A file is deleted |
  | File reverted | A file is reverted to the previous revision |
  | File fully translated | A file is translated into one of the target languages |
  | File fully reviewed | Translations in a file are approved for one of the target languages |
  | File QA check finished | QA check for all strings in a file is finished |

  #### Source String Events

  | Event | Description |
  |-------|-------------|
  | Source string added | A new string is added to the project |
  | Source string updated | A string in the project is updated |
  | Source string deleted | A string is deleted |

  #### String Comment/Issue Events

  | Event | Description |
  |-------|-------------|
  | String comment/issue created | A comment or issue is added to the string |
  | String comment/issue updated | A comment or issue is updated |
  | String comment/issue deleted | A comment or issue is deleted |
  | String comment/issue restored | A comment or issue is restored |

  #### Suggested Translation Events

  | Event | Description |
  |-------|-------------|
  | Suggested translation added | A string in the project is translated |
  | Suggested translation updated | A translation for a string in the project is updated |
  | Suggested translation deleted | One of the translations is deleted |
  | Suggested translation approved | A translation for a string is approved |
  | Suggested translation disapproved | Approval for a previously added translation is removed |

  #### Task Events

  | Event | Description |
  |-------|-------------|
  | Task added | A task is added to the project |
  | Task status changed | A task status is changed |
  | Task updated | A task is updated |
  | Task deleted | A task is deleted |

  ## Credentials

  This node supports two authentication methods:

  ### OAuth2 (Recommended)

  1. Go to your [Crowdin OAuth Apps](https://crowdin.com/settings#oauth-apps) or [Crowdin Enterprise OAuth Apps](https://{your-organization}.crowdin.com/u/system-settings/oauth-apps)
  2. Create a new OAuth application
  3. Configure the redirect URI as provided by n8n
  4. Use the Client ID and Client Secret in n8n credentials
  5. Set the required scopes (e.g., `project`, `tm`, `glossary`)

  ### Personal Access Token

  1. Go to your [Crowdin API Settings](https://crowdin.com/settings#api-key) or [Crowdin Enterprise Access Tokens](https://{your-organization}.crowdin.com/u/user_settings/access-tokens)
  2. Create a new Personal Access Token
  3. Grant only the minimum required scopes for your workflow
  4. Copy the token and paste it into n8n credentials

  > 🔐 **Security Best Practice:** Follow the principle of least privilege - grant only the minimum scopes required for your workflow.

  ## Compatibility

  - **Minimum n8n version:** 1.0.0
  - **Tested with:** n8n 2.4.4

  ## Usage

  ### File-Based vs String-Based Projects

  Crowdin supports two types of projects:

  - **File-Based Projects:** Traditional localization workflow where you upload source files (JSON, XLIFF, Android XML, etc.) and download translated versions
  - **String-Based Projects:** Content is managed as individual strings without file structure, ideal for web applications and dynamic content

  Choose the appropriate node based on your project type.

  ### Crowdin vs Crowdin Enterprise

  - **Crowdin (crowdin.com):** For individuals and teams using the standard Crowdin platform
  - **Crowdin Enterprise:** For organizations with dedicated Crowdin Enterprise instances (custom domain: `{organization}.crowdin.com`)

  ### Example Workflow: Sync Translations

  1. Add a **Crowdin Trigger** node to listen for `file.translated` events
  2. Use the **Crowdin** node to build and download translations
  3. Connect to your deployment pipeline or storage

  ### Using with AI Agents

  All nodes in this package have `usableAsTool: true`, making them compatible with n8n's AI Agent nodes. You can use them as tools for AI-powered automation workflows.

  ## Workflow Templates

  This package includes ready-to-use workflow templates:

  | Template | Description |
  |----------|-------------|
  | **Crowdin AI Translation Slack Bot** | AI-powered translation assistant in Slack |
  | **Crowdin AI Translation Teams Bot** | AI-powered translation assistant in Microsoft Teams |
  | **Crowdin to JIRA** | Sync Crowdin issues to JIRA tickets |
  | **Crowdin to Linear** | Sync Crowdin issues to Linear issues |
  | **JIRA to Crowdin** | Create Crowdin tasks from JIRA tickets |
  | **Linear to Crowdin** | Create Crowdin tasks from Linear issues |

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Crowdin API documentation](https://support.crowdin.com/api/v2/)
  - [Crowdin Enterprise API documentation](https://support.crowdin.com/enterprise/api/)
  - [Crowdin Developer Portal](https://developer.crowdin.com/)
  - [Crowdin Help Center](https://support.crowdin.com/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides actions to interact with Crowdin's file-based projects and the Crowdin API from n8n workflows, enabling automation of localization file management and translation processes.","capabilities":["Upload, manage and organize source files, folders and branches (file-based projects)","Manage source strings (create, update, delete)","Add, remove and manage translations and approvals for strings/assets","Pre-translate and download translations","Manage screenshots and provide visual context for translators","Manage glossaries and translation memories (TMs)","Configure and use machine-translation engines (e.g., Google, DeepL)","Track translation status and generate reports (cost estimates, translation reports)","Manage users, projects, applications, bundles, dictionaries, labels, distributions and notifications","Configure project-level and organization-level webhooks"],"authentication":"API key required (Crowdin API token / personal access token)","commonUseCases":["Automatically upload new source files from a repo or build pipeline to Crowdin","Start workflows on Crowdin events (new project, translations completed, QA finished)","Pre-translate content and download completed translations for deployment","Sync glossaries and translation memories across projects","Notify teams or trigger CI/CD when project translation status changes"],"limitations":[],"relatedNodes":["Crowdin (String-Based)","Crowdin Enterprise (File-Based)","Crowdin Enterprise (String-Based)","Crowdin (File-Based) Trigger","Crowdin (String-Based) Trigger"]}


