{
  "service": "paymo",
  "displayName": "Paymo",
  "categories": [
    "Productivity",
    "Finance"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "PAYMO_API_KEY",
      "description": "Paymo API key used as the Basic Auth username. Generate it from Paymo My Account: https://app.paymoapp.com/#Paymo.module.myaccount/",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.paymoapp.com",
  "actions": [
    {
      "id": "paymo.create_client",
      "service": "paymo",
      "name": "create_client",
      "description": "Create one Paymo client from a JSON client payload.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Paymo client fields to create or update, such as name, email, phone, website, or address fields."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for creating one Paymo client."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "client": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo client create response."
      }
    },
    {
      "id": "paymo.create_project",
      "service": "paymo",
      "name": "create_project",
      "description": "Create one Paymo project from a JSON project payload.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Paymo project fields to create or update, such as name, client_id, description, or workflow_id."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for creating one Paymo project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo project create response."
      }
    },
    {
      "id": "paymo.create_task",
      "service": "paymo",
      "name": "create_task",
      "description": "Create one Paymo task from a JSON task payload.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Paymo task fields to create or update, such as name, description, project_id, tasklist_id, users, complete, due_date, status_id, or priority."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for creating one Paymo task."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo task create response."
      }
    },
    {
      "id": "paymo.delete_client",
      "service": "paymo",
      "name": "delete_client",
      "description": "Delete one Paymo client by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for deleting one Paymo client."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the Paymo resource deletion request completed successfully."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo delete action result."
      }
    },
    {
      "id": "paymo.delete_project",
      "service": "paymo",
      "name": "delete_project",
      "description": "Delete one Paymo project by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for deleting one Paymo project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the Paymo resource deletion request completed successfully."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo delete action result."
      }
    },
    {
      "id": "paymo.delete_task",
      "service": "paymo",
      "name": "delete_task",
      "description": "Delete one Paymo task by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for deleting one Paymo task."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether the Paymo resource deletion request completed successfully."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo delete action result."
      }
    },
    {
      "id": "paymo.get_client",
      "service": "paymo",
      "name": "get_client",
      "description": "Get one Paymo client by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          },
          "include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo include expression for adding related content to the response."
          },
          "partial_include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo partial_include expression for adding lightweight related content."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for reading one Paymo resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "client": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo client detail response."
      }
    },
    {
      "id": "paymo.get_current_user",
      "service": "paymo",
      "name": "get_current_user",
      "description": "Get the Paymo user associated with the current API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The current Paymo user response."
      }
    },
    {
      "id": "paymo.get_project",
      "service": "paymo",
      "name": "get_project",
      "description": "Get one Paymo project by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          },
          "include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo include expression for adding related content to the response."
          },
          "partial_include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo partial_include expression for adding lightweight related content."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for reading one Paymo resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo project detail response."
      }
    },
    {
      "id": "paymo.get_task",
      "service": "paymo",
      "name": "get_task",
      "description": "Get one Paymo task by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          },
          "include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo include expression for adding related content to the response."
          },
          "partial_include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo partial_include expression for adding lightweight related content."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for reading one Paymo resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo task detail response."
      }
    },
    {
      "id": "paymo.list_clients",
      "service": "paymo",
      "name": "list_clients",
      "description": "List Paymo clients with optional where and include query parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "where": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo where filter expression to forward to the listing endpoint."
          },
          "include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo include expression for adding related content to the response."
          },
          "partial_include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo partial_include expression for adding lightweight related content."
          }
        },
        "additionalProperties": false,
        "description": "Optional Paymo list query parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "clients": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Paymo resource object returned by the API."
            },
            "description": "The Paymo clients returned for this request."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo clients list response."
      }
    },
    {
      "id": "paymo.list_projects",
      "service": "paymo",
      "name": "list_projects",
      "description": "List Paymo projects with optional where and include query parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "where": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo where filter expression to forward to the listing endpoint."
          },
          "include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo include expression for adding related content to the response."
          },
          "partial_include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo partial_include expression for adding lightweight related content."
          }
        },
        "additionalProperties": false,
        "description": "Optional Paymo list query parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Paymo resource object returned by the API."
            },
            "description": "The Paymo projects returned for this request."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo projects list response."
      }
    },
    {
      "id": "paymo.list_tasks",
      "service": "paymo",
      "name": "list_tasks",
      "description": "List Paymo tasks with optional where and include query parameters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "where": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo where filter expression to forward to the listing endpoint."
          },
          "include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo include expression for adding related content to the response."
          },
          "partial_include": {
            "type": "string",
            "minLength": 1,
            "description": "The Paymo partial_include expression for adding lightweight related content."
          }
        },
        "additionalProperties": false,
        "description": "Optional Paymo list query parameters."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Paymo resource object returned by the API."
            },
            "description": "The Paymo tasks returned for this request."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo tasks list response."
      }
    },
    {
      "id": "paymo.update_client",
      "service": "paymo",
      "name": "update_client",
      "description": "Update one Paymo client by ID from a JSON client payload.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Paymo client fields to create or update, such as name, email, phone, website, or address fields."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for updating one Paymo client."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "client": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo client update response."
      }
    },
    {
      "id": "paymo.update_project",
      "service": "paymo",
      "name": "update_project",
      "description": "Update one Paymo project by ID from a JSON project payload.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Paymo project fields to create or update, such as name, client_id, description, or workflow_id."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for updating one Paymo project."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "project": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo project update response."
      }
    },
    {
      "id": "paymo.update_task",
      "service": "paymo",
      "name": "update_task",
      "description": "Update one Paymo task by ID from a JSON task payload.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Paymo numeric resource identifier."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Paymo task fields to create or update, such as name, description, project_id, tasklist_id, users, complete, due_date, status_id, or priority."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for updating one Paymo task."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A raw Paymo resource object returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Paymo task update response."
      }
    }
  ]
}
