Slab

Slab is an internal knowledge base and team wiki for the modern workplace, pairing a clean editor and fast search with dozens of integrations. Slab exposes a single GraphQL API at https://api.slab.com/v1/graphql for programmatic access to posts, topics, users, and organization data, available to Business and Enterprise customers.

4 APIs 0 Features
Knowledge BaseWikiDocumentationCollaborationGraphQL

APIs

Slab Posts

Query and update knowledge base posts through the Slab GraphQL API - fetch a post by ID, search posts across the workspace with cursor-based pagination, list posts within a topi...

Slab Topics

Read the topic hierarchy used to organize content in a Slab workspace, resolve a topic by ID, and list the posts nested within a topic. Topics are the primary structure for grou...

Slab Users

Resolve the members of a Slab organization through the GraphQL API - look up a user by ID and read profile fields such as name and email, used to attribute authorship and map ac...

Slab Organization

Read top-level organization (workspace) context through the Slab GraphQL API, including the organization entry point that scopes posts, topics, and users. API responses are boun...

Collections

GraphQL

Slab GraphQL Schema

Conceptual GraphQL schema for the [Slab](https://slab.com/) knowledge base and team wiki platform.

GRAPHQL

Pricing Plans

Slab Plans Pricing

4 plans

PLANS

Rate Limits

Slab Rate Limits

2 limits

RATE LIMITS

FinOps

Slab Finops

FINOPS

Resources

🔗
VulnerabilityDisclosure
VulnerabilityDisclosure
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Slab GraphQL API
  version: '1.0'
request:
  auth:
    type: bearer
    token: '{{slabToken}}'
items:
- info:
    name: Posts
    type: folder
  items:
  - info:
      name: Get a post by ID.
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"query GetPost($id: ID!) { post(id: $id) { id title content insertedAt updatedAt topics {\
          \ id name } } }\",\n  \"variables\": { \"id\": \"abc123\" }\n}"
    docs: Retrieve a single post, including its Quill Delta content, by ID.
  - info:
      name: List organization posts (cursor pagination).
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"query GetOrganizationPosts($first: Int!, $after: String) { posts(first: $first, after: $after)\
          \ { edges { node { id title insertedAt updatedAt } cursor } pageInfo { hasNextPage endCursor } } }\",\n  \"variables\"\
          : { \"first\": 50, \"after\": null }\n}"
    docs: List posts across the organization using cursor-based pagination.
  - info:
      name: Search posts.
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"query SearchPosts($query: String!, $first: Int!) { search(query: $query, first: $first) {\
          \ edges { node { id title } } pageInfo { hasNextPage endCursor } } }\",\n  \"variables\": { \"query\": \"onboarding\"\
          , \"first\": 25 }\n}"
    docs: Search posts across the workspace.
  - info:
      name: Update post content (Quill Delta).
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"mutation UpdatePostContent($id: ID!, $content: JSON!) { updatePost(id: $id, content: $content)\
          \ { id version updatedAt } }\",\n  \"variables\": { \"id\": \"abc123\", \"content\": { \"ops\": [ { \"insert\":\
          \ \"Hello world\\n\" } ] } }\n}"
    docs: Update a post's content using the Quill Delta rich-text format.
- info:
    name: Topics
    type: folder
  items:
  - info:
      name: Get a topic and its posts.
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"query GetTopicPosts($id: ID!) { topic(id: $id) { id name posts(first: 50) { edges { node\
          \ { id title } } pageInfo { hasNextPage endCursor } } } }\",\n  \"variables\": { \"id\": \"topic123\" }\n}"
    docs: Resolve a topic by ID and list the posts nested within it.
  - info:
      name: List topics.
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"query GetTopics($first: Int!, $after: String) { topics(first: $first, after: $after) { edges\
          \ { node { id name description } } pageInfo { hasNextPage endCursor } } }\",\n  \"variables\": { \"first\": 50,\
          \ \"after\": null }\n}"
    docs: List topics in the organization with cursor pagination.
- info:
    name: Users
    type: folder
  items:
  - info:
      name: Get a user by ID.
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"query GetUser($id: ID!) { user(id: $id) { id name email } }\",\n  \"variables\": { \"id\"\
          : \"user123\" }\n}"
    docs: Retrieve a single organization member by ID.
- info:
    name: Organization
    type: folder
  items:
  - info:
      name: Get the organization context.
      type: http
    http:
      method: POST
      url: https://api.slab.com/v1/graphql
      body:
        type: json
        data: "{\n  \"query\": \"query GetOrganization { organization { id name } }\"\n}"
    docs: Fetch the current workspace/organization context.
bundled: true