Skip to main content
Every notion.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Blocks

appendBlock

blocks.appendBlock Append new blocks to a block or page Risk: write
await corsair.notion.api.blocks.appendBlock({});
Input
NameTypeRequiredDescription
block_idstringYes
childrenobject[]Yes
{
  object: block,
  id: string,
  type: string,
  created_time?: string,
  created_by?: {
    object: user,
    id: string
  },
  last_edited_time?: string,
  last_edited_by?: {
    object: user,
    id: string
  },
  archived?: boolean,
  has_children?: boolean,
  parent?: {
    type: workspace,
    workspace: boolean
  } | {
    type: page_id,
    page_id: string
  } | {
    type: database_id,
    database_id: string
  } | {
    type: block_id,
    block_id: string
  }
}[]
Output
NameTypeRequiredDescription
objectlistYes
resultsobject[]Yes
next_cursorstringNo
has_morebooleanYes
typestringNo
page_or_databaseobjectNo
request_idstringNo
{
  object: block,
  id: string,
  type: string,
  created_time?: string,
  created_by?: {
    object: user,
    id: string
  },
  last_edited_time?: string,
  last_edited_by?: {
    object: user,
    id: string
  },
  archived?: boolean,
  has_children?: boolean,
  parent?: {
    type: workspace,
    workspace: boolean
  } | {
    type: page_id,
    page_id: string
  } | {
    type: database_id,
    database_id: string
  } | {
    type: block_id,
    block_id: string
  }
}[]
{
}

getManyChildBlocks

blocks.getManyChildBlocks Retrieve child blocks of a block or page Risk: read
await corsair.notion.api.blocks.getManyChildBlocks({});
Input
NameTypeRequiredDescription
block_idstringYes
start_cursorstringNo
page_sizenumberNo
Output
NameTypeRequiredDescription
objectlistYes
resultsobject[]Yes
next_cursorstringNo
has_morebooleanYes
typestringNo
page_or_databaseobjectNo
request_idstringNo
{
  object: block,
  id: string,
  type: string,
  created_time?: string,
  created_by?: {
    object: user,
    id: string
  },
  last_edited_time?: string,
  last_edited_by?: {
    object: user,
    id: string
  },
  archived?: boolean,
  has_children?: boolean,
  parent?: {
    type: workspace,
    workspace: boolean
  } | {
    type: page_id,
    page_id: string
  } | {
    type: database_id,
    database_id: string
  } | {
    type: block_id,
    block_id: string
  }
}[]
{
}

Database Pages

createDatabasePage

databasePages.createDatabasePage Create a new page in a database Risk: write
await corsair.notion.api.databasePages.createDatabasePage({});
Input
NameTypeRequiredDescription
database_idstringYes
propertiesobjectYes
{
}
Output
NameTypeRequiredDescription
objectpageYes
idstringYes
created_timestringYes
created_byobjectNo
last_edited_timestringYes
last_edited_byobjectNo
coverobjectNo
iconobjectNo
parentobjectYes
archivedbooleanYes
in_trashbooleanNo
is_lockedbooleanNo
propertiesobjectYes
urlstringYes
public_urlstringNo
{
  object: user,
  id: string
}
{
  object: user,
  id: string
}
{
  type: string,
  external?: {
    url: string
  },
  file?: {
    url: string
  }
}
{
  type: string,
  external?: {
    url: string
  },
  emoji?: string
}
{
  type: workspace,
  workspace: boolean
} | {
  type: page_id,
  page_id: string
} | {
  type: database_id,
  database_id: string
} | {
  type: block_id,
  block_id: string
}
{
}

getDatabasePage

databasePages.getDatabasePage Get a page from a database Risk: read
await corsair.notion.api.databasePages.getDatabasePage({});
Input
NameTypeRequiredDescription
page_idstringYes
Output
NameTypeRequiredDescription
objectpageYes
idstringYes
created_timestringYes
created_byobjectNo
last_edited_timestringYes
last_edited_byobjectNo
coverobjectNo
iconobjectNo
parentobjectYes
archivedbooleanYes
in_trashbooleanNo
is_lockedbooleanNo
propertiesobjectYes
urlstringYes
public_urlstringNo
{
  object: user,
  id: string
}
{
  object: user,
  id: string
}
{
  type: string,
  external?: {
    url: string
  },
  file?: {
    url: string
  }
}
{
  type: string,
  external?: {
    url: string
  },
  emoji?: string
}
{
  type: workspace,
  workspace: boolean
} | {
  type: page_id,
  page_id: string
} | {
  type: database_id,
  database_id: string
} | {
  type: block_id,
  block_id: string
}
{
}

getManyDatabasePages

databasePages.getManyDatabasePages List and filter pages in a database Risk: read
await corsair.notion.api.databasePages.getManyDatabasePages({});
Input
NameTypeRequiredDescription
database_idstringYes
filteranyNo
sortsany[]No
start_cursorstringNo
page_sizenumberNo
Output
NameTypeRequiredDescription
objectlistYes
resultsobject[]Yes
next_cursorstringNo
has_morebooleanYes
typestringNo
page_or_databaseobjectNo
request_idstringNo
{
  object: page,
  id: string,
  created_time: string,
  created_by?: {
    object: user,
    id: string
  },
  last_edited_time: string,
  last_edited_by?: {
    object: user,
    id: string
  },
  cover?: {
    type: string,
    external?: {
      url: string
    },
    file?: {
      url: string
    }
  } | null,
  icon?: {
    type: string,
    external?: {
      url: string
    },
    emoji?: string
  } | null,
  parent: {
    type: workspace,
    workspace: boolean
  } | {
    type: page_id,
    page_id: string
  } | {
    type: database_id,
    database_id: string
  } | {
    type: block_id,
    block_id: string
  },
  archived: boolean,
  in_trash?: boolean,
  is_locked?: boolean,
  properties: {
  },
  url: string,
  public_url?: string | null
}[]
{
}

updateDatabasePage

databasePages.updateDatabasePage Update properties of a database page Risk: write
await corsair.notion.api.databasePages.updateDatabasePage({});
Input
NameTypeRequiredDescription
page_idstringYes
propertiesobjectNo
archivedbooleanNo
{
}
Output
NameTypeRequiredDescription
objectpageYes
idstringYes
created_timestringYes
created_byobjectNo
last_edited_timestringYes
last_edited_byobjectNo
coverobjectNo
iconobjectNo
parentobjectYes
archivedbooleanYes
in_trashbooleanNo
is_lockedbooleanNo
propertiesobjectYes
urlstringYes
public_urlstringNo
{
  object: user,
  id: string
}
{
  object: user,
  id: string
}
{
  type: string,
  external?: {
    url: string
  },
  file?: {
    url: string
  }
}
{
  type: string,
  external?: {
    url: string
  },
  emoji?: string
}
{
  type: workspace,
  workspace: boolean
} | {
  type: page_id,
  page_id: string
} | {
  type: database_id,
  database_id: string
} | {
  type: block_id,
  block_id: string
}
{
}

Databases

getDatabase

databases.getDatabase Get info about a database Risk: read
await corsair.notion.api.databases.getDatabase({});
Input
NameTypeRequiredDescription
database_idstringYes
Output
NameTypeRequiredDescription
objectdatabaseYes
idstringYes
coverobjectNo
iconobjectNo
created_timestringYes
created_byobjectNo
last_edited_timestringYes
last_edited_byobjectNo
titleobject[]Yes
descriptionobject[]Yes
is_inlinebooleanYes
propertiesobjectYes
parentobjectYes
urlstringYes
public_urlstringNo
archivedbooleanYes
in_trashbooleanNo
{
  type: string,
  external?: {
    url: string
  }
}
{
  type: string,
  external?: {
    url: string
  },
  emoji?: string
}
{
  object: user,
  id: string
}
{
  object: user,
  id: string
}
{
  type: string,
  text?: {
    content: string,
    link?: {
      url: string
    } | null
  },
  annotations?: {
    bold?: boolean,
    italic?: boolean,
    strikethrough?: boolean,
    underline?: boolean,
    code?: boolean,
    color?: string
  },
  plain_text?: string,
  href?: string | null
}[]
{
  type: string,
  text?: {
    content: string,
    link?: {
      url: string
    } | null
  },
  annotations?: {
    bold?: boolean,
    italic?: boolean,
    strikethrough?: boolean,
    underline?: boolean,
    code?: boolean,
    color?: string
  },
  plain_text?: string,
  href?: string | null
}[]
{
}
{
  type: workspace,
  workspace: boolean
} | {
  type: page_id,
  page_id: string
} | {
  type: database_id,
  database_id: string
} | {
  type: block_id,
  block_id: string
}

getManyDatabases

databases.getManyDatabases List databases accessible to the integration Risk: read
await corsair.notion.api.databases.getManyDatabases({});
Input
NameTypeRequiredDescription
start_cursorstringNo
page_sizenumberNo
Output
NameTypeRequiredDescription
objectlistYes
resultsobject[]Yes
next_cursorstringNo
has_morebooleanYes
typestringNo
page_or_databaseobjectNo
request_idstringNo
{
  object: database,
  id: string,
  cover?: {
    type: string,
    external?: {
      url: string
    }
  } | null,
  icon?: {
    type: string,
    external?: {
      url: string
    },
    emoji?: string
  } | null,
  created_time: string,
  created_by?: {
    object: user,
    id: string
  },
  last_edited_time: string,
  last_edited_by?: {
    object: user,
    id: string
  },
  title: {
    type: string,
    text?: {
      content: string,
      link?: {
        url: string
      } | null
    },
    annotations?: {
      bold?: boolean,
      italic?: boolean,
      strikethrough?: boolean,
      underline?: boolean,
      code?: boolean,
      color?: string
    },
    plain_text?: string,
    href?: string | null
  }[],
  description: {
    type: string,
    text?: {
      content: string,
      link?: {
        url: string
      } | null
    },
    annotations?: {
      bold?: boolean,
      italic?: boolean,
      strikethrough?: boolean,
      underline?: boolean,
      code?: boolean,
      color?: string
    },
    plain_text?: string,
    href?: string | null
  }[],
  is_inline: boolean,
  properties: {
  },
  parent: {
    type: workspace,
    workspace: boolean
  } | {
    type: page_id,
    page_id: string
  } | {
    type: database_id,
    database_id: string
  } | {
    type: block_id,
    block_id: string
  },
  url: string,
  public_url?: string | null,
  archived: boolean,
  in_trash?: boolean
}[]
{
}

searchDatabase

databases.searchDatabase Search and filter databases Risk: read
await corsair.notion.api.databases.searchDatabase({});
Input
NameTypeRequiredDescription
querystringNo
sortanyNo
filteranyNo
start_cursorstringNo
page_sizenumberNo
Output
NameTypeRequiredDescription
objectlistYes
resultsobject[]Yes
next_cursorstringNo
has_morebooleanYes
typestringNo
page_or_databaseobjectNo
request_idstringNo
{
  object: database,
  id: string,
  cover?: {
    type: string,
    external?: {
      url: string
    }
  } | null,
  icon?: {
    type: string,
    external?: {
      url: string
    },
    emoji?: string
  } | null,
  created_time: string,
  created_by?: {
    object: user,
    id: string
  },
  last_edited_time: string,
  last_edited_by?: {
    object: user,
    id: string
  },
  title: {
    type: string,
    text?: {
      content: string,
      link?: {
        url: string
      } | null
    },
    annotations?: {
      bold?: boolean,
      italic?: boolean,
      strikethrough?: boolean,
      underline?: boolean,
      code?: boolean,
      color?: string
    },
    plain_text?: string,
    href?: string | null
  }[],
  description: {
    type: string,
    text?: {
      content: string,
      link?: {
        url: string
      } | null
    },
    annotations?: {
      bold?: boolean,
      italic?: boolean,
      strikethrough?: boolean,
      underline?: boolean,
      code?: boolean,
      color?: string
    },
    plain_text?: string,
    href?: string | null
  }[],
  is_inline: boolean,
  properties: {
  },
  parent: {
    type: workspace,
    workspace: boolean
  } | {
    type: page_id,
    page_id: string
  } | {
    type: database_id,
    database_id: string
  } | {
    type: block_id,
    block_id: string
  },
  url: string,
  public_url?: string | null,
  archived: boolean,
  in_trash?: boolean
}[]
{
}

Pages

archivePage

pages.archivePage Archive (trash) a page [DESTRUCTIVE] Risk: destructive
await corsair.notion.api.pages.archivePage({});
Input
NameTypeRequiredDescription
page_idstringYes
Output
NameTypeRequiredDescription
objectpageYes
idstringYes
created_timestringYes
created_byobjectNo
last_edited_timestringYes
last_edited_byobjectNo
coverobjectNo
iconobjectNo
parentobjectYes
archivedbooleanYes
in_trashbooleanNo
is_lockedbooleanNo
propertiesobjectYes
urlstringYes
public_urlstringNo
{
  object: user,
  id: string
}
{
  object: user,
  id: string
}
{
  type: string,
  external?: {
    url: string
  },
  file?: {
    url: string
  }
}
{
  type: string,
  external?: {
    url: string
  },
  emoji?: string
}
{
  type: workspace,
  workspace: boolean
} | {
  type: page_id,
  page_id: string
} | {
  type: database_id,
  database_id: string
} | {
  type: block_id,
  block_id: string
}
{
}

createPage

pages.createPage Create a new page Risk: write
await corsair.notion.api.pages.createPage({});
Input
NameTypeRequiredDescription
parentobjectYes
propertiesobjectNo
childrenobject[]No
{
  type: page_id,
  page_id: string
} | {
  type: database_id,
  database_id: string
} | {
  type: workspace,
  workspace: boolean
}
{
}
{
  object: block,
  id: string,
  type: string,
  created_time?: string,
  created_by?: {
    object: user,
    id: string
  },
  last_edited_time?: string,
  last_edited_by?: {
    object: user,
    id: string
  },
  archived?: boolean,
  has_children?: boolean,
  parent?: {
    type: workspace,
    workspace: boolean
  } | {
    type: page_id,
    page_id: string
  } | {
    type: database_id,
    database_id: string
  } | {
    type: block_id,
    block_id: string
  }
}[]
Output
NameTypeRequiredDescription
objectpageYes
idstringYes
created_timestringYes
created_byobjectNo
last_edited_timestringYes
last_edited_byobjectNo
coverobjectNo
iconobjectNo
parentobjectYes
archivedbooleanYes
in_trashbooleanNo
is_lockedbooleanNo
propertiesobjectYes
urlstringYes
public_urlstringNo
{
  object: user,
  id: string
}
{
  object: user,
  id: string
}
{
  type: string,
  external?: {
    url: string
  },
  file?: {
    url: string
  }
}
{
  type: string,
  external?: {
    url: string
  },
  emoji?: string
}
{
  type: workspace,
  workspace: boolean
} | {
  type: page_id,
  page_id: string
} | {
  type: database_id,
  database_id: string
} | {
  type: block_id,
  block_id: string
}
{
}

searchPage

pages.searchPage Search pages and databases by title Risk: read
await corsair.notion.api.pages.searchPage({});
Input
NameTypeRequiredDescription
querystringNo
sortanyNo
filteranyNo
start_cursorstringNo
page_sizenumberNo
Output
NameTypeRequiredDescription
objectlistYes
resultsobject[]Yes
next_cursorstringNo
has_morebooleanYes
typestringNo
page_or_databaseobjectNo
request_idstringNo
(
  {
    object: page,
    id: string,
    created_time: string,
    created_by?: {
      object: user,
      id: string
    },
    last_edited_time: string,
    last_edited_by?: {
      object: user,
      id: string
    },
    cover?: {
      type: string,
      external?: {
        url: string
      },
      file?: {
        url: string
      }
    } | null,
    icon?: {
      type: string,
      external?: {
        url: string
      },
      emoji?: string
    } | null,
    parent: {
      type: workspace,
      workspace: boolean
    } | {
      type: page_id,
      page_id: string
    } | {
      type: database_id,
      database_id: string
    } | {
      type: block_id,
      block_id: string
    },
    archived: boolean,
    in_trash?: boolean,
    is_locked?: boolean,
    properties: {
    },
    url: string,
    public_url?: string | null
  } | {
    object: database,
    id: string,
    cover?: {
      type: string,
      external?: {
        url: string
      }
    } | null,
    icon?: {
      type: string,
      external?: {
        url: string
      },
      emoji?: string
    } | null,
    created_time: string,
    created_by?: {
      object: user,
      id: string
    },
    last_edited_time: string,
    last_edited_by?: {
      object: user,
      id: string
    },
    title: {
      type: string,
      text?: {
        content: string,
        link?: {
          url: string
        } | null
      },
      annotations?: {
        bold?: boolean,
        italic?: boolean,
        strikethrough?: boolean,
        underline?: boolean,
        code?: boolean,
        color?: string
      },
      plain_text?: string,
      href?: string | null
    }[],
    description: {
      type: string,
      text?: {
        content: string,
        link?: {
          url: string
        } | null
      },
      annotations?: {
        bold?: boolean,
        italic?: boolean,
        strikethrough?: boolean,
        underline?: boolean,
        code?: boolean,
        color?: string
      },
      plain_text?: string,
      href?: string | null
    }[],
    is_inline: boolean,
    properties: {
    },
    parent: {
      type: workspace,
      workspace: boolean
    } | {
      type: page_id,
      page_id: string
    } | {
      type: database_id,
      database_id: string
    } | {
      type: block_id,
      block_id: string
    },
    url: string,
    public_url?: string | null,
    archived: boolean,
    in_trash?: boolean
  }
)[]
{
}

Users

getManyUsers

users.getManyUsers List all users in the workspace Risk: read
await corsair.notion.api.users.getManyUsers({});
Input
NameTypeRequiredDescription
start_cursorstringNo
page_sizenumberNo
Output
NameTypeRequiredDescription
objectlistYes
resultsobject[]Yes
next_cursorstringNo
has_morebooleanYes
typestringNo
page_or_databaseobjectNo
request_idstringNo
{
  object: user,
  id: string,
  type: person | bot,
  name?: string | null,
  avatar_url?: string | null
}[]
{
}

getUser

users.getUser Get info about a user Risk: read
await corsair.notion.api.users.getUser({});
Input
NameTypeRequiredDescription
user_idstringYes
Output
NameTypeRequiredDescription
objectuserYes
idstringYes
typeperson | botYes
namestringNo
avatar_urlstringNo