{
  "service": "documenso",
  "displayName": "Documenso",
  "categories": [
    "Productivity",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "api_xxxxxxxxxxxxxxxx",
      "description": "Documenso API token sent with the Authorization header. Create or manage tokens from Settings > API Tokens: https://docs.documenso.com/docs/users/settings/api-tokens.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://documenso.com",
  "actions": [
    {
      "id": "documenso.get_envelope",
      "service": "documenso",
      "name": "get_envelope",
      "description": "Retrieve one Documenso envelope by envelope ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "envelopeId": {
            "type": "string",
            "minLength": 1,
            "description": "The Documenso envelope ID."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving one Documenso envelope."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "envelope": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The envelope ID."
              },
              "type": {
                "type": "string",
                "enum": [
                  "DOCUMENT",
                  "TEMPLATE"
                ],
                "description": "The envelope type."
              },
              "status": {
                "type": "string",
                "enum": [
                  "DRAFT",
                  "PENDING",
                  "COMPLETED",
                  "REJECTED",
                  "CANCELLED"
                ],
                "description": "The current envelope status."
              },
              "source": {
                "type": "string",
                "enum": [
                  "DOCUMENT",
                  "TEMPLATE",
                  "TEMPLATE_DIRECT_LINK"
                ],
                "description": "How the envelope was created."
              },
              "title": {
                "type": "string",
                "description": "The envelope title."
              },
              "externalId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The string value returned by Documenso."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "type": "string",
                "description": "The timestamp when the envelope was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "The timestamp when the envelope was last updated."
              },
              "completedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The string value returned by Documenso."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "deletedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The string value returned by Documenso."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "templateId": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The integer value returned by Documenso."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "teamId": {
                "type": "integer",
                "description": "The Documenso team ID that owns the envelope."
              },
              "userId": {
                "type": "integer",
                "description": "The Documenso user ID that owns the envelope."
              },
              "folderId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The string value returned by Documenso."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "recipientCount": {
                "type": "integer",
                "description": "The number of recipients included in the upstream payload."
              }
            },
            "additionalProperties": false,
            "description": "A compact Documenso envelope summary."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Documenso object payload."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Documenso envelope."
      }
    },
    {
      "id": "documenso.get_template",
      "service": "documenso",
      "name": "get_template",
      "description": "Retrieve one Documenso template by template ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Documenso template ID."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving one Documenso template."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "template": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The template ID."
              },
              "envelopeId": {
                "type": "string",
                "description": "The envelope ID backing this template."
              },
              "title": {
                "type": "string",
                "description": "The template title."
              },
              "type": {
                "type": "string",
                "enum": [
                  "PUBLIC",
                  "PRIVATE",
                  "ORGANISATION"
                ],
                "description": "The template type."
              },
              "visibility": {
                "type": "string",
                "enum": [
                  "EVERYONE",
                  "MANAGER_AND_ABOVE",
                  "ADMIN"
                ],
                "description": "Who can see the template."
              },
              "externalId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The string value returned by Documenso."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "type": "string",
                "description": "The timestamp when the template was created."
              },
              "updatedAt": {
                "type": "string",
                "description": "The timestamp when the template was last updated."
              },
              "folderId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The string value returned by Documenso."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "teamId": {
                "type": "integer",
                "description": "The Documenso team ID that owns the template."
              },
              "userId": {
                "type": "integer",
                "description": "The Documenso user ID that owns the template."
              },
              "recipientCount": {
                "type": "integer",
                "description": "The number of recipients included in the upstream payload."
              },
              "fieldCount": {
                "type": "integer",
                "description": "The number of fields included in the upstream payload."
              },
              "directLinkEnabled": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether direct links are enabled for the template."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "A compact Documenso template summary."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Documenso object payload."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Documenso template."
      }
    },
    {
      "id": "documenso.list_envelopes",
      "service": "documenso",
      "name": "list_envelopes",
      "description": "Find Documenso envelopes by query, status, type, source, template, folder, and pagination filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The search query."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The pagination page number. Documenso pages start at 1."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of envelopes to return per page."
          },
          "type": {
            "type": "string",
            "enum": [
              "DOCUMENT",
              "TEMPLATE"
            ],
            "description": "Filter envelopes by type."
          },
          "templateId": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter envelopes by the template ID used to create them."
          },
          "source": {
            "type": "string",
            "enum": [
              "DOCUMENT",
              "TEMPLATE",
              "TEMPLATE_DIRECT_LINK"
            ],
            "description": "Filter envelopes by how they were created."
          },
          "status": {
            "type": "string",
            "enum": [
              "DRAFT",
              "PENDING",
              "COMPLETED",
              "REJECTED",
              "CANCELLED"
            ],
            "description": "Filter envelopes by the current status."
          },
          "folderId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter envelopes by folder ID."
          },
          "orderByColumn": {
            "type": "string",
            "enum": [
              "createdAt"
            ],
            "description": "The envelope column to sort by."
          },
          "orderByDirection": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The envelope sort direction."
          }
        },
        "additionalProperties": false,
        "description": "Filters and pagination options for finding Documenso envelopes."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "envelopes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The envelope ID."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "DOCUMENT",
                    "TEMPLATE"
                  ],
                  "description": "The envelope type."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "DRAFT",
                    "PENDING",
                    "COMPLETED",
                    "REJECTED",
                    "CANCELLED"
                  ],
                  "description": "The current envelope status."
                },
                "source": {
                  "type": "string",
                  "enum": [
                    "DOCUMENT",
                    "TEMPLATE",
                    "TEMPLATE_DIRECT_LINK"
                  ],
                  "description": "How the envelope was created."
                },
                "title": {
                  "type": "string",
                  "description": "The envelope title."
                },
                "externalId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The string value returned by Documenso."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "description": "The timestamp when the envelope was created."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "The timestamp when the envelope was last updated."
                },
                "completedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The string value returned by Documenso."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "deletedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The string value returned by Documenso."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templateId": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The integer value returned by Documenso."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "teamId": {
                  "type": "integer",
                  "description": "The Documenso team ID that owns the envelope."
                },
                "userId": {
                  "type": "integer",
                  "description": "The Documenso user ID that owns the envelope."
                },
                "folderId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The string value returned by Documenso."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "recipientCount": {
                  "type": "integer",
                  "description": "The number of recipients included in the upstream payload."
                }
              },
              "additionalProperties": false,
              "description": "A compact Documenso envelope summary."
            },
            "description": "The envelopes returned by Documenso."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The total number of matching records."
              },
              "currentPage": {
                "type": "integer",
                "description": "The current page number returned by Documenso."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of records requested for each page."
              },
              "totalPages": {
                "type": "integer",
                "description": "The total number of pages returned by Documenso."
              }
            },
            "additionalProperties": false,
            "description": "Documenso pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Documenso object payload."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Documenso envelope list."
      }
    },
    {
      "id": "documenso.list_templates",
      "service": "documenso",
      "name": "list_templates",
      "description": "Find Documenso templates by query, type, folder, and pagination filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The search query."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The pagination page number. Documenso pages start at 1."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of templates to return per page."
          },
          "type": {
            "type": "string",
            "enum": [
              "PUBLIC",
              "PRIVATE",
              "ORGANISATION"
            ],
            "description": "Filter templates by type."
          },
          "folderId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter templates by folder ID."
          }
        },
        "additionalProperties": false,
        "description": "Filters and pagination options for finding Documenso templates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The template ID."
                },
                "envelopeId": {
                  "type": "string",
                  "description": "The envelope ID backing this template."
                },
                "title": {
                  "type": "string",
                  "description": "The template title."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "PUBLIC",
                    "PRIVATE",
                    "ORGANISATION"
                  ],
                  "description": "The template type."
                },
                "visibility": {
                  "type": "string",
                  "enum": [
                    "EVERYONE",
                    "MANAGER_AND_ABOVE",
                    "ADMIN"
                  ],
                  "description": "Who can see the template."
                },
                "externalId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The string value returned by Documenso."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "type": "string",
                  "description": "The timestamp when the template was created."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "The timestamp when the template was last updated."
                },
                "folderId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The string value returned by Documenso."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "teamId": {
                  "type": "integer",
                  "description": "The Documenso team ID that owns the template."
                },
                "userId": {
                  "type": "integer",
                  "description": "The Documenso user ID that owns the template."
                },
                "recipientCount": {
                  "type": "integer",
                  "description": "The number of recipients included in the upstream payload."
                },
                "fieldCount": {
                  "type": "integer",
                  "description": "The number of fields included in the upstream payload."
                },
                "directLinkEnabled": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether direct links are enabled for the template."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "description": "A compact Documenso template summary."
            },
            "description": "The templates returned by Documenso."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The total number of matching records."
              },
              "currentPage": {
                "type": "integer",
                "description": "The current page number returned by Documenso."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of records requested for each page."
              },
              "totalPages": {
                "type": "integer",
                "description": "The total number of pages returned by Documenso."
              }
            },
            "additionalProperties": false,
            "description": "Documenso pagination metadata."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Documenso object payload."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Documenso template list."
      }
    }
  ]
}
