Pluga Actions API
The Actions API from Pluga — 4 operation(s) for actions.
The Actions API from Pluga — 4 operation(s) for actions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/pluga:pluga-actions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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