{
  "service": "oncehub",
  "displayName": "OnceHub",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "ONCEHUB_API_KEY",
      "description": "OnceHub API key sent with the API-Key request header. Create one from Account Integrations > APIs & Webhooks in OnceHub: https://developers.oncehub.com/docs/overview/authentication"
    }
  ],
  "homepageUrl": "https://www.oncehub.com",
  "actions": [
    {
      "id": "oncehub.list_booking_pages",
      "service": "oncehub",
      "name": "list_booking_pages",
      "description": "List OnceHub Booking Pages.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of objects to return, from 1 to 100."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "A OnceHub object ID used as a pagination cursor."
          },
          "before": {
            "type": "string",
            "minLength": 1,
            "description": "A OnceHub object ID used as a pagination cursor."
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One OnceHub expand path."
            },
            "description": "The OnceHub expandable response fields to include, using official expand paths.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing OnceHub Booking Pages."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The OnceHub list object type."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The OnceHub object identifier."
                },
                "object": {
                  "type": "string",
                  "description": "The OnceHub object type."
                }
              },
              "additionalProperties": true,
              "description": "A OnceHub API object."
            },
            "description": "The OnceHub objects returned by the list request."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether OnceHub reported additional objects in the list response."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID for the next page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID for the previous page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "requestId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The OnceHub Request-Id response header when available."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "A paginated OnceHub list response."
      }
    },
    {
      "id": "oncehub.list_bookings",
      "service": "oncehub",
      "name": "list_bookings",
      "description": "List OnceHub bookings, optionally filtered by last update time.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of objects to return, from 1 to 100."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "A OnceHub object ID used as a pagination cursor."
          },
          "before": {
            "type": "string",
            "minLength": 1,
            "description": "A OnceHub object ID used as a pagination cursor."
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One OnceHub expand path."
            },
            "description": "The OnceHub expandable response fields to include, using official expand paths.",
            "minItems": 1
          },
          "lastUpdatedTimeGt": {
            "type": "string",
            "description": "Only return bookings whose last_updated_time is greater than this timestamp.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing OnceHub bookings."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The OnceHub list object type."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The OnceHub object identifier."
                },
                "object": {
                  "type": "string",
                  "description": "The OnceHub object type."
                }
              },
              "additionalProperties": true,
              "description": "A OnceHub API object."
            },
            "description": "The OnceHub objects returned by the list request."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether OnceHub reported additional objects in the list response."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID for the next page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID for the previous page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "requestId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The OnceHub Request-Id response header when available."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "A paginated OnceHub list response."
      }
    },
    {
      "id": "oncehub.list_event_types",
      "service": "oncehub",
      "name": "list_event_types",
      "description": "List OnceHub event types.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of objects to return, from 1 to 100."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "A OnceHub object ID used as a pagination cursor."
          },
          "before": {
            "type": "string",
            "minLength": 1,
            "description": "A OnceHub object ID used as a pagination cursor."
          },
          "expand": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One OnceHub expand path."
            },
            "description": "The OnceHub expandable response fields to include, using official expand paths.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing OnceHub event types."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The OnceHub list object type."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The OnceHub object identifier."
                },
                "object": {
                  "type": "string",
                  "description": "The OnceHub object type."
                }
              },
              "additionalProperties": true,
              "description": "A OnceHub API object."
            },
            "description": "The OnceHub objects returned by the list request."
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether OnceHub reported additional objects in the list response."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID for the next page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "previousCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor ID for the previous page when available."
              },
              {
                "type": "null"
              }
            ]
          },
          "requestId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The OnceHub Request-Id response header when available."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "A paginated OnceHub list response."
      }
    }
  ]
}
