Pluga Actions API

The Actions API from Pluga — 4 operation(s) for actions.

Operations 4

GET /actions/{action_id}/manifest.json Obter informações sobre a configuração de uma Action #
GET /actions/{action_id}/fields Obter campos para uma Action específica #
GET /actions/{action_id}/attributes Obter atributos para uma Action específica #
POST /actions/{action_id} Enviar dados para sua API #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pluga:pluga-actions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pluga-actions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pluga Developers Actions API
  version: 1.0.0
  description: 'Esta documentação é destinada a desenvolvedores que desejam integrar suas aplicações com a Pluga por meio da criação de uma API, seguindo os endpoints especificados a seguir.

    Para que possamos cadastrar os dados do seu aplicativo, bem como suas respectivas Actions e Triggers em nosso banco de dados, é necessário enviar um arquivo JSON para o e-mail integrations@pluga.co, seguindo a estrutura descrita abaixo:

    ```json

    {

    "app": {

    "id": "example_app",

    "base_url": "https://api.example.com"

    },

    "actions": [

    { "id": "action1_key" },

    { "id": "action2_key" }

    ],

    triggers: [

    { "id": "trigger1_key" },

    { "id": "trigger2_key" }

    ]

    }

    ```

    Os atributos acimas tem a seguinte finalidade:

    - `app`: Um objeto representando o aplicativo. Deve conter:

    - `id`: Identificador único do aplicativo (por exemplo, "example_app").

    - `base_url`: URL base da API do aplicativo (por exemplo, "https://api.example.com").

    - `actions`: Array de objetos representando as actions (ações) disponíveis no aplicativo. Cada objeto no array deve conter:

    - `id`: Identificador único da ação (por exemplo, "action1_key").

    - `triggers`: Array de objetos representando os triggers (gatilhos) disponíveis no aplicativo. Cada objeto no array deve conter:

    - `id`: Identificador único do gatilho (por exemplo, "trigger1_key").'
servers:
- url: '{server}'
  description: Your API Base URL
  variables:
    server:
      default: https://api.example.com/v1
      description: Base URL of your API
tags:
- name: Actions
paths:
  /actions/{action_id}/manifest.json:
    get:
      tags:
      - Actions
      summary: Obter informações sobre a configuração de uma Action
      parameters:
      - $ref: '#/components/parameters/action_id'
      responses:
        '200':
          $ref: '#/components/responses/successActionConfigResponse'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: getActionsByActionIdManifestJson
      x-operation-id-source: derived
  /actions/{action_id}/fields:
    get:
      tags:
      - Actions
      summary: Obter campos para uma Action específica
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/action_id'
      responses:
        '200':
          description: "A resposta contém um array de objetos representando os campos para a Action. Cada objeto no array inclui os seguintes componentes:\n  - `key`: Um identificador único para o campo (por exemplo, \"pipeline\").  É possível utilizar **<a href=\"https://en.wikipedia.org/wiki/Dot_notation\" target=\"_blank\" rel=\"noopener noreferrer\">dot notation</a>** para representar estruturas aninhadas, como <code>\"deal.pipeline\"</code>.\n  - `name`: Um objeto contendo os nomes localizados do campo.\n  - `description`: Um objeto contendo a descrição localizada sobre o campo, voltado para tirar dúvidas, ou indicar um padrão de envio de dados pelos clientes.\n  - `required`: Um indicador se o campo é obrigatório.\n  - `type`: O tipo do campo (por exemplo, \"integer\", \"decimal\", \"string\", \"datetime\", \"textarea\", \"dropdown\", \"dropdown_multiple\").\n\n**As seguintes propriedades são apenas para os tipos dropdown ou dropdown_multiple**:\n  - `options`: Usado quando o campo possui uma lista estática de opções. Deve ser um array de objetos com a seguinte estrutura:\n    - `label`: Um objeto contendo o nome localizado da opção.\n    - `value`: O valor a ser enviado para sua API.\n  - `helper_id`: Necessário quando as opções do campo devem ser buscadas dinamicamente na sua API. Deve conter o ID do endpoint que fornece as opções (por exemplo, \"pipelines_list\").\n  - `depends_on`: Um array de chaves de campos anteriores, indicando dependências se as opções do campo dependem do valor de outro campo.\n\nA resposta abaixo possui 3 exemplos de campos:\n  - Um campo padrão\n  - Um campo dropdown estático\n  - Um campo dropdown dinâmico\n"
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                  - $ref: '#/components/schemas/defaultField'
                  - $ref: '#/components/schemas/staticDropdownField'
                  - $ref: '#/components/schemas/dinamicDropdownField'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: getActionsByActionIdFields
      x-operation-id-source: derived
  /actions/{action_id}/attributes:
    get:
      tags:
      - Actions
      summary: Obter atributos para uma Action específica
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/action_id'
      responses:
        '200':
          description: "Este endpoint retorna um array de objetos representando os atributos disponíveis na resposta do POST da Action. <br>Cada objeto no array inclui os seguintes componentes:\n  - `key`: Um identificador único para o atributo.  É possível utilizar **<a href=\"https://en.wikipedia.org/wiki/Dot_notation\" target=\"_blank\" rel=\"noopener noreferrer\">dot notation</a>** para representar estruturas aninhadas, como <code>\"deal.pipeline\"</code>.\n  - `name`: Um objeto contendo os nomes localizados do atributo.\n"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    name:
                      type: object
                      properties:
                        pt_BR:
                          type: string
                        en:
                          type: string
                  required:
                  - key
                  - name
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: getActionsByActionIdAttributes
      x-operation-id-source: derived
  /actions/{action_id}:
    post:
      tags:
      - Actions
      summary: Enviar dados para sua API
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/action_id'
      description: Envia dados para sua API.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/postRequestExample'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/postResponseExample'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
      operationId: postActionsByActionId
      x-operation-id-source: derived
components:
  schemas:
    dinamicDropdownField:
      allOf:
      - $ref: '#/components/schemas/dynamicConfigField'
      - type: object
        properties:
          type:
            type: string
            example: dropdown | dropdown_multiple
        required:
        - key
        - name
        - type
        - helper_id
    dynamicConfigField:
      type: object
      description: Field description
      properties:
        key:
          type: string
          example: stage
        name:
          type: object
          properties:
            pt_BR:
              type: string
              example: Etapa do funil
            en:
              type: string
              example: Pipeline Stage
        description:
          type: object
          properties:
            pt_BR:
              type: string
              example: Escolha a etapa do funil onde o deal será criado
            en:
              type: string
              example: Choose the pipeline stage where the deal will be created
        required:
          type: boolean
        helper_id:
          type: string
          example: stages_list
          description: should be used when options should be requested from API
        depends_on:
          type: array
          description: should be used when a field depends on another field's value
          items:
            type: string
            example: pipeline
      required:
      - key
      - name
      - helper_id
    staticDropdownField:
      allOf:
      - $ref: '#/components/schemas/staticConfigField'
      - type: object
        properties:
          type:
            type: string
            example: dropdown | dropdown_multiple
        required:
        - key
        - name
        - type
        - options
    postResponseExample:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
    actionConfigExample:
      type: object
      properties:
        name:
          type: object
          properties:
            pt_BR:
              type: string
            en:
              type: string
        task_name:
          type: object
          properties:
            pt_BR:
              type: string
            en:
              type: string
        configuration_fields:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/staticConfigField'
            - $ref: '#/components/schemas/dynamicConfigField'
    staticConfigField:
      type: object
      description: Field description
      properties:
        key:
          type: string
          example: pipeline
        name:
          type: object
          properties:
            pt_BR:
              type: string
              example: Funil
            en:
              type: string
              example: Pipeline
        description:
          type: object
          properties:
            pt_BR:
              type: string
              example: Escolha o funil onde o deal será criado
            en:
              type: string
              example: Choose the pipeline where the deal will be created
        required:
          type: boolean
        options:
          type: array
          description: should be used when options are a static list
          items:
            type: object
            properties:
              label:
                type: object
                properties:
                  pt_BR:
                    type: string
                    example: Funil Padrão
                  en:
                    type: string
                    example: Default Pipeline
              value:
                type: string
                example: default
      required:
      - key
      - name
      - options
    postRequestExample:
      type: object
      properties:
        name:
          type: string
          example: person name
        email:
          type: string
        value:
          type: number
          format: float
          example: 100.17
    defaultField:
      type: object
      properties:
        key:
          type: string
          example: name
        name:
          type: object
          properties:
            pt_BR:
              type: string
              example: Nome
            en:
              type: string
              example: Name
        description:
          type: object
          properties:
            pt_BR:
              type: string
              example: Nome
            en:
              type: string
              example: Name
        required:
          type: boolean
        type:
          type: string
          example: integer | decimal | string | datetime | textarea
      required:
      - key
      - name
      - type
      - required
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Invalid request with information that helps to identify what's wrong
    NotFound:
      description: Not Found
    successActionConfigResponse:
      description: "A resposta contém um objeto representando a configuração da Action e deve incluir os seguintes componentes:\n  - `name`: Um objeto contendo os nomes localizados da Action.\n  - `task_name`: Um objeto contendo o nome da ação a ser feita pela Action, por exemplo: \"Quando uma nova linha for criada no Google Sheets, **criar/atualizar um negócio no HubSpot**\", a parte em negrito é o task_name. **Importante:** O task_name deve obrigatoriamente incluir o nome do aplicativo exatamente como está definido no atributo `name` do app.\n\n  - `configuration_fields`: Um array de campos necessários para a configuração da Action. **Importante:** Os campos definidos aqui não podem ter as mesmas chaves (`key`) que os campos definidos no endpoint `/actions/{action_id}/fields`. Cada campo pode ser um dos seguintes:\n    - `key`: Um identificador único para o campo (por exemplo, \"pipeline\").  É possível utilizar **<a href=\"https://en.wikipedia.org/wiki/Dot_notation\" target=\"_blank\" rel=\"noopener noreferrer\">dot notation</a>** para representar estruturas aninhadas, como <code>\"deal.pipeline\"</code>.\n    - `name`: Um objeto contendo os nomes localizados do campo. (por exemplo, \"pt_BR: Funil\", \"en: Pipeline\").\n    - `description`: Um objeto contendo a descrição localizada sobre o campo, voltado para tirar dúvidas, ou indicar um padrão de envio de dados pelos clientes.\n    - `required`: Um indicador se o campo é obrigatório.\n    - `type`: O tipo do campo de configuração pode ser \"dropdown\" ou \"dropdown_multiple\". No caso de poder selecionar mais de uma opção deve ser o tipo \"dropdown_multiple\". O valor padrão é \"dropdown\" caso o atributo não seja enviado.\n    - `options`: Usado quando o campo possui uma lista estática de opções. Deve ser um array de objetos com a seguinte estrutura:\n      - `label`: Um objeto contendo o nome localizado da opção.\n      - `value`: O valor a ser enviado para sua API.\n    - `helper_id`: Necessário quando as opções do campo devem ser buscadas dinamicamente na sua API. Deve conter o ID do endpoint que fornece as opções (por exemplo, \"pipelines_list\").\n    - `depends_on`: Um array de chaves de campos anteriores, indicando dependências se as opções do campo dependem do valor de outro campo.\n"
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/actionConfigExample'
  parameters:
    action_id:
      in: path
      name: action_id
      schema:
        type: string
      required: true
      description: Identificador único da Action (por exemplo, "upsert_deal")
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer