> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API reference for OneDrive: every `onedrive.api.*` operation with input and output types.

Every `onedrive.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

<Info>
  **New to Corsair?** See [API access](/concepts/api), [authentication](/concepts/auth), and [error handling](/concepts/error-handling).
</Info>

## Drive

### get

`drive.get`

Get a drive by ID

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `select_fields` | `string[]` | No | — |
| `expand_fields` | `string[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `name` | `string` | No | — |
| `driveType` | `string` | No | — |
| `webUrl` | `string` | No | — |
| `description` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |
| `owner` | `object` | No | — |
| `quota` | `object` | No | — |

<AccordionGroup>
  <Accordion title="owner full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="quota full type">
    ```ts theme={null}
    {
      deleted?: number,
      remaining?: number,
      total?: number,
      used?: number,
      state?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getGroup

`drive.getGroup`

Get a group's drive

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.getGroup({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `group_id` | `string` | Yes | — |
| `select_fields` | `string[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `name` | `string` | No | — |
| `driveType` | `string` | No | — |
| `webUrl` | `string` | No | — |
| `description` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |
| `owner` | `object` | No | — |
| `quota` | `object` | No | — |

<AccordionGroup>
  <Accordion title="owner full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="quota full type">
    ```ts theme={null}
    {
      deleted?: number,
      remaining?: number,
      total?: number,
      used?: number,
      state?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getQuota

`drive.getQuota`

Get the user's drive and quota information

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.getQuota({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `select_fields` | `string[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `name` | `string` | No | — |
| `driveType` | `string` | No | — |
| `webUrl` | `string` | No | — |
| `description` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |
| `owner` | `object` | No | — |
| `quota` | `object` | No | — |

<AccordionGroup>
  <Accordion title="owner full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="quota full type">
    ```ts theme={null}
    {
      deleted?: number,
      remaining?: number,
      total?: number,
      used?: number,
      state?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getRecentItems

`drive.getRecentItems`

Get recently accessed drive items

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.getRecentItems({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `top` | `number` | No | — |
| `select` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getRoot

`drive.getRoot`

Get the root folder of the user's drive

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.getRoot({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `select_fields` | `string[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `size` | `number` | No | — |
| `webUrl` | `string` | No | — |
| `eTag` | `string` | No | — |
| `cTag` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |
| `createdBy` | `object` | No | — |
| `lastModifiedBy` | `object` | No | — |
| `parentReference` | `object` | No | — |
| `file` | `object` | No | — |
| `folder` | `object` | No | — |
| `deleted` | `object` | No | — |
| `@microsoft.graph.downloadUrl` | `string` | No | — |
| `root` | `object` | No | — |
| `description` | `string` | No | — |

<AccordionGroup>
  <Accordion title="createdBy full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="lastModifiedBy full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="parentReference full type">
    ```ts theme={null}
    {
      driveId?: string,
      id?: string,
      path?: string,
      name?: string,
      siteId?: string
    }
    ```
  </Accordion>

  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string,
      hashes?: {
        quickXorHash?: string,
        sha1Hash?: string,
        sha256Hash?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="folder full type">
    ```ts theme={null}
    {
      childCount?: number
    }
    ```
  </Accordion>

  <Accordion title="deleted full type">
    ```ts theme={null}
    {
      state?: string
    }
    ```
  </Accordion>

  <Accordion title="root full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getSharedItems

`drive.getSharedItems`

Get items shared with the user

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.getSharedItems({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `allow_external` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getSpecialFolder

`drive.getSpecialFolder`

Get a special folder (documents, photos, cameraroll)

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.getSpecialFolder({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `special_folder_name` | `documents \| photos \| cameraroll` | Yes | — |
| `select_fields` | `string[]` | No | — |
| `expand_relations` | `string[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `size` | `number` | No | — |
| `webUrl` | `string` | No | — |
| `eTag` | `string` | No | — |
| `cTag` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |
| `createdBy` | `object` | No | — |
| `lastModifiedBy` | `object` | No | — |
| `parentReference` | `object` | No | — |
| `file` | `object` | No | — |
| `folder` | `object` | No | — |
| `deleted` | `object` | No | — |
| `@microsoft.graph.downloadUrl` | `string` | No | — |
| `children` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="createdBy full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="lastModifiedBy full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="parentReference full type">
    ```ts theme={null}
    {
      driveId?: string,
      id?: string,
      path?: string,
      name?: string,
      siteId?: string
    }
    ```
  </Accordion>

  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string,
      hashes?: {
        quickXorHash?: string,
        sha1Hash?: string,
        sha256Hash?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="folder full type">
    ```ts theme={null}
    {
      childCount?: number
    }
    ```
  </Accordion>

  <Accordion title="deleted full type">
    ```ts theme={null}
    {
      state?: string
    }
    ```
  </Accordion>

  <Accordion title="children full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### list

`drive.list`

List available drives

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `top` | `number` | No | — |
| `expand` | `string` | No | — |
| `select` | `string` | No | — |
| `orderby` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `skip_token` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      name?: string,
      driveType?: string,
      webUrl?: string,
      description?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      owner?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      quota?: {
        deleted?: number,
        remaining?: number,
        total?: number,
        used?: number,
        state?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listActivities

`drive.listActivities`

List activities across the drive

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.listActivities({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `top` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      action?: {
        comment?: {
        },
        create?: {
        },
        delete?: {
        },
        edit?: {
        },
        mention?: {
        },
        move?: {
        },
        rename?: {
        },
        restore?: {
        },
        share?: {
        },
        version?: {
        }
      },
      actor?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      times?: {
        recordedTime?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listBundles

`drive.listBundles`

List bundles in a drive

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.listBundles({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `expand` | `string` | No | — |
| `filter` | `string` | No | — |
| `select` | `string` | No | — |
| `orderby` | `string` | No | — |
| `skip_token` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listChanges

`drive.listChanges`

List changes to drive items using delta

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.drive.listChanges({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `top` | `number` | No | — |
| `token` | `string` | No | — |
| `expand` | `string` | No | — |
| `select` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |
| `@odata.deltaLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Files

### createFolder

`files.createFolder`

Create a new folder

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.files.createFolder({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |
| `user_id` | `string` | No | — |
| `description` | `string` | No | — |
| `parent_folder` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `webUrl` | `string` | No | — |

***

### createTextFile

`files.createTextFile`

Create a new text file with content

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.files.createTextFile({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |
| `content` | `string` | Yes | — |
| `folder` | `string` | No | — |
| `user_id` | `string` | No | — |
| `conflict_behavior` | `fail \| replace \| rename` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `file` | `object` | No | — |
| `name` | `string` | Yes | — |
| `size` | `number` | No | — |

<AccordionGroup>
  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### findFile

`files.findFile`

Find a file by name

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.files.findFile({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |
| `folder` | `string` | No | — |
| `user_id` | `string` | No | — |
| `include_metadata` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `odata_context` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### findFolder

`files.findFolder`

Find a folder by name

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.files.findFolder({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | No | — |
| `top` | `number` | No | — |
| `expand` | `string` | No | — |
| `folder` | `string` | No | — |
| `select` | `string[]` | No | — |
| `orderby` | `string` | No | — |
| `user_id` | `string` | No | — |
| `skip_token` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### list

`files.list`

List files in the root drive

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.files.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `top` | `number` | No | — |
| `select` | `string[]` | No | — |
| `user_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### upload

`files.upload`

Upload a file to OneDrive

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.files.upload({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `file` | `object` | Yes | — |
| `folder` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `drive_id` | `string` | No | — |
| `description` | `string` | No | — |
| `defer_commit` | `boolean` | No | — |
| `if_match_etag` | `string` | No | — |
| `file_system_info` | `object` | No | — |
| `conflict_behavior` | `rename \| fail \| replace` | No | — |

<AccordionGroup>
  <Accordion title="file full type">
    ```ts theme={null}
    {
      name: string,
      s3key: string,
      mimetype: string
    }
    ```
  </Accordion>

  <Accordion title="file_system_info full type">
    ```ts theme={null}
    {
      createdDateTime?: string,
      lastAccessedDateTime?: string,
      lastModifiedDateTime?: string
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `file` | `object` | No | — |
| `name` | `string` | Yes | — |
| `size` | `number` | No | — |

<AccordionGroup>
  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Items

### checkin

`items.checkin`

Check in a checked-out drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.checkin({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `driveItem_id` | `string` | Yes | — |
| `comment` | `string` | No | — |
| `checkInAs` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### checkout

`items.checkout`

Check out a drive item for editing

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.checkout({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `driveItem_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### copy

`items.copy`

Copy a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.copy({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `drive_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `children_only` | `boolean` | No | — |
| `parent_reference` | `object` | No | — |
| `conflict_behavior` | `fail \| replace \| rename` | No | — |
| `include_all_version_history` | `boolean` | No | — |

<AccordionGroup>
  <Accordion title="parent_reference full type">
    ```ts theme={null}
    {
      id?: string,
      driveId?: string
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | No | — |
| `item_id` | `string` | No | — |
| `message` | `string` | Yes | — |
| `web_url` | `string` | No | — |
| `monitor_url` | `string` | No | — |
| `status_code` | `number` | Yes | — |

***

### delete

`items.delete`

Delete a drive item

**Risk:** `destructive`

```ts theme={null}
await corsair.onedrive.api.items.delete({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `if_match` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### deletePermanently

`items.deletePermanently`

Permanently delete a drive item

**Risk:** `destructive`

```ts theme={null}
await corsair.onedrive.api.items.deletePermanently({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `drive_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### discardCheckout

`items.discardCheckout`

Discard the checkout of a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.discardCheckout({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `driveItem_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### download

`items.download`

Download a file

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.download({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `file_name` | `string` | Yes | — |
| `drive_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `format` | `pdf \| html` | No | — |
| `if_none_match` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `content` | `string` | Yes | — |

***

### downloadAsFormat

`items.downloadAsFormat`

Download a file converted to a different format

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.downloadAsFormat({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path_and_filename` | `string` | Yes | — |
| `file_name` | `string` | Yes | — |
| `format` | `pdf \| html` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `content` | `string` | Yes | — |

***

### downloadByPath

`items.downloadByPath`

Download a file by path

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.downloadByPath({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_path` | `string` | Yes | — |
| `file_name` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `content` | `string` | Yes | — |

***

### downloadVersion

`items.downloadVersion`

Download a specific version of a file

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.downloadVersion({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `version_id` | `string` | Yes | — |
| `file_name` | `string` | Yes | — |
| `drive_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `content` | `string` | Yes | — |

***

### follow

`items.follow`

Follow a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.follow({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `driveItem_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `size` | `number` | No | — |
| `webUrl` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |

***

### get

`items.get`

Get a drive item by ID

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `drive_id` | `string` | No | — |
| `select_fields` | `string[]` | No | — |
| `expand_relations` | `string[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `size` | `number` | No | — |
| `webUrl` | `string` | No | — |
| `eTag` | `string` | No | — |
| `cTag` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |
| `createdBy` | `object` | No | — |
| `lastModifiedBy` | `object` | No | — |
| `parentReference` | `object` | No | — |
| `file` | `object` | No | — |
| `folder` | `object` | No | — |
| `deleted` | `object` | No | — |
| `@microsoft.graph.downloadUrl` | `string` | No | — |
| `children` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="createdBy full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="lastModifiedBy full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="parentReference full type">
    ```ts theme={null}
    {
      driveId?: string,
      id?: string,
      path?: string,
      name?: string,
      siteId?: string
    }
    ```
  </Accordion>

  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string,
      hashes?: {
        quickXorHash?: string,
        sha1Hash?: string,
        sha256Hash?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="folder full type">
    ```ts theme={null}
    {
      childCount?: number
    }
    ```
  </Accordion>

  <Accordion title="deleted full type">
    ```ts theme={null}
    {
      state?: string
    }
    ```
  </Accordion>

  <Accordion title="children full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getDriveItemBySharingUrl

`items.getDriveItemBySharingUrl`

Get a drive item by sharing URL

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.getDriveItemBySharingUrl({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `sharing_url` | `string` | No | — |
| `prefer_redeem` | `redeemSharingLinkIfNecessary \| redeemSharingLink` | No | — |
| `select_fields` | `string[]` | No | — |
| `expand_children` | `boolean` | No | — |
| `share_id_or_encoded_url` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `size` | `number` | No | — |
| `webUrl` | `string` | No | — |
| `eTag` | `string` | No | — |
| `cTag` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |
| `file` | `object` | No | — |
| `folder` | `object` | No | — |
| `@microsoft.graph.downloadUrl` | `string` | No | — |
| `parentReference` | `object` | No | — |
| `item_id` | `string` | No | — |
| `drive_id` | `string` | No | — |

<AccordionGroup>
  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string
    }
    ```
  </Accordion>

  <Accordion title="folder full type">
    ```ts theme={null}
    {
      childCount?: number
    }
    ```
  </Accordion>

  <Accordion title="parentReference full type">
    ```ts theme={null}
    {
      driveId?: string,
      id?: string,
      path?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getFollowed

`items.getFollowed`

Get a followed drive item

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.getFollowed({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `driveItem_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `file` | `object` | No | — |
| `name` | `string` | Yes | — |
| `size` | `number` | No | — |
| `folder` | `object` | No | — |
| `webUrl` | `string` | No | — |
| `followed` | `boolean` | No | — |

<AccordionGroup>
  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string
    }
    ```
  </Accordion>

  <Accordion title="folder full type">
    ```ts theme={null}
    {
      childCount?: number
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getThumbnails

`items.getThumbnails`

Get thumbnails for a drive item

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.getThumbnails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `drive_id` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `select` | `string` | No | — |
| `original_orientation` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      large?: {
        height?: number,
        width?: number,
        url?: string,
        content?: string
      },
      medium?: {
        height?: number,
        width?: number,
        url?: string,
        content?: string
      },
      small?: {
        height?: number,
        width?: number,
        url?: string,
        content?: string
      },
      source?: {
        height?: number,
        width?: number,
        url?: string,
        content?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getVersions

`items.getVersions`

Get versions of a drive item

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.getVersions({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `drive_id` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      lastModifiedDateTime?: string,
      size?: number,
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      published?: {
        level?: string,
        versionId?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listActivities

`items.listActivities`

List activities on a drive item

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.listActivities({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `drive_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `skip` | `string` | No | — |
| `expand` | `string[]` | No | — |
| `filter` | `string` | No | — |
| `select` | `string[]` | No | — |
| `orderby` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      action?: {
        comment?: {
        },
        create?: {
        },
        delete?: {
        },
        edit?: {
        },
        mention?: {
        },
        move?: {
        },
        rename?: {
        },
        restore?: {
        },
        share?: {
        },
        version?: {
        }
      },
      actor?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      times?: {
        recordedTime?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listFolderChildren

`items.listFolderChildren`

List children of a folder

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.listFolderChildren({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `top` | `number` | No | — |
| `expand` | `string[]` | No | — |
| `select` | `string[]` | No | — |
| `orderby` | `string` | No | — |
| `site_id` | `string` | No | — |
| `drive_id` | `string` | No | — |
| `next_link` | `string` | No | — |
| `skip_token` | `string` | No | — |
| `folder_path` | `string` | No | — |
| `use_me_drive` | `boolean` | No | — |
| `folder_item_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### move

`items.move`

Move a drive item to a new location

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.move({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `itemId` | `string` | Yes | — |
| `parentReference` | `object` | Yes | — |
| `name` | `string` | No | — |
| `siteId` | `string` | No | — |
| `userId` | `string` | No | — |
| `driveId` | `string` | No | — |
| `groupId` | `string` | No | — |
| `description` | `string` | No | — |

<AccordionGroup>
  <Accordion title="parentReference full type">
    ```ts theme={null}
    {
      id: string,
      driveId: string
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `size` | `number` | No | — |
| `webUrl` | `string` | No | — |
| `parentReference` | `object` | No | — |

<AccordionGroup>
  <Accordion title="parentReference full type">
    ```ts theme={null}
    {
      driveId?: string,
      id?: string,
      path?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### preview

`items.preview`

Get a preview URL for a drive item

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.preview({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `drive_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `share_id` | `string` | No | — |
| `page` | `string` | No | — |
| `zoom` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `getUrl` | `string` | No | — |
| `postUrl` | `string` | No | — |
| `postParameters` | `string` | No | — |

***

### restore

`items.restore`

Restore a deleted drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.restore({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `parent_reference_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `file` | `object` | No | — |
| `name` | `string` | Yes | — |
| `size` | `number` | No | — |
| `folder` | `object` | No | — |
| `webUrl` | `string` | No | — |
| `deleted` | `object` | No | — |
| `createdDateTime` | `string` | No | — |
| `parentReference` | `object` | No | — |
| `lastModifiedDateTime` | `string` | No | — |

<AccordionGroup>
  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string
    }
    ```
  </Accordion>

  <Accordion title="folder full type">
    ```ts theme={null}
    {
      childCount?: number
    }
    ```
  </Accordion>

  <Accordion title="deleted full type">
    ```ts theme={null}
    {
      state?: string
    }
    ```
  </Accordion>

  <Accordion title="parentReference full type">
    ```ts theme={null}
    {
      driveId?: string,
      id?: string,
      path?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### search

`items.search`

Search for drive items

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.items.search({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `q` | `string` | Yes | — |
| `top` | `number` | No | — |
| `expand` | `string` | No | — |
| `select` | `string` | No | — |
| `orderby` | `string` | No | — |
| `drive_id` | `string` | No | — |
| `skip_token` | `string` | No | — |
| `search_scope` | `drive \| root` | No | — |
| `stripped_annotations` | `string[]` | No | — |
| `transformed_path_query` | `string` | No | — |
| `transformed_kql_operator` | `string` | No | — |
| `transformed_parent_query` | `string` | No | — |
| `transformed_wildcard_query` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### unfollow

`items.unfollow`

Unfollow a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.unfollow({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### updateContent

`items.updateContent`

Update the content of a file

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.updateContent({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `drive_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `file_size` | `number` | No | — |
| `description` | `string` | No | — |
| `defer_commit` | `boolean` | No | — |
| `media_source` | `object` | No | — |
| `if_match_etag` | `string` | No | — |
| `file_system_info` | `object` | No | — |
| `conflict_behavior` | `string` | No | — |
| `drive_item_source` | `object` | No | — |
| `if_none_match_etag` | `string` | No | — |

<AccordionGroup>
  <Accordion title="media_source full type">
    ```ts theme={null}
    {
      contentCategory?: string
    }
    ```
  </Accordion>

  <Accordion title="file_system_info full type">
    ```ts theme={null}
    {
      createdDateTime?: string,
      lastAccessedDateTime?: string,
      lastModifiedDateTime?: string
    }
    ```
  </Accordion>

  <Accordion title="drive_item_source full type">
    ```ts theme={null}
    {
      externalId?: string,
      application?: string
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `uploadUrl` | `string` | No | — |
| `expirationDateTime` | `string` | No | — |
| `nextExpectedRanges` | `string[]` | No | — |

***

### updateMetadata

`items.updateMetadata`

Update metadata for a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.items.updateMetadata({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `drive_id` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `name` | `string` | No | — |
| `description` | `string` | No | — |
| `ifMatch` | `string` | No | — |
| `fileSystemInfo` | `object` | No | — |
| `parent_reference_id` | `string` | No | — |
| `parent_reference_drive_id` | `string` | No | — |
| `additional_properties` | `object` | No | — |

<AccordionGroup>
  <Accordion title="fileSystemInfo full type">
    ```ts theme={null}
    {
      createdDateTime?: string,
      lastAccessedDateTime?: string,
      lastModifiedDateTime?: string
    }
    ```
  </Accordion>

  <Accordion title="additional_properties full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `cTag` | `string` | No | — |
| `eTag` | `string` | No | — |
| `file` | `object` | No | — |
| `name` | `string` | Yes | — |
| `size` | `number` | No | — |
| `folder` | `object` | No | — |
| `webUrl` | `string` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |

<AccordionGroup>
  <Accordion title="file full type">
    ```ts theme={null}
    {
      mimeType?: string
    }
    ```
  </Accordion>

  <Accordion title="folder full type">
    ```ts theme={null}
    {
      childCount?: number
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Permissions

### createForItem

`permissions.createForItem`

Create a permission for a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.permissions.createForItem({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `drive_id` | `string` | Yes | — |
| `driveItem_id` | `string` | Yes | — |
| `roles` | `string[]` | Yes | — |
| `grantedToV2` | `object` | Yes | — |

<AccordionGroup>
  <Accordion title="grantedToV2 full type">
    ```ts theme={null}
    {
      siteGroup?: {
      },
      application?: {
      }
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `link` | `object` | No | — |
| `roles` | `string[]` | No | — |
| `grantedTo` | `object` | No | — |
| `grantedToV2` | `object` | No | — |
| `hasPassword` | `boolean` | No | — |
| `expirationDateTime` | `string` | No | — |

<AccordionGroup>
  <Accordion title="link full type">
    ```ts theme={null}
    {
      type?: string,
      scope?: string,
      webUrl?: string,
      webHtml?: string,
      preventsDownload?: boolean,
      application?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="grantedTo full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      },
      siteUser?: {
        id?: string,
        displayName?: string,
        loginName?: string,
        email?: string
      },
      siteGroup?: {
        id?: string,
        displayName?: string,
        loginName?: string
      },
      group?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="grantedToV2 full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      },
      siteUser?: {
        id?: string,
        displayName?: string,
        loginName?: string,
        email?: string
      },
      siteGroup?: {
        id?: string,
        displayName?: string,
        loginName?: string
      },
      group?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### createLink

`permissions.createLink`

Create a sharing link for a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.permissions.createLink({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `type` | `view \| edit \| embed` | Yes | — |
| `scope` | `anonymous \| organization \| users` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `drive_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `password` | `string` | No | — |
| `expiration_date_time` | `string` | No | — |
| `retain_inherited_permissions` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `link` | `object` | No | — |
| `roles` | `string[]` | No | — |
| `shareId` | `string` | No | — |
| `hasPassword` | `boolean` | No | — |

<AccordionGroup>
  <Accordion title="link full type">
    ```ts theme={null}
    {
      type?: string,
      scope?: string,
      webUrl?: string,
      webHtml?: string,
      preventsDownload?: boolean,
      application?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteFromItem

`permissions.deleteFromItem`

Delete a permission from a drive item

**Risk:** `destructive`

```ts theme={null}
await corsair.onedrive.api.permissions.deleteFromItem({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `perm_id` | `string` | Yes | — |
| `drive_id` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### deleteSharePermission

`permissions.deleteSharePermission`

Delete a share permission

**Risk:** `destructive`

```ts theme={null}
await corsair.onedrive.api.permissions.deleteSharePermission({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `shared_drive_item_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string` | Yes | — |

***

### getForItem

`permissions.getForItem`

Get permissions for a drive item

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.permissions.getForItem({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `drive_id` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `item_path` | `string` | No | — |
| `select` | `string` | No | — |
| `if_none_match` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      link?: {
        type?: string,
        scope?: string,
        webUrl?: string,
        webHtml?: string,
        preventsDownload?: boolean,
        application?: {
          id?: string,
          displayName?: string
        }
      },
      roles?: string[],
      grantedTo?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        },
        siteUser?: {
          id?: string,
          displayName?: string,
          loginName?: string,
          email?: string
        },
        siteGroup?: {
          id?: string,
          displayName?: string,
          loginName?: string
        },
        group?: {
          id?: string,
          displayName?: string
        }
      },
      grantedToV2?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        },
        siteUser?: {
          id?: string,
          displayName?: string,
          loginName?: string,
          email?: string
        },
        siteGroup?: {
          id?: string,
          displayName?: string,
          loginName?: string
        },
        group?: {
          id?: string,
          displayName?: string
        }
      },
      hasPassword?: boolean,
      expirationDateTime?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getShare

`permissions.getShare`

Get a shared item by share ID or encoded URL

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.permissions.getShare({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `share_id_or_encoded_sharing_url` | `string` | Yes | — |
| `prefer_redeem` | `redeemSharingLinkIfNecessary \| redeemSharingLink` | No | — |
| `expand_children` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `name` | `string` | No | — |
| `root` | `object` | No | — |
| `items` | `object[]` | No | — |
| `owner` | `object` | No | — |
| `children` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="root full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>

  <Accordion title="items full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>

  <Accordion title="owner full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="children full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### grantSharePermission

`permissions.grantSharePermission`

Grant a permission on a shared item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.permissions.grantSharePermission({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `encoded_sharing_url` | `string` | Yes | — |
| `roles` | `string[]` | Yes | — |
| `recipients` | `object[]` | Yes | — |

<AccordionGroup>
  <Accordion title="recipients full type">
    ```ts theme={null}
    {
    }[]
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      link?: {
        type?: string,
        scope?: string,
        webUrl?: string,
        webHtml?: string,
        preventsDownload?: boolean,
        application?: {
          id?: string,
          displayName?: string
        }
      },
      roles?: string[],
      grantedTo?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        },
        siteUser?: {
          id?: string,
          displayName?: string,
          loginName?: string,
          email?: string
        },
        siteGroup?: {
          id?: string,
          displayName?: string,
          loginName?: string
        },
        group?: {
          id?: string,
          displayName?: string
        }
      },
      grantedToV2?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        },
        siteUser?: {
          id?: string,
          displayName?: string,
          loginName?: string,
          email?: string
        },
        siteGroup?: {
          id?: string,
          displayName?: string,
          loginName?: string
        },
        group?: {
          id?: string,
          displayName?: string
        }
      },
      hasPassword?: boolean,
      expirationDateTime?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### inviteUser

`permissions.inviteUser`

Invite a user to access a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.permissions.inviteUser({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `roles` | `string[]` | Yes | — |
| `recipients` | `object[]` | Yes | — |
| `drive_id` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |
| `message` | `string` | No | — |
| `password` | `string` | No | — |
| `require_sign_in` | `boolean` | No | — |
| `send_invitation` | `boolean` | No | — |
| `expiration_date_time` | `string` | No | — |
| `retain_inherited_permissions` | `boolean` | No | — |

<AccordionGroup>
  <Accordion title="recipients full type">
    ```ts theme={null}
    {
    }[]
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      link?: {
        type?: string,
        scope?: string,
        webUrl?: string,
        webHtml?: string,
        preventsDownload?: boolean,
        application?: {
          id?: string,
          displayName?: string
        }
      },
      roles?: string[],
      grantedTo?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        },
        siteUser?: {
          id?: string,
          displayName?: string,
          loginName?: string,
          email?: string
        },
        siteGroup?: {
          id?: string,
          displayName?: string,
          loginName?: string
        },
        group?: {
          id?: string,
          displayName?: string
        }
      },
      grantedToV2?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        },
        siteUser?: {
          id?: string,
          displayName?: string,
          loginName?: string,
          email?: string
        },
        siteGroup?: {
          id?: string,
          displayName?: string,
          loginName?: string
        },
        group?: {
          id?: string,
          displayName?: string
        }
      },
      hasPassword?: boolean,
      expirationDateTime?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSharePermissions

`permissions.listSharePermissions`

List permissions on a shared drive item

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.permissions.listSharePermissions({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `shared_drive_item_id` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `link` | `object` | No | — |
| `roles` | `string[]` | No | — |
| `hasPassword` | `boolean` | No | — |

<AccordionGroup>
  <Accordion title="link full type">
    ```ts theme={null}
    {
      type?: string,
      scope?: string,
      webUrl?: string,
      webHtml?: string,
      preventsDownload?: boolean,
      application?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### updateForItem

`permissions.updateForItem`

Update a permission on a drive item

**Risk:** `write`

```ts theme={null}
await corsair.onedrive.api.permissions.updateForItem({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `item_id` | `string` | Yes | — |
| `permission_id` | `string` | Yes | — |
| `roles` | `string[]` | Yes | — |
| `drive_id` | `string` | No | — |
| `site_id` | `string` | No | — |
| `user_id` | `string` | No | — |
| `group_id` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | No | — |
| `link` | `object` | No | — |
| `roles` | `string[]` | No | — |
| `grantedTo` | `object` | No | — |
| `grantedToV2` | `object` | No | — |
| `hasPassword` | `boolean` | No | — |
| `expirationDateTime` | `string` | No | — |

<AccordionGroup>
  <Accordion title="link full type">
    ```ts theme={null}
    {
      type?: string,
      scope?: string,
      webUrl?: string,
      webHtml?: string,
      preventsDownload?: boolean,
      application?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="grantedTo full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      },
      siteUser?: {
        id?: string,
        displayName?: string,
        loginName?: string,
        email?: string
      },
      siteGroup?: {
        id?: string,
        displayName?: string,
        loginName?: string
      },
      group?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>

  <Accordion title="grantedToV2 full type">
    ```ts theme={null}
    {
      user?: {
        id?: string,
        displayName?: string
      },
      application?: {
        id?: string,
        displayName?: string
      },
      device?: {
        id?: string,
        displayName?: string
      },
      siteUser?: {
        id?: string,
        displayName?: string,
        loginName?: string,
        email?: string
      },
      siteGroup?: {
        id?: string,
        displayName?: string,
        loginName?: string
      },
      group?: {
        id?: string,
        displayName?: string
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Sharepoint

### getListItems

`sharepoint.getListItems`

Get items from a SharePoint list

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.getListItems({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `list_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `skip` | `number` | No | — |
| `count` | `boolean` | No | — |
| `expand` | `string` | No | — |
| `filter` | `string` | No | — |
| `select` | `string` | No | — |
| `orderby` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.count` | `number` | No | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      eTag?: string,
      webUrl?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      contentType?: {
        id?: string,
        name?: string
      },
      fields?: {
      },
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getSite

`sharepoint.getSite`

Get a SharePoint site by ID

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.getSite({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `expand` | `string` | No | — |
| `select` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `eTag` | `string` | No | — |
| `name` | `string` | No | — |
| `webUrl` | `string` | No | — |
| `description` | `string` | No | — |
| `displayName` | `string` | No | — |
| `sharepointIds` | `object` | No | — |
| `isPersonalSite` | `boolean` | No | — |
| `siteCollection` | `object` | No | — |
| `createdDateTime` | `string` | No | — |
| `lastModifiedDateTime` | `string` | No | — |

<AccordionGroup>
  <Accordion title="sharepointIds full type">
    ```ts theme={null}
    {
      siteId?: string,
      siteUrl?: string,
      webId?: string,
      webUrl?: string,
      listId?: string,
      tenantId?: string
    }
    ```
  </Accordion>

  <Accordion title="siteCollection full type">
    ```ts theme={null}
    {
      hostname?: string,
      dataLocationCode?: string,
      root?: {
      }
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getSitePage

`sharepoint.getSitePage`

Get a page from a SharePoint site

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.getSitePage({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `page_id` | `string` | Yes | — |
| `expand` | `string` | No | — |
| `select` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `title` | `string` | No | — |
| `webUrl` | `string` | No | — |

***

### listListItemsDelta

`sharepoint.listListItemsDelta`

List changes to SharePoint list items using delta

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.listListItemsDelta({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `list_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `token` | `string` | No | — |
| `expand` | `string` | No | — |
| `select` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |
| `@odata.deltaLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      eTag?: string,
      webUrl?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      contentType?: {
        id?: string,
        name?: string
      },
      fields?: {
      },
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSiteColumns

`sharepoint.listSiteColumns`

List site columns in a SharePoint site

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.listSiteColumns({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `skip` | `number` | No | — |
| `count` | `boolean` | No | — |
| `expand` | `string` | No | — |
| `filter` | `string` | No | — |
| `select` | `string` | No | — |
| `orderby` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.count` | `number` | No | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      name?: string,
      displayName?: string,
      description?: string,
      columnGroup?: string,
      indexed?: boolean,
      readOnly?: boolean,
      required?: boolean,
      hidden?: boolean,
      enforceUniqueValues?: boolean,
      boolean?: {
      },
      text?: {
        allowMultipleLines?: boolean,
        maxLength?: number,
        textType?: string
      },
      number?: {
        decimalPlaces?: string,
        displayAs?: string,
        maximum?: number,
        minimum?: number
      },
      dateTime?: {
        displayAs?: string,
        format?: string
      },
      choice?: {
        allowTextEntry?: boolean,
        choices?: string[],
        displayAs?: string
      },
      lookup?: {
        allowMultipleValues?: boolean,
        columnName?: string,
        listId?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSiteItemsDelta

`sharepoint.listSiteItemsDelta`

List changes to all drive items in a site using delta

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.listSiteItemsDelta({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `token` | `string` | No | — |
| `expand` | `string` | No | — |
| `select` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |
| `@odata.deltaLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      name?: string,
      size?: number,
      webUrl?: string,
      eTag?: string,
      cTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      parentReference?: {
        driveId?: string,
        id?: string,
        path?: string,
        name?: string,
        siteId?: string
      },
      file?: {
        mimeType?: string,
        hashes?: {
          quickXorHash?: string,
          sha1Hash?: string,
          sha256Hash?: string
        }
      },
      folder?: {
        childCount?: number
      },
      deleted?: {
        state?: string
      },
      @microsoft.graph.downloadUrl?: string,
      children?: {
        id: string,
        name?: string,
        size?: number,
        webUrl?: string,
        eTag?: string,
        cTag?: string,
        createdDateTime?: string,
        lastModifiedDateTime?: string,
        createdBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        lastModifiedBy?: {
          user?: {
            id?: string,
            displayName?: string
          },
          application?: {
            id?: string,
            displayName?: string
          },
          device?: {
            id?: string,
            displayName?: string
          }
        },
        parentReference?: {
          driveId?: string,
          id?: string,
          path?: string,
          name?: string,
          siteId?: string
        },
        file?: {
          mimeType?: string,
          hashes?: {
            quickXorHash?: string,
            sha1Hash?: string,
            sha256Hash?: string
          }
        },
        folder?: {
          childCount?: number
        },
        deleted?: {
          state?: string
        },
        @microsoft.graph.downloadUrl?: string
      }[]
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSiteLists

`sharepoint.listSiteLists`

List all lists in a SharePoint site

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.listSiteLists({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `skip` | `number` | No | — |
| `count` | `boolean` | No | — |
| `expand` | `string` | No | — |
| `filter` | `string` | No | — |
| `select` | `string` | No | — |
| `orderby` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.count` | `number` | No | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      name?: string,
      displayName?: string,
      description?: string,
      webUrl?: string,
      eTag?: string,
      createdDateTime?: string,
      lastModifiedDateTime?: string,
      createdBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      lastModifiedBy?: {
        user?: {
          id?: string,
          displayName?: string
        },
        application?: {
          id?: string,
          displayName?: string
        },
        device?: {
          id?: string,
          displayName?: string
        }
      },
      list?: {
        hidden?: boolean,
        template?: string
      }
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listSiteSubsites

`sharepoint.listSiteSubsites`

List subsites of a SharePoint site

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.sharepoint.listSiteSubsites({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `site_id` | `string` | Yes | — |
| `top` | `number` | No | — |
| `skip` | `number` | No | — |
| `count` | `boolean` | No | — |
| `expand` | `string` | No | — |
| `filter` | `string` | No | — |
| `select` | `string` | No | — |
| `orderby` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.count` | `number` | No | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id: string,
      eTag?: string,
      name?: string,
      webUrl?: string,
      description?: string,
      displayName?: string,
      sharepointIds?: {
        siteId?: string,
        siteUrl?: string,
        webId?: string,
        webUrl?: string,
        listId?: string,
        tenantId?: string
      },
      isPersonalSite?: boolean,
      siteCollection?: {
        hostname?: string,
        dataLocationCode?: string,
        root?: {
        }
      },
      createdDateTime?: string,
      lastModifiedDateTime?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Subscriptions

### list

`subscriptions.list`

List all active subscriptions

**Risk:** `read`

```ts theme={null}
await corsair.onedrive.api.subscriptions.list({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `value` | `object[]` | Yes | — |
| `@odata.nextLink` | `string` | No | — |

<AccordionGroup>
  <Accordion title="value full type">
    ```ts theme={null}
    {
      id?: string,
      resource?: string | null,
      changeType?: string | null,
      clientState?: string | null,
      notificationUrl?: string | null,
      expirationDateTime?: string | null,
      applicationId?: string | null,
      creatorId?: string | null,
      notificationQueryOptions?: string | null,
      lifecycleNotificationUrl?: string | null
    }[]
    ```
  </Accordion>
</AccordionGroup>

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.