# nodes

node_type: n8n-nodes-scrapeunblocker.scrapeUnblocker
package_name: n8n-nodes-scrapeunblocker
display_name: ScrapeUnblocker
description: Unblock and scrape any website using ScrapeUnblocker API
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-04-16 09:43:36
author_name: tvaitiekunas
author_github_url: https://github.com/ScrapeUnblocker/
npm_package_name: n8n-nodes-scrapeunblocker
npm_version: 0.1.3
community_fetched_at: 2026-04-16T09:43:36.268Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # n8n-nodes-scrapeunblocker

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

  The ScrapeUnblocker web scraping API helps to bypass captchas and anti-bot systems.

  [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)
  [Resources](#resources)
  [Version history](#version-history)  <!-- delete if not using this section -->

  ## Installation

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

  ## Operations

  - Get Page Source: POST

  ## Credentials

  You can obtain your API KEY for free by signing up at https://app.scrapeunblocker.com/

  After signing up you will be given 100 free calls for testing ScrapeUnblocker API service.

  ## Compatibility

  n8n 2.8.3 and above

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Get Page Source API](https://www.scrapeunblocker.com/documentation)

  ## Version history

  - 0.1.1: Initial Release
  - 0.1.2: Github repo made public

ai_documentation_summary:
  {"purpose":"This n8n community node enables workflows to bypass captchas and anti-bot systems by using the ScrapeUnblocker API to retrieve webpage content.","capabilities":["Get Page Source","Bypass captchas","Bypass anti-bot systems","Access protected or restricted websites"],"authentication":"API key required (obtained from ScrapeUnblocker account)","commonUseCases":["Web scraping of protected sites","Automated data collection from captcha-protected pages","Bot detection bypass for research or monitoring tasks"],"limitations":["Free tier limited to 100 calls for testing","Requires external API key from ScrapeUnblocker service","May have rate limits based on API plan"],"relatedNodes":["n8n HTTP Request","n8n Webhook"]}


node_type: n8n-nodes-pdf4me.PDF4me
package_name: n8n-nodes-pdf4me
display_name: PDF4me
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-04-16 09:43:36
author_name: pdf4me_ynoox
author_github_url: https://github.com/pdf4me/
npm_package_name: n8n-nodes-pdf4me
npm_version: 2.1.0
community_fetched_at: 2026-04-16T09:43:36.269Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  Comprehensive PDF and document processing: generate barcodes, convert files, extract data, manipulate images, and automate workflows with the PDF4ME API

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "ai",
      "options": [
        {
          "name": "AI",
          "value": "ai",
          "description": "AI-powered document processing and classification"
        },
        {
          "name": "Barcode",
          "value": "barcode",
          "description": "Generate QR codes and barcodes for use in documents"
        },
        {
          "name": "Convert",
          "value": "convert",
          "description": "Convert various document formats to and from PDF"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit PDF documents: add attachments, headers, footers, stamps, and signatures"
        },
        {
          "name": "Extract",
          "value": "extract",
          "description": "Extract data, text, tables, and attachments from documents"
        },
        {
          "name": "Invoice",
          "value": "invoice",
          "description": "Create compliant invoices: Swiss QR Bills and Zugferd invoices"
        },
        {
          "name": "Find Search",
          "value": "findSearch",
          "description": "Find and replace text, convert PDF to editable format using OCR"
        },
        {
          "name": "Forms",
          "value": "forms",
          "description": "Create, fill, and manage PDF forms"
        },
        {
          "name": "Generate",
          "value": "generate",
          "description": "Generate PDFs from templates with data, manage Word documents"
        },
        {
          "name": "Image",
          "value": "image",
          "description": "Process and manipulate images: resize, crop, rotate, compress, and extract text"
        },
        {
          "name": "Merge & Split",
          "value": "mergeSplit",
          "description": "Merge multiple PDFs or split PDFs by various criteria"
        },
        {
          "name": "Optimize Compress",
          "value": "optimizeCompress",
          "description": "Compress and optimize PDF files"
        },
        {
          "name": "Organize",
          "value": "organize",
          "description": "Organize PDF pages: delete, extract, and rotate pages"
        },
        {
          "name": "PDF4me",
          "value": "pdf4me",
          "description": "PDF4me-specific operations: upload files, get documents, and update hyperlinks"
        },
        {
          "name": "PDF",
          "value": "pdf",
          "description": "Get PDF metadata and repair PDF documents"
        },
        {
          "name": "Security",
          "value": "security",
          "description": "Protect and unlock PDF documents"
        },
        {
          "name": "Word",
          "value": "word",
          "description": "Manage Word document tracking changes"
        }
      ],
      "description": "Choose the type of PDF operation: generate documents, convert formats, process PDFs, extract data, or manage images",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "AI-Invoice Parser",
      "options": [
        {
          "name": "AI-Invoice Parser",
          "value": "AI-Invoice Parser",
          "action": "AI-Invoice Parser",
          "description": "Extract structured data from invoices using AI/ML technology for automated data entry"
        },
        {
          "name": "AI-Process Bank Cheque",
          "value": "AI-Process Bank Cheque",
          "action": "AI-Process Bank Cheque",
          "description": "Extract structured data from bank cheques using AI/ML technology for payment processing"
        },
        {
          "name": "AI-Process Credit Card",
          "value": "AI-Process Credit Card",
          "action": "AI-Process Credit Card",
          "description": "Extract structured data from credit cards using AI/ML technology for payment processing"
        },
        {
          "name": "AI-Process Contract",
          "value": "AI-Process Contract",
          "action": "AI-Process Contract",
          "description": "Extract structured data from contracts using AI/ML technology for legal document analysis"
        },
        {
          "name": "AI-Process HealthCard",
          "value": "AI-Process HealthCard",
          "action": "AI-Process HealthCard",
          "description": "Extract structured data from health cards using AI/ML technology for member management"
        },
        {
          "name": "AI-Process Marriage Certificate",
          "value": "AI-Process Marriage Certificate",
          "action": "AI-Process Marriage Certificate",
          "description": "Extract structured data from marriage certificates using AI/ML technology for document verification"
        },
        {
          "name": "AI-Process Mortgage Document",
          "value": "AI-Process Mortgage Document",
          "action": "AI-Process Mortgage Document",
          "description": "Extract structured data from mortgage documents using AI/ML technology for loan processing"
        },
        {
          "name": "AI-Process Pay Stub",
          "value": "AI-Process Pay Stub",
          "action": "AI-Process Pay Stub",
          "description": "Extract structured data from pay stubs using AI/ML technology for payroll processing"
        },
        {
          "name": "AI - Universal Document Data Extraction",
          "value": "Process Universal Document",
          "action": "AI - Universal Document Data Extraction",
          "description": "Extract specified fields from documents using universal document processing"
        },
        {
          "name": "AI-Process Shipping Label",
          "value": "Process Shipping Label",
          "action": "AI-Process Shipping Label",
          "description": "Process shipping labels to extract and analyze shipping information"
        },
        {
          "name": "AI-Process Order",
          "value": "Process Order",
          "action": "AI-Process Order",
          "description": "Process order documents to extract and analyze order information"
        },
        {
          "name": "AI-Process Receipt",
          "value": "Process Receipt",
          "action": "AI-Process Receipt",
          "description": "Process receipt documents to extract items, merchant info, totals, and custom fields"
        },
        {
          "name": "AI-Process Tax Document",
          "value": "Process Tax Document",
          "action": "AI-Process Tax Document",
          "description": "Process tax documents (W2, 1099, 1040, etc.) to extract tax information and custom fields"
        },
        {
          "name": "AI-Process Bank Statement",
          "value": "Process Bank Statement",
          "action": "AI-Process Bank Statement",
          "description": "Process bank statement documents to extract transactions, analyze patterns, and custom fields"
        }
      ],
      "displayName": "AI Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Generate Barcode",
      "options": [
        {
          "name": "Add Barcode to PDF",
          "value": "Add Barcode To PDF",
          "action": "Add barcode to PDF",
          "description": "Add barcodes to existing PDF documents with positioning and styling options"
        },
        {
          "name": "Create Barcode",
          "value": "Generate Barcode",
          "action": "Create barcode",
          "description": "Generate various types of barcodes including QR codes, Code 128, Code 39, and more"
        },
        {
          "name": "Read SwissQR Code",
          "value": "Read SwissQR Code",
          "action": "Read SwissQR code",
          "description": "Read Swiss QR code data from PDF documents"
        },
        {
          "name": "Read Barcode from PDF",
          "value": "Read Barcode From PDF",
          "action": "Read barcode from PDF",
          "description": "Read single or multiple Barcodes or QR Codes from your PDF file"
        }
      ],
      "displayName": "Barcode Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "barcode"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Convert To PDF",
      "options": [
        {
          "name": "Convert JSON To Excel",
          "value": "Convert JSON To Excel",
          "action": "Convert JSON to Excel",
          "description": "Convert JSON data to Excel format"
        },
        {
          "name": "Convert to PDF",
          "value": "Convert To PDF",
          "action": "Convert to PDF",
          "description": "Convert various document formats to PDF"
        },
        {
          "name": "Convert VISIO",
          "value": "Convert VISIO",
          "action": "Convert VISIO",
          "description": "Convert VISIO files (.vsdx, .vsd) to PDF format with advanced conversion options"
        },
        {
          "name": "Convert Word to PDF Form",
          "value": "Convert Word To PDF Form",
          "action": "Convert Word to PDF Form",
          "description": "Convert Word documents to PDF forms"
        },
        {
          "name": "Create PDF/A",
          "value": "Create PDF/A",
          "action": "Create PDF/A",
          "description": "Convert PDF to PDF/A for long-term archiving and compliance"
        },
        {
          "name": "Flatten PDF",
          "value": "Flatten PDF",
          "action": "Flatten PDF",
          "description": "Convert interactive PDF elements into static, non-editable content"
        },
        {
          "name": "Convert Html to PDF",
          "value": "Convert HTML To PDF",
          "action": "Convert Html to PDF",
          "description": "Convert HTML files to PDF documents"
        },
        {
          "name": "Linearize PDF",
          "value": "Linearize PDF",
          "action": "Linearize PDF",
          "description": "Optimize PDFs for web viewing with faster loading and progressive display"
        },
        {
          "name": "Convert Markdown To PDF",
          "value": "Convert Markdown To PDF",
          "action": "Convert Markdown To PDF",
          "description": "Convert Markdown files to PDF documents"
        },
        {
          "name": "Convert PDF to Excel",
          "value": "Convert PDF To Excel",
          "action": "Convert PDF to Excel",
          "description": "Convert PDF documents to Excel spreadsheets"
        },
        {
          "name": "Convert PDF to PowerPoint",
          "value": "Convert PDF To PowerPoint",
          "action": "Convert PDF to PowerPoint",
          "description": "Convert PDF documents to PowerPoint format with OCR support"
        },
        {
          "name": "Convert PDF to Word",
          "value": "Convert PDF To Word",
          "action": "Convert PDF to Word",
          "description": "Convert PDF documents to Word format with OCR support"
        },
        {
          "name": "Convert Url to PDF",
          "value": "Convert URL to PDF",
          "action": "Convert Url to PDF",
          "description": "Convert web pages to PDF while preserving layout, styling, and content"
        }
      ],
      "displayName": "Convert Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "convert"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Attachment To PDF",
      "options": [
        {
          "name": "Add Attachment To PDF",
          "value": "Add Attachment To PDF",
          "action": "Add attachment to PDF",
          "description": "Add file attachments to PDF documents"
        },
        {
          "name": "Add HTML Header Footer to PDF",
          "value": "Add HTML Header Footer",
          "action": "Add HTML header footer to PDF",
          "description": "Add HTML-based headers and footers to PDF documents"
        },
        {
          "name": "Add Margin to PDF",
          "value": "Add Margin To PDF",
          "action": "Add margin to PDF",
          "description": "Add margins to PDF documents"
        },
        {
          "name": "Add Page Number to PDF",
          "value": "Add Page Number To PDF",
          "action": "Add page number to PDF",
          "description": "Add page numbers to PDF documents"
        },
        {
          "name": "Add Image Stamp To PDF",
          "value": "Add Image Stamp To PDF",
          "action": "Add image stamp to PDF",
          "description": "Add image stamps or watermarks to PDF documents"
        },
        {
          "name": "Send Document for Signing",
          "value": "Sign Document",
          "action": "Send Document for Signing",
          "description": "Send document for e-signature via email"
        },
        {
          "name": "Sign PDF",
          "value": "Sign PDF",
          "action": "Sign PDF",
          "description": "Digitally sign PDF documents"
        },
        {
          "name": "Add Text Stamp To PDF",
          "value": "Add Text Stamp To PDF",
          "action": "Add text stamp to PDF",
          "description": "Add text stamps or watermarks to PDF documents"
        }
      ],
      "displayName": "Edit Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "edit"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Extract Resources",
      "options": [
        {
          "name": "Classify Document",
          "value": "Classify Document",
          "action": "Classify document",
          "description": "Classify documents using AI to determine document type and extract relevant information"
        },
        {
          "name": "Extract Attachment From PDF",
          "value": "Extract Attachment From PDF",
          "action": "Extract attachment from PDF",
          "description": "Extract file attachments from PDF documents"
        },
        {
          "name": "Extract Form Data From PDF",
          "value": "Extract Form Data From PDF",
          "action": "Extract form data from PDF",
          "description": "Extract form field data from PDF documents"
        },
        {
          "name": "Extract Resources",
          "value": "Extract Resources",
          "action": "Extract resources",
          "description": "Extract text and images from PDF documents"
        },
        {
          "name": "Extract Table From PDF",
          "value": "Extract Table From PDF",
          "action": "Extract table from PDF",
          "description": "Extract tables from PDF documents"
        },
        {
          "name": "Extract Text by Expression",
          "value": "Extract Text By Expression",
          "action": "Extract text by expression",
          "description": "Extract text from PDF using regular expressions"
        },
        {
          "name": "Extract Text from word",
          "value": "Extract Text From Word",
          "action": "Extract text from word",
          "description": "Extract text content from Word documents"
        },
        {
          "name": "Parse Document",
          "value": "Parse Document",
          "action": "Parse document",
          "description": "Parse documents to extract structured data using template-based parsing"
        }
      ],
      "displayName": "Extract Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "extract"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Swiss QR Bill",
      "options": [
        {
          "name": "Create SwissQR Bill",
          "value": "Create Swiss QR Bill",
          "action": "Create SwissQR bill",
          "description": "Create Swiss QR Bills using all compliance standards for digital payment transactions"
        },
        {
          "name": "Create Zugferd Invoice",
          "value": "Zugferd Invoice",
          "action": "Create Zugferd invoice",
          "description": "Create Zugferd compliant invoices from XML, JSON, or CSV data"
        }
      ],
      "displayName": "Invoice Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "invoice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Find And Replace Text",
      "options": [
        {
          "name": "Find and Replace Text",
          "value": "Find And Replace Text",
          "action": "Find and replace text",
          "description": "Find and replace text in PDF documents"
        },
        {
          "name": "Convert PDF to editable PDF using OCR",
          "value": "Convert PDF To Editable PDF Using OCR",
          "action": "Convert PDF to editable PDF using OCR",
          "description": "Convert PDF to editable PDF using OCR for scanned documents"
        }
      ],
      "displayName": "Find Search Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "findSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Fill PDF Form",
      "options": [
        {
          "name": "Add Form Fields To PDF",
          "value": "Add Form Fields To PDF",
          "action": "Add form fields to PDF",
          "description": "Add interactive form fields to PDF documents"
        },
        {
          "name": "Fill a PDF Form",
          "value": "Fill PDF Form",
          "action": "Fill a PDF form",
          "description": "Fill PDF forms with data or generate multiple documents from templates"
        }
      ],
      "displayName": "Forms Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "forms"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Generate Document Single",
      "options": [
        {
          "name": "Enable Tracking changes in word",
          "value": "Enable Tracking Changes in Word",
          "action": "Enable tracking changes in word",
          "description": "Enable tracking changes in Word documents"
        },
        {
          "name": "Generate Document (Single)",
          "value": "Generate Document Single",
          "action": "Generate document (single)",
          "description": "Generate a single document from template with data"
        },
        {
          "name": "Generate Documents (Multiple)",
          "value": "Generate Documents Multiple",
          "action": "Generate documents (multiple)",
          "description": "Generate multiple documents from template with different data sets"
        },
        {
          "name": "Get Tracking Changes In Word",
          "value": "Get Tracking Changes in Word",
          "action": "Get tracking changes in word",
          "description": "Get tracking changes information from Word documents"
        },
        {
          "name": "Replace Text With Image In Word",
          "value": "Replace Text With Image In Word",
          "action": "Replace text with image in word",
          "description": "Replace specific text in Word documents with images"
        }
      ],
      "displayName": "Generate Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "generate"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Compress Image",
      "options": [
        {
          "name": "Add Image watermark To Image",
          "value": "Add Image Watermark To Image",
          "action": "Add image watermark to image",
          "description": "Add image watermark to image documents"
        },
        {
          "name": "Add Text watermark To Image",
          "value": "Add Text Watermark To Image",
          "action": "Add text watermark to image",
          "description": "Add text watermarks to images with positioning and styling options"
        },
        {
          "name": "Compress Image",
          "value": "Compress Image",
          "action": "Compress image",
          "description": "Compress image documents"
        },
        {
          "name": "Convert Image Format",
          "value": "Convert Image Format",
          "action": "Convert image format",
          "description": "Convert image format (BMP, GIF, JPG, PNG, TIFF)"
        },
        {
          "name": "Create Image from PDF",
          "value": "Create Images From PDF",
          "action": "Create image from PDF",
          "description": "Create images from PDF pages"
        },
        {
          "name": "Crop Image",
          "value": "Crop Image",
          "action": "Crop image",
          "description": "Crop images with border or rectangle cropping options"
        },
        {
          "name": "Flip Image",
          "value": "Flip Image",
          "action": "Flip image",
          "description": "Flip image documents horizontally, vertically, or both"
        },
        {
          "name": "Get Image Metadata",
          "value": "Get Image Metadata",
          "action": "Get image metadata",
          "description": "Extract metadata information from images including EXIF data and properties"
        },
        {
          "name": "Image Extract Text",
          "value": "Image Extract Text",
          "action": "Image extract text",
          "description": "Extract text content from images using OCR (Optical Character Recognition)"
        },
        {
          "name": "Replace Text with Image",
          "value": "Replace Text With Image",
          "action": "Replace text with image",
          "description": "Replace specific text in PDF documents with images"
        },
        {
          "name": "Resize Image",
          "value": "Resize Image",
          "action": "Resize image",
          "description": "Resize images by percentage or specific dimensions with aspect ratio control"
        },
        {
          "name": "Rotate Image By Exif Data",
          "value": "Rotate Image By Exif Data",
          "action": "Rotate image by exif data",
          "description": "Rotate image automatically based on EXIF orientation metadata"
        },
        {
          "name": "Rotate Image",
          "value": "Rotate Image",
          "action": "Rotate image",
          "description": "Rotate images with custom angle, background color, and proportionate resize options"
        },
        {
          "name": "Read Barcode From Image",
          "value": "Read Barcode From Image",
          "action": "Read barcode from image",
          "description": "Read barcodes from images using OCR"
        },
        {
          "name": "Remove EXIF Tags From Image",
          "value": "Remove Exif Tags From Image",
          "action": "Remove EXIF tags from image",
          "description": "Remove metadata/EXIF tags from images for privacy and file size reduction"
        }
      ],
      "displayName": "Image Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Merge Multiple PDFs",
      "options": [
        {
          "name": "Merge Multiple PDF files into Single PDF",
          "value": "Merge Multiple PDFs",
          "action": "Merge multiple PDF files into single PDF",
          "description": "Combine multiple PDF files into a single PDF document"
        },
        {
          "name": "Merge two PDF files one over another as Overlay",
          "value": "Overlay PDFs",
          "action": "Merge two PDF files one over another as overlay",
          "description": "Merge two PDF files one over another as overlay"
        },
        {
          "name": "Split PDF",
          "value": "Split PDF Regular",
          "action": "Split PDF",
          "description": "Split PDF documents by regular expression and output as ZIP"
        },
        {
          "name": "Split PDF by Barcode",
          "value": "Split PDF By Barcode",
          "action": "Split PDF by barcode",
          "description": "Split PDF documents by barcode and output as ZIP"
        },
        {
          "name": "Split PDF by Swiss QR",
          "value": "Split PDF By SwissQR",
          "action": "Split PDF by Swiss QR",
          "description": "Split PDF documents by Swiss QR code and output as ZIP"
        },
        {
          "name": "Split PDF by Text",
          "value": "Split PDF By Text",
          "action": "Split PDF by text",
          "description": "Split PDF documents by text and output as ZIP"
        }
      ],
      "displayName": "Merge & Split Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "mergeSplit"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Compress PDF",
      "options": [
        {
          "name": "Compress PDF",
          "value": "Compress PDF",
          "action": "Compress PDF",
          "description": "Compress and optimize PDF files"
        }
      ],
      "displayName": "Optimize Compress Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "optimizeCompress"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Delete Blank Pages From PDF",
      "options": [
        {
          "name": "Delete Blank Pages from PDF",
          "value": "Delete Blank Pages From PDF",
          "action": "Delete blank pages from PDF",
          "description": "Remove blank pages from PDF documents based on specified criteria"
        },
        {
          "name": "Delete unwanted Pages from PDF",
          "value": "Delete Unwanted Pages From PDF",
          "action": "Delete unwanted pages from PDF",
          "description": "Remove specific pages from PDF documents by page numbers"
        },
        {
          "name": "Extract Pages",
          "value": "Extract Pages From PDF",
          "action": "Extract pages",
          "description": "Extract specific pages from PDF documents"
        },
        {
          "name": "Rotate Page",
          "value": "Rotate PDF Page",
          "action": "Rotate page",
          "description": "Rotate specific pages in PDF documents by 90, 180, or 270 degrees"
        },
        {
          "name": "Rotate Document",
          "value": "Rotate Document",
          "action": "Rotate document",
          "description": "Rotate entire PDF documents by 90, 180, or 270 degrees"
        }
      ],
      "displayName": "Organize Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "organize"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Document From Pdf4me",
      "options": [
        {
          "name": "Upload File To PDF4me",
          "value": "Upload File To PDF4me",
          "action": "Upload file to PDF4me",
          "description": "Upload a file to PDF4me storage for processing"
        },
        {
          "name": "Get Document from PDF4me",
          "value": "Get Document From Pdf4me",
          "action": "Get document from PDF4me",
          "description": "Retrieve a document from PDF4me storage"
        },
        {
          "name": "Update Hyperlinks Annotation",
          "value": "Update Hyperlinks Annotation",
          "action": "Update hyperlinks annotation",
          "description": "Update hyperlinks in PDF documents"
        }
      ],
      "displayName": "PDF4me Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf4me"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get PDF Metadata",
      "options": [
        {
          "name": "Get PDF Information",
          "value": "Get PDF Metadata",
          "action": "Get PDF information",
          "description": "Extract metadata and information from PDF files"
        },
        {
          "name": "Get PDF Metadata",
          "value": "Get PDF Metadata",
          "action": "Get PDF metadata",
          "description": "Extract metadata from PDF files"
        },
        {
          "name": "Repair PDF Document",
          "value": "Repair PDF Document",
          "action": "Repair PDF document",
          "description": "Repair corrupted or damaged PDF files"
        }
      ],
      "displayName": "PDF Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Protect PDF",
      "options": [
        {
          "name": "Protect Document",
          "value": "Protect PDF",
          "action": "Protect document",
          "description": "Protect PDF documents with encryption, passwords, and permissions"
        },
        {
          "name": "Unlock PDF",
          "value": "Unlock PDF",
          "action": "Unlock PDF",
          "description": "Unlock PDF documents by removing encryption"
        }
      ],
      "displayName": "Security Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "security"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Disable Tracking Changes in Word",
      "options": [
        {
          "name": "Disable Tracking changes In Word",
          "value": "Disable Tracking Changes in Word",
          "action": "Disable tracking changes in word",
          "description": "Disable tracking changes in Word documents"
        }
      ],
      "displayName": "Word Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "word"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "AI-Invoice Parser",
      "value": "AI-Invoice Parser",
      "action": "AI-Invoice Parser",
      "description": "Extract structured data from invoices using AI/ML technology for automated data entry",
      "resource": "ai"
    },
    {
      "name": "AI-Process Bank Cheque",
      "value": "AI-Process Bank Cheque",
      "action": "AI-Process Bank Cheque",
      "description": "Extract structured data from bank cheques using AI/ML technology for payment processing",
      "resource": "ai"
    },
    {
      "name": "AI-Process Credit Card",
      "value": "AI-Process Credit Card",
      "action": "AI-Process Credit Card",
      "description": "Extract structured data from credit cards using AI/ML technology for payment processing",
      "resource": "ai"
    },
    {
      "name": "AI-Process Contract",
      "value": "AI-Process Contract",
      "action": "AI-Process Contract",
      "description": "Extract structured data from contracts using AI/ML technology for legal document analysis",
      "resource": "ai"
    },
    {
      "name": "AI-Process HealthCard",
      "value": "AI-Process HealthCard",
      "action": "AI-Process HealthCard",
      "description": "Extract structured data from health cards using AI/ML technology for member management",
      "resource": "ai"
    },
    {
      "name": "AI-Process Marriage Certificate",
      "value": "AI-Process Marriage Certificate",
      "action": "AI-Process Marriage Certificate",
      "description": "Extract structured data from marriage certificates using AI/ML technology for document verification",
      "resource": "ai"
    },
    {
      "name": "AI-Process Mortgage Document",
      "value": "AI-Process Mortgage Document",
      "action": "AI-Process Mortgage Document",
      "description": "Extract structured data from mortgage documents using AI/ML technology for loan processing",
      "resource": "ai"
    },
    {
      "name": "AI-Process Pay Stub",
      "value": "AI-Process Pay Stub",
      "action": "AI-Process Pay Stub",
      "description": "Extract structured data from pay stubs using AI/ML technology for payroll processing",
      "resource": "ai"
    },
    {
      "name": "AI - Universal Document Data Extraction",
      "value": "Process Universal Document",
      "action": "AI - Universal Document Data Extraction",
      "description": "Extract specified fields from documents using universal document processing",
      "resource": "ai"
    },
    {
      "name": "AI-Process Shipping Label",
      "value": "Process Shipping Label",
      "action": "AI-Process Shipping Label",
      "description": "Process shipping labels to extract and analyze shipping information",
      "resource": "ai"
    },
    {
      "name": "AI-Process Order",
      "value": "Process Order",
      "action": "AI-Process Order",
      "description": "Process order documents to extract and analyze order information",
      "resource": "ai"
    },
    {
      "name": "AI-Process Receipt",
      "value": "Process Receipt",
      "action": "AI-Process Receipt",
      "description": "Process receipt documents to extract items, merchant info, totals, and custom fields",
      "resource": "ai"
    },
    {
      "name": "AI-Process Tax Document",
      "value": "Process Tax Document",
      "action": "AI-Process Tax Document",
      "description": "Process tax documents (W2, 1099, 1040, etc.) to extract tax information and custom fields",
      "resource": "ai"
    },
    {
      "name": "AI-Process Bank Statement",
      "value": "Process Bank Statement",
      "action": "AI-Process Bank Statement",
      "description": "Process bank statement documents to extract transactions, analyze patterns, and custom fields",
      "resource": "ai"
    },
    {
      "name": "Add Barcode to PDF",
      "value": "Add Barcode To PDF",
      "action": "Add barcode to PDF",
      "description": "Add barcodes to existing PDF documents with positioning and styling options",
      "resource": "barcode"
    },
    {
      "name": "Create Barcode",
      "value": "Generate Barcode",
      "action": "Create barcode",
      "description": "Generate various types of barcodes including QR codes, Code 128, Code 39, and more",
      "resource": "barcode"
    },
    {
      "name": "Read SwissQR Code",
      "value": "Read SwissQR Code",
      "action": "Read SwissQR code",
      "description": "Read Swiss QR code data from PDF documents",
      "resource": "barcode"
    },
    {
      "name": "Read Barcode from PDF",
      "value": "Read Barcode From PDF",
      "action": "Read barcode from PDF",
      "description": "Read single or multiple Barcodes or QR Codes from your PDF file",
      "resource": "barcode"
    },
    {
      "name": "Convert JSON To Excel",
      "value": "Convert JSON To Excel",
      "action": "Convert JSON to Excel",
      "description": "Convert JSON data to Excel format",
      "resource": "convert"
    },
    {
      "name": "Convert to PDF",
      "value": "Convert To PDF",
      "action": "Convert to PDF",
      "description": "Convert various document formats to PDF",
      "resource": "convert"
    },
    {
      "name": "Convert VISIO",
      "value": "Convert VISIO",
      "action": "Convert VISIO",
      "description": "Convert VISIO files (.vsdx, .vsd) to PDF format with advanced conversion options",
      "resource": "convert"
    },
    {
      "name": "Convert Word to PDF Form",
      "value": "Convert Word To PDF Form",
      "action": "Convert Word to PDF Form",
      "description": "Convert Word documents to PDF forms",
      "resource": "convert"
    },
    {
      "name": "Create PDF/A",
      "value": "Create PDF/A",
      "action": "Create PDF/A",
      "description": "Convert PDF to PDF/A for long-term archiving and compliance",
      "resource": "convert"
    },
    {
      "name": "Flatten PDF",
      "value": "Flatten PDF",
      "action": "Flatten PDF",
      "description": "Convert interactive PDF elements into static, non-editable content",
      "resource": "convert"
    },
    {
      "name": "Convert Html to PDF",
      "value": "Convert HTML To PDF",
      "action": "Convert Html to PDF",
      "description": "Convert HTML files to PDF documents",
      "resource": "convert"
    },
    {
      "name": "Linearize PDF",
      "value": "Linearize PDF",
      "action": "Linearize PDF",
      "description": "Optimize PDFs for web viewing with faster loading and progressive display",
      "resource": "convert"
    },
    {
      "name": "Convert Markdown To PDF",
      "value": "Convert Markdown To PDF",
      "action": "Convert Markdown To PDF",
      "description": "Convert Markdown files to PDF documents",
      "resource": "convert"
    },
    {
      "name": "Convert PDF to Excel",
      "value": "Convert PDF To Excel",
      "action": "Convert PDF to Excel",
      "description": "Convert PDF documents to Excel spreadsheets",
      "resource": "convert"
    },
    {
      "name": "Convert PDF to PowerPoint",
      "value": "Convert PDF To PowerPoint",
      "action": "Convert PDF to PowerPoint",
      "description": "Convert PDF documents to PowerPoint format with OCR support",
      "resource": "convert"
    },
    {
      "name": "Convert PDF to Word",
      "value": "Convert PDF To Word",
      "action": "Convert PDF to Word",
      "description": "Convert PDF documents to Word format with OCR support",
      "resource": "convert"
    },
    {
      "name": "Convert Url to PDF",
      "value": "Convert URL to PDF",
      "action": "Convert Url to PDF",
      "description": "Convert web pages to PDF while preserving layout, styling, and content",
      "resource": "convert"
    },
    {
      "name": "Add Attachment To PDF",
      "value": "Add Attachment To PDF",
      "action": "Add attachment to PDF",
      "description": "Add file attachments to PDF documents",
      "resource": "edit"
    },
    {
      "name": "Add HTML Header Footer to PDF",
      "value": "Add HTML Header Footer",
      "action": "Add HTML header footer to PDF",
      "description": "Add HTML-based headers and footers to PDF documents",
      "resource": "edit"
    },
    {
      "name": "Add Margin to PDF",
      "value": "Add Margin To PDF",
      "action": "Add margin to PDF",
      "description": "Add margins to PDF documents",
      "resource": "edit"
    },
    {
      "name": "Add Page Number to PDF",
      "value": "Add Page Number To PDF",
      "action": "Add page number to PDF",
      "description": "Add page numbers to PDF documents",
      "resource": "edit"
    },
    {
      "name": "Add Image Stamp To PDF",
      "value": "Add Image Stamp To PDF",
      "action": "Add image stamp to PDF",
      "description": "Add image stamps or watermarks to PDF documents",
      "resource": "edit"
    },
    {
      "name": "Send Document for Signing",
      "value": "Sign Document",
      "action": "Send Document for Signing",
      "description": "Send document for e-signature via email",
      "resource": "edit"
    },
    {
      "name": "Sign PDF",
      "value": "Sign PDF",
      "action": "Sign PDF",
      "description": "Digitally sign PDF documents",
      "resource": "edit"
    },
    {
      "name": "Add Text Stamp To PDF",
      "value": "Add Text Stamp To PDF",
      "action": "Add text stamp to PDF",
      "description": "Add text stamps or watermarks to PDF documents",
      "resource": "edit"
    },
    {
      "name": "Classify Document",
      "value": "Classify Document",
      "action": "Classify document",
      "description": "Classify documents using AI to determine document type and extract relevant information",
      "resource": "extract"
    },
    {
      "name": "Extract Attachment From PDF",
      "value": "Extract Attachment From PDF",
      "action": "Extract attachment from PDF",
      "description": "Extract file attachments from PDF documents",
      "resource": "extract"
    },
    {
      "name": "Extract Form Data From PDF",
      "value": "Extract Form Data From PDF",
      "action": "Extract form data from PDF",
      "description": "Extract form field data from PDF documents",
      "resource": "extract"
    },
    {
      "name": "Extract Resources",
      "value": "Extract Resources",
      "action": "Extract resources",
      "description": "Extract text and images from PDF documents",
      "resource": "extract"
    },
    {
      "name": "Extract Table From PDF",
      "value": "Extract Table From PDF",
      "action": "Extract table from PDF",
      "description": "Extract tables from PDF documents",
      "resource": "extract"
    },
    {
      "name": "Extract Text by Expression",
      "value": "Extract Text By Expression",
      "action": "Extract text by expression",
      "description": "Extract text from PDF using regular expressions",
      "resource": "extract"
    },
    {
      "name": "Extract Text from word",
      "value": "Extract Text From Word",
      "action": "Extract text from word",
      "description": "Extract text content from Word documents",
      "resource": "extract"
    },
    {
      "name": "Parse Document",
      "value": "Parse Document",
      "action": "Parse document",
      "description": "Parse documents to extract structured data using template-based parsing",
      "resource": "extract"
    },
    {
      "name": "Create SwissQR Bill",
      "value": "Create Swiss QR Bill",
      "action": "Create SwissQR bill",
      "description": "Create Swiss QR Bills using all compliance standards for digital payment transactions",
      "resource": "invoice"
    },
    {
      "name": "Create Zugferd Invoice",
      "value": "Zugferd Invoice",
      "action": "Create Zugferd invoice",
      "description": "Create Zugferd compliant invoices from XML, JSON, or CSV data",
      "resource": "invoice"
    },
    {
      "name": "Find and Replace Text",
      "value": "Find And Replace Text",
      "action": "Find and replace text",
      "description": "Find and replace text in PDF documents",
      "resource": "findSearch"
    },
    {
      "name": "Convert PDF to editable PDF using OCR",
      "value": "Convert PDF To Editable PDF Using OCR",
      "action": "Convert PDF to editable PDF using OCR",
      "description": "Convert PDF to editable PDF using OCR for scanned documents",
      "resource": "findSearch"
    },
    {
      "name": "Add Form Fields To PDF",
      "value": "Add Form Fields To PDF",
      "action": "Add form fields to PDF",
      "description": "Add interactive form fields to PDF documents",
      "resource": "forms"
    },
    {
      "name": "Fill a PDF Form",
      "value": "Fill PDF Form",
      "action": "Fill a PDF form",
      "description": "Fill PDF forms with data or generate multiple documents from templates",
      "resource": "forms"
    },
    {
      "name": "Enable Tracking changes in word",
      "value": "Enable Tracking Changes in Word",
      "action": "Enable tracking changes in word",
      "description": "Enable tracking changes in Word documents",
      "resource": "generate"
    },
    {
      "name": "Generate Document (Single)",
      "value": "Generate Document Single",
      "action": "Generate document (single)",
      "description": "Generate a single document from template with data",
      "resource": "generate"
    },
    {
      "name": "Generate Documents (Multiple)",
      "value": "Generate Documents Multiple",
      "action": "Generate documents (multiple)",
      "description": "Generate multiple documents from template with different data sets",
      "resource": "generate"
    },
    {
      "name": "Get Tracking Changes In Word",
      "value": "Get Tracking Changes in Word",
      "action": "Get tracking changes in word",
      "description": "Get tracking changes information from Word documents",
      "resource": "generate"
    },
    {
      "name": "Replace Text With Image In Word",
      "value": "Replace Text With Image In Word",
      "action": "Replace text with image in word",
      "description": "Replace specific text in Word documents with images",
      "resource": "generate"
    },
    {
      "name": "Add Image watermark To Image",
      "value": "Add Image Watermark To Image",
      "action": "Add image watermark to image",
      "description": "Add image watermark to image documents",
      "resource": "image"
    },
    {
      "name": "Add Text watermark To Image",
      "value": "Add Text Watermark To Image",
      "action": "Add text watermark to image",
      "description": "Add text watermarks to images with positioning and styling options",
      "resource": "image"
    },
    {
      "name": "Compress Image",
      "value": "Compress Image",
      "action": "Compress image",
      "description": "Compress image documents",
      "resource": "image"
    },
    {
      "name": "Convert Image Format",
      "value": "Convert Image Format",
      "action": "Convert image format",
      "description": "Convert image format (BMP, GIF, JPG, PNG, TIFF)",
      "resource": "image"
    },
    {
      "name": "Create Image from PDF",
      "value": "Create Images From PDF",
      "action": "Create image from PDF",
      "description": "Create images from PDF pages",
      "resource": "image"
    },
    {
      "name": "Crop Image",
      "value": "Crop Image",
      "action": "Crop image",
      "description": "Crop images with border or rectangle cropping options",
      "resource": "image"
    },
    {
      "name": "Flip Image",
      "value": "Flip Image",
      "action": "Flip image",
      "description": "Flip image documents horizontally, vertically, or both",
      "resource": "image"
    },
    {
      "name": "Get Image Metadata",
      "value": "Get Image Metadata",
      "action": "Get image metadata",
      "description": "Extract metadata information from images including EXIF data and properties",
      "resource": "image"
    },
    {
      "name": "Image Extract Text",
      "value": "Image Extract Text",
      "action": "Image extract text",
      "description": "Extract text content from images using OCR (Optical Character Recognition)",
      "resource": "image"
    },
    {
      "name": "Replace Text with Image",
      "value": "Replace Text With Image",
      "action": "Replace text with image",
      "description": "Replace specific text in PDF documents with images",
      "resource": "image"
    },
    {
      "name": "Resize Image",
      "value": "Resize Image",
      "action": "Resize image",
      "description": "Resize images by percentage or specific dimensions with aspect ratio control",
      "resource": "image"
    },
    {
      "name": "Rotate Image By Exif Data",
      "value": "Rotate Image By Exif Data",
      "action": "Rotate image by exif data",
      "description": "Rotate image automatically based on EXIF orientation metadata",
      "resource": "image"
    },
    {
      "name": "Rotate Image",
      "value": "Rotate Image",
      "action": "Rotate image",
      "description": "Rotate images with custom angle, background color, and proportionate resize options",
      "resource": "image"
    },
    {
      "name": "Read Barcode From Image",
      "value": "Read Barcode From Image",
      "action": "Read barcode from image",
      "description": "Read barcodes from images using OCR",
      "resource": "image"
    },
    {
      "name": "Remove EXIF Tags From Image",
      "value": "Remove Exif Tags From Image",
      "action": "Remove EXIF tags from image",
      "description": "Remove metadata/EXIF tags from images for privacy and file size reduction",
      "resource": "image"
    },
    {
      "name": "Merge Multiple PDF files into Single PDF",
      "value": "Merge Multiple PDFs",
      "action": "Merge multiple PDF files into single PDF",
      "description": "Combine multiple PDF files into a single PDF document",
      "resource": "mergeSplit"
    },
    {
      "name": "Merge two PDF files one over another as Overlay",
      "value": "Overlay PDFs",
      "action": "Merge two PDF files one over another as overlay",
      "description": "Merge two PDF files one over another as overlay",
      "resource": "mergeSplit"
    },
    {
      "name": "Split PDF",
      "value": "Split PDF Regular",
      "action": "Split PDF",
      "description": "Split PDF documents by regular expression and output as ZIP",
      "resource": "mergeSplit"
    },
    {
      "name": "Split PDF by Barcode",
      "value": "Split PDF By Barcode",
      "action": "Split PDF by barcode",
      "description": "Split PDF documents by barcode and output as ZIP",
      "resource": "mergeSplit"
    },
    {
      "name": "Split PDF by Swiss QR",
      "value": "Split PDF By SwissQR",
      "action": "Split PDF by Swiss QR",
      "description": "Split PDF documents by Swiss QR code and output as ZIP",
      "resource": "mergeSplit"
    },
    {
      "name": "Split PDF by Text",
      "value": "Split PDF By Text",
      "action": "Split PDF by text",
      "description": "Split PDF documents by text and output as ZIP",
      "resource": "mergeSplit"
    },
    {
      "name": "Compress PDF",
      "value": "Compress PDF",
      "action": "Compress PDF",
      "description": "Compress and optimize PDF files",
      "resource": "optimizeCompress"
    },
    {
      "name": "Delete Blank Pages from PDF",
      "value": "Delete Blank Pages From PDF",
      "action": "Delete blank pages from PDF",
      "description": "Remove blank pages from PDF documents based on specified criteria",
      "resource": "organize"
    },
    {
      "name": "Delete unwanted Pages from PDF",
      "value": "Delete Unwanted Pages From PDF",
      "action": "Delete unwanted pages from PDF",
      "description": "Remove specific pages from PDF documents by page numbers",
      "resource": "organize"
    },
    {
      "name": "Extract Pages",
      "value": "Extract Pages From PDF",
      "action": "Extract pages",
      "description": "Extract specific pages from PDF documents",
      "resource": "organize"
    },
    {
      "name": "Rotate Page",
      "value": "Rotate PDF Page",
      "action": "Rotate page",
      "description": "Rotate specific pages in PDF documents by 90, 180, or 270 degrees",
      "resource": "organize"
    },
    {
      "name": "Rotate Document",
      "value": "Rotate Document",
      "action": "Rotate document",
      "description": "Rotate entire PDF documents by 90, 180, or 270 degrees",
      "resource": "organize"
    },
    {
      "name": "Upload File To PDF4me",
      "value": "Upload File To PDF4me",
      "action": "Upload file to PDF4me",
      "description": "Upload a file to PDF4me storage for processing",
      "resource": "pdf4me"
    },
    {
      "name": "Get Document from PDF4me",
      "value": "Get Document From Pdf4me",
      "action": "Get document from PDF4me",
      "description": "Retrieve a document from PDF4me storage",
      "resource": "pdf4me"
    },
    {
      "name": "Update Hyperlinks Annotation",
      "value": "Update Hyperlinks Annotation",
      "action": "Update hyperlinks annotation",
      "description": "Update hyperlinks in PDF documents",
      "resource": "pdf4me"
    },
    {
      "name": "Get PDF Information",
      "value": "Get PDF Metadata",
      "action": "Get PDF information",
      "description": "Extract metadata and information from PDF files",
      "resource": "pdf"
    },
    {
      "name": "Get PDF Metadata",
      "value": "Get PDF Metadata",
      "action": "Get PDF metadata",
      "description": "Extract metadata from PDF files",
      "resource": "pdf"
    },
    {
      "name": "Repair PDF Document",
      "value": "Repair PDF Document",
      "action": "Repair PDF document",
      "description": "Repair corrupted or damaged PDF files",
      "resource": "pdf"
    },
    {
      "name": "Protect Document",
      "value": "Protect PDF",
      "action": "Protect document",
      "description": "Protect PDF documents with encryption, passwords, and permissions",
      "resource": "security"
    },
    {
      "name": "Unlock PDF",
      "value": "Unlock PDF",
      "action": "Unlock PDF",
      "description": "Unlock PDF documents by removing encryption",
      "resource": "security"
    },
    {
      "name": "Disable Tracking changes In Word",
      "value": "Disable Tracking Changes in Word",
      "action": "Disable tracking changes in word",
      "description": "Disable tracking changes in Word documents",
      "resource": "word"
    }
  ]

npm_readme:
  # n8n-nodes-pdf4me

  This is an n8n community node that enables you to integrate PDF4ME's powerful PDF processing capabilities into your n8n workflows. PDF4ME is a comprehensive PDF processing API that allows you to convert, generate barcodes, process images, and manipulate documents programmatically.

  n8n is a fair-code licensed workflow automation platform.

  ## Table of Contents

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

  ## Installation

  ### Community Nodes (Recommended)

  For users on n8n v0.187+, you can install this node directly from the n8n Community Nodes panel in the n8n editor:

  1. Open your n8n editor
  2. Go to **Settings > Community Nodes**
  3. Search for "n8n-nodes-pdf4me"
  4. Click **Install**
  5. Reload the editor

  ### Global Installation (Recommended)

  For global installation that makes the node available across all n8n projects:

  ```bash
  # Install globally
  npm install -g n8n-nodes-pdf4me

  # Restart n8n to load the new node
  n8n start
  ```

  ### Manual Installation

  You can also install this node manually in a specific n8n project:

  1. Navigate to your n8n installation directory
  2. Run the following command:
     ```bash
     npm install n8n-nodes-pdf4me
     ```
  3. Restart your n8n server

  For Docker-based deployments, add the package to your package.json and rebuild the image:

  ```json
  {
    "name": "n8n-custom",
    "version": "0.9.0",
    "description": "",
    "main": "index.js",
    "scripts": {
      "start": "n8n"
    },
    "dependencies": {
      "n8n": "^1.0.0",
      "n8n-nodes-pdf4me": "^2.0.0"
    }
  }
  ```

  ## What's New in Version 2.0.0

  Version 2.0.0 continues to enhance the PDF4ME n8n node with improved functionality and reliability:

  - **🔧 Code Refactoring**: Improved variable declarations and code structure
  - **🖼️ Image Processing**: Enhanced MIME type handling for image operations
  - **📝 Markdown Conversion**: Optimized Markdown to PDF conversion process
  - **🔍 Resource Extraction**: Improved resource extraction functionality
  - **✅ Stability**: Enhanced overall stability and performance
  - **🔄 Backward Compatible**: All existing workflows continue to work seamlessly

  ## Operations

  This node provides comprehensive document processing capabilities through PDF4ME's API. Here are the available features:

  ### 1. AI-Powered Document Processing
  - **AI-Invoice Parser**: Extract structured data from invoices using AI/ML technology for automated data entry
  - **AI-Process HealthCard**: Extract structured data from health cards using AI/ML technology for member management
  - **AI-Process Contract**: Extract structured data from contracts using AI/ML technology for legal document analysis
  - **Classify Document**: Classify documents using AI to determine document type and extract relevant information
  - **Parse Document**: Parse documents to extract structured data using template-based parsing

  ### 2. PDF Processing & Manipulation
  - **Add Attachment to PDF**: Attach files to PDF documents
  - **Add Barcode to PDF**: Add barcodes to PDF documents for identification and tracking
  - **Add Form Fields to PDF**: Add interactive form fields to PDF documents
  - **Add HTML Header Footer**: Add custom HTML headers and footers to PDFs
  - **Add Image Stamp to PDF**: Add image stamps with positioning and opacity controls
  - **Add Margin to PDF**: Add margins to PDF documents
  - **Add Page Number to PDF**: Add page numbers to PDF documents
  - **Add Text Stamp to PDF**: Add text stamps with customizable formatting
  - **Compress PDF**: Optimize PDF files for web, print, or screen viewing
  - **Convert PDF to Editable OCR**: Convert PDFs to editable text using OCR
  - **Convert PDF to Excel**: Convert PDF tables to Excel spreadsheets
  - **Convert PDF to PowerPoint**: Convert PDF content to PowerPoint presentations
  - **Convert PDF to Word**: Convert PDFs to editable Word documents
  - **Create Images from PDF**: Extract images from PDF documents
  - **Delete Blank Pages from PDF**: Remove blank pages from PDF documents
  - **Delete Unwanted Pages from PDF**: Remove specific pages from PDF documents
  - **Extract Pages**: Extract specific pages from PDF documents
  - **Extract Pages from PDF**: Extract pages with advanced options
  - **Fill PDF Form**: Fill interactive PDF forms with data
  - **Find and Replace Text**: Find and replace text in PDF documents
  - **Flatten PDF**: Convert interactive PDF elements into static, non-editable content
  - **Linearize PDF**: Optimize PDFs for web viewing with faster loading and progressive display
  - **Merge Multiple PDFs**: Combine multiple PDF files into one
  - **Overlay PDFs**: Overlay one PDF on top of another
  - **Protect Document**: Add password protection and encryption to PDFs
  - **Repair PDF Document**: Fix corrupted or damaged PDF files
  - **Rotate Document**: Rotate entire PDF documents
  - **Rotate Page**: Rotate specific pages within a PDF
  - **Sign PDF**: Add digital signatures to PDF documents
  - **Split PDF by Barcode**: Split PDFs based on barcode detection
  - **Split PDF by Swiss QR**: Split PDFs based on Swiss QR code detection
  - **Split PDF by Text**: Split PDFs based on text content
  - **Split PDF Regular**: Split PDFs into equal parts or by page ranges
  - **Unlock PDF**: Remove password protection from PDFs
  - **Update Hyperlinks Annotation**: Modify hyperlinks and annotations in PDFs

  ### 3. Image Processing
  - **Add Image Watermark to Image**: Add watermarks to images
  - **Add Text Watermark to Image**: Add text watermarks to images
  - **Compress Image**: Reduce image file sizes while maintaining quality
  - **Convert Image Format**: Convert images between different formats (JPEG, PNG, etc.)
  - **Crop Image**: Crop images with border or rectangle options
  - **Flip Image**: Flip images horizontally, vertically, or both
  - **Get Image Metadata**: Extract metadata from image files
  - **Image Extract Text**: Extract text from images using OCR
  - **Read Barcode from Image**: Read barcodes from images
  - **Remove EXIF Tags from Image**: Remove metadata from images
  - **Replace Text with Image**: Replace text in documents with images
  - **Replace Text with Image in Word**: Replace text in Word documents with images
  - **Resize Image**: Resize images to specific dimensions
  - **Rotate Image**: Rotate images by specific angles
  - **Rotate Image by EXIF Data**: Auto-rotate images based on EXIF orientation

  ### 4. Document Conversion
  - **Convert to PDF**: Convert various document formats to PDF
  - **Convert HTML to PDF**: Convert HTML content to PDF with multiple input options (Binary Data, Base64, HTML Code, URL)
  - **Convert Image Format**: Convert images between different formats
  - **Convert Markdown to PDF**: Convert Markdown files to PDF
  - **Convert Visio**: Convert Visio diagrams to PDF
  - **Convert Word to PDF Form**: Convert Word documents to PDF forms
  - **JSON to Excel**: Convert JSON data to Excel spreadsheets
  - **URL to PDF**: Convert web pages to PDF

  ### 5. Barcode Operations
  - **Barcode Generator**: Generate various types of barcodes (QR, Code 128, EAN, UPC, etc.)
  - **Add Barcode to PDF**: Add barcodes directly to PDF documents for identification and tracking
  - **Read Barcode from Image**: Extract barcode data from images
  - **Read Barcode from PDF**: Extract barcode data from PDF documents
  - **Read Swiss QR Code**: Read Swiss QR codes from documents

  ### 6. Document Analysis & Extraction
  - **Extract Attachment from PDF**: Extract attached files from PDFs
  - **Extract Form Data from PDF**: Extract form field data from PDFs
  - **Extract Pages from PDF**: Extract specific pages from PDFs
  - **Extract Resources**: Extract resources from documents
  - **Extract Table from PDF**: Extract tables from PDF documents
  - **Extract Text by Expression**: Extract text using custom expressions
  - **Extract Text from Word**: Extract text from Word documents
  - **Get Document from PDF4ME**: Retrieve documents from PDF4ME storage
  - **Get PDF Metadata**: Extract metadata from PDF files

  ### 7. Document Management & Generation
  - **Create PDF/A**: Create PDF/A compliant documents
  - **Create Swiss QR Bill**: Create Swiss QR Bills using all compliance standards for digital payment transactions
  - **Disable Tracking Changes in Word**: Remove tracking changes from Word documents
  - **Enable Tracking Changes in Word**: Enable tracking changes in Word documents
  - **Generate Document Single**: Generate single documents from templates
  - **Generate Documents Multiple**: Generate multiple documents from templates
  - **Get Tracking Changes in Word**: Get tracking changes status from Word documents
  - **Upload File to PDF4ME**: Upload files to PDF4ME for further processing
  - **Zugferd Invoice**: Create compliant Zugferd invoices for standardized electronic invoicing

  ### 8. Advanced Features
  - **Create Images from PDF**: Extract and process images from PDF documents
  - **Document Processing**: Advanced document manipulation and processing

  ## Credentials

  To use this node, you need a PDF4ME API key. Here's how to get started:

  1. Sign up for a PDF4ME account at [PDF4ME Developer Portal](https://dev.pdf4me.com/)
  2. Navigate to your dashboard and obtain your API key
  3. In n8n, add your PDF4ME credentials by providing your API key

  ## Usage

  This node allows you to automate document processing tasks in your n8n workflows. With version 2.0.0, the interface has been optimized for better performance and stability. Here are some common use cases:

  ### AI-Powered Document Processing
  - Automatically extract invoice data for accounting systems
  - Process health cards for member management systems
  - Analyze contracts for legal document review
  - Classify documents for automated routing and processing
  - Parse structured data from various document types using templates

  ### Document Processing
  - Convert PDF documents to editable Word format with OCR support
  - Process complex PDFs with enhanced timeout handling (up to 25 minutes)
  - Extract text from PDF documents for data processing
  - Convert various document formats to PDF
  - Extract specific pages from PDF documents for creating shorter versions or digital booklets
  - Add watermarks, stamps, and annotations to documents
  - Compress and optimize PDF files for different use cases
  - Fill interactive PDF forms with data from your workflows
  - Split PDFs based on content, barcodes, or page ranges

  ### Barcode Operations
  - Generate QR codes for product tracking
  - Create product barcodes (EAN-13, UPC-A) for inventory management
  - Generate barcodes for document identification
  - Embed barcodes in documents and reports
  - Read barcodes from images and PDFs for automated processing
  - Process Swiss QR codes for payment transactions

  ### Web Content Processing
  - Convert web pages to PDF for archiving
  - Automatically convert HTML reports to PDF
  - **Write HTML code directly and convert to PDF** - No need to save HTML files first
  - Capture web-based dashboards and reports
  - Convert protected web content with authentication

  ### HTML to PDF Conversion Options
  The Convert HTML to PDF operation supports multiple input methods for maximum flexibility:
  - **Binary Data**: Use HTML files from previous workflow nodes
  - **Base64 String**: Provide HTML content as base64 encoded strings
  - **HTML Code**: Write HTML code directly in the interface (automatically converted to base64)
  - **URL**: Convert HTML content from web URLs

  **Example Use Cases for HTML Code Input:**
  - **Dynamic Reports**: Generate PDFs from HTML templates with real-time data
  - **Email Templates**: Convert HTML email content to PDF for archiving
  - **Custom Dashboards**: Create PDF versions of HTML dashboards
  - **Document Generation**: Build PDFs from HTML snippets without file management
  - **Rapid Prototyping**: Quickly test HTML layouts by converting to PDF

  ### Data Export and Reporting
  - Convert JSON data to Excel spreadsheets
  - Transform API responses to formatted reports
  - Export analytics data to Excel for stakeholder reports
  - Create automated data processing pipelines
  - Generate documents from templates with dynamic data

  ### Image Processing
  - Crop images for specific dimensions
  - Remove borders from scanned documents
  - Process product images for e-commerce
  - Create thumbnails and optimized images
  - Add watermarks to images for branding
  - Extract text from images using OCR
  - Convert images between different formats

  ### Swiss QR Bill Generation
  - Create compliant Swiss QR Bills for digital payment transactions
  - Generate QR codes with all required payment information
  - Support for multiple languages (English, German, French, Italian)
  - Include creditor and debtor information with structured addresses
  - Add billing information and unstructured messages
  - Generate bills with different separator line styles
  - Support for various reference types (QR Reference, Creditor Reference, No Reference)

  ### Zugferd Invoice Generation
  - Create compliant Zugferd invoices for standardized electronic invoicing
  - Generate invoices following the Zugferd standard (ZUGFeRD/Factur-X)
  - Support for structured invoice data exchange
  - Compatible with European e-invoicing requirements
  - Generate PDF/A compliant invoices with embedded XML data

  ### Document Generation & Management
  - Generate documents from templates with dynamic data
  - Create PDF/A compliant documents for long-term archiving
  - Manage Word document tracking changes
  - Process multiple documents in batch operations
  - Extract and manage document metadata

  ### Automated Workflows
  - Chain multiple PDF4ME operations together with simplified configuration
  - Integrate with email nodes for automated document distribution
  - Connect with storage services for file management
  - Build complete document processing pipelines with enhanced reliability
  - Automate document classification and routing
  - Create end-to-end document workflows with improved error handling
  - **Version 2.0.0**: Enhanced stability and performance for reliable workflow execution

  For detailed examples and workflow templates, visit our documentation.

  ## Resources

  - [PDF4me n8n Integration Documentation](https://docs.pdf4me.com/integration/n8n/getting-started/)
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [PDF4ME API Documentation](https://dev.pdf4me.com/apiv2/documentation/)
  - [PDF4ME Developer Portal](https://dev.pdf4me.com/)
  - [PDF4ME Support](mailto:support@pdf4me.com)
  - [Troubleshooting Guide](TROUBLESHOOTING.md)
  - [Publishing Guide](PUBLISHING_GUIDE.md)

  ## Version History

  ### 2.0.0
  - **Latest Version**: Major version update with enhanced features and improvements
  - **Version Upgrade**: Major version bump to 2.0.0
  - **Enhanced Functionality**: Continued improvements to document processing capabilities
  - **Stability**: Enhanced overall stability and performance
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly

  ### 1.6.0
  - **Previous Version**: Stability improvements and code optimizations
  - **Code Refactoring**: Improved variable declarations and code structure across actions
  - **Image Processing**: Enhanced MIME type handling for image operations in extractResources
  - **Markdown Conversion**: Optimized convertMarkdownToPdf functionality
  - **Resource Extraction**: Improved resource extraction with better error handling
  - **Performance**: Enhanced overall stability and processing speed
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly

  ### 1.5.1
  - **Previous Version**: Stability improvements and code optimizations
  - **Code Refactoring**: Improved variable declarations and code structure across actions
  - **Image Processing**: Enhanced MIME type handling for image operations in extractResources
  - **Markdown Conversion**: Optimized convertMarkdownToPdf functionality
  - **Resource Extraction**: Improved resource extraction with better error handling
  - **Performance**: Enhanced overall stability and processing speed
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly

  ### 1.5.0
  - **Previous Version**: Major refactoring and enhanced user experience
  - **Simplified Output Handling**: Removed complex binaryDataName parameters across all actions
  - **Enhanced Response Processing**: Improved response handling to return raw data and metadata consistently
  - **Streamlined Interface**: Simplified action configurations for better usability
  - **Improved Descriptions**: Enhanced action descriptions for clarity and consistency
  - **Better Error Handling**: Refined error handling and response processing
  - **Code Optimization**: Significant code cleanup and optimization across all actions
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly
  - **Enhanced Performance**: Improved processing speed and reliability

  ### 1.3.5
  - **Previous Version**: Enhanced HTML to PDF conversion with direct HTML code input
  - Added **HTML Code** input option for Convert HTML to PDF operation
  - Users can now write HTML code directly in the interface without saving files first
  - HTML code is automatically converted to base64 for API processing
  - Enhanced input flexibility with 4 input methods: Binary Data, Base64, HTML Code, and URL
  - Improved user experience for developers and content creators
  - Maintains backward compatibility with existing workflows

  ### 1.3.0
  - **Previous Version**: AI-powered document processing and enhanced features
  - Added AI-Invoice Parser for automated invoice data extraction
  - Added AI-Process HealthCard for health card data processing
  - Added AI-Process Contract for contract analysis
  - Added Classify Document for AI-powered document classification
  - Added Parse Document for template-based document parsing
  - Added Linearize PDF for web-optimized PDFs
  - Added Flatten PDF for converting interactive elements to static content
  - Enhanced error handling and response processing
  - Improved support for JSON responses in AI processing operations
  - Updated Node.js engine requirement to >=20.15
  - Enhanced build and validation scripts

  ### 1.1.1
  - **Previous Version**: Maintenance and dependency updates
  - Updated dependencies for improved compatibility and security
  - Minor bug fixes and codebase improvements
  - Improved build and validation scripts for publishing
  - **Note:** This version failed the n8n community package security scan due to an ESLint violation: use of restricted global 'setTimeout' is not allowed (see scan results for details).

  ### 1.1.0
  - **Previous Version**: Security and compliance updates
  - Updated to address n8n community package security scan results
  - Added guidance for ESLint compliance and restricted imports
  - Updated dependencies in package.json
  - Improved documentation and publishing guides
  - Minor bug fixes and codebase cleanup

  ### 1.0.0
  - Production-ready release with comprehensive document processing capabilities
  - 60+ document processing operations covering all major use cases
  - Full integration with PDF4ME API services
  - Complete PDF processing suite including conversion, manipulation, and analysis
  - Advanced image processing capabilities with watermarking, cropping, and format conversion
  - Comprehensive barcode generation and reading functionality
  - Document conversion between multiple formats (PDF, Word, Excel, PowerPoint, HTML, etc.)
  - Enhanced timeout handling for complex operations (up to 25 minutes)
  - Improved async processing with exponential backoff and better error handling
  - Support for multiple input types (Binary Data, Base64, URL, File Path)
  - Advanced OCR capabilities with multi-language support
  - Document protection, signing, and security features
  - Metadata extraction and document analysis tools
  - Swiss QR Bill generation with full compliance standards
  - Document template generation and batch processing
  - All critical lint errors resolved for production readiness
  - Optimized package structure and build validation
  - Enhanced error handling and debugging capabilities

  ### 0.9.0
  - Comprehensive document processing capabilities with 50+ actions
  - Full integration with PDF4ME API services
  - Complete PDF processing suite including conversion, manipulation, and analysis
  - Advanced image processing capabilities with watermarking, cropping, and format conversion
  - Comprehensive barcode generation and reading functionality
  - Document conversion between multiple formats (PDF, Word, Excel, HTML, etc.)
  - Enhanced timeout handling for complex operations (up to 25 minutes)
  - Improved async processing with exponential backoff and better error handling
  - Support for multiple input types (Binary Data, Base64, URL, File Path)
  - Advanced OCR capabilities with multi-language support
  - Document protection, signing, and security features
  - Metadata extraction and document analysis tools
  - All critical lint errors resolved for production readiness
  - Optimized package structure and build validation

  ### 0.8.0
  - Comprehensive document processing capabilities
  - Full integration with PDF4ME API services
  - Support for barcode generation, URL to PDF conversion, PDF to Word conversion, JSON to Excel conversion, image cropping, and PDF page extraction
  - Enhanced timeout handling for complex PDF to Word conversions (up to 25 minutes)
  - Improved async processing with exponential backoff and better error handling
  - Support for multiple input types (Binary Data, Base64, URL, File Path)
  - Advanced OCR capabilities with multi-language support
  - Comprehensive barcode generation with 100+ supported formats
  - PDF page extraction for creating shorter versions and digital booklets
  - Standardized API documentation URLs across all files
  - Global installation support for cross-project availability

  ### 0.1.9
  - Fixed package structure and build validation
  - Improved error handling and debugging capabilities

  ### 0.1.3
  - Added global installation support
  - Enhanced package configuration for npm publishing

  ### 0.1.2
  - Initial release with core functionality

ai_documentation_summary:
  {"purpose":"This n8n community node integrates PDF4ME's API to enable comprehensive PDF and document processing, including AI-powered data extraction, format conversion, and document manipulation.","capabilities":["AI-powered invoice parsing","AI-powered health card processing","AI-powered contract analysis","Document classification using AI","Template-based document parsing","PDF to Excel conversion","PDF to Word conversion","PDF to PowerPoint conversion","PDF to editable OCR conversion","PDF to Markdown conversion"],"authentication":"API key required","commonUseCases":["Automated invoice data extraction and entry","Contract document analysis and classification","Bulk PDF document conversion to Excel or Word","Creating interactive PDF forms from templates","Document merging and splitting workflows"],"limitations":["Community node (not official n8n node)","Requires external PDF4ME API access and credentials","Requires manual installation or community node panel setup"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-cron","n8n-nodes-exceljs.ExcelJS","n8n-nodes-pipefile"]}


node_type: n8n-nodes-ipgeolocation.ipgeolocation
package_name: n8n-nodes-ipgeolocation
display_name: IPGeolocation
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-04-16 09:43:36
author_name: ejazahmed
author_github_url: https://github.com/IPGeolocation/
npm_package_name: n8n-nodes-ipgeolocation
npm_version: 2.0.0
community_fetched_at: 2026-04-16T09:43:36.270Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  Integrate ipgeolocation.io with n8n to automate IP lookup, geolocation, timezone data, and security checks for powerful workflow enrichment.

properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "getIpInfo",
      "options": [
        {
          "name": "Get Abuse Contact Info",
          "value": "getAbuseInfo",
          "action": "Get abuse info",
          "routing": {
            "request": {
              "url": "/v3/abuse",
              "method": "GET"
            }
          },
          "description": "Retrieves abuse contact and reporting information for an IP address, including organization, network, and abuse email details"
        },
        {
          "name": "Get ASN Info",
          "value": "getAsnInfo",
          "action": "Get asn info",
          "routing": {
            "request": {
              "url": "/v3/asn",
              "method": "GET"
            }
          },
          "description": "Retrieves Autonomous System Number (ASN) details for an IP address or ASN, including organization, country, and network information"
        },
        {
          "name": "Get Astronomy Info",
          "value": "getAstronomy",
          "action": "Get astronomy info",
          "routing": {
            "request": {
              "url": "/v3/astronomy",
              "method": "GET"
            }
          },
          "description": "The Astronomy API provides sun, moon data using IP, latitude, longitude, timezone or Location"
        },
        {
          "name": "Get Astronomy Timeseries Information",
          "value": "getAstronomyTimeseries",
          "action": "Get timezone info",
          "routing": {
            "request": {
              "url": "/v3/astronomy/timeSeries",
              "method": "GET"
            }
          },
          "description": "Look up astronomy details for any location by providing a starting and ending date for the time series"
        },
        {
          "name": "Get Bulk IP Geolocation",
          "value": "getBulkIpGeolocation",
          "action": "Get bulk ip geolocation",
          "routing": {
            "request": {
              "url": "/v3/ipgeo-bulk",
              "method": "POST"
            }
          },
          "description": "Retrieves geolocation information (country, city, coordinates, etc.) for multiple IP addresses at once"
        },
        {
          "name": "Get Bulk IP Security",
          "value": "getBulkIPSecurity",
          "action": "Get bulk ip security",
          "routing": {
            "request": {
              "url": "/v3/security-bulk",
              "method": "POST"
            }
          },
          "description": "Retrieves security information for multiple IP addresses at once, including proxy, VPN, TOR, and threat intelligence details"
        },
        {
          "name": "Get Bulk User Agents Info",
          "value": "getBulkUserAgent",
          "action": "Get bulk user agent info",
          "routing": {
            "request": {
              "url": "/v3/user-agent-bulk",
              "method": "POST"
            }
          },
          "description": "Retrieves detailed client system and browser information for multiple user agents at once(max 50,000), enabling detection of bots, crawlers, and potential attackers"
        },
        {
          "name": "Get IP Geolocation",
          "value": "getIpInfo",
          "action": "Get ip geolocation",
          "routing": {
            "request": {
              "url": "/v3/ipgeo",
              "method": "GET"
            }
          },
          "description": "Retrieves detailed geolocation information (country, city, coordinates, etc.) for a specified IP address"
        },
        {
          "name": "Get IP Security",
          "value": "getIpSecurityInfo",
          "action": "Get ip security info",
          "routing": {
            "request": {
              "url": "/v3/security",
              "method": "GET"
            }
          },
          "description": "Retrieves security information about an IP address, including proxy, VPN, TOR, and threat intelligence details"
        },
        {
          "name": "Get Time Conversion",
          "value": "getTimeConversion",
          "action": "Get timezone info",
          "routing": {
            "request": {
              "url": "/v3/timezone/convert",
              "method": "GET"
            }
          },
          "description": "Calculates precise time differences in hours and minutes between two locations using time zones, coordinates, or cities"
        },
        {
          "name": "Get Timezone Info",
          "value": "getTimezone",
          "action": "Get timezone info",
          "routing": {
            "request": {
              "url": "/v3/timezone",
              "method": "GET"
            }
          },
          "description": "Provides current date, time, UTC offset, and daylight saving info for any timezone, IP address, or geolocation coordinates via timezone API"
        },
        {
          "name": "Get User Agent Info",
          "value": "getUserAgent",
          "action": "Get user agent info",
          "routing": {
            "request": {
              "url": "/v3/user-agent",
              "method": "POST"
            }
          },
          "description": "Provides detailed client system and browser information for detecting bots, crawlers, and potential attackers"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Abuse Contact Info",
      "value": "getAbuseInfo",
      "action": "Get abuse info",
      "routing": {
        "request": {
          "url": "/v3/abuse",
          "method": "GET"
        }
      },
      "description": "Retrieves abuse contact and reporting information for an IP address, including organization, network, and abuse email details"
    },
    {
      "name": "Get ASN Info",
      "value": "getAsnInfo",
      "action": "Get asn info",
      "routing": {
        "request": {
          "url": "/v3/asn",
          "method": "GET"
        }
      },
      "description": "Retrieves Autonomous System Number (ASN) details for an IP address or ASN, including organization, country, and network information"
    },
    {
      "name": "Get Astronomy Info",
      "value": "getAstronomy",
      "action": "Get astronomy info",
      "routing": {
        "request": {
          "url": "/v3/astronomy",
          "method": "GET"
        }
      },
      "description": "The Astronomy API provides sun, moon data using IP, latitude, longitude, timezone or Location"
    },
    {
      "name": "Get Astronomy Timeseries Information",
      "value": "getAstronomyTimeseries",
      "action": "Get timezone info",
      "routing": {
        "request": {
          "url": "/v3/astronomy/timeSeries",
          "method": "GET"
        }
      },
      "description": "Look up astronomy details for any location by providing a starting and ending date for the time series"
    },
    {
      "name": "Get Bulk IP Geolocation",
      "value": "getBulkIpGeolocation",
      "action": "Get bulk ip geolocation",
      "routing": {
        "request": {
          "url": "/v3/ipgeo-bulk",
          "method": "POST"
        }
      },
      "description": "Retrieves geolocation information (country, city, coordinates, etc.) for multiple IP addresses at once"
    },
    {
      "name": "Get Bulk IP Security",
      "value": "getBulkIPSecurity",
      "action": "Get bulk ip security",
      "routing": {
        "request": {
          "url": "/v3/security-bulk",
          "method": "POST"
        }
      },
      "description": "Retrieves security information for multiple IP addresses at once, including proxy, VPN, TOR, and threat intelligence details"
    },
    {
      "name": "Get Bulk User Agents Info",
      "value": "getBulkUserAgent",
      "action": "Get bulk user agent info",
      "routing": {
        "request": {
          "url": "/v3/user-agent-bulk",
          "method": "POST"
        }
      },
      "description": "Retrieves detailed client system and browser information for multiple user agents at once(max 50,000), enabling detection of bots, crawlers, and potential attackers"
    },
    {
      "name": "Get IP Geolocation",
      "value": "getIpInfo",
      "action": "Get ip geolocation",
      "routing": {
        "request": {
          "url": "/v3/ipgeo",
          "method": "GET"
        }
      },
      "description": "Retrieves detailed geolocation information (country, city, coordinates, etc.) for a specified IP address"
    },
    {
      "name": "Get IP Security",
      "value": "getIpSecurityInfo",
      "action": "Get ip security info",
      "routing": {
        "request": {
          "url": "/v3/security",
          "method": "GET"
        }
      },
      "description": "Retrieves security information about an IP address, including proxy, VPN, TOR, and threat intelligence details"
    },
    {
      "name": "Get Time Conversion",
      "value": "getTimeConversion",
      "action": "Get timezone info",
      "routing": {
        "request": {
          "url": "/v3/timezone/convert",
          "method": "GET"
        }
      },
      "description": "Calculates precise time differences in hours and minutes between two locations using time zones, coordinates, or cities"
    },
    {
      "name": "Get Timezone Info",
      "value": "getTimezone",
      "action": "Get timezone info",
      "routing": {
        "request": {
          "url": "/v3/timezone",
          "method": "GET"
        }
      },
      "description": "Provides current date, time, UTC offset, and daylight saving info for any timezone, IP address, or geolocation coordinates via timezone API"
    },
    {
      "name": "Get User Agent Info",
      "value": "getUserAgent",
      "action": "Get user agent info",
      "routing": {
        "request": {
          "url": "/v3/user-agent",
          "method": "POST"
        }
      },
      "description": "Provides detailed client system and browser information for detecting bots, crawlers, and potential attackers"
    }
  ]

npm_readme:
  # IP Geolocation n8n Integration

  ## Overview

  The n8n+IPGeolocation integration makes it simple to use the full [**IPGeolocation.io v3**](https://ipgeolocation.io) APIs inside your n8n automation workflows. You do not need to write code or handle API requests because everything can be automated through clear and simple actions.

  With this integration, you can quickly get helpful information about any IP address. This includes location details, network ownership, security risk information, user agent data, time zone details, and even basic astronomy information. You can use this data to improve your workflows, personalize user experiences, and make your automation more secure.

  It allows you to automate retrieval of:

  - Geolocation information for any IP address
  - Threat intelligence and security risk details
  - Network ownership and ASN information
  - Time zone data and time conversion tools
  - Astronomy information such as sunrise and sunset
  - User agent details including browser, operating system, and device type

  ---

  ## IPGeolocation Node Installation Guide 
  ### Installing IPGeolocation Node via n8n Editor (Recommended)

  Since the IPGeolocation node is verified by n8n, you can easily find and install it directly from the n8n Editor without any manual setup.

  #### Steps to Install from n8n Editor

  **1. Open n8n Editor**

  Log in to your n8n instance (Cloud or Self-Hosted).

  **2. Open Nodes Panel**

  Click on the **“+” (Add node)** button.

  **3. Search for the Node**

  In the search bar, type **IPGeolocation**.  
  Because the node is verified, it will appear directly in the search results.

  **4. Install the Node**

  Click on the **IPGeolocation** node.  
  n8n will automatically install and enable it.

  **5. Start Using the Node**

  Once installed, the node is ready to be used in your workflows.


  ### Community Nodes
  For users on n8n v0.187+, your instance owner can install this node from Community Nodes.

  1. Go to **Settings > Community Nodes**.
  2. Select **Install**.
  3. Enter `n8n-nodes-ipgeolocation` in Enter npm package name.
  4. Agree to the risks of using community nodes: select I understand the risks of installing unverified code from a public source.
  5. Select **Install**.

  ### Manual Installation

  It explains how to install and use the **official
  `n8n-nodes-ipgeolocation` package**, developed and maintained by
  **[IPGeolocation.io](https://ipgeolocation.io)**.\
  Follow the steps below to integrate our IP Geolocation capabilities
  directly into your n8n workflows.

  #### Start n8n Once (to generate the .n8n folder)

  ``` bash
  npx n8n
  ```

  After it opens, close it. This ensures the `.n8n` directory is
  generated.


  #### Navigate to the n8n configuration directory

  ``` bash
  cd ~/.n8n
  ```

  #### Create a directory for custom nodes

  ``` bash
  mkdir custom
  cd custom
  ```

  #### Initialize npm inside the custom folder

  ``` bash
  npm init -y
  ```

  #### Install the official IPGeolocation.io n8n node

  ``` bash
  npm install n8n-nodes-ipgeolocation@latest
  ```

  This [npm package](https://www.npmjs.com/package/n8n-nodes-ipgeolocation) is the official IPGeolocation.io integration for n8n,
  enabling powerful IP lookup, timezone, geolocation, and security data
  directly inside your workflows.

  #### Restart n8n

  After the installation, restart your n8n instance using:

  ``` bash
  npx n8n
  ```

  n8n will automatically load all custom nodes located in the
  `.n8n/custom` folder, including the **IPGeolocation.io** node.


  #### You're Ready to Go!

  You can now use the **IPGeolocation.io** node inside n8n to:

  -   Retrieve IP Geolocation data
  -   Detect timezone information
  -   Perform IP Security checks
  -   Enrich workflows with location-based intelligence

  ---

  ## API Key & Connection Setup

  To use IPGeolocation.io with **n8n**, you need a valid **API Key**. Follow these steps carefully:

  ### Create or log in to your IPGeolocation.io account

  - Go to [**IPGeolocation.io**](https://ipgeolocation.io/).
  - If you don’t have an account, click [**Sign Up**](https://app.ipgeolocation.io/signup) and complete the registration.
  - If you already have an account, click [**Sign in**](https://app.ipgeolocation.io/login) and enter your credentials.

  ### Obtain your API Key

  - After logging in, go to your [**dashboard**](https://app.ipgeolocation.io/dashboard).
  - Copy your **API Key** — you’ll need it to connect n8n with IPGeolocation.io.

  ### Open n8n and create a scenario

  - Go to [n8n instance](https://n8n.io/) and log in or sign up.
  - Click + from your sidebar and create a new workflow from scratch.
  - You will see a canvas where you can add nodes.

  ### Add an IPGeolocation node
  - Make sure you have the **IPGeolocation.io** node installed.
  - Click the **+** button to add a node.
  - Search for **IPGeolocation** in the nodes search bar.

  ### Set up the connection

  - Paste the **API Key** you copied earlier into the required field.
  - Click **Save** to authenticate the connection.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/setup-connection.png)

  ### Test the connection

  - n8n will attempt to connect using your API Key.
  - If successful, the module will show a green checkmark and confirmation.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/successful-connection.png)

  - If there’s an error, double-check your API Key and make sure it’s active and valid for the plan you’re using.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/error-connecting.png)

  ### Use your connection

  - Once connected, this API Key is available for **all IPGeolocation modules** in your n8n workflows.
  - You can now use it to perform actions like **Get IP Geolocation**, **Parse User Agent**, or **Bulk IP Geolocation**, depending on your API plan.

  ---

  ## Actions Availability across our Plans

  The availability of actions depends on the plan you are subscribed to. The following table provides a detailed overview of which actions are included in each plan, helping you quickly identify the plan that suits your needs.

  | **Action** | **Developer** | **Paid** |
  | --- | --- | --- |
  | **Get IP Geolocation** | ✔ | ✔ |
  | **Get Bulk IP Geolocation** | ✖ | ✔ |
  | **Get IP Security** | ✖ | ✔ |
  | **Get Bulk IP Security** | ✖ | ✔ |
  | **Get ASN Info** | ✖ | ✔ |
  | **Get Abuse Contact Info** | ✖ | ✔ |
  | **Get Astronomy Info** | ✔ | ✔ |
  | **Get Astronomy Timeseries Information** | ✔ | ✔ |
  | **Get Timezone Info** | ✔ | ✔ |
  | **Get Time Conversion** | ✔ | ✔ |
  | **Get User Agent Info** | ✖ | ✔ |
  | **Get Bulk User Agents Info** | ✖ | ✔ |

  For full pricing details and to choose your plan, see the [pricing page](https://ipgeolocation.io/pricing.html).

  ---

  ## Modules

  Below is a structured reference of all modules in this integration.

  ### **Geolocation**

  #### **Get IP Geolocation**

  Retrieves full geolocation data of a single IPv4/IPv6.

  - **Input:** IP Address
  - **Outputs:** country_name, city, latitude, longitude and [many more](https://ipgeolocation.io/documentation/ip-location-api.html#location-json-object-reference)

  #### **Get Bulk IP Geolocation**

  Retrieves geolocation for up to 50,000 IPs per request.

  - **Input:** Array of IPs
  - **Outputs:** Collection of geolocation objects

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/ip-geolocation-v3.png)

  ### **Security**

  #### **IP Security Lookup**

  Security insights such as proxy, VPN, TOR, threat score, cloud and proxy providers.

  - **Input:** IP Address
  - **Outputs:** security.is_proxy, security.is_vpn, security.threat_score, security.is_cloud_provider and [more](https://ipgeolocation.io/documentation/ip-security-api.html#security-json-object-reference)

  #### **Bulk IP Security Lookup**

  Security assessment for multiple IPs.

  - **Input:** Array of IPs
  - **Outputs:** Collection of [security data](https://ipgeolocation.io/documentation/ip-security-api.html#security-json-object-reference)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/ip-security-v3.png)

  ### **Network Intelligence**

  #### **Lookup ASN**

  Provides a simple way to retrieve accurate information about an Autonomous System Number (ASN) and its associated IPv4 and IPv6 address ranges.

  - **Input:** IP or ASN number
  - **Outputs:** asn.as_number, asn.organization and [more](https://ipgeolocation.io/documentation/asn-api.html#reference-to-asn-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/asn-v3.png)

  #### **Lookup Abuse Contact Information**

  Includes details such as the role, handle, organization name, kind (e.g., group or individual), and postal address. This information helps identify the entity responsible for handling abuse reports.

  - **Input:** IP Address
  - **Outputs:** abuse.emails, abuse.kind and [more](https://ipgeolocation.io/documentation/ip-abuse-contact-api.html#reference-to-abuse-contact-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/abuse-v3.png)

  ### **Time Services**

  Free **Timezone API** and **Time conversion API** provides date and time related information such as current time, date in various formats, week, month, year, time in unix timestamp, UTC/GMT offset and day light saving time from timezone name, any IPv4 or IPv6 address or geolocation coordinates, IATA code, ICAO code, or UN/LOCODE.

  #### **Get Timezone Info**

  It can be consumed with the following input variations:

  - For a Time Zone Name
  - For any Address (preferrably, city address)
  - For Location Coordinates (latitude & longitude)
  - For any IP address
  - For any IATA code
  - For any ICAO code
  - For any UN/LO Code
  - **Outputs:** time_zone.name, time_zone.current_time, time_zone.date_time_wti and [more](https://ipgeolocation.io/documentation/timezone-api.html#reference-to-time-zone-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/timezone-v3.png)

  #### **Time Conversion**

  Converts a time from one of following options

  - Convert Time using Time Zone Names
  - Convert Time using Location
  - Convert Time using Coordinates
  - Convert Time using IATA codes
  - Convert Time using ICAO codes
  - Convert Time using UN/LOCODEs

  **Output:** Converted [date/time](https://ipgeolocation.io/documentation/timezone-api.html#reference-to-time-conversion-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/time-conversion.png)

  ### **Astronomy**

  Provides timings for sunrise, sunset, moonrise, moonset, sun azimuth, moon azimuth, sun altitude, moon altitude, sun distance from the earth and moon distance from the earth.

  #### **Get Astronomy Details**

  - **Outputs:** astronomy.sunrise, astronomy.sunset, astronomy.moon_phase and [many more.](https://ipgeolocation.io/documentation/astronomy-api.html#reference-to-astronomy-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/astronomy.png)

  #### **Astronomy Time Series Lookup**

  - **Outputs:** Daily astronomy data for a defined date range.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/astronomy-timeseries.png)

  ### **User-Agent Parsing**

  Provides detailed client system information, allowing for the detection of bots, crawlers, and potential attackers.

  #### **Parse User Agent String**

  - **Input:** User agent string
  - **Outputs:** provides name, device and operating sysem [information](https://ipgeolocation.io/documentation/user-agent-api.html#reference-to-user-agent-api-response).

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/user-agent.png)

  #### **Parse Bulk User Agent Strings**

  - **Input:** Array of User agent strings
  - **Outputs:** Collection of parsed user agent objects

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/bulk-user-agent.png)

  ---

  ## Use Cases

  Some of the use cases are provided as following.

  ### **E‑commerce Fraud & Network Vetting**

  **Modules:** IP Security Lookup, Lookup Abuse, Lookup ASN

  **Scenario:** Validate order IPs before processing.

  - Trigger: Shopify/WooCommerce detects new order.
  - Step 1: Security Lookup: Check proxy/VPN.
  - Step 2: ASN Lookup:  Find ISP & organization.
  - Filter: Only proceed if *not* proxy AND not cloud provider.
  - If high-risk: Tag the order “Fraud Review”

  ---

  ### **Personalized Content & Time‑Aware Scheduling**

  **Modules:** Get IP Geolocation, Get Timezone Info, Time Conversion

  **Scenario:** Send newsletter at **10 AM local time**.

  - Step 1: Geolocation: Get currency + country.
  - Step 2: Timezone Info: Get exact timezone.
  - Step 3: Time Conversion: Convert 10 AM UTC to local.
  - Step 4: Email tool: Send at converted time.

  ---

  ### **Bulk Data Enrichment & Reporting**

  **Modules:** Bulk Geolocation, Bulk Security Lookup, Array Aggregator, Iterator

  **Scenario:** Enrich 5,000+ IPs with location + threat scoring.

  - Fetch rows from Google Sheets.
  - Aggregate IPs into an array.
  - Bulk lookup for location and security.
  - Iterate results.
  - Update rows with new fields: city, country_name, threat_score.

  ---

  ### **Astronomy‑Based IoT Scheduling**

  **Modules:** Astronomy Details, Astronomy Time Series

  **Scenario:** Automate IoT actions based on sunrise, sunset, moon phase.

  - Daily schedule at midnight.
  - Astronomy Details: Get sunrise & moon phase.
  - Save results in Data Store/Airtable.
  - IoT app triggers actions after sunrise.

ai_documentation_summary:
  {"purpose":"The IPGeolocation n8n node integrates with IPGeolocation.io to automate IP address lookups, retrieving geolocation data, security risks, network ownership, timezone info, and astronomy details.","capabilities":["Retrieve geolocation data for any IP address","Access threat intelligence and security risk details","Fetch network ownership and ASN information","Obtain timezone data and perform time conversions","Retrieve astronomy information (sunrise/sunset)","Parse user agent data (browser, OS, device type)","Perform bulk IP geolocation lookups","Automated API request handling without code"],"authentication":"API Key required (obtained from IPGeolocation.io dashboard)","commonUseCases":["Enriching user data with location intelligence","Detecting security threats based on IP reputation","Personalizing content based on user timezone","Validating user locations for geo-restricted services","Automating network ownership verification"],"limitations":["Requires a valid API key and active subscription plan","Data availability depends on the specific IPGeolocation.io plan tier","Some features may be limited by API rate limits"],"relatedNodes":["HTTP Request","Wait Until","If","Code"]}


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-04-16 09:43:36
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-04-16T09:43:36.271Z
ai_summary_generated_at: 2026-03-25 22:51:43
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.",
      "resource": "Comment"
    },
    {
      "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.",
      "resource": "Comment"
    },
    {
      "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",
      "resource": "Config"
    },
    {
      "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.",
      "resource": "Dartboard"
    },
    {
      "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.",
      "resource": "Doc"
    },
    {
      "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.",
      "resource": "Doc"
    },
    {
      "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.",
      "resource": "Doc"
    },
    {
      "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.",
      "resource": "Doc"
    },
    {
      "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.",
      "resource": "Doc"
    },
    {
      "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.",
      "resource": "Folder"
    },
    {
      "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",
      "resource": "Help Center Article"
    },
    {
      "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.",
      "resource": "Skill"
    },
    {
      "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",
      "resource": "Task"
    },
    {
      "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.",
      "resource": "Task"
    },
    {
      "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.",
      "resource": "Task"
    },
    {
      "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.",
      "resource": "Task"
    },
    {
      "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.",
      "resource": "Task"
    },
    {
      "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.",
      "resource": "Task"
    },
    {
      "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.",
      "resource": "Task"
    },
    {
      "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.",
      "resource": "Attachment"
    },
    {
      "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.",
      "resource": "View"
    }
  ]

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":"The Dart n8n node enables direct integration with the Dart AI project management platform, allowing users to manage projects and tasks within n8n workflows.","capabilities":["Project management automation","Task creation and updates","Team collaboration features","AI-powered project insights"],"authentication":"Bearer token authentication via API key","commonUseCases":["Automating project tracking in n8n","Integrating AI project management with existing workflows","Streamlining team collaboration tasks"],"limitations":["Requires manual API token setup from Dart dashboard"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-github","n8n-nodes-jira"]}


node_type: n8n-nodes-mailtrap.mailtrap
package_name: n8n-nodes-mailtrap
display_name: Mailtrap
description: Interact with Mailtrap API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-04-16 09:43:36
author_name: mailtrap
author_github_url: https://github.com/railsware/mailtrap-n8n.git
npm_package_name: n8n-nodes-mailtrap
npm_version: 1.1.4
community_fetched_at: 2026-04-16T09:43:36.272Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "mail",
      "options": [
        {
          "name": "Mail",
          "value": "mail"
        },
        {
          "name": "Contact",
          "value": "contact"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send Email",
          "value": "send",
          "action": "Send an email",
          "description": "Send an email"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "mail"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Contact",
          "value": "create",
          "action": "Create a contact",
          "description": "Create a contact"
        },
        {
          "name": "Update Contact",
          "value": "update",
          "action": "Update a contact",
          "description": "Update a contact"
        },
        {
          "name": "Delete Contact",
          "value": "delete_",
          "action": "Delete a contact",
          "description": "Delete a contact"
        },
        {
          "name": "Get Contact Lists",
          "value": "getLists",
          "action": "Get contact lists"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send Email",
      "value": "send",
      "action": "Send an email",
      "description": "Send an email",
      "resource": "mail"
    },
    {
      "name": "Create Contact",
      "value": "create",
      "action": "Create a contact",
      "description": "Create a contact",
      "resource": "contact"
    },
    {
      "name": "Update Contact",
      "value": "update",
      "action": "Update a contact",
      "description": "Update a contact",
      "resource": "contact"
    },
    {
      "name": "Delete Contact",
      "value": "delete_",
      "action": "Delete a contact",
      "description": "Delete a contact",
      "resource": "contact"
    },
    {
      "name": "Get Contact Lists",
      "value": "getLists",
      "action": "Get contact lists",
      "resource": "contact"
    }
  ]

npm_readme:
  # Mailtrap.io N8N Integration - Official

  This is the official Mailtrap.io integration for N8N, allowing you to seamlessly integrate Mailtrap's email testing and delivery services into your N8N workflows.

  ## Prerequisites

  Before using this integration, please ensure you have:
  - A [Mailtrap.io](https://mailtrap.io/signup) account
  - Your sending [domain verified](https://mailtrap.io/sending/domains) in Mailtrap (required for sending emails)

  ## Installation

  ### Community Nodes (Recommended)
  For n8n version 0.187 and later, you can install this node through the Community Nodes panel:

  1. Go to Settings > Community Nodes
  2. Select Install
  3. Enter `n8n-nodes-mailtrap` in Enter npm package name
  4. Agree to the risks of using community nodes
  5. Select Install

  ### Manual Installation
  Alternatively, you can install the node manually using one of these methods:

  #### Using npm
  ```bash
  npm install n8n-nodes-mailtrap
  ```

  #### Using pnpm
  ```bash
  pnpm add n8n-nodes-mailtrap
  ```

  For more detailed installation instructions, please refer to the [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/installation/).

  ## Features

  This integration provides the following capabilities:
  - Send emails through Mailtrap's services:
    - Transactional emails
    - Bulk stream emails
  - Manage your Mailtrap contacts:
    - Create new contacts
    - Delete existing contacts
    - Update contact information
    - Get a list of your Mailtrap Lists

  ## Usage

  1. After installation, restart your n8n instance
  2. In your n8n workflow, you'll find the Mailtrap node under the "Mailtrap" category
  3. Configure the node with your [Mailtrap API token](https://mailtrap.io/api-tokens) (you can find it in your Mailtrap account settings)
  4. Use the node to send emails or manage contacts according to your needs

  ## Node local development setup
  ### Prerequisites
  - Node v18..22
  - pnpm
  - Local N8N installation (`npm i -g n8n`)
  #### After that:
  Install the dependencies:
  ```shell
    pnpm install
  ```
  Publish the node locally:
  ```shell
    pnpm link
  ```
  And build it:
  ```shell
    pnpm build
  ```
  Go to `~/.n8n/custom` (Linux, Mac), and link it there:
  ```bash
    cd ~/.n8n/custom
  ```
  OR create the folder manually:
  ```bash
    mkdir ~/.n8n/custom
    cd ~/.n8n/custom
  ```
  ```bash
    pnpm link n8n-nodes-mailtrap
  ```

  After that, you can start the local hosted n8n instance:
  ```shell
    n8n
  ```

ai_documentation_summary:
  {"purpose":"This node enables interaction with the Mailtrap API to send transactional and bulk emails, as well as manage contacts and lists within n8n workflows.","capabilities":["Send transactional emails","Send bulk stream emails","Create new Mailtrap contacts","Delete existing contacts","Update contact information","Retrieve list of Mailtrap lists"],"authentication":"API token required (Mailtrap API token)","commonUseCases":["Testing email delivery in development environments","Sending notifications or alerts via email","Managing email recipient lists for campaigns"],"limitations":["Domain verification required before sending emails","Requires Mailtrap.io account"],"relatedNodes":[]}


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

updated_at: 2026-04-16 09:43:36
author_name: thibaulttimizer
author_github_url: https://github.com/timizerio/timizer-n8n-node.git
npm_package_name: n8n-nodes-timizer
npm_version: 0.1.4
community_fetched_at: 2026-04-16T09:43:36.273Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "activityReport",
      "options": [
        {
          "name": "Activity Report",
          "value": "activityReport"
        },
        {
          "name": "Client",
          "value": "client"
        },
        {
          "name": "Client Contact",
          "value": "clientContact"
        },
        {
          "name": "Contracted",
          "value": "contracted"
        },
        {
          "name": "Contracted Contact",
          "value": "contractedContact"
        },
        {
          "name": "Mission",
          "value": "mission"
        },
        {
          "name": "Tag",
          "value": "tag"
        },
        {
          "name": "Team",
          "value": "team"
        },
        {
          "name": "Team Member",
          "value": "teamMember"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an activity report"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an activity report"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an activity report"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many activity reports"
        },
        {
          "name": "Get PDF",
          "value": "getPdf",
          "action": "Get activity report PDF"
        },
        {
          "name": "Mark as Processed",
          "value": "markProcessed",
          "action": "Mark an activity report as processed"
        },
        {
          "name": "Mark as Unprocessed",
          "value": "markUnprocessed",
          "action": "Mark an activity report as unprocessed"
        },
        {
          "name": "Refuse",
          "value": "refuse",
          "action": "Refuse an activity report"
        },
        {
          "name": "Share",
          "value": "share",
          "action": "Share an activity report"
        },
        {
          "name": "Share by Email",
          "value": "shareByEmail",
          "action": "Share an activity report by email"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an activity report"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "activityReport"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a client"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a client"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a client"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many clients"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a client"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "client"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a client contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a client contact"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many client contacts"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a client contact"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "clientContact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a contracted"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a contracted"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a contracted"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many contracted"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a contracted"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contracted"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a contracted contact"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a contracted contact"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many contracted contacts"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a contracted contact"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contractedContact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a mission"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a mission"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many missions"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a mission"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "mission"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a tag"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a tag"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many tags"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a team"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a team"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many teams"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a team"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a team member"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many team members"
        },
        {
          "name": "Invite",
          "value": "invite",
          "action": "Invite a team member"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a team member"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "teamMember"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create an activity report",
      "resource": "activityReport"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an activity report",
      "resource": "activityReport"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an activity report",
      "resource": "activityReport"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many activity reports",
      "resource": "activityReport"
    },
    {
      "name": "Get PDF",
      "value": "getPdf",
      "action": "Get activity report PDF",
      "resource": "activityReport"
    },
    {
      "name": "Mark as Processed",
      "value": "markProcessed",
      "action": "Mark an activity report as processed",
      "resource": "activityReport"
    },
    {
      "name": "Mark as Unprocessed",
      "value": "markUnprocessed",
      "action": "Mark an activity report as unprocessed",
      "resource": "activityReport"
    },
    {
      "name": "Refuse",
      "value": "refuse",
      "action": "Refuse an activity report",
      "resource": "activityReport"
    },
    {
      "name": "Share",
      "value": "share",
      "action": "Share an activity report",
      "resource": "activityReport"
    },
    {
      "name": "Share by Email",
      "value": "shareByEmail",
      "action": "Share an activity report by email",
      "resource": "activityReport"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an activity report",
      "resource": "activityReport"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a client",
      "resource": "client"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a client",
      "resource": "client"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a client",
      "resource": "client"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many clients",
      "resource": "client"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a client",
      "resource": "client"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a client contact",
      "resource": "clientContact"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a client contact",
      "resource": "clientContact"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many client contacts",
      "resource": "clientContact"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a client contact",
      "resource": "clientContact"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a contracted",
      "resource": "contracted"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a contracted",
      "resource": "contracted"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a contracted",
      "resource": "contracted"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many contracted",
      "resource": "contracted"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a contracted",
      "resource": "contracted"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a contracted contact",
      "resource": "contractedContact"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a contracted contact",
      "resource": "contractedContact"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many contracted contacts",
      "resource": "contractedContact"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a contracted contact",
      "resource": "contractedContact"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a mission",
      "resource": "mission"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a mission",
      "resource": "mission"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many missions",
      "resource": "mission"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a mission",
      "resource": "mission"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a tag",
      "resource": "tag"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a tag",
      "resource": "tag"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many tags",
      "resource": "tag"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a tag",
      "resource": "tag"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a team",
      "resource": "team"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a team",
      "resource": "team"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many teams",
      "resource": "team"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a team",
      "resource": "team"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a team member",
      "resource": "teamMember"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many team members",
      "resource": "teamMember"
    },
    {
      "name": "Invite",
      "value": "invite",
      "action": "Invite a team member",
      "resource": "teamMember"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a team member",
      "resource": "teamMember"
    }
  ]

npm_readme:
  # n8n-nodes-timizer

  This is an [n8n](https://n8n.io/) community node for [Timizer](https://timizer.io), a timesheet and activity report management platform.

  It lets you interact with the Timizer API directly from your n8n workflows.

  ## Installation

  In your n8n instance:

  1. Go to **Settings > Community Nodes**
  2. Click **Install a community node**
  3. Enter `n8n-nodes-timizer`
  4. Click **Install**

  ## Credentials

  You need a Timizer API key and Team ID to authenticate. Configure them in n8n:

  1. Go to **Credentials > New Credential**
  2. Search for **Timizer API**
  3. Enter your **API Key** and **Team ID**

  ## Nodes

  ### Timizer

  Interact with Timizer resources. Supported resources and operations:

  | Resource | Operations |
  |---|---|
  | Activity Report | Create, Delete, Get, Update |
  | Client | Create, Delete, Get, Update |
  | Client Contact | Create, Delete, Update |
  | Contracted | Create, Delete, Get, Update |
  | Contracted Contact | Create, Delete, Update |
  | Mission | Create, Delete, Update |
  | Tag | Create, Delete, Update |
  | Team | Create, Delete, Update |
  | Team Member | Delete, Update |

  ### Timizer Trigger

  Starts a workflow when Timizer events occur via webhooks. Supported events:

  - Activity Report: Created, Deleted, Refused, Shared, Signed, Updated

  ## Compatibility

  Tested with n8n v1.x. Requires Node.js >= 18.

  ## Resources

  - [Timizer website](https://timizer.io)
  - [Timizer API documentation](https://api.timizer.io)
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"A community n8n node that enables interaction with the Timizer API for managing timesheets and activity reports.","capabilities":["Create, Delete, Get, Update Activity Reports","Create, Delete, Get, Update Clients","Create, Delete, Update Client Contacts","Create, Delete, Get, Update Contracted items","Create, Delete, Update Contracted Contacts","Create, Delete, Update Missions","Create, Delete, Update Tags","Create, Delete, Update Teams","Delete, Update Team Members","Trigger workflows via Timizer webhooks for events like report creation, deletion, refusal, sharing, signing, and updates"],"authentication":"API Key and Team ID required","commonUseCases":["Automating timesheet data entry into Timizer","Syncing client and team information with Timizer","Notifying workflows when activity reports are created or signed","Managing contracted projects and team members via API"],"limitations":["Tested only with n8n v1.x","Requires Node.js >= 18","Team Member Create operation is not supported"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest"]}


node_type: n8n-nodes-scrapfly.Scrapfly
package_name: n8n-nodes-scrapfly
display_name: Scrapfly
description: Scrapfly data collection APIs for web page scraping, screenshots, and AI data extraction
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-04-16 09:43:36
author_name: scrapfly
author_github_url: https://github.com/scrapfly/
npm_package_name: n8n-nodes-scrapfly
npm_version: 0.1.8
community_fetched_at: 2026-04-16T09:43:36.274Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Scrape",
      "options": [
        {
          "name": "Scrape",
          "value": "Scrape"
        },
        {
          "name": "Extraction",
          "value": "Extraction"
        },
        {
          "name": "Screenshot",
          "value": "Screenshot"
        },
        {
          "name": "Account",
          "value": "Account"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ScrapeWebPage",
      "options": [
        {
          "name": "Scrape Web Page",
          "value": "ScrapeWebPage",
          "action": "Scrape web page",
          "description": "Scrape a web page given its URL"
        },
        {
          "name": "Scrape API Request",
          "value": "ScrapeAPIRequest",
          "action": "Scrape api request",
          "description": "Send a web scraping API request"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Scrape"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "WebPageDataExtraction",
      "options": [
        {
          "name": "Extract Data From an HTML, Text, or Markdown Document Using AI",
          "value": "WebPageDataExtraction",
          "action": "Extract data from an html text or markdown document using ai",
          "description": "Extracts structured data from any text content. Uses AI, LLM, and custom parsing instructions."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Extraction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "WebPageScreenshot",
      "options": [
        {
          "name": "Capture Web Page Screenshot",
          "value": "WebPageScreenshot",
          "action": "Capture web page screenshot",
          "description": "Takes a screenshot of a web page given its URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Screenshot"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "AccountInfo",
      "options": [
        {
          "name": "Get Account Info",
          "value": "AccountInfo",
          "action": "Returns information about the current subscription and account usage",
          "description": "AccountInfo"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Scrape Web Page",
      "value": "ScrapeWebPage",
      "action": "Scrape web page",
      "description": "Scrape a web page given its URL",
      "resource": "Scrape"
    },
    {
      "name": "Scrape API Request",
      "value": "ScrapeAPIRequest",
      "action": "Scrape api request",
      "description": "Send a web scraping API request",
      "resource": "Scrape"
    },
    {
      "name": "Extract Data From an HTML, Text, or Markdown Document Using AI",
      "value": "WebPageDataExtraction",
      "action": "Extract data from an html text or markdown document using ai",
      "description": "Extracts structured data from any text content. Uses AI, LLM, and custom parsing instructions.",
      "resource": "Extraction"
    },
    {
      "name": "Capture Web Page Screenshot",
      "value": "WebPageScreenshot",
      "action": "Capture web page screenshot",
      "description": "Takes a screenshot of a web page given its URL",
      "resource": "Screenshot"
    },
    {
      "name": "Get Account Info",
      "value": "AccountInfo",
      "action": "Returns information about the current subscription and account usage",
      "description": "AccountInfo",
      "resource": "Account"
    }
  ]

npm_readme:
  # n8n-nodes-scrapfly

  This is an n8n community node. It lets you use ScrapFly in your n8n workflows. [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [ScrapFly.io](https://scrapfly.io/) provides data collection APIs for web page scraping, screenshots, and AI data extraction at scale. Integrating ScrapFly within a workflow enables extracting web page sources, parsing for structured data, or taking screenshots as binary files.

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation. See examples
  from [Scrapfly documentation](https://scrapfly.io/docs/integration/n8n) to see usage.

  ## Operations
  - __Scrape web page URLs__  
  Scrapes the HTML source of a given web page URL with the support of headless browsers, proxies, and anti-bot bypass.
  - __Extract Data From an HTML, Text, or Markdown Document Using AI__  
  Automatically parse HTML, Text, or Markdown documents using pre-defined templates or LLM prompts to extract structured data.
  - __Capture web page screenshot__  
  Takes a screenshot of a web page as an image file given its URL.
  - __Get account info__  
  Get information about the current account subscription and its usage.

  ## Credentials

  ScrapFly API key is used as a credential key. To get your API key, register for free.

  ## Usage

  For example, regarding usage and predefined workflow templates, please look at [ScrapFly's n8n integration docs](https://scrapfly.io/docs/integration/n8n).

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [ScrapFly documentation](https://scrapfly.io/docs)

  ## Development 

  To publish a new release, you need repo access and play command like `make bump-version VERSION=0.1.3`

ai_documentation_summary:
  {"purpose":"This n8n community node enables web page scraping, AI-powered data extraction from HTML/Text/Markdown, and web page screenshot capture using ScrapFly's APIs.","capabilities":["Scrape HTML source from web page URLs with headless browser support","Extract structured data from HTML, text, or markdown documents using AI","Capture web page screenshots as binary image files","Retrieve account subscription and usage information"],"authentication":"API key required","commonUseCases":["Automated web data collection for analytics or monitoring","Extracting structured information from websites for database population","Generating visual snapshots of web pages for reports or archives","Parsing unstructured web content using AI templates or prompts"],"limitations":["Community node (may have fewer updates or support compared to official nodes)","Requires ScrapFly account registration and API key setup"],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Binary File"]}


node_type: n8n-nodes-featherless.featherless
package_name: n8n-nodes-featherless
display_name: Featherless
description: Interact with Featherless API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs: "={{[\"main\"]}}"
updated_at: 2026-04-16 09:43:36
author_name: darinverheijke
author_github_url: https://github.com/featherlessai/
npm_package_name: n8n-nodes-featherless
npm_version: 0.1.6
community_fetched_at: 2026-04-16T09:43:36.275Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "chat",
      "options": [
        {
          "name": "Chat",
          "value": "chat",
          "action": "Send a chat message",
          "description": "Send a chat message"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Chat",
      "value": "chat",
      "action": "Send a chat message",
      "description": "Send a chat message"
    }
  ]

npm_readme:
  # n8n-nodes-featherless

  This is an n8n community node for Featherless API integration. It allows you to interact with various AI models through the Featherless AI platform directly from your n8n workflows.

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

  [Featherless](https://featherless.ai/) is a platform that provides access to over 10,000+ open-weight models through a unified API.

  ## Features

  - Interact with multiple AI models through a single node
  - Send chat messages to AI models
  - Customize model parameters such as temperature, max tokens, frequency penalty, and presence penalty
  - View truncated model descriptions in the model selector
  - Easy integration with n8n workflows

  ## Installation

  ### Community Node (Recommended)

  To install this node as a community node in n8n, follow these steps:

  1. Open your n8n instance
  2. Go to "Settings" > "Community Nodes"
  3. Select "Install"
  4. Enter `n8n-nodes-featherless` in the "Enter npm package name" field
  5. Agree to the risks of using community nodes (if prompted)
  6. Click "Install"

  After installation, the node will be available in the "Featherless" category in the node palette.

  ### Manual Installation (Advanced)

  If you prefer manual installation or are using a custom n8n setup:

  1. Open your n8n installation directory
  2. Navigate to the `nodes` subdirectory
  3. Run the following command:
     ```
     npm install n8n-nodes-featherless
     ```
  4. Restart your n8n instance

  **Note:** If you're using Docker or a server deployment, you may need to rebuild your container or restart your server for the changes to take effect.

  ### Troubleshooting

  If you encounter issues with the node not updating to new versions correctly or not displaying changes inside n8n, try the following:

  1. Clear your browser cache
  2. Restart your n8n instance
  3. If using Docker, rebuild and restart your container:
     ```
     docker-compose down
     docker-compose build
     docker-compose up -d
     ```
  4. For server deployments, restart the n8n service:
     ```
     sudo systemctl restart n8n
     ```

  ## Usage

  1. Add the Featherless node to your workflow
  2. Configure the Featherless API credentials (see Configuration section)
  3. Select the desired operation (currently only 'Chat' is available)
  4. Enter the model ID you want to use (click "View Available Models" button to see options)
  5. (Optional) Provide a system prompt to set the behavior of the AI
  6. Enter your message
  7. Adjust additional parameters as needed (temperature, max tokens, etc.)
  8. Execute the node to receive the AI's response

  ## Model Selection

  Enter the model ID directly in the "Model Name or ID" field. Use the "View Available Models" button next to the input field to open the [Featherless Models page](https://featherless.ai/models) in a new tab, where you can browse and copy the model IDs of available models.

  ## Configuration

  ### Featherless API Credentials

  To use this node, you need to set up Featherless API credentials:

  1. Sign up for an account at [Featherless](https://featherless.ai/)
  2. Generate an API key in your Featherless dashboard
  3. In n8n, create a new credential of type 'Featherless API'
  4. Enter your API key

  ### Node Parameters

  - **Operation**: Currently, only 'Chat' is available
  - **Model**: Enter the model ID you want to use (e.g., "meta-llama/Meta-Llama-3.1-8B-Instruct")
  - **System Prompt**: (Optional) Set the behavior or role of the AI assistant
  - **Message**: The user's input message to the AI
  - **Temperature**: Controls the randomness of the AI's output (0.0 to 1.0)
  - **Additional Fields**: 
    - **Frequency Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far.
    - **Max Tokens**: The maximum number of tokens to generate in the chat completion.
    - **Presence Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.
    - **Top P**: An alternative to sampling with temperature, called nucleus sampling. Top_p of 0.1 means only the tokens comprising the top 10% probability mass are considered.

  ## Examples

  ### Basic Chat Workflow

  1. Add a "Manual" trigger node
  2. Connect an Featherless node
  3. Configure the Featherless node:
     - Operation: Chat
     - Model: Enter a model ID (e.g., "deepseek-ai/DeepSeek-V3-0324")
     - Message: "Hello, can you explain what n8n is?"
  4. Execute the workflow
  5. The Featherless node will return the AI's response explaining n8n

  ### Dynamic System Prompt

  1. Start with a "Manual" trigger node
  2. Add a "Set" node to define a variable for the system prompt
  3. Connect a Featherless node
  4. Configure the Featherless node:
     - Operation: Chat
     - Model: Enter a model ID (use the "View Available Models" button to see options)
     - System Prompt: {{$node["Set"].json["systemPrompt"]}}
     - Message: "What's your primary function?"
  5. Execute the workflow
  6. The AI will respond based on the system prompt set in the "Set" node

  ## Support

  If you encounter any issues or have questions about this node, please [open an issue](https://github.com/darinverheijke/n8n-nodes-featherless/issues) on the GitHub repository.

  ## Contributing

  Contributions to improve this node are welcome. Please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

  ## License

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

  ## About n8n
  n8n is a free and open [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation tool. It can be self-hosted, easily extended, and used to automate workflows across various services and applications. n8n enables you to connect anything to everything.

  ## About Featherless
  Featherless AI is a serverless AI inference platform that offers access to over 10,000+ open-source models. Our goal is to make all AI models available for serverless inference. We provide inference via API to a continually expanding library of open-weight models.

  ## Changelog

  For a full list of changes, please refer to the [CHANGELOG.md](CHANGELOG.md) file.

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with Featherless AI's API to send chat messages to over 10,000+ open-weight models.","capabilities":["Send chat messages to AI models","Select from multiple open-weight models via API","Customize generation parameters (temperature, max tokens, frequency penalty, presence penalty, top p)","Set system prompts to define AI behavior","View available models through integrated browser interface"],"authentication":"API key required (Featherless API credentials)","commonUseCases":["Integrating open-weight LLMs into n8n workflows","Building chatbot applications with customizable models","Automating text generation tasks with dynamic system prompts"],"limitations":["Currently supports only 'Chat' operation type","Community node requires manual installation or community node setup","Model selection requires manual ID entry or browser lookup"],"relatedNodes":["Manual Trigger","Set","Code","HTTP Request"]}


node_type: n8n-nodes-awork.aworkTrigger
package_name: n8n-nodes-awork
display_name: awork Trigger
description: Starts the workflow when awork events occur
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-04-16 09:43:36
author_name: awork
author_github_url: https://github.com/awork-io/
npm_package_name: n8n-nodes-awork
npm_version: 0.1.62
community_fetched_at: 2026-04-16T09:43:36.276Z
npm_readme:
  # n8n-nodes-awork

  This is an n8n community node that lets you automate workflows with [awork](https://www.awork.com/), a modern project management tool. It provides seamless integration between awork and n8n, allowing you to manage projects, tasks, and company/client data within your automation workflows.

  ## Installation

  ### n8n Cloud
  1. Select **+** on your canvas and type **awork**
  2. Find **awork** in the **More from the community** section
  3. Select **install**

  Follow the [official installation guide](https://docs.n8n.io/integrations/community-nodes/installation/verified-install/) for n8n community nodes.

  ### Self-Hosted Instance
  1. Navigate to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-awork` in **Enter npm package name**
  4. Select **Install**
  5. **Restart your n8n instance** after installation

  ## Authentication

  To use the awork node, you'll need API credentials from awork:

  1. **Create an awork account** at [awork.com](https://www.awork.com/) if you don't have one
  2. **Generate an API key** by following the instructions in the [awork API Authentication documentation](https://developers.awork.com/authentication#api-key)
  3. **In n8n**, add new credentials:
     - Select **"awork API"** from the credentials list
     - Enter your API key
     - Test the connection to ensure it's working

  ## Available Operations

  The awork node provide comprehensive access to awork's project management features, including:

  ### Projects
  - **Create Project**: Start new projects with custom settings
  - **Get Project**: Retrieve project information
  - **List Projects**: Get all projects with filtering options
  - **Change Project Status**: Changes the status of a project

  ### Tasks
  - **Create Task**: Add new tasks to projects
  - **Get Task**: Retrieve specific task information
  - **List Tasks**: Get tasks with advanced filtering
  - **Change Task Status**: Changes the status of a task
  - **Set Task Custom Fields**: Sets the value of a task custom field
  - **Add Task Comment**: Adds a comment to a task

  ### Companies
  - **Create Company**: Add new companies to your workspace
  - **Get Company**: Retrieve company details
  - **List Companies**: Get all companies with filtering

  ### Users
  - **List Users**: Get all users with filtering

  ### Other
  - **HTTP**: With a generic HTTP Request, any awork API endpoint can be used

  For detailed information about each operation and its parameters, visit the relevant sections in the [awork Developer Documentation](https://developers.awork.com/):
  - [Projects](https://developers.awork.com/projects)
  - [Tasks](https://developers.awork.com/tasks)
  - [Companies](https://developers.awork.com/companies)
  - [Users](https://developers.awork.com/users)

  ## Example Workflows

  Here are some common use cases for the awork nodes:

  1. **Automated Project Creation**: Create projects in awork when new deals are won in your CRM
  2. **Task Synchronization**: Sync tasks between awork and other project management tools
  3. **Company Management**: Automatically create companies in awork from form submissions
  4. **Status Updates**: Update task statuses based on external triggers
  5. **Reporting**: Extract project and task data for custom reporting dashboards

  ## Resources

  - **awork Developer Documentation**: [developers.awork.com](https://developers.awork.com/)
  - **awork Developer Forum**: [community.awork.com/c/developer-forum/17](https://community.awork.com/c/developer-forum/17)
  - **n8n Documentation**: [docs.n8n.io](https://docs.n8n.io/)
  - **n8n Community**: [community.n8n.io](https://community.n8n.io/)

  ## Support

  If you encounter any issues or have questions:

  - Check the [awork Developer Forum](https://community.awork.com/c/developer-forum/17) for API-related questions
  - Visit the [n8n Community Forum](https://community.n8n.io/) for n8n-specific issues

  ## Local Development

  For contributors and developers who want to test changes locally:

  1. Clone the repository:
     ```bash
     git clone https://github.com/awork-io/n8n-nodes-awork
     cd n8n-nodes-awork
     ```

  2. Install dependencies and build:
     ```bash
     npm install
     npm run build
     ```

  3. Link to your local n8n installation:
     ```bash
     npm link
     cd ~/.n8n/custom
     npm link n8n-nodes-awork
     ```

  4. Start n8n:
     ```bash
     n8n start
     ```

  ## License

  This project is licensed under the MIT License - see the LICENSE file for details.


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

updated_at: 2026-04-16 09:43:36
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.8.0
community_fetched_at: 2026-04-16T09:43:36.277Z
ai_summary_generated_at: 2026-03-25 22:51:43
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 strings sorted.\n\nUse API to manage projects, change their settings, or remove them if required.\n"
        },
        {
          "name": "Branches",
          "value": "branches",
          "description": "\nSource branches are resources for translation. Use API to manage project branches.\n\n__Note:__ Make sure your master branch is the first one you integrate with Crowdin."
        },
        {
          "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 Translations",
          "value": "stringTranslations",
          "description": "Use API to add or remove strings translations, approvals, and votes."
        },
        {
          "name": "String Comments",
          "value": "stringComments",
          "description": "Use API to list, add, edit or remove string 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": "Style Guides",
          "value": "styleGuides",
          "description": "\nStyle Guides help to provide additional context for the translators.\n\nUse API to manage style guides.\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": "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": "Bundles",
          "value": "bundles"
        },
        {
          "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": "Distributions",
          "value": "distributions"
        },
        {
          "name": "Labels",
          "value": "labels"
        },
        {
          "name": "Notifications",
          "value": "notifications"
        },
        {
          "name": "Security Logs",
          "value": "securityLogs"
        },
        {
          "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 * 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"
        }
      ],
      "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.clones.branch.get",
      "options": [
        {
          "name": "Get Cloned Branch",
          "value": "api.projects.branches.clones.branch.get",
          "action": "Get Cloned Branch",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/clones/{{$parameter[\"cloneId\"]}}/branch",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        },
        {
          "name": "Clone Branch",
          "value": "api.projects.branches.clones.post",
          "action": "Clone Branch",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/clones",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read and Write)."
        },
        {
          "name": "Check Branch Clone Status",
          "value": "api.projects.branches.clones.get",
          "action": "Check Branch Clone Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/clones/{{$parameter[\"cloneId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        },
        {
          "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": "Merge Branch",
          "value": "api.projects.branches.merges.post",
          "action": "Merge Branch",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/merges",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write).\n\n__NOTE:__ By default, during merge: strings will be added from the source branch, deleted strings will be removed, changed strings will be updated. Conflicted strings will remain unchanged unless `acceptSourceChanges` is enabled."
        },
        {
          "name": "Check Branch Merge Status",
          "value": "api.projects.branches.merges.get",
          "action": "Check Branch Merge Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/merges/{{$parameter[\"mergeId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        },
        {
          "name": "Get Branch Merge Summary",
          "value": "api.projects.branches.merges.summary.get",
          "action": "Get Branch Merge Summary",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/merges/{{$parameter[\"mergeId\"]}}/summary",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches/{branchId}/clones/{cloneId}/branch",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.clones.branch.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/branches/{branchId}/clones",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.clones.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches/{branchId}/clones/{cloneId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.clones.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/branches",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches/{branchId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/branches/{branchId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /projects/{projectId}/branches/{branchId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.patch"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/branches/{branchId}/merges",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.merges.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches/{branchId}/merges/{mergeId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.merges.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/branches/{branchId}/merges/{mergeId}/summary",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "branches"
          ],
          "operation": [
            "api.projects.branches.merges.summary.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": {
            "send": {
              "preSend": [
                null
              ]
            },
            "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": "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/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": "Upload Strings Status",
          "value": "api.projects.strings.uploads.get",
          "action": "Upload Strings Status",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/uploads/{{$parameter[\"uploadId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        },
        {
          "name": "Upload Strings",
          "value": "api.projects.strings.uploads.post",
          "action": "Upload Strings",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/uploads",
              "method": "POST"
            }
          },
          "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": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/strings/uploads/{uploadId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ],
          "operation": [
            "api.projects.strings.uploads.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/strings/uploads",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "sourceStrings"
          ],
          "operation": [
            "api.projects.strings.uploads.post"
          ]
        }
      }
    },
    {
      "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 `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 Approvals",
          "value": "api.projects.approvals.deleteMany",
          "action": "Remove String 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)."
        },
        {
          "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 Translations",
          "value": "api.projects.translations.deleteMany",
          "action": "Delete String 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)."
        },
        {
          "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 `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": [
            "stringTranslations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/approvals",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.approvals.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/approvals",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.approvals.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/approvals",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.approvals.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/approvals/{approvalId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.approvals.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/approvals/{approvalId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.approvals.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/languages/{languageId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.languages.translations.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.translations.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.translations.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/translations",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.translations.deleteMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/translations/{translationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.translations.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /projects/{projectId}/translations/{translationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.translations.put"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/translations/{translationId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.translations.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/translations/alignment",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.translations.alignment.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/votes",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.votes.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/votes",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.votes.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/votes/{voteId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.votes.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/votes/{voteId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringTranslations"
          ],
          "operation": [
            "api.projects.votes.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "api.projects.comments.attachments.delete",
      "options": [
        {
          "name": "Delete Attachment from String Comment",
          "value": "api.projects.comments.attachments.delete",
          "action": "Delete Attachment from String 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 Comments",
          "value": "api.projects.comments.getMany",
          "action": "List String 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)."
        },
        {
          "name": "Add String Comment",
          "value": "api.projects.comments.post",
          "action": "Add String Comment",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read and Write)."
        },
        {
          "name": "Get String Comment",
          "value": "api.projects.comments.get",
          "action": "Get String Comment",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.string` (Read only)."
        },
        {
          "name": "Delete String Comment",
          "value": "api.projects.comments.delete",
          "action": "Delete String 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)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "stringComments"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/comments/{commentId}/attachments/{attachmentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringComments"
          ],
          "operation": [
            "api.projects.comments.attachments.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringComments"
          ],
          "operation": [
            "api.projects.comments.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /projects/{projectId}/comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringComments"
          ],
          "operation": [
            "api.projects.comments.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringComments"
          ],
          "operation": [
            "api.projects.comments.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /projects/{projectId}/comments/{commentId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "stringComments"
          ],
          "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.style-guides.getMany",
      "options": [
        {
          "name": "List Style Guides",
          "value": "api.style-guides.getMany",
          "action": "List Style Guides",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/style-guides",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `style-guide` (Read only)."
        },
        {
          "name": "Create Style Guide",
          "value": "api.style-guides.post",
          "action": "Create Style Guide",
          "routing": {
            "request": {
              "url": "=/style-guides",
              "method": "POST"
            }
          },
          "description": "**Required scopes:** `style-guide` (Read and Write)."
        },
        {
          "name": "Get Style Guide",
          "value": "api.style-guides.get",
          "action": "Get Style Guide",
          "routing": {
            "request": {
              "url": "=/style-guides/{{$parameter[\"styleGuideId\"]}}",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `style-guide` (Read only)."
        },
        {
          "name": "Delete Style Guide",
          "value": "api.style-guides.delete",
          "action": "Delete Style Guide",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/style-guides/{{$parameter[\"styleGuideId\"]}}",
              "method": "DELETE"
            }
          },
          "description": "**Required scopes:** `style-guide` (Read and Write)."
        },
        {
          "name": "Edit Style Guide",
          "value": "api.style-guides.patch",
          "action": "Edit Style Guide",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/style-guides/{{$parameter[\"styleGuideId\"]}}",
              "method": "PATCH"
            }
          },
          "description": "**Required scopes:** `style-guide` (Read and Write)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "styleGuides"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /style-guides",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "styleGuides"
          ],
          "operation": [
            "api.style-guides.getMany"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /style-guides",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "styleGuides"
          ],
          "operation": [
            "api.style-guides.post"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /style-guides/{styleGuideId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "styleGuides"
          ],
          "operation": [
            "api.style-guides.get"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /style-guides/{styleGuideId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "styleGuides"
          ],
          "operation": [
            "api.style-guides.delete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PATCH /style-guides/{styleGuideId}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "styleGuides"
          ],
          "operation": [
            "api.style-guides.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 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}/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": {
            "send": {
              "preSend": [
                null
              ]
            },
            "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": {
            "send": {
              "preSend": [
                null
              ]
            },
            "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.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.projects.bundles.branches.getMany",
      "options": [
        {
          "name": "Bundle List Branches",
          "value": "api.projects.bundles.branches.getMany",
          "action": "Bundle List Branches",
          "routing": {
            "send": {
              "paginate": "={{$parameter[\"returnAll\"]}}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "enabled": "={{!$parameter[\"returnAll\"]}}",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/branches",
              "method": "GET"
            }
          },
          "description": "**Required scopes:** `project.source.file` (Read only)."
        },
        {
          "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)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /projects/{projectId}/bundles/{bundleId}/branches",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "bundles"
          ],
          "operation": [
            "api.projects.bundles.branches.getMany"
          ]
        }
      }
    },
    {
      "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": "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.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": "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": "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": "options",
      "default": "api.projects.comments.patch",
      "options": [
        {
          "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": "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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).",
      "resource": "ai"
    },
    {
      "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"
        }
      },
      "resource": "storage"
    },
    {
      "name": "Get Storage",
      "value": "api.storages.get",
      "action": "Get Storage",
      "routing": {
        "request": {
          "url": "=/storages/{{$parameter[\"storageId\"]}}",
          "method": "GET"
        }
      },
      "resource": "storage"
    },
    {
      "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"
        }
      },
      "resource": "storage"
    },
    {
      "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\"]}}"
          }
        }
      },
      "resource": "storage"
    },
    {
      "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"
        }
      },
      "resource": "languages"
    },
    {
      "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).",
      "resource": "languages"
    },
    {
      "name": "Get Language",
      "value": "api.languages.get",
      "action": "Get Language",
      "routing": {
        "request": {
          "url": "=/languages/{{$parameter[\"languageId\"]}}",
          "method": "GET"
        }
      },
      "resource": "languages"
    },
    {
      "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).",
      "resource": "languages"
    },
    {
      "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).",
      "resource": "languages"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "name": "Add Project",
      "value": "api.projects.post",
      "action": "Add Project",
      "routing": {
        "request": {
          "url": "=/projects",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.settings` (Read and Write).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "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).",
      "resource": "projects"
    },
    {
      "name": "Get Cloned Branch",
      "value": "api.projects.branches.clones.branch.get",
      "action": "Get Cloned Branch",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/clones/{{$parameter[\"cloneId\"]}}/branch",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only).",
      "resource": "branches"
    },
    {
      "name": "Clone Branch",
      "value": "api.projects.branches.clones.post",
      "action": "Clone Branch",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/clones",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read and Write).",
      "resource": "branches"
    },
    {
      "name": "Check Branch Clone Status",
      "value": "api.projects.branches.clones.get",
      "action": "Check Branch Clone Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/clones/{{$parameter[\"cloneId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only).",
      "resource": "branches"
    },
    {
      "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).",
      "resource": "branches"
    },
    {
      "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).",
      "resource": "branches"
    },
    {
      "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).",
      "resource": "branches"
    },
    {
      "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).",
      "resource": "branches"
    },
    {
      "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).",
      "resource": "branches"
    },
    {
      "name": "Merge Branch",
      "value": "api.projects.branches.merges.post",
      "action": "Merge Branch",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/merges",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write).\n\n__NOTE:__ By default, during merge: strings will be added from the source branch, deleted strings will be removed, changed strings will be updated. Conflicted strings will remain unchanged unless `acceptSourceChanges` is enabled.",
      "resource": "branches"
    },
    {
      "name": "Check Branch Merge Status",
      "value": "api.projects.branches.merges.get",
      "action": "Check Branch Merge Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/merges/{{$parameter[\"mergeId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only).",
      "resource": "branches"
    },
    {
      "name": "Get Branch Merge Summary",
      "value": "api.projects.branches.merges.summary.get",
      "action": "Get Branch Merge Summary",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/branches/{{$parameter[\"branchId\"]}}/merges/{{$parameter[\"mergeId\"]}}/summary",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only).",
      "resource": "branches"
    },
    {
      "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).",
      "resource": "translations"
    },
    {
      "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).",
      "resource": "translations"
    },
    {
      "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).",
      "resource": "translations"
    },
    {
      "name": "Edit Pre-Translation",
      "value": "api.projects.pre-translations.patch",
      "action": "Edit Pre-Translation",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/pre-translations/{{$parameter[\"preTranslationId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.translation` (Read and Write).",
      "resource": "translations"
    },
    {
      "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).",
      "resource": "translations"
    },
    {
      "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"
        }
      },
      "resource": "translations"
    },
    {
      "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/).",
      "resource": "translations"
    },
    {
      "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).",
      "resource": "translations"
    },
    {
      "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).",
      "resource": "translations"
    },
    {
      "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).",
      "resource": "translations"
    },
    {
      "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).",
      "resource": "sourceStrings"
    },
    {
      "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).",
      "resource": "sourceStrings"
    },
    {
      "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).",
      "resource": "sourceStrings"
    },
    {
      "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).",
      "resource": "sourceStrings"
    },
    {
      "name": "Upload Strings Status",
      "value": "api.projects.strings.uploads.get",
      "action": "Upload Strings Status",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/uploads/{{$parameter[\"uploadId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write).",
      "resource": "sourceStrings"
    },
    {
      "name": "Upload Strings",
      "value": "api.projects.strings.uploads.post",
      "action": "Upload Strings",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/strings/uploads",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write).",
      "resource": "sourceStrings"
    },
    {
      "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).",
      "resource": "sourceStrings"
    },
    {
      "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 `labelIds` OR `excludeLabelIds` with `languageId` OR `stringId` with `languageId` are required",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "name": "Remove String Approvals",
      "value": "api.projects.approvals.deleteMany",
      "action": "Remove String 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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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/).",
      "resource": "stringTranslations"
    },
    {
      "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/).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "name": "Delete String Translations",
      "value": "api.projects.translations.deleteMany",
      "action": "Delete String 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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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 `labelIds` OR `excludeLabelIds` with `languageId` OR `stringId` with `languageId` are required",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "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).",
      "resource": "stringTranslations"
    },
    {
      "name": "Delete Attachment from String Comment",
      "value": "api.projects.comments.attachments.delete",
      "action": "Delete Attachment from String 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).",
      "resource": "stringComments"
    },
    {
      "name": "List String Comments",
      "value": "api.projects.comments.getMany",
      "action": "List String 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).",
      "resource": "stringComments"
    },
    {
      "name": "Add String Comment",
      "value": "api.projects.comments.post",
      "action": "Add String Comment",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read and Write).",
      "resource": "stringComments"
    },
    {
      "name": "Get String Comment",
      "value": "api.projects.comments.get",
      "action": "Get String Comment",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/comments/{{$parameter[\"commentId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.string` (Read only).",
      "resource": "stringComments"
    },
    {
      "name": "Delete String Comment",
      "value": "api.projects.comments.delete",
      "action": "Delete String 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).",
      "resource": "stringComments"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "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).",
      "resource": "screenshots"
    },
    {
      "name": "List Style Guides",
      "value": "api.style-guides.getMany",
      "action": "List Style Guides",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/style-guides",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `style-guide` (Read only).",
      "resource": "styleGuides"
    },
    {
      "name": "Create Style Guide",
      "value": "api.style-guides.post",
      "action": "Create Style Guide",
      "routing": {
        "request": {
          "url": "=/style-guides",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `style-guide` (Read and Write).",
      "resource": "styleGuides"
    },
    {
      "name": "Get Style Guide",
      "value": "api.style-guides.get",
      "action": "Get Style Guide",
      "routing": {
        "request": {
          "url": "=/style-guides/{{$parameter[\"styleGuideId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `style-guide` (Read only).",
      "resource": "styleGuides"
    },
    {
      "name": "Delete Style Guide",
      "value": "api.style-guides.delete",
      "action": "Delete Style Guide",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/style-guides/{{$parameter[\"styleGuideId\"]}}",
          "method": "DELETE"
        }
      },
      "description": "**Required scopes:** `style-guide` (Read and Write).",
      "resource": "styleGuides"
    },
    {
      "name": "Edit Style Guide",
      "value": "api.style-guides.patch",
      "action": "Edit Style Guide",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/style-guides/{{$parameter[\"styleGuideId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `style-guide` (Read and Write).",
      "resource": "styleGuides"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "name": "Add TM",
      "value": "api.tms.post",
      "action": "Add TM",
      "routing": {
        "request": {
          "url": "=/tms",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `tm` (Read and Write).",
      "resource": "translationMemory"
    },
    {
      "name": "Get TM",
      "value": "api.tms.get",
      "action": "Get TM",
      "routing": {
        "request": {
          "url": "=/tms/{{$parameter[\"tmId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `tm` (Read only).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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",
      "resource": "translationMemory"
    },
    {
      "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",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "translationMemory"
    },
    {
      "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",
      "resource": "translationMemory"
    },
    {
      "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",
      "resource": "translationMemory"
    },
    {
      "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",
      "resource": "translationMemory"
    },
    {
      "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).",
      "resource": "machineTranslationEngines"
    },
    {
      "name": "Get MT",
      "value": "api.mts.get",
      "action": "Get MT",
      "routing": {
        "request": {
          "url": "=/mts/{{$parameter[\"mtId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `mt` (Read only).",
      "resource": "machineTranslationEngines"
    },
    {
      "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).",
      "resource": "machineTranslationEngines"
    },
    {
      "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).",
      "resource": "translationStatus"
    },
    {
      "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).",
      "resource": "translationStatus"
    },
    {
      "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).",
      "resource": "translationStatus"
    },
    {
      "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",
      "resource": "translationStatus"
    },
    {
      "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",
      "resource": "translationStatus"
    },
    {
      "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",
      "resource": "translationStatus"
    },
    {
      "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).",
      "resource": "translationStatus"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "name": "Edit Report Settings Template",
      "value": "api.projects.reports.settings-templates.patch",
      "action": "Edit Report Settings Template",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `project.report` (Read and Write).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "reports"
    },
    {
      "name": "Edit User Report Settings Template",
      "value": "api.users.reports.settings-templates.patch",
      "action": "Edit User Report Settings Template",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/users/{{$parameter[\"userId\"]}}/reports/settings-templates/{{$parameter[\"reportSettingsTemplateId\"]}}",
          "method": "PATCH"
        }
      },
      "description": "**Required scopes:** `user` (Read and Write).",
      "resource": "reports"
    },
    {
      "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).",
      "resource": "organizationWebhooks"
    },
    {
      "name": "Add Webhook",
      "value": "api.webhooks.post",
      "action": "Add Webhook",
      "routing": {
        "request": {
          "url": "=/webhooks",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `webhook` (Read and Write).",
      "resource": "organizationWebhooks"
    },
    {
      "name": "Get Webhook",
      "value": "api.webhooks.get",
      "action": "Get Webhook",
      "routing": {
        "request": {
          "url": "=/webhooks/{{$parameter[\"organizationWebhookId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `webhook` (Read only).",
      "resource": "organizationWebhooks"
    },
    {
      "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).",
      "resource": "organizationWebhooks"
    },
    {
      "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).",
      "resource": "organizationWebhooks"
    },
    {
      "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).",
      "resource": "dictionaries"
    },
    {
      "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).",
      "resource": "dictionaries"
    },
    {
      "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).",
      "resource": "applications"
    },
    {
      "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).",
      "resource": "applications"
    },
    {
      "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).",
      "resource": "applications"
    },
    {
      "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).",
      "resource": "applications"
    },
    {
      "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).",
      "resource": "applications"
    },
    {
      "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.",
      "resource": "applications"
    },
    {
      "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.",
      "resource": "applications"
    },
    {
      "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.",
      "resource": "applications"
    },
    {
      "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.",
      "resource": "applications"
    },
    {
      "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.",
      "resource": "applications"
    },
    {
      "name": "Bundle List Branches",
      "value": "api.projects.bundles.branches.getMany",
      "action": "Bundle List Branches",
      "routing": {
        "send": {
          "paginate": "={{$parameter[\"returnAll\"]}}"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "enabled": "={{!$parameter[\"returnAll\"]}}",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/projects/{{$parameter[\"projectId\"]}}/bundles/{{$parameter[\"bundleId\"]}}/branches",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `project.source.file` (Read only).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "bundles"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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`.",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "name": "Add Glossary",
      "value": "api.glossaries.post",
      "action": "Add Glossary",
      "routing": {
        "request": {
          "url": "=/glossaries",
          "method": "POST"
        }
      },
      "description": "**Required scopes:** `glossary` (Read and Write).",
      "resource": "glossaries"
    },
    {
      "name": "Get Glossary",
      "value": "api.glossaries.get",
      "action": "Get Glossary",
      "routing": {
        "request": {
          "url": "=/glossaries/{{$parameter[\"glossaryId\"]}}",
          "method": "GET"
        }
      },
      "description": "**Required scopes:** `glossary` (Read only).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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.",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "glossaries"
    },
    {
      "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).",
      "resource": "distributions"
    },
    {
      "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).",
      "resource": "distributions"
    },
    {
      "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).",
      "resource": "distributions"
    },
    {
      "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).",
      "resource": "distributions"
    },
    {
      "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).",
      "resource": "distributions"
    },
    {
      "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).",
      "resource": "distributions"
    },
    {
      "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).",
      "resource": "distributions"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "labels"
    },
    {
      "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).",
      "resource": "notifications"
    },
    {
      "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).",
      "resource": "notifications"
    },
    {
      "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).",
      "resource": "securityLogs"
    },
    {
      "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).",
      "resource": "securityLogs"
    },
    {
      "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.",
      "resource": "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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).",
      "resource": "tasks"
    },
    {
      "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"
        }
      },
      "resource": "tasks"
    },
    {
      "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"
        }
      },
      "resource": "tasks"
    },
    {
      "name": "Get Authenticated User",
      "value": "api.user.get",
      "action": "Get Authenticated User",
      "routing": {
        "request": {
          "url": "=/user",
          "method": "GET"
        }
      },
      "resource": "users"
    },
    {
      "name": "Edit Authenticated User",
      "value": "api.user.patch",
      "action": "Edit Authenticated User",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/user",
          "method": "PATCH"
        }
      },
      "resource": "users"
    },
    {
      "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).",
      "resource": "users"
    },
    {
      "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).",
      "resource": "users"
    },
    {
      "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).",
      "resource": "users"
    },
    {
      "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).",
      "resource": "users"
    },
    {
      "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).",
      "resource": "users"
    },
    {
      "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).",
      "resource": "webhooks"
    },
    {
      "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).",
      "resource": "webhooks"
    },
    {
      "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).",
      "resource": "webhooks"
    },
    {
      "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).",
      "resource": "webhooks"
    },
    {
      "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).",
      "resource": "webhooks"
    },
    {
      "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).",
      "resource": "stringAssetComments"
    }
  ]

npm_readme:
[cell repeats an earlier one in this file: 11013 characters]

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with Crowdin's API for managing localization projects, including file-based and string-based workflows, translation tasks, and project events.","capabilities":["Manage localization projects and source files","Add, remove, and manage string/asset translations","Approve translations and manage translation status","Upload files for localization (screenshots, glossaries, TMs)","Configure machine translation engines (Google, DeepL, etc.)","Manage glossaries and translation memory","Create and manage translation tasks","Generate translation reports and cost estimates","Configure webhooks for project and organization events","Manage labels, comments, and issues on strings"],"authentication":"API key required (via n8n credentials)","commonUseCases":["Automating translation workflows for software and mobile apps","Managing multi-language content for websites and marketing","Tracking translation progress and approval status","Integrating Crowdin AI features into n8n automation","Receiving webhook notifications for project completion"],"limitations":["Community node (not official n8n node)","Requires Crowdin account with appropriate permissions","Some features may differ between Crowdin, Crowdin Enterprise, and File-Based/String-Based modes"],"relatedNodes":["Crowdin (File-Based)","Crowdin Enterprise (File-Based)","Crowdin Enterprise (String-Based)","Crowdin (File-Based) Trigger","Crowdin (String-Based) Trigger"]}


