{
  "service": "moesif",
  "displayName": "Moesif",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Management API Token",
      "placeholder": "MOESIF_MANAGEMENT_API_TOKEN",
      "description": "Moesif Management API token sent as a Bearer token. Create or view management API tokens in Moesif settings: https://www.moesif.com/docs/api."
    }
  ],
  "homepageUrl": "https://www.moesif.com/",
  "actions": [
    {
      "id": "moesif.get_workspace",
      "service": "moesif",
      "name": "get_workspace",
      "description": "Get a Moesif workspace by ID.",
      "requiredScopes": [
        "read:workspaces"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif workspace ID."
          },
          "organizationId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif organization path segment. Use the default ~ value for the current organization."
          },
          "appId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif app ID. Use the default ~ value for the current app."
          }
        },
        "additionalProperties": false,
        "required": [
          "workspaceId"
        ],
        "description": "Input for getting a Moesif workspace."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "workspace": {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Moesif workspace ID."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The workspace name when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "appId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The app ID associated with the workspace when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "organizationId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The organization ID associated with the workspace."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Moesif workspace type when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isDefault": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this is the default workspace when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isTemplate": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether this workspace is a template when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "viewCount": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The workspace view count when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The workspace creation timestamp when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "additionalProperties": true,
                "description": "The raw workspace object returned by Moesif."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Moesif workspace."
          }
        },
        "additionalProperties": false,
        "required": [
          "workspace"
        ],
        "description": "The response returned when getting a Moesif workspace."
      }
    },
    {
      "id": "moesif.list_apps",
      "service": "moesif",
      "name": "list_apps",
      "description": "List apps in the selected Moesif organization.",
      "requiredScopes": [
        "read:apps"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif organization path segment. Use the default ~ value for the current organization."
          },
          "take": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records to return."
          },
          "beforeId": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor ID used to fetch records before that item."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Moesif apps."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "apps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Moesif app ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "type": "string",
                  "description": "The Moesif app name."
                },
                "customAppId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The custom app ID when configured."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "searchApiBaseUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The app search API base URL when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "portalApiBaseUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The app portal API base URL when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "timeZone": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The app time zone when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "weekStartsOn": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The first day of the app week when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "secureProxy": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether secure proxy is enabled for the app."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw app object returned by Moesif."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Moesif app."
            },
            "description": "The Moesif apps returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "apps"
        ],
        "description": "The response returned when listing Moesif apps."
      }
    },
    {
      "id": "moesif.list_workspace_templates",
      "service": "moesif",
      "name": "list_workspace_templates",
      "description": "List Moesif workspace templates for an app.",
      "requiredScopes": [
        "read:workspaces"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif organization path segment. Use the default ~ value for the current organization."
          },
          "appId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif app ID. Use the default ~ value for the current app."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Moesif workspace templates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Moesif workspace ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The workspace name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "appId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The app ID associated with the workspace when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "organizationId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The organization ID associated with the workspace."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Moesif workspace type when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isDefault": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this is the default workspace when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isTemplate": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this workspace is a template when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "viewCount": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The workspace view count when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The workspace creation timestamp when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw workspace object returned by Moesif."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Moesif workspace."
            },
            "description": "The Moesif workspace templates returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "templates"
        ],
        "description": "The response returned when listing Moesif workspace templates."
      }
    },
    {
      "id": "moesif.list_workspaces",
      "service": "moesif",
      "name": "list_workspaces",
      "description": "List Moesif workspaces for an app with access filters.",
      "requiredScopes": [
        "read:workspaces"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif organization path segment. Use the default ~ value for the current organization."
          },
          "appId": {
            "type": "string",
            "minLength": 1,
            "description": "The Moesif app ID. Use the default ~ value for the current app."
          },
          "take": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of records to return."
          },
          "beforeId": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor ID used to fetch records before that item."
          },
          "access": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Moesif workspace access value."
            },
            "description": "The Moesif workspace access filters to request.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "access"
        ],
        "description": "Input for listing Moesif workspaces."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "workspaces": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Moesif workspace ID."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The workspace name when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "appId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The app ID associated with the workspace when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "organizationId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The organization ID associated with the workspace."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Moesif workspace type when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isDefault": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this is the default workspace when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isTemplate": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether this workspace is a template when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "viewCount": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The workspace view count when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The workspace creation timestamp when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw workspace object returned by Moesif."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Moesif workspace."
            },
            "description": "The Moesif workspaces returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "workspaces"
        ],
        "description": "The response returned when listing Moesif workspaces."
      }
    }
  ]
}
