# nodes

node_type: n8n-nodes-placid.placid
package_name: n8n-nodes-placid
display_name: Placid
description: Generate images, PDFs, and videos via Placid's API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: placidapp
author_github_url: https://github.com/placidapp/
npm_package_name: n8n-nodes-placid
npm_version: 0.1.6
community_fetched_at: 2026-03-25T21:19:40.543Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "PDF",
          "value": "pdf"
        },
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "Template",
          "value": "template"
        },
        {
          "name": "Other",
          "value": "other"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an image from a template",
          "description": "Generate a new image from a template"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an image by ID",
          "description": "Retrieve an existing image by ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an image by ID",
          "description": "Delete an existing image by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a PDF from a template",
          "description": "Generate a new PDF from a template"
        },
        {
          "name": "Merge",
          "value": "merge",
          "action": "Merge multiple PDF files",
          "description": "Merge multiple existing PDFs into one"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a PDF by ID",
          "description": "Retrieve an existing PDF by ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a PDF by ID",
          "description": "Delete an existing PDF by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a video from a template",
          "description": "Generate a new video from a template"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a video by ID",
          "description": "Retrieve an existing video by ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a video by ID",
          "description": "Delete an existing video by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a template",
          "description": "Create a new template"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a template by ID",
          "description": "Delete an existing template by ID"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a template by ID",
          "description": "Retrieve an existing template by ID"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many templates",
          "description": "Retrieve multiple templates"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a template",
          "description": "Update an existing template"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "template"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "uploadMedia",
      "options": [
        {
          "name": "Upload Media",
          "value": "uploadMedia",
          "action": "Upload media files",
          "description": "Upload media files to Placid storage for use in templates"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "other"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create an image from a template",
      "description": "Generate a new image from a template"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an image by ID",
      "description": "Retrieve an existing image by ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an image by ID",
      "description": "Delete an existing image by ID"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a PDF from a template",
      "description": "Generate a new PDF from a template"
    },
    {
      "name": "Merge",
      "value": "merge",
      "action": "Merge multiple PDF files",
      "description": "Merge multiple existing PDFs into one"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a PDF by ID",
      "description": "Retrieve an existing PDF by ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a PDF by ID",
      "description": "Delete an existing PDF by ID"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a video from a template",
      "description": "Generate a new video from a template"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a video by ID",
      "description": "Retrieve an existing video by ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a video by ID",
      "description": "Delete an existing video by ID"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a template",
      "description": "Create a new template"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a template by ID",
      "description": "Delete an existing template by ID"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a template by ID",
      "description": "Retrieve an existing template by ID"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many templates",
      "description": "Retrieve multiple templates"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a template",
      "description": "Update an existing template"
    },
    {
      "name": "Upload Media",
      "value": "uploadMedia",
      "action": "Upload media files",
      "description": "Upload media files to Placid storage for use in templates"
    }
  ]

npm_readme:
  ![Placid n8n Integration](https://placid.app/assets/n8n/github-header-n8n.jpg)

  # n8n-nodes-placid

  This is an n8n community node. It lets you use [Placid API](https://placid.app) in your n8n workflows.

  Placid is a powerful API service for automated image, PDF, and video generation from custom templates. Create dynamic visual content at scale with simple API calls.

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

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

  ## Installation

  ### Quick Install
  ```bash
  npm install n8n-nodes-placid
  ```

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

  ### Complete Setup Guide  
  📖 **New to Placid + n8n?** Check out our comprehensive [Placid n8n Setup Guide](https://placid.app/help/n8n-setup-guide) with step-by-step instructions, examples, and best practices for:
  - Setting up your Placid project with n8n integration
  - Creating dynamic templates for images, PDFs, and videos  
  - Installing and configuring the node
  - Mapping data to template layers
  - Testing and completing your workflows

  ## Operations

  ### Image Operations
  - **Create Image** - Generate images from Placid templates with dynamic data
  - **Get Image** - Retrieve image information and download URLs
  - **Delete Image** - Delete generated images from your Placid account

  ### PDF Operations  
  - **Create PDF** - Generate PDFs from Placid templates with dynamic data
  - **Get PDF** - Retrieve PDF information and download URLs
  - **Delete PDF** - Delete generated PDFs from your Placid account

  ### Video Operations
  - **Create Video** - Generate videos from Placid templates with support for multiple clips and audio
  - **Get Video** - Retrieve video information and download URLs
  - **Delete Video** - Delete generated videos from your Placid account

  ### Template Operations
  - **Create Template** - Create new Placid templates
  - **Get Template** - Retrieve a specific template by ID
  - **Get Many Templates** - List all templates with optional filtering
  - **Update Template** - Update existing template properties
  - **Delete Template** - Delete templates from your Placid account

  ### Other Operations
  - **Upload Media** - Upload media files to Placid storage for use in templates

  ## Credentials

  To use this node, you'll need:

  1. **Placid Account**: Sign up at [placid.app](https://placid.app)
  2. **API Key**: Get your API key from your Placid dashboard
  3. **Authentication Setup**: 
     - In n8n, create new credentials of type "Placid API"
     - Enter your Placid API key

  ## Compatibility

  - **Minimum n8n version**: 0.208.0
  - **Node.js version**: >=20.15
  - **Tested with**: n8n 1.x.x

  ## Usage

  ### Configuration Modes
  The Placid node offers two configuration modes for maximum flexibility:

  **🎯 Simple Mode (Recommended)**  
  - User-friendly interface with dropdowns and form fields
  - Dynamic template layer detection - template layers automatically become input fields
  - Support for binary file uploads (images, videos, PDFs)
  - Perfect for most use cases

  **⚙️ Advanced Mode**  
  - Direct JSON configuration for complex scenarios
  - Full control over API payload structure  
  - Support for multi-clip videos and advanced layer configurations
  - Ideal for developers and complex automations

  ### Key Features

  **📁 Binary File Upload**  
  Upload files directly from n8n binary data:
  - Images (JPG, PNG, GIF, WebP) for image and picture layers
  - Videos (MP4) for video layers and video generation
  - Automatic upload to Placid storage with instant URL generation

  **🎬 Multi-Clip Videos**  
  Create sophisticated videos:
  - Combine multiple templates into single videos  
  - Add audio tracks with trimming controls
  - Support for image arrays and slideshow effects
  - Layer animations and transitions

  **🔄 Dynamic Template Integration**  
  - Template layers automatically appear as configurable fields
  - Support for all layer types: text, images, shapes, barcodes, ratings
  - Custom properties for advanced styling
  - Real-time template validation

  ### Quick Start Example
  1. **Choose Resource**: Select "Image", "PDF", "Video", "Template", or "Other"
  2. **Select Operation**: Pick "Create", "Get", "Delete", etc.  
  3. **Pick Template**: Choose from your Placid templates
  4. **Configure Layers**: Use the simple UI or JSON mode
  5. **Add Data**: Map your n8n workflow data to template fields
  6. **Execute**: Generate your creative asset

  For detailed examples and walkthroughs, see the [📖 Placid n8n Setup Guide](https://placid.app/help/n8n-setup-guide).

  ## Resources

  ### Getting Started
  * [📖 Placid n8n Setup Guide](https://placid.app/help/n8n-setup-guide) - Complete walkthrough with examples
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

  ### API Documentation  
  * [Placid API Documentation](https://placid.app/docs/2.0/introduction)
  * [Placid Image API](https://placid.app/docs/2.0/rest/images)
  * [Placid PDF API](https://placid.app/docs/2.0/rest/pdfs)  
  * [Placid Video API](https://placid.app/docs/2.0/rest/videos)
  * [Placid Templates API](https://placid.app/docs/2.0/rest/templates)

  ### Support & Community
  * [📝 Report Issues](https://github.com/placidapp/n8n-nodes-placid/issues)
  * [💬 Get Help](https://placid.app/help) - Contact Placid support
  * [🔗 Repository](https://github.com/placidapp/n8n-nodes-placid)

  ## Version history

  ### 0.1.6 (Current)
  - **New PDF Merge Operation**
  - Merge multiple PDFs into a single document with mixed URL/binary source support
  - Simple and Advanced configuration modes for flexibility
  - **Security Improvements**
  - Sanitized filenames in multipart headers to prevent injection attacks
  - Added randomness to multipart boundaries to prevent collisions
  - **Bug Fixes**
  - Validate whitespace-only URLs in simple mode
  - Validate URLs in advanced mode PDF merge configuration
  - Show last polled status in timeout error messages
  - Fixed multipart body handling for media uploads

  ### 0.1.5
  - **Error Handling Enhancement** 🛡️
  - Added ContinueOnFail support to allow workflows to continue execution even when individual operations encounter errors
  - Improved error reporting with standardized NodeOperationError across all operations for better debugging
  - **Compatibility Update** 🔄
  - Updated authentication method to use latest n8n API for improved reliability

  ### 0.1.4
  - **Item Tracking Fix** 🔧
  - Added pairedItem to all operation returns to enable proper input-output tracking and data lineage in n8n workflows

  ### 0.1.3
  - **Bug Fixes** 🔧
  - Fixed property field mapping for shape layer colors (background_color, border_color)
  - Fixed text layer property mappings (text_color, alt_text_color, font, alt_font)
  - Fixed rating/barcode "Value" field label collision
  - Improved layer property handling across all resources

  ### 0.1.2
  - **n8n Cloud Verification Fix** 🔧
  - Fixed ESLint violations by replacing `setTimeout` with n8n's `sleep` helper
  - Ensures compatibility with n8n cloud verification requirements

  ### 0.1.1
  - **Documentation improvements** 📚
  - Added comprehensive usage examples and feature documentation
  - Added reference to [Placid n8n Setup Guide](https://placid.app/help/n8n-setup-guide)
  - Enhanced installation instructions with npm command
  - Documented binary file upload capabilities
  - Added support and community links

  ### 0.1.0
  - **First stable release** 🎉
  - Image, PDF, and video generation from Placid templates
  - Template management (CRUD operations)
  - Media upload functionality
  - Dynamic template field generation
  - API key authentication
  - Production ready

  ### 0.0.1-beta.1
  - Initial beta release
   

ai_documentation_summary:
  {"purpose":"This n8n community node enables workflow automation for generating images, PDFs, and videos using Placid's API, supporting both simple UI and advanced JSON configurations.","capabilities":["Generate images from custom templates","Generate PDFs from custom templates","Generate videos with multiple clips and audio","Retrieve and delete generated assets","Create, update, and delete templates","Upload media files to Placid storage","Support binary file uploads (images, videos, PDFs)","Multi-clip video creation with audio trimming","Dynamic template layer mapping","Advanced JSON configuration mode"],"authentication":"API key required (Placid API key)","commonUseCases":["Automated marketing material generation","Dynamic document creation for data-driven workflows","Video compilation from multiple sources","Template-based content personalization","Automated asset management and deletion"],"limitations":["Community node (may have fewer updates than official nodes)","Requires separate Placid account setup","Minimum n8n version 0.208.0 required","Node.js version >=20.15 required"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.binaryFile"]}


node_type: n8n-nodes-whatsable.whatsAble
package_name: n8n-nodes-whatsable
display_name: WhatsAble
description: Send & Schedule WhatsApp messages using the official WhatsApp API and have human/AI collaboration
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: whatsabledev
author_github_url: https://github.com/Whatsable/
npm_package_name: n8n-nodes-whatsable
npm_version: 2.4.4
community_fetched_at: 2026-03-25T21:19:40.544Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send Message",
          "value": "sendMessage"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendWhatsAppMessage",
      "options": [
        {
          "name": "Send WhatsApp Message",
          "value": "sendWhatsAppMessage",
          "action": "Send whatsapp message",
          "description": "Send WhatsApp messages immediately"
        },
        {
          "name": "Schedule WhatsApp Message",
          "value": "scheduleWhatsAppMessage",
          "action": "Schedule whatsapp message",
          "description": "Schedule WhatsApp messages for later delivery"
        },
        {
          "name": "Send WhatsApp Message to a Group",
          "value": "sendWhatsAppMessageToGroup",
          "action": "Send whatsapp message to a group",
          "description": "Send WhatsApp messages to a group"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sendMessage"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send WhatsApp Message",
      "value": "sendWhatsAppMessage",
      "action": "Send whatsapp message",
      "description": "Send WhatsApp messages immediately"
    },
    {
      "name": "Schedule WhatsApp Message",
      "value": "scheduleWhatsAppMessage",
      "action": "Schedule whatsapp message",
      "description": "Schedule WhatsApp messages for later delivery"
    },
    {
      "name": "Send WhatsApp Message to a Group",
      "value": "sendWhatsAppMessageToGroup",
      "action": "Send whatsapp message to a group",
      "description": "Send WhatsApp messages to a group"
    }
  ]

npm_readme:
  <p align="center">
    <img src="https://d1pnnwteuly8z3.cloudfront.net/images/acc1c175-2e05-4bab-805e-64536550fa04/393f0ca5-e904-41f3-8eee-b2dab6bd4e0d.png" alt="WhatsAble Logo" width="160"/>
  </p>

  [![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE.md)

  ## Table of Contents

  - [Overview](#overview)
  - [Installation](#installation)
  - [Authentication](#authentication)
  - [Features](#features)
  - [How to Use WhatsAble Action Node](#how-to-use-whatsable-action-node)
  - [How to Use WhatsAble Trigger Node](#how-to-use-whatsable-trigger-node)
  - [How to Use Notifier Action Node](#how-to-use-notifier-action-node)
  - [How to Use Notifier Trigger Node](#how-to-use-notifier-trigger-node)
  - [How to Use Notifyer System Action Node](#how-to-use-notifyer-system-action-node)
  - [How to Use Notifyer System Trigger Node](#how-to-use-notifyer-system-trigger-node)
  - [Common Use Cases](#common-use-cases)
  - [Best Practices](#best-practices)
  - [Support](#support)
  - [License](#license)
  - [Resources](#resources)

  ---

  # n8n-nodes-whatsable

  This is an [n8n](https://n8n.io/) community node for integrating with the WhatsAble Suite, providing powerful WhatsApp messaging automation capabilities.

  ---

  ## Overview

  The WhatsAble Suite offers a comprehensive set of messaging tools that integrate seamlessly with n8n, enabling powerful automation workflows for businesses of all sizes. The suite comprises three powerful messaging platforms:

  ### WhatsAble
  - Ideal for small businesses and startups
  - Simple integration with n8n
  - Basic media support
  - Subscription-based pricing
  - 7-day free trial
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ### Notifier by WhatsAble
  - Perfect for medium-sized businesses
  - Enhanced template support
  - Standard media capabilities
  - Flexible pricing options
  - Available free trial
  - [Documentation](https://docs.whatsable.app/guides/notifier/n8n)

  ### Notifyer System
  - Enterprise-grade solution
  - Advanced template capabilities
  - Full media support
  - Enterprise pricing
  - Try for free with 2 numbers
  - [Documentation](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## Installation

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

  ---

  ## Authentication

  To use this node, you need to have an API key from your chosen WhatsAble Suite platform:

  1. Sign up at [WhatsAble](https://whatsable.app)
  2. Choose your platform (WhatsAble, Notifier, or Notifyer System)
  3. Complete the verification process
  4. Generate an API key from your platform's dashboard

  > **Note:** Keep your API key secure and never share it publicly.

  ---

  ## Features

  ### WhatsAble Node
  - Send messages
  - Send template messages (Via Notifyer System)
  - Send non-template messages
  - Schedule messages
  - Support for various media types
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ### WhatsAble Trigger Node
  - Receive incoming messages
  - Handle webhooks
  - Process notifications
  - Real-time message triggers
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use WhatsAble Action Node

  ### Prerequisites
  - An active WhatsAble subscription
  - Access to n8n workflow automation platform
  - A verified WhatsApp number in your WhatsAble dashboard

  ### Setup Process

  1. **Subscribe to WhatsAble**
     - Log in to your WhatsAble dashboard
     - Click the Subscribe button
     - Start your 7-day free trial
     - Note: After trial, pricing is $8.99 per month per phone number
  2. **Add and Verify Phone Number**
     - Navigate to Verified Numbers in your dashboard
     - Click Add New Number
     - Enter your phone number (with country code)
     - Complete the WhatsApp verification process
     - Note: Only first number needs verification
  3. **Get Your API Key**
     - Go to API Keys in your WhatsAble dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your WhatsAble API key
     - Name your credential (e.g., "WhatsAble Production")
     - Click Save
  5. Configure message settings:
     - Select "Send Message (WhatsAble)" operation
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  For detailed documentation, visit [WhatsAble n8n Integration Guide](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use WhatsAble Trigger Node

  ### Prerequisites
  - An active WhatsAble subscription
  - Access to n8n workflow automation platform
  - A verified WhatsApp number in your WhatsAble dashboard

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the WhatsAble Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the WhatsAble Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your WhatsAble API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [WhatsAble n8n Integration Guide](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use Notifier Action Node

  ### Prerequisites
  - An active Notifier account (Monthly or Pay-as-you-go plan)
  - Access to n8n workflow automation platform
  - Business information ready for configuration

  ### Setup Process

  1. **Configure Business Information**
     - Log in to your Notifier dashboard
     - Navigate to Business Information
     - Complete required fields
     - Verify your WhatsApp number with the code sent
  2. **Get Your API Key**
     - Go to API Keys in your Notifier dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your Notifier API key
     - Name your credential (e.g., "Notifier Production")
     - Click Save
  5. Configure message settings:
     - Select "Send Message (Notifier)" operation
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  ### Example Workflows with Notifier
  - Lead Nurturing: Trigger on form submission, send personalized welcome, schedule follow-ups
  - Order Confirmations: Trigger on order status change, send update with details
  - Event Reminders: Trigger on calendar event, send reminder with RSVP link
  - Customer Feedback: Trigger on purchase, send feedback request
  - Support Ticket Updates: Trigger on ticket status change, send update

  For detailed documentation, visit [Notifier n8n Integration Guide](https://docs.whatsable.app/guides/notifier/n8n)

  ---

  ## How to Use Notifier Trigger Node

  ### Prerequisites
  - An active Notifier account
  - Access to n8n workflow automation platform
  - Business information configured in Notifier

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the Notifier Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the Notifier Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your Notifier API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [Notifier n8n Integration Guide](https://docs.whatsable.app/guides/notifier/n8n)

  ---

  ## How to Use Notifyer System Action Node

  ### Prerequisites
  - An active Notifyer System account
  - Access to n8n workflow automation platform
  - Completed WhatsApp Business Platform embedding process

  ### Setup Process

  1. **Complete Platform Embedding**
     - Connect your WhatsApp Business account
     - Complete Meta's business verification
     - Ensure compliance with WhatsApp Business Platform policies
  2. **Set Up Message Templates**
     - Navigate to Templates in your dashboard
     - Create new templates and submit for review
  3. **Get Your API Key**
     - Go to API Keys in your Notifyer dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your Notifyer System API key
     - Name your credential (e.g., "Notifyer System Production")
     - Click Save
  5. Configure message settings:
     - Choose between template and non-template message operations
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  ### Example Workflows with Notifyer System
  - Order Confirmations: Trigger on new order, send template message with details
  - Appointment Reminders: Trigger on calendar event, send template message
  - Lead Notifications: Trigger on new CRM lead, send non-template message
  - Customer Support: Trigger on new support ticket, send template message
  - Delivery Updates: Trigger on shipping status change, send template message

  For detailed documentation, visit [Notifyer System n8n Integration Guide](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## How to Use Notifyer System Trigger Node

  ### Prerequisites
  - An active Notifyer System account
  - Access to n8n workflow automation platform
  - Completed WhatsApp Business Platform embedding process

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the Notifyer System Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the Notifyer System Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your Notifyer System API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [Notifyer System n8n Integration Guide](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## Common Use Cases

  - Lead Qualification: Automated follow-up, lead scoring, response tracking
  - Order Notifications: Confirmations, shipping updates, delivery notifications
  - Appointment Reminders: Automated reminders, confirmations, calendar integration
  - Customer Support: Ticket routing, automated responses, support updates
  - Payment Reminders: Invoice notifications, payment confirmations, subscription reminders

  ---

  ## Support

  For technical support and assistance:

  - **Email Support**: Contact our dedicated support team
  - **Video Tutorials**: Watch step-by-step integration guides
  - **Implementation Help**: Get expert assistance with workflows

  For enterprise-level support or custom solutions, contact our solution engineers at team@whatsable.app

  ---

  ## License

  [MIT](LICENSE.md)

  ---

  ## Resources

  - [WhatsAble Website](https://whatsable.app)
  - [n8n Documentation](https://docs.n8n.io)
  - [WhatsAble Suite n8n Overview](https://docs.whatsable.app/n8n-overview)

  ---

  ## Running Locally

  To run and test this node on your local machine:

  1. **Clone the repository**
     ```bash
     git clone https://github.com/Whatsable/n8n-nodes-whatsable.git
     cd n8n-nodes-whatsable
     ```
  2. **Install dependencies**
     ```bash
     pnpm install
     ```
  3. **Build the project**
     ```bash
     pnpm build
     ```
  4. **Run tests**
     ```bash
     pnpm test
     ```
     > **Note:** Unit tests are included to ensure code quality. Please run tests before submitting a pull request.
  5. **Link the node to your local n8n instance**
     - If you are developing a custom node, you can use [n8n's community node development guide](https://docs.n8n.io/integrations/community-nodes/create/) to link your node for local testing.
     - Typically, you can run:
       ```bash
       pnpm link --global
       cd ~/.n8n/custom
       pnpm link --global n8n-nodes-whatsable
       ```
     - Restart your n8n instance to load the custom node.
  6. **Test your node**
     - Open n8n in your browser (usually at `http://localhost:5678`)
     - Create a workflow and add your custom node to test its functionality

  > **Note:** Make sure you have [Node.js](https://nodejs.org/) and [pnpm](https://pnpm.io/) installed on your machine.

  ---

  ## Contributing

  We welcome contributions from the community! To contribute:

  1. **Fork the repository**: [https://github.com/Whatsable/n8n-nodes-whatsable](https://github.com/Whatsable/n8n-nodes-whatsable)
  2. **Create a new branch** for your feature or bugfix:
     ```bash
     git checkout -b feature/your-feature-name
     ```
  3. **Make your changes** and ensure code quality:
     - Follow the existing code style
     - Add or update documentation as needed
     - Run linter and tests before submitting
  4. **Commit your changes**
     ```bash
     git commit -m "Add your message here"
     ```
  5. **Push to your fork**
     ```bash
     git push origin feature/your-feature-name
     ```
  6. **Open a Pull Request**
     - Go to the GitHub page for your fork
     - Click "Compare & pull request"
     - Describe your changes and submit the PR

  ### Reporting Issues
  - If you find a bug or have a feature request, please [open an issue](https://github.com/Whatsable/n8n-nodes-whatsable/issues) with details and steps to reproduce.

  ### Code of Conduct
  - Please be respectful and follow our [Code of Conduct](CODE_OF_CONDUCT.md) when participating in this project.

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of WhatsApp messaging by integrating with the WhatsAble Suite, supporting sending, scheduling, and receiving messages across three tiers: WhatsAble, Notifier, and Notifyer System.","capabilities":["Send text messages","Send scheduled messages","Send media messages","Send template messages (Notifyer System only)","Receive incoming messages via webhooks","Process notifications","Create credentials for API authentication"],"authentication":"API key required","commonUseCases":["Automated customer support responses","Scheduled promotional campaigns","Order confirmations and notifications","Lead follow-up sequences","Two-factor authentication verification"],"limitations":["WhatsAble tier has basic media support only","Notifier requires business information configuration","Notifyer System requires enterprise pricing for full features","WhatsAble free trial is limited to 7 days","Webhook URLs must be configured manually for trigger nodes"],"relatedNodes":["HTTP Request","Webhook","Schedule Trigger","If","Wait"]}


node_type: @mookielianhd/n8n-nodes-instagram.instagram
package_name: @mookielianhd/n8n-nodes-instagram
display_name: Instagram
description: Publish media to Instagram using Facebook Graph API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: mookielian
author_github_url: https://github.com/MookieLian/n8n-nodes-instagram.git
npm_package_name: @mookielianhd/n8n-nodes-instagram
npm_version: 3.4.0
community_fetched_at: 2026-03-25T21:19:40.544Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Auth",
          "value": "auth",
          "description": "Exchange and refresh Instagram access tokens; call /me"
        },
        {
          "name": "Carousel",
          "value": "carousel",
          "description": "Publish a carousel (album) post with up to 10 images or videos"
        },
        {
          "name": "Comment",
          "value": "comments",
          "description": "Moderate comments on Instagram media"
        },
        {
          "name": "IG Hashtag",
          "value": "igHashtag",
          "description": "Search hashtags and fetch top or recent media for a hashtag"
        },
        {
          "name": "IG User",
          "value": "igUser",
          "description": "Read profile and media for an Instagram Business or Creator account"
        },
        {
          "name": "Image",
          "value": "image",
          "description": "Publish image posts to Instagram"
        },
        {
          "name": "Messaging",
          "value": "messaging",
          "description": "Send direct messages via the Instagram Messaging API"
        },
        {
          "name": "Page",
          "value": "page",
          "description": "Work with the connected Facebook Page and its Instagram account"
        },
        {
          "name": "Reel",
          "value": "reels",
          "description": "Publish Reels videos to Instagram"
        },
        {
          "name": "Story",
          "value": "stories",
          "description": "Publish story videos to Instagram"
        }
      ],
      "required": true,
      "description": "Select what you want to do with the Instagram API",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "publish",
      "options": [
        {
          "name": "Publish",
          "value": "publish",
          "action": "Publish",
          "description": "Publish the selected media type (image, reel, or story) to Instagram"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image",
            "reels",
            "stories"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getInstagramAccount",
      "options": [
        {
          "name": "Get Instagram Account",
          "value": "getInstagramAccount",
          "action": "Get instagram account",
          "description": "Get the Instagram business/creator account connected to a Facebook Page"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "page"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "publish",
      "options": [
        {
          "name": "Publish",
          "value": "publish",
          "action": "Publish",
          "description": "Publish a carousel (album) post with up to 10 images or videos"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "carousel"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Delete",
          "value": "deleteComment",
          "action": "Delete a comment",
          "description": "Delete a comment from an Instagram media object"
        },
        {
          "name": "Disable Comments",
          "value": "disableComments",
          "action": "Disable comments on media",
          "description": "Disable comments on an Instagram media object"
        },
        {
          "name": "Enable Comments",
          "value": "enableComments",
          "action": "Enable comments on media",
          "description": "Enable comments on an Instagram media object"
        },
        {
          "name": "Hide",
          "value": "hideComment",
          "action": "Hide a comment",
          "description": "Hide a comment from an Instagram media object"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List comments",
          "description": "List comments on an Instagram media object"
        },
        {
          "name": "Send Private Reply",
          "value": "sendPrivateReply",
          "action": "Send a private reply",
          "description": "Send a private reply message to a commenter using the comment ID"
        },
        {
          "name": "Unhide",
          "value": "unhideComment",
          "action": "Unhide a comment",
          "description": "Unhide a previously hidden comment"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "comments"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get IG user",
          "description": "Get basic profile information for an Instagram Business or Creator account"
        },
        {
          "name": "Get Media",
          "value": "getMedia",
          "action": "Get media",
          "description": "List media objects owned by an Instagram Business or Creator account"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "igUser"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "refreshAccessToken",
      "options": [
        {
          "name": "Exchange Access Token",
          "value": "exchangeAccessToken",
          "action": "Exchange short lived token",
          "description": "Exchange a short-lived Instagram User access token for a long-lived token using the Instagram Platform access token endpoint"
        },
        {
          "name": "Get Me",
          "value": "getMe",
          "action": "Get me profile",
          "description": "Call the Graph API /me endpoint using the access token from the Instagram API credential"
        },
        {
          "name": "Refresh Access Token",
          "value": "refreshAccessToken",
          "action": "Refresh access token",
          "description": "Refresh a long-lived Instagram User access token using the Instagram Platform refresh endpoint"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "auth"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search hashtags",
          "description": "Search for a hashtag by name and return its ID"
        },
        {
          "name": "Get Recent Media",
          "value": "getRecentMedia",
          "action": "Get recent media for hashtag",
          "description": "Get the most recent media tagged with a hashtag"
        },
        {
          "name": "Get Top Media",
          "value": "getTopMedia",
          "action": "Get top media for hashtag",
          "description": "Get the most popular media tagged with a hashtag"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "igHashtag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send Message",
          "value": "sendMessage",
          "action": "Send direct message",
          "description": "Send a text message to an Instagram user via the Messaging API"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "messaging"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Publish",
      "value": "publish",
      "action": "Publish",
      "description": "Publish the selected media type (image, reel, or story) to Instagram"
    },
    {
      "name": "Get Instagram Account",
      "value": "getInstagramAccount",
      "action": "Get instagram account",
      "description": "Get the Instagram business/creator account connected to a Facebook Page"
    },
    {
      "name": "Publish",
      "value": "publish",
      "action": "Publish",
      "description": "Publish a carousel (album) post with up to 10 images or videos"
    },
    {
      "name": "Delete",
      "value": "deleteComment",
      "action": "Delete a comment",
      "description": "Delete a comment from an Instagram media object"
    },
    {
      "name": "Disable Comments",
      "value": "disableComments",
      "action": "Disable comments on media",
      "description": "Disable comments on an Instagram media object"
    },
    {
      "name": "Enable Comments",
      "value": "enableComments",
      "action": "Enable comments on media",
      "description": "Enable comments on an Instagram media object"
    },
    {
      "name": "Hide",
      "value": "hideComment",
      "action": "Hide a comment",
      "description": "Hide a comment from an Instagram media object"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List comments",
      "description": "List comments on an Instagram media object"
    },
    {
      "name": "Send Private Reply",
      "value": "sendPrivateReply",
      "action": "Send a private reply",
      "description": "Send a private reply message to a commenter using the comment ID"
    },
    {
      "name": "Unhide",
      "value": "unhideComment",
      "action": "Unhide a comment",
      "description": "Unhide a previously hidden comment"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get IG user",
      "description": "Get basic profile information for an Instagram Business or Creator account"
    },
    {
      "name": "Get Media",
      "value": "getMedia",
      "action": "Get media",
      "description": "List media objects owned by an Instagram Business or Creator account"
    },
    {
      "name": "Exchange Access Token",
      "value": "exchangeAccessToken",
      "action": "Exchange short lived token",
      "description": "Exchange a short-lived Instagram User access token for a long-lived token using the Instagram Platform access token endpoint"
    },
    {
      "name": "Get Me",
      "value": "getMe",
      "action": "Get me profile",
      "description": "Call the Graph API /me endpoint using the access token from the Instagram API credential"
    },
    {
      "name": "Refresh Access Token",
      "value": "refreshAccessToken",
      "action": "Refresh access token",
      "description": "Refresh a long-lived Instagram User access token using the Instagram Platform refresh endpoint"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search hashtags",
      "description": "Search for a hashtag by name and return its ID"
    },
    {
      "name": "Get Recent Media",
      "value": "getRecentMedia",
      "action": "Get recent media for hashtag",
      "description": "Get the most recent media tagged with a hashtag"
    },
    {
      "name": "Get Top Media",
      "value": "getTopMedia",
      "action": "Get top media for hashtag",
      "description": "Get the most popular media tagged with a hashtag"
    },
    {
      "name": "Send Message",
      "value": "sendMessage",
      "action": "Send direct message",
      "description": "Send a text message to an Instagram user via the Messaging API"
    }
  ]

npm_readme:
  ![Banner image](assets/banner_instagram_node.jpeg)

  # @mookielianhd/n8n-nodes-instagram

  This package’s Instagram nodes for n8n let you publish and manage content, moderate comments, send DMs, and react to real-time events (comments, messages, mentions, story insights, etc.) on Instagram Business and Creator accounts via the Facebook/Instagram Graph API.

  All functionality is built on the Facebook/Instagram Graph API, including media publishing (images, Reels, Stories, carousels), comment moderation, private replies, messaging, hashtag search, IG User/Page helpers, and webhook-based triggers for Business and Creator accounts.

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

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

  ## Installation

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

  ## Operations

  The node exposes several resources:

  | Resource | Description |
  | --- | --- |
  | `Image` | Publish a single image with an optional caption. Uses the two-step container → publish flow. Supports alt text, location, user tags, and product tags. |
  | `Reels` | Publish a reel video. Handles container polling until the video is processed before publishing. Supports product tags and **Trial Reels** via `trial_params`. |
  | `Stories` | Publish a story video using the same logic as reels with `media_type=STORIES`. |
  | `Carousel` | Publish a carousel (album) post with up to 10 images and/or videos. The node creates child containers, builds a carousel container, waits for it to be ready, then publishes it. Includes detailed per-item error reporting and progress messages. |
  | `Comments` | List comments on media, hide/unhide or delete individual comments, disable/enable comments on media, and send **private replies** to commenters. |
  | `IG User` | Read basic profile data for an Instagram Business/Creator account and list its media using the IG User Graph API. |
  | `IG Hashtag` | Search for hashtags by name and fetch top or recent media for a hashtag with paging and limit/return-all support. |
  | `Messaging` | Send direct messages (DMs) to Instagram users via the Instagram Messaging API. |
  | `Page` | Given a Facebook Page ID, fetch the connected Instagram Business/Creator account (`instagram_business_account`). |
  | `Auth` | Exchange short-lived Instagram User tokens for long-lived tokens, refresh long-lived tokens, and call the Graph API `/me` endpoint. |
  | **Instagram Trigger** | **Trigger:** receive real-time webhook events from Meta (comments, messages, mentions, story insights, etc.) and run a workflow for each event. Requires a separate **Instagram Webhook** credential (App Secret) and Meta App Dashboard webhook configuration. |

  ## Credentials

  Create an **Instagram API** credential that stores a long-lived Facebook Graph API user access token with at least:

  * `instagram_basic`
  * `pages_show_list`
  * `instagram_content_publish`
  * `pages_read_engagement`
  * `instagram_manage_comments` (or `instagram_business_manage_comments` if using Instagram Login)
  Steps:

  1. Make sure the Instagram account is a Business/Creator account connected to a Facebook Page.  
  2. Use Meta’s Graph Explorer or your own app to generate an access token that includes the scopes listed above.  
  3. Convert it to a long-lived token and paste it into the credential’s **Access Token** field.  
  4. The built-in credential test hits `https://graph.facebook.com/v22.0/me` to confirm the token works.

  ### Instagram Webhook Trigger credentials

  For the **Instagram Trigger** node you need a separate **Instagram Webhook** credential that stores your Meta **App Secret** (from App Dashboard → Settings → Basic). The App Secret is used to verify the `X-Hub-Signature-256` header on incoming webhook POSTs from Meta. The **Verify Token** is set in the node parameters (see below) and must match the value you enter in the Meta App Dashboard when configuring the webhook URL.

  ## Instagram Webhook Trigger

  This package’s Instagram nodes for n8n let you publish and manage content, moderate comments, send DMs, and react to real-time events (comments, messages, mentions, story insights, etc.) on Instagram Business and Creator accounts via the Facebook/Instagram Graph API.

  The **Instagram Trigger** node listens for real-time webhook events from Meta and starts a workflow when an event is received.

  ### Setup

  1. **Create the credential**  
     Add an **Instagram Webhook** credential and enter your Meta **App Secret** (from your app’s Settings → Basic in the Meta App Dashboard).

  2. **Add the trigger to your workflow**  
     Add the **Instagram Trigger** node. Set **Verify Token** to any string you will use in the Meta Dashboard (e.g. a random secret). Copy the **Webhook URL** shown in the node (Production or Test URL).

  3. **Configure Webhooks in Meta App Dashboard**  
     - In [Meta for Developers](https://developers.facebook.com/), open your app and go to **Webhooks** (or add the Webhooks product).  
     - For **Instagram**, set:  
       - **Callback URL**: paste the n8n Webhook URL from the trigger node.  
       - **Verify Token**: the same string you set in the node’s **Verify Token** parameter.  
     - Subscribe to the Instagram fields you need (e.g. `comments`, `messages`, `mentions`, `story_insights`).  
     - Save. Meta will send a GET request to your URL; the node responds with the challenge so verification succeeds.

  4. **Optional: filter events**  
     Use **Events to Include** on the node to pass only selected event types (e.g. only `messages` and `mentions`) to the workflow. If left empty, all received events are output.

  Each event is output as an item with `object`, `field`, `value`, `id`, `time` and the raw change payload, so you can use the **Instagram** node (e.g. Messaging, Comments) in the same workflow to reply or moderate. To return a custom response to the caller instead of the default 200 OK, add a **Respond to Webhook** node after the trigger.

  ## Compatibility

  - Built and tested against **n8n 2.6.x–2.8.x**.  
  - Declares a peer dependency on **`n8n-workflow >=2.6.1`** (the first secure stream-enabled version suggested by Snyk).  
  - Requires n8n with community nodes enabled (recommended `>=2.x`).  
  - Uses only built-in n8n dependencies, so it is Cloud-compatible.

  ## Usage

  ### Publishing media (Image / Reels / Stories)

  1. Add the **Instagram** node to your workflow and select one of the resources (`Image` / `Reels` / `Stories`).  
  2. Provide the Instagram Business Account ID (the `Node` parameter), media URL and caption.  
  3. The node first creates the media container, polls Graph API until processing completes, then triggers `media_publish`.  
  4. For long-running uploads (large videos), the node uses robust polling and retry logic and surfaces progress via the n8n execution logs (for example, when publishing Reels or Trial Reels).  
  5. Handle any errors returned by the API (rate limits, permissions, validation) via the node’s error output or `Continue On Fail`.

  ### Publishing carousel posts (Carousel)

  1. Add the **Instagram** node and set **Resource** to `Carousel`, **Operation** to `Publish`.  
  2. Provide:
     - `Node` – the IG User ID to publish from.  
     - `Graph API Version` – for example `v24.0`.  
     - `Caption` – the carousel caption.  
     - `Carousel Media` – 2–10 items, each with:
       - `Media Type` – `Image` or `Video`.  
       - `Image URL` or `Video URL` – public URLs Meta can fetch.  
  3. The node:
     - Creates one child container per image/video (`is_carousel_item=true` for each).  
     - Waits for each child container to become ready.  
     - Creates a carousel container (`media_type=CAROUSEL`, `children=<child_ids>`) with the caption.  
     - Waits for the carousel container to be ready, then calls `/{ig-user-id}/media_publish`.  
  4. Errors during any step are annotated with **which child item failed** (for example, “Carousel item 3 (video)…”), making it easier to debug problematic URLs.

  ### Comment moderation and private replies (Comments)

  1. Add the **Instagram** node and set **Resource** to `Comments`.  
  2. Choose an **Operation**:
     - `List` – fetch comments for a given media ID.  
     - `Hide` / `Unhide` / `Delete` – moderate a specific comment by its comment ID.  
     - `Disable Comments` / `Enable Comments` – toggle comments on a media object by its media ID.  
     - `Send Private Reply` – send a private reply message to a commenter using their comment ID.  
  3. Provide the required IDs:
     - `Media ID` for listing comments or enabling/disabling comments.  
     - `Comment ID` for hide/unhide/delete/private reply operations.  
  4. For **Send Private Reply**, also fill in:
     - `Node` – the Instagram professional account ID that owns the commented media.  
     - `Message` – the private reply text that will be sent to the commenter’s inbox/request folder (subject to the 7‑day and messaging window rules defined by Meta).  

  ### Reading IG User profile and media (IG User)

  1. Add the **Instagram** node and set **Resource** to `IG User`.  
  2. Choose an **Operation**:
     - `Get` – fetch basic profile information for an Instagram Business/Creator account (username, name, bio, website, media_count, followers/follows, profile picture URL).  
     - `Get Media` – list media owned by that account, including media type, URLs, caption, permalink, timestamp and username.  
  3. Provide:
     - `Node` – the IG User ID of the professional account you want to read (or `me` if your credential token belongs to that account).  
     - `Graph API Version` – the Graph version to use (for example `v24.0`).  

  ### Searching hashtags and fetching hashtag media (IG Hashtag)

  1. Add the **Instagram** node and set **Resource** to `IG Hashtag`.  
  2. Choose an **Operation**:
     - `Search` – look up a hashtag by name and get its global hashtag ID.  
     - `Get Recent Media` – get the most recently published media tagged with a hashtag.  
     - `Get Top Media` – get the most popular media tagged with a hashtag.  
  3. For **Search**, provide:
     - `Node` – the IG User ID performing the query.  
     - `Hashtag Name` – the hashtag name, without `#`.  
  4. For **Get Recent Media** / **Get Top Media**, provide:
     - `Node` – the IG User ID performing the query.  
     - `Hashtag ID` – the ID returned from the search operation.  
     - `Return All` / `Limit` – choose whether to fetch all available media (within a safety cap) or only up to a limit.  

  ### Sending direct messages (Messaging)

  1. Add the **Instagram** node and set **Resource** to `Messaging`.  
  2. Choose **Operation** `Send Message`.  
  3. Provide:
     - `Node` – the IG professional account ID that will send the message.  
     - `Graph API Version` – the Graph version to use (for example `v24.0`).  
     - `Recipient IG User ID` – the Instagram-scoped user ID (IGSID) of the recipient, typically obtained from Messaging webhook events.  
     - `Message Text` – the text body of the direct message.  

  ### Token exchange, refresh and `/me` (Auth)

  1. Add the **Instagram** node and set **Resource** to `Auth`.  
  2. Choose an **Operation**:
     - `Exchange Access Token` – exchange a **short-lived** Instagram User access token for a **long-lived** token.  
     - `Refresh Access Token` – refresh an existing long-lived token using the Instagram Platform refresh endpoint.  
     - `Get Me` – call the Graph API `/me` endpoint using the `instagramApi` credential’s access token.  
  3. For **Exchange Access Token**, provide:
     - `Short-Lived Access Token` – the short-lived token from your login flow.  
     - `App Secret` – the Instagram App Secret from your Meta App Dashboard.  
  4. For **Refresh Access Token**, optionally provide:
     - `Access Token` – the long-lived token to refresh. Leave empty to use the token from the credential.  
  5. For **Get Me**, the node uses a fixed, versioned `/me` URL under the hood and does **not** depend on any UI parameters, so older workflows remain compatible.

  ### Getting the Instagram account for a Facebook Page (Page)

  1. Add the **Instagram** node and set **Resource** to `Page`, **Operation** to `Get Instagram Account`.  
  2. Provide:
     - `Graph API Version` – for example `v24.0`.  
     - `Page ID` – the Facebook Page ID that is linked to your Instagram professional account.  
  3. The node calls:
     - `GET /{page-id}?fields=instagram_business_account`
     and returns the `instagram_business_account` object (including the Instagram User ID) so you can feed it into other resources (Image/Reels/Stories/Carousel/IG User).

  ### Trial Reels (Reels with `trial_params`)

  1. Add the **Instagram** node and set **Resource** to `Reels`, **Operation** to `Publish`.  
  2. Under **Additional Fields**, set **Trial Reel – Graduation Strategy**:
     - `MANUAL` – you will decide in the Instagram app when (or if) to graduate the trial reel.  
     - `SS_PERFORMANCE` – Instagram will automatically graduate the trial reel if it performs well.  
  3. The node sends a `trial_params` JSON object in the create-container request, as documented in the IG User Media reference.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)  
  * [Instagram Graph API - Publishing](https://developers.facebook.com/docs/instagram-api/reference/ig-user/media)  
  * [Video/Reels publishing guide](https://developers.facebook.com/docs/instagram-api/guides/content-publishing/reels/)  
  * [Comment Moderation](https://developers.facebook.com/docs/instagram-platform/comment-moderation)  
  * [Private Replies](https://developers.facebook.com/docs/instagram-platform/private-replies)  
  * [IG User](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user)  
  * [IG Hashtag Search](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-hashtag-search/)  
  * [IG Hashtag Recent Media](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-hashtag/recent-media/)  
  * [IG Hashtag Top Media](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-hashtag/top-media/)  
  * [Instagram Messaging API](https://developers.facebook.com/docs/messenger-platform/instagram/features/)  
  * [Instagram Platform Access Token](https://developers.facebook.com/docs/instagram-platform/reference/access_token/)  
  * [Instagram Platform Refresh Access Token](https://developers.facebook.com/docs/instagram-platform/reference/refresh_access_token/)  
  * [Instagram Platform /me](https://developers.facebook.com/docs/instagram-platform/reference/me/)  
  * [Webhooks from Meta (getting started)](https://developers.facebook.com/docs/graph-api/webhooks/getting-started)  
  * [Instagram webhook reference](https://developers.facebook.com/docs/graph-api/webhooks/reference/instagram)

  ## Version history

  | Version | Notes |
  | --- | --- |
  | 3.1.1 | Fixes overlapping description text in the node UI; documentation/layout-only cleanup with no runtime behavior changes. |
  | 3.1.0 | Sets `skipSignatureVerification` to `true` by default for the Instagram Trigger node and ensures webhook executions are correctly registered. |
  | 3.0.0 | Introduces the Instagram Trigger node for webhook-based events (comments, messages, mentions, story insights) and updates underlying dependencies. |
  | 2.6.2 | Documentation-only release. Adds or updates `CONTRIBUTING.md` contributor guidance and refreshes this README to reflect recent changes; does not modify runtime behavior or node functionality. |
  | 2.6.1 | Patch release that keeps all execution-time, polling and error-reporting improvements from 2.6.0 and updates docs/readme to reflect the current behavior and supported resources. |
  | 2.6.0 | Shortens polling intervals across resources, adds general execution time optimizations, introduces URL validation before making Graph API calls, and adds more detailed error messages to make debugging easier. |
  | 2.5.4 | Further shortens the container health polling interval in the **Reels** resource to reduce average execution time when publishing videos. |
  | 2.5.3 | Adds `CODE_OF_CONDUCT.md` and `LICENSE`. This is a documentation/compliance update and does not change runtime behavior. |
  | 2.5.2 | Bumps the required `n8n-workflow` peer dependency to `>=2.6.1` to address security advisories (arbitrary file upload, RCE, prototype pollution, etc.) and updates the README to describe the latest features. |
  | 2.5.1 | Introduces the `Page` resource to retrieve the connected Instagram Business/Creator account for a Facebook Page and adds the **Trial Reel – Graduation Strategy** option for Reels (via `trial_params`), alongside the first stable release of Carousel publishing, extended tagging options, and streaming-style progress messages. |
  | 2.4.0 | Adds `IG Hashtag` (search, recent media, top media), `Messaging` (send DMs), and `Auth` helpers for token exchange/refresh and `/me`. |
  | 2.3.0 | Adds `Comments` resource with comment moderation (list/hide/unhide/delete, enable/disable comments) and **Private Replies** support, and an `IG User` resource for reading profile data and listing media. |
  | 2.2.0 | Improves publishing UX and adds alt text, location ID, user tags, and product tags support for media publishing. |
  | 2.1.0 | Stable release of Instagram publishing (Image/Reels/Stories) using the container → publish flow with robust polling and error handling. |
  | 0.1.0 | Initial release with Image, Reels and Stories publishing & built-in container polling. |

ai_documentation_summary:
  {"purpose":"This n8n node package enables publishing media, managing comments, sending DMs, and reacting to real-time events on Instagram Business and Creator accounts via the Facebook/Instagram Graph API.","capabilities":["Publish single images with captions, alt text, location, and tags","Publish Reels and Stories with product tags and trial support","Publish carousels (albums) with up to 10 media items","List, hide, delete, and moderate comments on media","Send private replies to commenters","Read profile data and list media for IG User accounts","Search hashtags and fetch top or recent media","Send direct messages (DMs) to users","Fetch connected Instagram accounts from Facebook Page IDs","Manage authentication tokens (short-lived to long-lived exchange)"],"authentication":"Long-lived Facebook Graph API user access token with specific scopes (instagram_basic, pages_show_list, instagram_content_publish, pages_read_engagement, instagram_manage_comments); Webhook triggers require Meta App Secret.","commonUseCases":["Automated social media posting schedules for images, reels, and carousels","Automated comment moderation and private replies","Real-time monitoring and workflow triggers for new comments or messages","Hashtag research and content discovery","Direct messaging automation for customer engagement"],"limitations":["Requires Instagram Business or Creator account connected to a Facebook Page","Webhook triggers require manual configuration in Meta App Dashboard","Carousel publishing requires handling container polling and child container creation","Reels and Stories require container polling before publishing"],"relatedNodes":["n8n Webhook","n8n Facebook","n8n HTTP Request"]}


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

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

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

npm_readme:
  # @crowdin/n8n-nodes-crowdin

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

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

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

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

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

  ## Installation

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

  ## Nodes

  This package includes the following nodes:

  ### Action Nodes

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

  ### Trigger Nodes

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

  ## Operations

  ### Common Resources

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

  ### Crowdin-Specific Resources

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

  ### Crowdin Enterprise-Specific Resources

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

  ### Trigger Events

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

  #### Account/Organization Events

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

  #### Project Events

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

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

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

  #### Source String Events

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

  #### String Comment/Issue Events

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

  #### Suggested Translation Events

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

  #### Task Events

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

  ## Credentials

  This node supports two authentication methods:

  ### OAuth2 (Recommended)

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

  ### Personal Access Token

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

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

  ## Compatibility

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

  ## Usage

  ### File-Based vs String-Based Projects

  Crowdin supports two types of projects:

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

  Choose the appropriate node based on your project type.

  ### Crowdin vs Crowdin Enterprise

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

  ### Example Workflow: Sync Translations

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

  ### Using with AI Agents

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

  ## Workflow Templates

  This package includes ready-to-use workflow templates:

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

  ## Resources

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

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"This n8n community node allows users to interact with Crowdin's cloud-based localization platform to manage translations, files, and projects for software, mobile apps, and content.","capabilities":["File-based project management","String-based project management","Enterprise project management","AI-powered translation assistance","File upload and localization management","Multi-language support (300+ languages)","Translation memory and glossary management","Machine translation engine configuration","Translation status tracking and reporting","Webhook configuration for project events"],"authentication":"API key required","commonUseCases":["Automating translation workflows for software localization","Managing multi-language content for websites and marketing","Integrating AI translation into development pipelines","Tracking translation progress and quality","Automating project creation and deletion events"],"limitations":["Community node (requires n8n community license)","Requires valid Crowdin account with appropriate permissions","Some enterprise-specific features require Enterprise plan"],"relatedNodes":["Crowdin (String-Based)","Crowdin Enterprise (File-Based)","Crowdin Enterprise (String-Based)","Crowdin (File-Based) Trigger","Crowdin (String-Based) Trigger"]}


