{
  "service": "slab",
  "displayName": "Slab",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "SLAB_API_TOKEN",
      "description": "Slab API token sent as an Authorization Bearer token. Copy the token from Team settings > Developer in Slab.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://slab.com",
  "actions": [
    {
      "id": "slab.add_topic_to_post",
      "service": "slab",
      "name": "add_topic_to_post",
      "description": "Attach a Slab topic to a post.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "postId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "topicId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for changing a post-topic relationship."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The topic name."
              },
              "description": {
                "description": "A JSON value returned by Slab."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "OPEN",
                  "PRIVATE",
                  "SECRET",
                  "PUBLIC"
                ],
                "description": "The Slab topic privacy mode."
              },
              "memberEditable": {
                "type": "string",
                "enum": [
                  "ALL",
                  "POST",
                  "NONE"
                ],
                "description": "The Slab topic member editability mode."
              },
              "inheritParent": {
                "type": "boolean",
                "description": "Whether the topic inherits members and owners from its parent."
              },
              "hierarchy": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "description": "The topic hierarchy IDs."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parent": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ancestors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topic ancestors from the Slab hierarchy."
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Child topics under this topic."
              },
              "owners": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic owner users."
              },
              "members": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic member users."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "description",
              "insertedAt",
              "updatedAt",
              "privacy",
              "memberEditable",
              "inheritParent"
            ],
            "description": "A Slab topic."
          }
        },
        "additionalProperties": false,
        "description": "A Slab topic result."
      }
    },
    {
      "id": "slab.create_post",
      "service": "slab",
      "name": "create_post",
      "description": "Create a blank Slab post, optionally in a topic or from a template.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "The new post title."
          },
          "topicId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "templateId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for creating a blank Slab post."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "post": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "linkAccess": {
                "type": "string",
                "enum": [
                  "INTERNAL",
                  "INTERNAL_VIEW",
                  "PUBLIC",
                  "PUBLIC_EDIT",
                  "DISABLED"
                ],
                "description": "The Slab post link access mode."
              },
              "archivedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "publishedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "type": "string",
                "description": "The post title."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "content": {
                "description": "A JSON value returned by Slab."
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "version": {
                "type": "integer",
                "description": "The Slab post version."
              },
              "owner": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Slab GraphQL ID."
                  },
                  "name": {
                    "type": "string",
                    "description": "The user's display name."
                  },
                  "email": {
                    "type": "string",
                    "description": "The user's email address.",
                    "format": "email"
                  }
                },
                "additionalProperties": true,
                "required": [
                  "id",
                  "name"
                ],
                "description": "A compact Slab user reference."
              },
              "topics": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topics attached to the post."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "linkAccess",
              "title",
              "insertedAt",
              "content",
              "updatedAt",
              "version",
              "owner",
              "topics"
            ],
            "description": "A Slab post."
          }
        },
        "additionalProperties": false,
        "description": "A Slab post result."
      }
    },
    {
      "id": "slab.create_topic",
      "service": "slab",
      "name": "create_topic",
      "description": "Create a Slab topic.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The topic name."
          },
          "description": {
            "description": "A JSON value returned by Slab."
          },
          "parentId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "memberEditable": {
            "type": "string",
            "enum": [
              "ALL",
              "POST",
              "NONE"
            ],
            "description": "The Slab topic member editability mode."
          },
          "privacy": {
            "type": "string",
            "enum": [
              "OPEN",
              "PRIVATE",
              "SECRET",
              "PUBLIC"
            ],
            "description": "The Slab topic privacy mode."
          },
          "inheritParent": {
            "type": "boolean",
            "description": "Whether to inherit parent topic owners and members."
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "Input for creating a Slab topic."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The topic name."
              },
              "description": {
                "description": "A JSON value returned by Slab."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "OPEN",
                  "PRIVATE",
                  "SECRET",
                  "PUBLIC"
                ],
                "description": "The Slab topic privacy mode."
              },
              "memberEditable": {
                "type": "string",
                "enum": [
                  "ALL",
                  "POST",
                  "NONE"
                ],
                "description": "The Slab topic member editability mode."
              },
              "inheritParent": {
                "type": "boolean",
                "description": "Whether the topic inherits members and owners from its parent."
              },
              "hierarchy": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "description": "The topic hierarchy IDs."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parent": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ancestors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topic ancestors from the Slab hierarchy."
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Child topics under this topic."
              },
              "owners": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic owner users."
              },
              "members": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic member users."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "description",
              "insertedAt",
              "updatedAt",
              "privacy",
              "memberEditable",
              "inheritParent"
            ],
            "description": "A Slab topic."
          }
        },
        "additionalProperties": false,
        "description": "A Slab topic result."
      }
    },
    {
      "id": "slab.delete_post",
      "service": "slab",
      "name": "delete_post",
      "description": "Delete a Slab post by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input containing one Slab ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "post": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "linkAccess": {
                "type": "string",
                "enum": [
                  "INTERNAL",
                  "INTERNAL_VIEW",
                  "PUBLIC",
                  "PUBLIC_EDIT",
                  "DISABLED"
                ],
                "description": "The Slab post link access mode."
              },
              "archivedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "publishedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "type": "string",
                "description": "The post title."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "content": {
                "description": "A JSON value returned by Slab."
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "version": {
                "type": "integer",
                "description": "The Slab post version."
              },
              "owner": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Slab GraphQL ID."
                  },
                  "name": {
                    "type": "string",
                    "description": "The user's display name."
                  },
                  "email": {
                    "type": "string",
                    "description": "The user's email address.",
                    "format": "email"
                  }
                },
                "additionalProperties": true,
                "required": [
                  "id",
                  "name"
                ],
                "description": "A compact Slab user reference."
              },
              "topics": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topics attached to the post."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "linkAccess",
              "title",
              "insertedAt",
              "content",
              "updatedAt",
              "version",
              "owner",
              "topics"
            ],
            "description": "A Slab post."
          }
        },
        "additionalProperties": false,
        "description": "A Slab post result."
      }
    },
    {
      "id": "slab.delete_topic",
      "service": "slab",
      "name": "delete_topic",
      "description": "Delete a Slab topic by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input containing one Slab ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The topic name."
              },
              "description": {
                "description": "A JSON value returned by Slab."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "OPEN",
                  "PRIVATE",
                  "SECRET",
                  "PUBLIC"
                ],
                "description": "The Slab topic privacy mode."
              },
              "memberEditable": {
                "type": "string",
                "enum": [
                  "ALL",
                  "POST",
                  "NONE"
                ],
                "description": "The Slab topic member editability mode."
              },
              "inheritParent": {
                "type": "boolean",
                "description": "Whether the topic inherits members and owners from its parent."
              },
              "hierarchy": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "description": "The topic hierarchy IDs."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parent": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ancestors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topic ancestors from the Slab hierarchy."
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Child topics under this topic."
              },
              "owners": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic owner users."
              },
              "members": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic member users."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "description",
              "insertedAt",
              "updatedAt",
              "privacy",
              "memberEditable",
              "inheritParent"
            ],
            "description": "A Slab topic."
          }
        },
        "additionalProperties": false,
        "description": "A Slab topic result."
      }
    },
    {
      "id": "slab.get_organization",
      "service": "slab",
      "name": "get_organization",
      "description": "Get the current Slab organization visible to the API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organization": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The organization name."
              },
              "host": {
                "type": "string",
                "description": "The Slab organization host."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              }
            },
            "additionalProperties": true,
            "description": "A Slab organization."
          }
        },
        "additionalProperties": false,
        "description": "The current Slab organization."
      }
    },
    {
      "id": "slab.get_post",
      "service": "slab",
      "name": "get_post",
      "description": "Get one Slab post by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input containing one Slab ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "post": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "linkAccess": {
                "type": "string",
                "enum": [
                  "INTERNAL",
                  "INTERNAL_VIEW",
                  "PUBLIC",
                  "PUBLIC_EDIT",
                  "DISABLED"
                ],
                "description": "The Slab post link access mode."
              },
              "archivedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "publishedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "type": "string",
                "description": "The post title."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "content": {
                "description": "A JSON value returned by Slab."
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "version": {
                "type": "integer",
                "description": "The Slab post version."
              },
              "owner": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Slab GraphQL ID."
                  },
                  "name": {
                    "type": "string",
                    "description": "The user's display name."
                  },
                  "email": {
                    "type": "string",
                    "description": "The user's email address.",
                    "format": "email"
                  }
                },
                "additionalProperties": true,
                "required": [
                  "id",
                  "name"
                ],
                "description": "A compact Slab user reference."
              },
              "topics": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topics attached to the post."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "linkAccess",
              "title",
              "insertedAt",
              "content",
              "updatedAt",
              "version",
              "owner",
              "topics"
            ],
            "description": "A Slab post."
          }
        },
        "additionalProperties": false,
        "description": "A Slab post result."
      }
    },
    {
      "id": "slab.get_posts",
      "service": "slab",
      "name": "get_posts",
      "description": "Get multiple Slab posts by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Slab GraphQL ID."
            },
            "description": "The Slab IDs to retrieve. Slab accepts between 1 and 100 IDs.",
            "minItems": 1,
            "maxItems": 100
          }
        },
        "additionalProperties": false,
        "description": "Input containing one or more Slab IDs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "posts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Slab GraphQL ID."
                },
                "linkAccess": {
                  "type": "string",
                  "enum": [
                    "INTERNAL",
                    "INTERNAL_VIEW",
                    "PUBLIC",
                    "PUBLIC_EDIT",
                    "DISABLED"
                  ],
                  "description": "The Slab post link access mode."
                },
                "archivedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publishedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "title": {
                  "type": "string",
                  "description": "The post title."
                },
                "insertedAt": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by Slab.",
                  "format": "date-time"
                },
                "content": {
                  "description": "A JSON value returned by Slab."
                },
                "updatedAt": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by Slab.",
                  "format": "date-time"
                },
                "version": {
                  "type": "integer",
                  "description": "The Slab post version."
                },
                "owner": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "topics": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  "description": "Topics attached to the post."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "linkAccess",
                "title",
                "insertedAt",
                "content",
                "updatedAt",
                "version",
                "owner",
                "topics"
              ],
              "description": "A Slab post."
            },
            "description": "Posts returned by Slab."
          }
        },
        "additionalProperties": false,
        "description": "A list of Slab posts."
      }
    },
    {
      "id": "slab.get_topic",
      "service": "slab",
      "name": "get_topic",
      "description": "Get one Slab topic by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input containing one Slab ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The topic name."
              },
              "description": {
                "description": "A JSON value returned by Slab."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "OPEN",
                  "PRIVATE",
                  "SECRET",
                  "PUBLIC"
                ],
                "description": "The Slab topic privacy mode."
              },
              "memberEditable": {
                "type": "string",
                "enum": [
                  "ALL",
                  "POST",
                  "NONE"
                ],
                "description": "The Slab topic member editability mode."
              },
              "inheritParent": {
                "type": "boolean",
                "description": "Whether the topic inherits members and owners from its parent."
              },
              "hierarchy": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "description": "The topic hierarchy IDs."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parent": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ancestors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topic ancestors from the Slab hierarchy."
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Child topics under this topic."
              },
              "owners": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic owner users."
              },
              "members": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic member users."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "description",
              "insertedAt",
              "updatedAt",
              "privacy",
              "memberEditable",
              "inheritParent"
            ],
            "description": "A Slab topic."
          }
        },
        "additionalProperties": false,
        "description": "A Slab topic result."
      }
    },
    {
      "id": "slab.get_topics",
      "service": "slab",
      "name": "get_topics",
      "description": "Get multiple Slab topics by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Slab GraphQL ID."
            },
            "description": "The Slab IDs to retrieve. Slab accepts between 1 and 100 IDs.",
            "minItems": 1,
            "maxItems": 100
          }
        },
        "additionalProperties": false,
        "description": "Input containing one or more Slab IDs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "topics": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Slab GraphQL ID."
                },
                "name": {
                  "type": "string",
                  "description": "The topic name."
                },
                "description": {
                  "description": "A JSON value returned by Slab."
                },
                "insertedAt": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by Slab.",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by Slab.",
                  "format": "date-time"
                },
                "privacy": {
                  "type": "string",
                  "enum": [
                    "OPEN",
                    "PRIVATE",
                    "SECRET",
                    "PUBLIC"
                  ],
                  "description": "The Slab topic privacy mode."
                },
                "memberEditable": {
                  "type": "string",
                  "enum": [
                    "ALL",
                    "POST",
                    "NONE"
                  ],
                  "description": "The Slab topic member editability mode."
                },
                "inheritParent": {
                  "type": "boolean",
                  "description": "Whether the topic inherits members and owners from its parent."
                },
                "hierarchy": {
                  "anyOf": [
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "description": "The topic hierarchy IDs."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "parent": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Slab GraphQL ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The topic name."
                        },
                        "privacy": {
                          "type": "string",
                          "enum": [
                            "OPEN",
                            "PRIVATE",
                            "SECRET",
                            "PUBLIC"
                          ],
                          "description": "The Slab topic privacy mode."
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "name"
                      ],
                      "description": "A compact Slab topic reference."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "ancestors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  "description": "Topic ancestors from the Slab hierarchy."
                },
                "children": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  "description": "Child topics under this topic."
                },
                "owners": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The user's display name."
                      },
                      "email": {
                        "type": "string",
                        "description": "The user's email address.",
                        "format": "email"
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab user reference."
                  },
                  "description": "Topic owner users."
                },
                "members": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The user's display name."
                      },
                      "email": {
                        "type": "string",
                        "description": "The user's email address.",
                        "format": "email"
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab user reference."
                  },
                  "description": "Topic member users."
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "description",
                "insertedAt",
                "updatedAt",
                "privacy",
                "memberEditable",
                "inheritParent"
              ],
              "description": "A Slab topic."
            },
            "description": "Topics returned by Slab."
          }
        },
        "additionalProperties": false,
        "description": "A list of Slab topics."
      }
    },
    {
      "id": "slab.get_user",
      "service": "slab",
      "name": "get_user",
      "description": "Get one Slab user by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input containing one Slab ID."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The user's display name."
              },
              "title": {
                "type": "string",
                "description": "The user's title."
              },
              "email": {
                "type": "string",
                "description": "The user's email address.",
                "format": "email"
              },
              "description": {
                "description": "A JSON value returned by Slab."
              },
              "type": {
                "type": "string",
                "description": "The Slab user type."
              },
              "deactivatedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "avatar": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "original": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The original image URL."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "thumb": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The thumbnail image URL."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "preset": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The preset image URL."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": true,
                    "description": "A Slab image object."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "title",
              "email",
              "description",
              "type",
              "insertedAt",
              "updatedAt"
            ],
            "description": "A Slab user."
          }
        },
        "additionalProperties": false,
        "description": "A Slab user lookup result."
      }
    },
    {
      "id": "slab.list_users",
      "service": "slab",
      "name": "list_users",
      "description": "List users in the current Slab organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "includeDeactivated": {
            "type": "boolean",
            "description": "Whether to include deactivated users."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing users in the current Slab organization."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A Slab GraphQL ID."
                },
                "name": {
                  "type": "string",
                  "description": "The user's display name."
                },
                "title": {
                  "type": "string",
                  "description": "The user's title."
                },
                "email": {
                  "type": "string",
                  "description": "The user's email address.",
                  "format": "email"
                },
                "description": {
                  "description": "A JSON value returned by Slab."
                },
                "type": {
                  "type": "string",
                  "description": "The Slab user type."
                },
                "deactivatedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "insertedAt": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by Slab.",
                  "format": "date-time"
                },
                "updatedAt": {
                  "type": "string",
                  "description": "An ISO 8601 timestamp returned by Slab.",
                  "format": "date-time"
                },
                "avatar": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "original": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The original image URL."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "thumb": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The thumbnail image URL."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "preset": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The preset image URL."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": true,
                      "description": "A Slab image object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": true,
              "required": [
                "id",
                "name",
                "title",
                "email",
                "description",
                "type",
                "insertedAt",
                "updatedAt"
              ],
              "description": "A Slab user."
            },
            "description": "Users returned by Slab."
          }
        },
        "additionalProperties": false,
        "description": "A list of Slab users."
      }
    },
    {
      "id": "slab.remove_topic_from_post",
      "service": "slab",
      "name": "remove_topic_from_post",
      "description": "Detach a Slab topic from a post.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "postId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "topicId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for changing a post-topic relationship."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The topic name."
              },
              "description": {
                "description": "A JSON value returned by Slab."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "OPEN",
                  "PRIVATE",
                  "SECRET",
                  "PUBLIC"
                ],
                "description": "The Slab topic privacy mode."
              },
              "memberEditable": {
                "type": "string",
                "enum": [
                  "ALL",
                  "POST",
                  "NONE"
                ],
                "description": "The Slab topic member editability mode."
              },
              "inheritParent": {
                "type": "boolean",
                "description": "Whether the topic inherits members and owners from its parent."
              },
              "hierarchy": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "description": "The topic hierarchy IDs."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parent": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ancestors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topic ancestors from the Slab hierarchy."
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Child topics under this topic."
              },
              "owners": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic owner users."
              },
              "members": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic member users."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "description",
              "insertedAt",
              "updatedAt",
              "privacy",
              "memberEditable",
              "inheritParent"
            ],
            "description": "A Slab topic."
          }
        },
        "additionalProperties": false,
        "description": "A Slab topic result."
      }
    },
    {
      "id": "slab.search",
      "service": "slab",
      "name": "search",
      "description": "Search Slab posts, topics, users, and comments with cursor pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The Slab search query."
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "POST",
                "COMMENT",
                "TOPIC",
                "USER"
              ],
              "description": "The Slab search result type to include."
            },
            "description": "Search result types to include.",
            "minItems": 1
          },
          "first": {
            "type": "integer",
            "description": "The number of results to return after the cursor."
          },
          "after": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor after which to return results."
          },
          "last": {
            "type": "integer",
            "description": "The number of results to return before the cursor."
          },
          "before": {
            "type": "string",
            "minLength": 1,
            "description": "The cursor before which to return results."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "Input for searching Slab content."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "POST",
                    "COMMENT",
                    "TOPIC",
                    "USER"
                  ],
                  "description": "The normalized search result type."
                },
                "cursor": {
                  "type": "string",
                  "description": "The pagination cursor for this result."
                },
                "title": {
                  "type": "string",
                  "description": "The highlighted or fallback result title."
                },
                "content": {
                  "anyOf": [
                    {
                      "description": "A JSON value returned by Slab."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "highlight": {
                  "anyOf": [
                    {
                      "description": "A JSON value returned by Slab."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "post": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "linkAccess": {
                      "type": "string",
                      "enum": [
                        "INTERNAL",
                        "INTERNAL_VIEW",
                        "PUBLIC",
                        "PUBLIC_EDIT",
                        "DISABLED"
                      ],
                      "description": "The Slab post link access mode."
                    },
                    "archivedAt": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "An ISO 8601 timestamp returned by Slab.",
                          "format": "date-time"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "publishedAt": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "An ISO 8601 timestamp returned by Slab.",
                          "format": "date-time"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "title": {
                      "type": "string",
                      "description": "The post title."
                    },
                    "insertedAt": {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    "content": {
                      "description": "A JSON value returned by Slab."
                    },
                    "updatedAt": {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    "version": {
                      "type": "integer",
                      "description": "The Slab post version."
                    },
                    "owner": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Slab GraphQL ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The user's display name."
                        },
                        "email": {
                          "type": "string",
                          "description": "The user's email address.",
                          "format": "email"
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "name"
                      ],
                      "description": "A compact Slab user reference."
                    },
                    "topics": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "description": "A Slab GraphQL ID."
                          },
                          "name": {
                            "type": "string",
                            "description": "The topic name."
                          },
                          "privacy": {
                            "type": "string",
                            "enum": [
                              "OPEN",
                              "PRIVATE",
                              "SECRET",
                              "PUBLIC"
                            ],
                            "description": "The Slab topic privacy mode."
                          }
                        },
                        "additionalProperties": true,
                        "required": [
                          "id",
                          "name"
                        ],
                        "description": "A compact Slab topic reference."
                      },
                      "description": "Topics attached to the post."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "linkAccess",
                    "title",
                    "insertedAt",
                    "content",
                    "updatedAt",
                    "version",
                    "owner",
                    "topics"
                  ],
                  "description": "A Slab post."
                },
                "topic": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "description": {
                      "description": "A JSON value returned by Slab."
                    },
                    "insertedAt": {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    },
                    "memberEditable": {
                      "type": "string",
                      "enum": [
                        "ALL",
                        "POST",
                        "NONE"
                      ],
                      "description": "The Slab topic member editability mode."
                    },
                    "inheritParent": {
                      "type": "boolean",
                      "description": "Whether the topic inherits members and owners from its parent."
                    },
                    "hierarchy": {
                      "anyOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "description": "A Slab GraphQL ID."
                          },
                          "description": "The topic hierarchy IDs."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "parent": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "description": "A Slab GraphQL ID."
                            },
                            "name": {
                              "type": "string",
                              "description": "The topic name."
                            },
                            "privacy": {
                              "type": "string",
                              "enum": [
                                "OPEN",
                                "PRIVATE",
                                "SECRET",
                                "PUBLIC"
                              ],
                              "description": "The Slab topic privacy mode."
                            }
                          },
                          "additionalProperties": true,
                          "required": [
                            "id",
                            "name"
                          ],
                          "description": "A compact Slab topic reference."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "ancestors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "description": "A Slab GraphQL ID."
                          },
                          "name": {
                            "type": "string",
                            "description": "The topic name."
                          },
                          "privacy": {
                            "type": "string",
                            "enum": [
                              "OPEN",
                              "PRIVATE",
                              "SECRET",
                              "PUBLIC"
                            ],
                            "description": "The Slab topic privacy mode."
                          }
                        },
                        "additionalProperties": true,
                        "required": [
                          "id",
                          "name"
                        ],
                        "description": "A compact Slab topic reference."
                      },
                      "description": "Topic ancestors from the Slab hierarchy."
                    },
                    "children": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "description": "A Slab GraphQL ID."
                          },
                          "name": {
                            "type": "string",
                            "description": "The topic name."
                          },
                          "privacy": {
                            "type": "string",
                            "enum": [
                              "OPEN",
                              "PRIVATE",
                              "SECRET",
                              "PUBLIC"
                            ],
                            "description": "The Slab topic privacy mode."
                          }
                        },
                        "additionalProperties": true,
                        "required": [
                          "id",
                          "name"
                        ],
                        "description": "A compact Slab topic reference."
                      },
                      "description": "Child topics under this topic."
                    },
                    "owners": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "description": "A Slab GraphQL ID."
                          },
                          "name": {
                            "type": "string",
                            "description": "The user's display name."
                          },
                          "email": {
                            "type": "string",
                            "description": "The user's email address.",
                            "format": "email"
                          }
                        },
                        "additionalProperties": true,
                        "required": [
                          "id",
                          "name"
                        ],
                        "description": "A compact Slab user reference."
                      },
                      "description": "Topic owner users."
                    },
                    "members": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "description": "A Slab GraphQL ID."
                          },
                          "name": {
                            "type": "string",
                            "description": "The user's display name."
                          },
                          "email": {
                            "type": "string",
                            "description": "The user's email address.",
                            "format": "email"
                          }
                        },
                        "additionalProperties": true,
                        "required": [
                          "id",
                          "name"
                        ],
                        "description": "A compact Slab user reference."
                      },
                      "description": "Topic member users."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name",
                    "description",
                    "insertedAt",
                    "updatedAt",
                    "privacy",
                    "memberEditable",
                    "inheritParent"
                  ],
                  "description": "A Slab topic."
                },
                "user": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "title": {
                      "type": "string",
                      "description": "The user's title."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    },
                    "description": {
                      "description": "A JSON value returned by Slab."
                    },
                    "type": {
                      "type": "string",
                      "description": "The Slab user type."
                    },
                    "deactivatedAt": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "An ISO 8601 timestamp returned by Slab.",
                          "format": "date-time"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "insertedAt": {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    "avatar": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "original": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "description": "The original image URL."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "thumb": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "description": "The thumbnail image URL."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "preset": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "description": "The preset image URL."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "additionalProperties": true,
                          "description": "A Slab image object."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name",
                    "title",
                    "email",
                    "description",
                    "type",
                    "insertedAt",
                    "updatedAt"
                  ],
                  "description": "A Slab user."
                },
                "comment": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "content": {
                      "description": "A JSON value returned by Slab."
                    },
                    "insertedAt": {
                      "type": "string",
                      "description": "An ISO 8601 timestamp returned by Slab.",
                      "format": "date-time"
                    },
                    "author": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "description": "A Slab GraphQL ID."
                        },
                        "name": {
                          "type": "string",
                          "description": "The user's display name."
                        },
                        "email": {
                          "type": "string",
                          "description": "The user's email address.",
                          "format": "email"
                        }
                      },
                      "additionalProperties": true,
                      "required": [
                        "id",
                        "name"
                      ],
                      "description": "A compact Slab user reference."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A Slab comment."
                }
              },
              "additionalProperties": true,
              "description": "A Slab search result."
            },
            "description": "Search results returned by Slab."
          },
          "pageInfo": {
            "type": "object",
            "properties": {
              "hasPreviousPage": {
                "type": "boolean",
                "description": "Whether another page exists before this page."
              },
              "hasNextPage": {
                "type": "boolean",
                "description": "Whether another page exists after this page."
              },
              "startCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor for the first edge in this page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "endCursor": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor for the last edge in this page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "Slab cursor pagination metadata."
          }
        },
        "additionalProperties": false,
        "description": "A page of Slab search results."
      }
    },
    {
      "id": "slab.sync_post",
      "service": "slab",
      "name": "sync_post",
      "description": "Create or update a readonly Slab copy of external HTML or Markdown content.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "format": {
            "type": "string",
            "enum": [
              "HTML",
              "MARKDOWN"
            ],
            "description": "The content format for a synced Slab post."
          },
          "content": {
            "type": "string",
            "minLength": 1,
            "description": "The HTML or Markdown content to sync into Slab."
          },
          "editUrl": {
            "type": "string",
            "description": "The external edit URL for the source content.",
            "format": "uri"
          },
          "readUrl": {
            "type": "string",
            "description": "The external read URL for the source content.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "externalId",
          "format",
          "content"
        ],
        "description": "Input for creating or updating a Slab post from external content."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "post": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "linkAccess": {
                "type": "string",
                "enum": [
                  "INTERNAL",
                  "INTERNAL_VIEW",
                  "PUBLIC",
                  "PUBLIC_EDIT",
                  "DISABLED"
                ],
                "description": "The Slab post link access mode."
              },
              "archivedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "publishedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "type": "string",
                "description": "The post title."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "content": {
                "description": "A JSON value returned by Slab."
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "version": {
                "type": "integer",
                "description": "The Slab post version."
              },
              "owner": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Slab GraphQL ID."
                  },
                  "name": {
                    "type": "string",
                    "description": "The user's display name."
                  },
                  "email": {
                    "type": "string",
                    "description": "The user's email address.",
                    "format": "email"
                  }
                },
                "additionalProperties": true,
                "required": [
                  "id",
                  "name"
                ],
                "description": "A compact Slab user reference."
              },
              "topics": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topics attached to the post."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "linkAccess",
              "title",
              "insertedAt",
              "content",
              "updatedAt",
              "version",
              "owner",
              "topics"
            ],
            "description": "A Slab post."
          }
        },
        "additionalProperties": false,
        "description": "A Slab post result."
      }
    },
    {
      "id": "slab.update_post",
      "service": "slab",
      "name": "update_post",
      "description": "Update Slab post metadata such as owner, publication state, link access, or banner.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "ownerId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the post should be archived."
          },
          "published": {
            "type": "boolean",
            "description": "Whether the post should be published."
          },
          "linkAccess": {
            "type": "string",
            "enum": [
              "INTERNAL",
              "INTERNAL_VIEW",
              "PUBLIC",
              "PUBLIC_EDIT",
              "DISABLED"
            ],
            "description": "The Slab post link access mode."
          },
          "bannerUrl": {
            "type": "string",
            "description": "The post banner image URL.",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for updating a Slab post."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "post": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "linkAccess": {
                "type": "string",
                "enum": [
                  "INTERNAL",
                  "INTERNAL_VIEW",
                  "PUBLIC",
                  "PUBLIC_EDIT",
                  "DISABLED"
                ],
                "description": "The Slab post link access mode."
              },
              "archivedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "publishedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "An ISO 8601 timestamp returned by Slab.",
                    "format": "date-time"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "title": {
                "type": "string",
                "description": "The post title."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "content": {
                "description": "A JSON value returned by Slab."
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "version": {
                "type": "integer",
                "description": "The Slab post version."
              },
              "owner": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "description": "A Slab GraphQL ID."
                  },
                  "name": {
                    "type": "string",
                    "description": "The user's display name."
                  },
                  "email": {
                    "type": "string",
                    "description": "The user's email address.",
                    "format": "email"
                  }
                },
                "additionalProperties": true,
                "required": [
                  "id",
                  "name"
                ],
                "description": "A compact Slab user reference."
              },
              "topics": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topics attached to the post."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "linkAccess",
              "title",
              "insertedAt",
              "content",
              "updatedAt",
              "version",
              "owner",
              "topics"
            ],
            "description": "A Slab post."
          }
        },
        "additionalProperties": false,
        "description": "A Slab post result."
      }
    },
    {
      "id": "slab.update_topic",
      "service": "slab",
      "name": "update_topic",
      "description": "Update a Slab topic.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The topic name."
          },
          "description": {
            "description": "A JSON value returned by Slab."
          },
          "parentId": {
            "type": "string",
            "minLength": 1,
            "description": "A Slab GraphQL ID."
          },
          "memberEditable": {
            "type": "string",
            "enum": [
              "ALL",
              "POST",
              "NONE"
            ],
            "description": "The Slab topic member editability mode."
          },
          "privacy": {
            "type": "string",
            "enum": [
              "OPEN",
              "PRIVATE",
              "SECRET",
              "PUBLIC"
            ],
            "description": "The Slab topic privacy mode."
          },
          "bannerUrl": {
            "type": "string",
            "description": "The topic banner image URL.",
            "format": "uri"
          },
          "inheritParent": {
            "type": "boolean",
            "description": "Whether to inherit parent topic owners and members."
          },
          "propagatePrivacy": {
            "type": "boolean",
            "description": "Whether privacy changes should propagate to subtopics."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for updating a Slab topic."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "topic": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "A Slab GraphQL ID."
              },
              "name": {
                "type": "string",
                "description": "The topic name."
              },
              "description": {
                "description": "A JSON value returned by Slab."
              },
              "insertedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "description": "An ISO 8601 timestamp returned by Slab.",
                "format": "date-time"
              },
              "privacy": {
                "type": "string",
                "enum": [
                  "OPEN",
                  "PRIVATE",
                  "SECRET",
                  "PUBLIC"
                ],
                "description": "The Slab topic privacy mode."
              },
              "memberEditable": {
                "type": "string",
                "enum": [
                  "ALL",
                  "POST",
                  "NONE"
                ],
                "description": "The Slab topic member editability mode."
              },
              "inheritParent": {
                "type": "boolean",
                "description": "Whether the topic inherits members and owners from its parent."
              },
              "hierarchy": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "description": "The topic hierarchy IDs."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "parent": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "description": "A Slab GraphQL ID."
                      },
                      "name": {
                        "type": "string",
                        "description": "The topic name."
                      },
                      "privacy": {
                        "type": "string",
                        "enum": [
                          "OPEN",
                          "PRIVATE",
                          "SECRET",
                          "PUBLIC"
                        ],
                        "description": "The Slab topic privacy mode."
                      }
                    },
                    "additionalProperties": true,
                    "required": [
                      "id",
                      "name"
                    ],
                    "description": "A compact Slab topic reference."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ancestors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Topic ancestors from the Slab hierarchy."
              },
              "children": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The topic name."
                    },
                    "privacy": {
                      "type": "string",
                      "enum": [
                        "OPEN",
                        "PRIVATE",
                        "SECRET",
                        "PUBLIC"
                      ],
                      "description": "The Slab topic privacy mode."
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab topic reference."
                },
                "description": "Child topics under this topic."
              },
              "owners": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic owner users."
              },
              "members": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "A Slab GraphQL ID."
                    },
                    "name": {
                      "type": "string",
                      "description": "The user's display name."
                    },
                    "email": {
                      "type": "string",
                      "description": "The user's email address.",
                      "format": "email"
                    }
                  },
                  "additionalProperties": true,
                  "required": [
                    "id",
                    "name"
                  ],
                  "description": "A compact Slab user reference."
                },
                "description": "Topic member users."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "name",
              "description",
              "insertedAt",
              "updatedAt",
              "privacy",
              "memberEditable",
              "inheritParent"
            ],
            "description": "A Slab topic."
          }
        },
        "additionalProperties": false,
        "description": "A Slab topic result."
      }
    }
  ]
}
