{
  "service": "ringover",
  "displayName": "Ringover",
  "categories": [
    "Communication",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "RINGOVER_API_KEY",
      "description": "Ringover API key sent with the Authorization header. Create it in the Ringover Dashboard under Developer > API Keys: https://app.ringover.com.",
      "extraFields": [
        {
          "key": "region",
          "label": "Region",
          "inputType": "text",
          "required": false,
          "secret": false,
          "placeholder": "eu",
          "description": "Ringover public API region for requests. Use eu for https://public-api.ringover.com/v2 or us for https://public-api-us.ringover.com/v2. Leave empty for eu."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.ringover.com/",
  "actions": [
    {
      "id": "ringover.get_call",
      "service": "ringover",
      "name": "get_call",
      "description": "Get Ringover call log entries for one call ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "callId": {
            "type": "string",
            "minLength": 1,
            "description": "The Ringover call ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Ringover call."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Ringover object returned by the Public API."
            },
            "description": "Ringover call log objects."
          },
          "listCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total item count returned by Ringover when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover call log entries returned by the Public API."
      }
    },
    {
      "id": "ringover.get_group",
      "service": "ringover",
      "name": "get_group",
      "description": "Get a Ringover call group by ID, optionally paginating its users array.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Ringover group ID."
          },
          "limitCount": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of items to return."
          },
          "limitOffset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of items to skip for offset pagination."
          }
        },
        "additionalProperties": false,
        "required": [
          "groupId"
        ],
        "description": "Input for retrieving a Ringover group."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "group": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Ringover group object returned by the Public API."
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover group details."
      }
    },
    {
      "id": "ringover.get_ivr",
      "service": "ringover",
      "name": "get_ivr",
      "description": "Get a Ringover IVR by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ivrId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Ringover IVR ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Ringover IVR."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ivr": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Ringover IVR object returned by the Public API."
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover IVR details."
      }
    },
    {
      "id": "ringover.get_number",
      "service": "ringover",
      "name": "get_number",
      "description": "Get Ringover phone number details by E.164 number without the plus prefix.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "minLength": 1,
            "description": "The E.164 phone number without the plus prefix."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Ringover phone number."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Ringover phone number object returned by the Public API."
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover phone number details."
      }
    },
    {
      "id": "ringover.get_tag",
      "service": "ringover",
      "name": "get_tag",
      "description": "Get a Ringover call tag by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "tagId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Ringover tag ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Ringover call tag."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tag": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Ringover tag object returned by the Public API."
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover call tag details."
      }
    },
    {
      "id": "ringover.get_team",
      "service": "ringover",
      "name": "get_team",
      "description": "Retrieve the Ringover team object with nested numbers, users, IVRs, conferences, tags, and groups allowed by the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to retrieve Ringover team information."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "team": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Ringover team object returned by the Public API."
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover team information."
      }
    },
    {
      "id": "ringover.get_user",
      "service": "ringover",
      "name": "get_user",
      "description": "Get a Ringover user by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Ringover user ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Ringover user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Ringover user object returned by the Public API."
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover user details."
      }
    },
    {
      "id": "ringover.list_calls",
      "service": "ringover",
      "name": "list_calls",
      "description": "List terminated Ringover calls with optional date, pagination, and call type filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "description": "Start of the date range as an ISO 8601 date-time.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End of the date range as an ISO 8601 date-time.",
            "format": "date-time"
          },
          "limitCount": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of calls to return."
          },
          "limitOffset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9000,
            "description": "Number of calls to skip for offset pagination."
          },
          "lastIdReturned": {
            "type": "integer",
            "minimum": 1,
            "description": "Cursor value for deep pagination using cdr_id."
          },
          "callType": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "ANSWERED",
                "MISSED",
                "OUT",
                "VOICEMAIL"
              ],
              "description": "One Ringover call type filter."
            },
            "description": "Call type filters to apply.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "Filters and pagination for listing terminated Ringover calls."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Ringover object returned by the Public API."
            },
            "description": "Ringover call log objects."
          },
          "listCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total item count returned by Ringover when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover terminated calls returned by the Public API."
      }
    },
    {
      "id": "ringover.list_groups",
      "service": "ringover",
      "name": "list_groups",
      "description": "List Ringover call groups with offset pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limitCount": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum number of items to return."
          },
          "limitOffset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of items to skip for offset pagination."
          }
        },
        "additionalProperties": false,
        "description": "Pagination parameters for listing Ringover groups."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Ringover object returned by the Public API."
            },
            "description": "Ringover group objects."
          },
          "listCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total item count returned by Ringover when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover groups returned by the Public API."
      }
    },
    {
      "id": "ringover.list_ivrs",
      "service": "ringover",
      "name": "list_ivrs",
      "description": "List Ringover IVR configurations visible to the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Ringover IVRs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ivrs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Ringover object returned by the Public API."
            },
            "description": "Ringover IVR objects."
          },
          "listCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total item count returned by Ringover when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover IVRs returned by the Public API."
      }
    },
    {
      "id": "ringover.list_numbers",
      "service": "ringover",
      "name": "list_numbers",
      "description": "List Ringover phone numbers with assignment-type filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "isUser": {
            "type": "boolean",
            "description": "Whether to include phone numbers assigned to users."
          },
          "isIvr": {
            "type": "boolean",
            "description": "Whether to include phone numbers assigned to IVRs."
          },
          "isFax": {
            "type": "boolean",
            "description": "Whether to include phone numbers used for fax."
          },
          "isConference": {
            "type": "boolean",
            "description": "Whether to include phone numbers assigned to conference rooms."
          },
          "isAvailable": {
            "type": "boolean",
            "description": "Whether to include unassigned phone numbers."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing Ringover phone numbers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "numbers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Ringover object returned by the Public API."
            },
            "description": "Ringover phone number objects."
          },
          "listCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total item count returned by Ringover when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover phone numbers returned by the Public API."
      }
    },
    {
      "id": "ringover.list_tags",
      "service": "ringover",
      "name": "list_tags",
      "description": "List Ringover call tags.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Ringover call tags."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Ringover object returned by the Public API."
            },
            "description": "Ringover tag objects."
          },
          "listCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total item count returned by Ringover when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover call tags returned by the Public API."
      }
    },
    {
      "id": "ringover.list_users",
      "service": "ringover",
      "name": "list_users",
      "description": "List Ringover users visible to the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Ringover users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A raw Ringover object returned by the Public API."
            },
            "description": "Ringover user objects."
          },
          "listCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total item count returned by Ringover when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Ringover response payload."
          }
        },
        "additionalProperties": false,
        "description": "Ringover users returned by the Public API."
      }
    }
  ]
}
