{
  "service": "rentman",
  "displayName": "Rentman",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "JWT",
      "placeholder": "rentman_jwt",
      "description": "Rentman JWT used as a bearer token. Generate it in Rentman under Configuration > Integrations; the latest generated token is the only valid token: https://api.rentman.net/."
    }
  ],
  "homepageUrl": "https://rentman.io",
  "actions": [
    {
      "id": "rentman.get_contact",
      "service": "rentman",
      "name": "get_contact",
      "description": "Get a Rentman contact by numeric ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The numeric Rentman item ID to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for retrieving a Rentman item."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Rentman item record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Rentman item response."
      }
    },
    {
      "id": "rentman.get_contact_person",
      "service": "rentman",
      "name": "get_contact_person",
      "description": "Get a Rentman contact person by numeric ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The numeric Rentman item ID to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for retrieving a Rentman item."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Rentman item record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Rentman item response."
      }
    },
    {
      "id": "rentman.get_equipment",
      "service": "rentman",
      "name": "get_equipment",
      "description": "Get a Rentman equipment item by numeric ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The numeric Rentman item ID to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for retrieving a Rentman item."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Rentman item record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Rentman item response."
      }
    },
    {
      "id": "rentman.get_project",
      "service": "rentman",
      "name": "get_project",
      "description": "Get a Rentman project by numeric ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The numeric Rentman item ID to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for retrieving a Rentman item."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Rentman item record."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Rentman item response."
      }
    },
    {
      "id": "rentman.list_contact_persons",
      "service": "rentman",
      "name": "list_contact_persons",
      "description": "List Rentman contact persons with optional fields, sorting, pagination, expansion, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "description": "Comma-separated Rentman field names to include in each item."
          },
          "sort": {
            "type": "string",
            "description": "Comma-separated Rentman sort fields, such as +id or -displayname."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1500,
            "description": "Maximum number of items to return. Rentman allows 1 to 1500."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of items to skip when using offset-based pagination."
          },
          "cursor": {
            "type": "string",
            "description": "Opaque Rentman cursor token from a previous page URL."
          },
          "expand": {
            "type": "string",
            "description": "Comma-separated linked fields to expand, using Rentman's expand syntax."
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "The Rentman filter value to send for this query parameter."
            },
            "description": "Additional Rentman filter query parameters. Keys may include operators such as distance[lte]."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Rentman items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Rentman item record."
            },
            "description": "Rentman items returned by the collection endpoint."
          },
          "itemCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items in this response."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "The maximum number of items requested or returned."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items skipped in this response."
          },
          "nextPageUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "The full Rentman next page URL, or null when no next page is available."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Rentman collection response."
      }
    },
    {
      "id": "rentman.list_contacts",
      "service": "rentman",
      "name": "list_contacts",
      "description": "List Rentman contacts with optional fields, sorting, pagination, expansion, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "description": "Comma-separated Rentman field names to include in each item."
          },
          "sort": {
            "type": "string",
            "description": "Comma-separated Rentman sort fields, such as +id or -displayname."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1500,
            "description": "Maximum number of items to return. Rentman allows 1 to 1500."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of items to skip when using offset-based pagination."
          },
          "cursor": {
            "type": "string",
            "description": "Opaque Rentman cursor token from a previous page URL."
          },
          "expand": {
            "type": "string",
            "description": "Comma-separated linked fields to expand, using Rentman's expand syntax."
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "The Rentman filter value to send for this query parameter."
            },
            "description": "Additional Rentman filter query parameters. Keys may include operators such as distance[lte]."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Rentman items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Rentman item record."
            },
            "description": "Rentman items returned by the collection endpoint."
          },
          "itemCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items in this response."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "The maximum number of items requested or returned."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items skipped in this response."
          },
          "nextPageUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "The full Rentman next page URL, or null when no next page is available."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Rentman collection response."
      }
    },
    {
      "id": "rentman.list_equipment",
      "service": "rentman",
      "name": "list_equipment",
      "description": "List Rentman equipment with optional fields, sorting, pagination, expansion, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "description": "Comma-separated Rentman field names to include in each item."
          },
          "sort": {
            "type": "string",
            "description": "Comma-separated Rentman sort fields, such as +id or -displayname."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1500,
            "description": "Maximum number of items to return. Rentman allows 1 to 1500."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of items to skip when using offset-based pagination."
          },
          "cursor": {
            "type": "string",
            "description": "Opaque Rentman cursor token from a previous page URL."
          },
          "expand": {
            "type": "string",
            "description": "Comma-separated linked fields to expand, using Rentman's expand syntax."
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "The Rentman filter value to send for this query parameter."
            },
            "description": "Additional Rentman filter query parameters. Keys may include operators such as distance[lte]."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Rentman items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Rentman item record."
            },
            "description": "Rentman items returned by the collection endpoint."
          },
          "itemCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items in this response."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "The maximum number of items requested or returned."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items skipped in this response."
          },
          "nextPageUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "The full Rentman next page URL, or null when no next page is available."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Rentman collection response."
      }
    },
    {
      "id": "rentman.list_projects",
      "service": "rentman",
      "name": "list_projects",
      "description": "List Rentman projects with optional fields, sorting, pagination, expansion, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "string",
            "description": "Comma-separated Rentman field names to include in each item."
          },
          "sort": {
            "type": "string",
            "description": "Comma-separated Rentman sort fields, such as +id or -displayname."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1500,
            "description": "Maximum number of items to return. Rentman allows 1 to 1500."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of items to skip when using offset-based pagination."
          },
          "cursor": {
            "type": "string",
            "description": "Opaque Rentman cursor token from a previous page URL."
          },
          "expand": {
            "type": "string",
            "description": "Comma-separated linked fields to expand, using Rentman's expand syntax."
          },
          "filters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "The Rentman filter value to send for this query parameter."
            },
            "description": "Additional Rentman filter query parameters. Keys may include operators such as distance[lte]."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Rentman items."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Rentman item record."
            },
            "description": "Rentman items returned by the collection endpoint."
          },
          "itemCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items in this response."
          },
          "limit": {
            "type": "integer",
            "minimum": 0,
            "description": "The maximum number of items requested or returned."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The number of items skipped in this response."
          },
          "nextPageUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "The full Rentman next page URL, or null when no next page is available."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Rentman response payload."
          }
        },
        "additionalProperties": false,
        "description": "Paginated Rentman collection response."
      }
    }
  ]
}
