{
  "service": "docmosis",
  "displayName": "Docmosis",
  "categories": [
    "Productivity",
    "Design & Media"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Access Key",
      "placeholder": "DOCMOSIS_ACCESS_KEY",
      "description": "Docmosis environment access key used to authenticate Cloud API requests. Create or copy it from your environment API Keys page in the Cloud Console: https://resources.docmosis.com/content/faq/where-are-my-api-keys-and-base-urls-for-my-environments",
      "extraFields": [
        {
          "key": "apiBaseUrl",
          "label": "API Base URL",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "https://us1.dws4.docmosis.com/api",
          "description": "Docmosis processing-location base URL for the environment that holds your templates. Official US, Europe, and Australia examples are documented here: https://apidocs.docmosis.com/cloud/dws4/."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.docmosis.com",
  "actions": [
    {
      "id": "docmosis.check_environment_ready",
      "service": "docmosis",
      "name": "check_environment_ready",
      "description": "Check whether the selected Docmosis environment is currently ready to service render requests.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input parameters are required for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ready": {
            "type": "boolean",
            "description": "Whether the selected Docmosis environment is ready."
          },
          "succeeded": {
            "type": "boolean",
            "description": "Whether Docmosis reported the request as successful."
          },
          "shortMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The short Docmosis response message."
              },
              {
                "type": "null"
              }
            ]
          },
          "longMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The long Docmosis response message."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "The Docmosis environment ready response."
      }
    },
    {
      "id": "docmosis.get_environment_summary",
      "service": "docmosis",
      "name": "get_environment_summary",
      "description": "Get Docmosis environment plan, quota, and readiness information for the selected processing location.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input parameters are required for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether Docmosis reported the request as successful."
          },
          "shortMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The short Docmosis response message."
              },
              {
                "type": "null"
              }
            ]
          },
          "longMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The long Docmosis response message."
              },
              {
                "type": "null"
              }
            ]
          },
          "summary": {
            "type": "object",
            "properties": {
              "environmentName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Docmosis environment name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ready": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the environment is ready to service document requests."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "planName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Docmosis plan name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isActivated": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the environment is activated."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isDeleted": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the environment is deleted."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isDisabled": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the environment is disabled."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastUpdatedByUser": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user who last updated the environment when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastUpdatedTime": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Unix epoch timestamp in milliseconds when the environment was last updated."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pageQuota": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "quota": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The total page quota."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "used": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The used page quota."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "pctUsed": {
                        "anyOf": [
                          {
                            "type": "number",
                            "description": "The percentage of the quota that has been used."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "pctUsedStr": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The human-readable quota usage percentage."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "isHardLimited": {
                        "anyOf": [
                          {
                            "type": "boolean",
                            "description": "Whether the page quota is hard limited."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "The environment page quota details when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw environment summary payload returned by Docmosis."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Docmosis environment summary."
          }
        },
        "additionalProperties": false,
        "description": "The Docmosis environment summary response."
      }
    },
    {
      "id": "docmosis.get_template_details",
      "service": "docmosis",
      "name": "get_template_details",
      "description": "Get the stored metadata for one uploaded Docmosis template without downloading the template file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateName": {
            "type": "string",
            "minLength": 1,
            "description": "The template path to inspect."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving Docmosis template details."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether Docmosis reported the request as successful."
          },
          "shortMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The short Docmosis response message."
              },
              {
                "type": "null"
              }
            ]
          },
          "longMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The long Docmosis response message."
              },
              {
                "type": "null"
              }
            ]
          },
          "template": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The template path in the selected Docmosis environment."
              },
              "lastModifiedMillisSinceEpoch": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Unix epoch timestamp in milliseconds when the template was last modified."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastModifiedISO8601": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO 8601 timestamp when the template was last modified."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sizeBytes": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The template size in bytes."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "md5": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The MD5 hash of the template file."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "templatePlainTextFieldPrefix": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The plain-text field prefix configured when the template was uploaded."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "templatePlainTextFieldSuffix": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The plain-text field suffix configured when the template was uploaded."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "templateHasErrors": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Docmosis detected template errors."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "templateDevMode": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the template was uploaded in development mode."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "templateDescription": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The uploaded template description when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw template details object returned by Docmosis."
              }
            },
            "additionalProperties": false,
            "description": "One Docmosis template summary."
          }
        },
        "additionalProperties": false,
        "description": "The Docmosis template details response."
      }
    },
    {
      "id": "docmosis.get_template_structure",
      "service": "docmosis",
      "name": "get_template_structure",
      "description": "Get the Docmosis template structure tree that describes fields, repeats, conditions, and other data references.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateName": {
            "type": "string",
            "minLength": 1,
            "description": "The template path to inspect."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving Docmosis template structure."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "templateHasErrors": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Docmosis detected template errors."
              },
              {
                "type": "null"
              }
            ]
          },
          "templateErrorMessage": {
            "anyOf": [
              {
                "type": "string",
                "description": "The first template error message when one exists."
              },
              {
                "type": "null"
              }
            ]
          },
          "templateStructure": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One node from the Docmosis template structure tree."
            },
            "description": "The Docmosis template structure tree returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The Docmosis template structure response."
      }
    },
    {
      "id": "docmosis.list_templates",
      "service": "docmosis",
      "name": "list_templates",
      "description": "List Docmosis templates available in the selected processing location with optional folder and paging controls.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "includeDetail": {
            "type": "boolean",
            "description": "Whether to include extra template detail such as template error status."
          },
          "folder": {
            "type": "string",
            "minLength": 1,
            "description": "The optional starting folder path to list."
          },
          "includeSubFolders": {
            "type": "boolean",
            "description": "Whether template results should include templates inside sub-folders."
          },
          "paging": {
            "type": "boolean",
            "description": "Whether Docmosis should return paged results."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination token previously returned by Docmosis."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "The page size to request when paging is enabled."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing Docmosis templates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "templateListStale": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether Docmosis detected a temporary stale template list during updates."
              },
              {
                "type": "null"
              }
            ]
          },
          "nextPageToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "The token for the next template page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "pageSize": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The effective page size returned by Docmosis."
              },
              {
                "type": "null"
              }
            ]
          },
          "templates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The template path in the selected Docmosis environment."
                },
                "lastModifiedMillisSinceEpoch": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The Unix epoch timestamp in milliseconds when the template was last modified."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastModifiedISO8601": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO 8601 timestamp when the template was last modified."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "sizeBytes": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The template size in bytes."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "md5": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The MD5 hash of the template file."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templatePlainTextFieldPrefix": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The plain-text field prefix configured when the template was uploaded."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templatePlainTextFieldSuffix": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The plain-text field suffix configured when the template was uploaded."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templateHasErrors": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether Docmosis detected template errors."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templateDevMode": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the template was uploaded in development mode."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "templateDescription": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The uploaded template description when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw template details object returned by Docmosis."
                }
              },
              "additionalProperties": false,
              "description": "One Docmosis template summary."
            },
            "description": "The templates returned by Docmosis."
          }
        },
        "additionalProperties": false,
        "description": "The Docmosis template list response."
      }
    },
    {
      "id": "docmosis.render_document",
      "service": "docmosis",
      "name": "render_document",
      "description": "Render one Docmosis template with JSON data and return JSON-safe delivery metadata or an explicit base64 result file.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateName": {
            "type": "string",
            "minLength": 1,
            "description": "The Docmosis template path to render."
          },
          "outputName": {
            "type": "string",
            "minLength": 1,
            "description": "The output filename including the preferred extension."
          },
          "data": {
            "description": "The JSON data payload merged into the template."
          },
          "outputFormat": {
            "type": "string",
            "enum": [
              "PDF",
              "DOCX",
              "ODT",
              "TXT"
            ],
            "description": "The optional output format override."
          },
          "storeTo": {
            "type": "string",
            "minLength": 1,
            "description": "The optional Docmosis delivery target such as `mailto:person@example.com` or `s3:bucket,key`."
          },
          "tags": {
            "type": "string",
            "minLength": 1,
            "description": "The optional semicolon-delimited tags recorded against the render."
          },
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "The optional request identifier echoed by Docmosis."
          },
          "sourceId": {
            "type": "string",
            "minLength": 1,
            "description": "The optional source identifier associated with the render."
          },
          "mailSubject": {
            "type": "string",
            "minLength": 1,
            "description": "The optional email subject when using mailto delivery."
          },
          "mailBodyHtml": {
            "type": "string",
            "minLength": 1,
            "description": "The optional HTML email body when using mailto delivery."
          },
          "mailBodyText": {
            "type": "string",
            "minLength": 1,
            "description": "The optional plain-text email body when using mailto delivery."
          },
          "devMode": {
            "type": "boolean",
            "description": "Whether Docmosis should render in development mode instead of strict production mode."
          },
          "returnResultFileBase64": {
            "type": "boolean",
            "description": "Whether the streamed result should be returned as base64 in the connector response."
          }
        },
        "additionalProperties": false,
        "required": [
          "templateName",
          "outputName",
          "data"
        ],
        "description": "Input parameters for rendering one Docmosis document."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "description": "Whether Docmosis reported the render as successful."
          },
          "shortMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The short Docmosis render message."
              },
              {
                "type": "null"
              }
            ]
          },
          "longMsg": {
            "anyOf": [
              {
                "type": "string",
                "description": "The long Docmosis render message."
              },
              {
                "type": "null"
              }
            ]
          },
          "requestId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The render request identifier when returned by Docmosis."
              },
              {
                "type": "null"
              }
            ]
          },
          "resultFileBase64": {
            "anyOf": [
              {
                "type": "string",
                "description": "The rendered document content encoded as base64 when explicitly requested."
              },
              {
                "type": "null"
              }
            ]
          },
          "queue": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "rejected": {
                    "anyOf": [
                      {
                        "type": "boolean",
                        "description": "Whether the current render queue rejected the request."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "availablePct": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "description": "The percentage of queue capacity still available."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "delaySeconds": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "description": "The suggested backoff delay in seconds."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "description": "The Docmosis render queue state when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "headers": {
            "type": "object",
            "properties": {
              "requestId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Docmosis request identifier header when present."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pagesRendered": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The number of rendered pages when present."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "zipCreated": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Docmosis created a ZIP archive."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "documentErrorsDetected": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Docmosis detected document errors during rendering."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "queueRejected": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the render queue rejected the request."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "queueAvailablePct": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The percentage of queue capacity still available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "queueDelaySeconds": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The suggested render queue delay in seconds."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "retryAfter": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The Retry-After header value in seconds when present."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "server": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Docmosis server identifier header when present."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "The selected Docmosis response headers."
          },
          "webHookResults": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Docmosis webhook delivery result."
            },
            "description": "The webhook delivery results returned by Docmosis when mail or webhooks are involved."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Docmosis render response."
      }
    }
  ]
}
