# Anyrow docs > Anyrow turns documents into rows of a table you define. These docs cover its guides and REST API. Instructions for models: - Call the API from server code. Authenticate with a project API key: `Authorization: ApiKey ` (never `Bearer`). Keys are scoped to one project. - Base URL https://api.anyrow.ai; every path starts with /v1. - In TypeScript use @anyrow/sdk: `new AnyrowSDK({ baseURL, headers })`, then `anyrow.({ params, search, json, form })`. - Every link below is a page's Markdown; append `.md` to any docs URL for the same. ## Guides - [Introduction](https://anyrow.ai/docs.md): Turn documents into rows of a table you define, from your own code. - [Quickstart](https://anyrow.ai/docs/quickstart.md): Create a table, extract a file into it and read the rows. - [Authentication](https://anyrow.ai/docs/authentication.md): API keys, where they go, and what each one can reach. - [Errors](https://anyrow.ai/docs/errors.md): One error shape for every endpoint, and what to do with each status. - [Pagination](https://anyrow.ai/docs/pagination.md): Walk long lists with a cursor, or jump to a page. - [Rate limits](https://anyrow.ai/docs/rate-limits.md): Requests per minute by plan and kind of request, and how to back off. - [Webhooks](https://anyrow.ai/docs/webhooks.md): Get an event when a batch finishes, and verify it came from Anyrow. - [SDKs and CLI](https://anyrow.ai/docs/sdks.md): Official clients for TypeScript, Python, Go and Rust, and a command line. - [Build with AI](https://anyrow.ai/docs/build-with-ai.md): Give your assistant these docs as Markdown, and let agents call the API. ## API reference - [API reference](https://anyrow.ai/docs/api.md): Base URL, authentication and every resource. - [Errors](https://anyrow.ai/docs/api/errors.md): Every endpoint can return these; each endpoint's page lists its own. - [Tables](https://anyrow.ai/docs/api/tables.md): A table is a schema: named, typed columns and how strictly to fill them. - [Columns](https://anyrow.ai/docs/api/columns.md): A table's columns: what to extract, with which type and instruction. - [Rows](https://anyrow.ai/docs/api/rows.md): The records in a table: list, filter, aggregate, create, edit and bulk-write them. - [Extract](https://anyrow.ai/docs/api/extract.md): Extract rows from a file or text, as one JSON response or a stream of server-sent events. - [Batches](https://anyrow.ai/docs/api/batches.md): A batch is one extraction run over one or more files: its status, rows and downloads. - [Export](https://anyrow.ai/docs/api/export.md): Export a table's rows as a file, and check an export's status. - [Schema suggestions](https://anyrow.ai/docs/api/schema.md): Let Anyrow suggest a table's columns from a sample document. - [Table Templates](https://anyrow.ai/docs/api/table-templates.md): Reusable table schemas: browse, preview and create tables from them. - [Webhooks](https://anyrow.ai/docs/api/webhooks.md): Endpoints Anyrow posts batch events to, signed with your secret. ## API reference: Tables - [List tables](https://anyrow.ai/docs/api/tables/list.md): GET /v1/projects/{project_id}/tables - [Create table](https://anyrow.ai/docs/api/tables/create.md): POST /v1/projects/{project_id}/tables - [Get table](https://anyrow.ai/docs/api/tables/get.md): GET /v1/projects/{project_id}/tables/{table_id} - [Update table](https://anyrow.ai/docs/api/tables/update.md): PATCH /v1/projects/{project_id}/tables/{table_id} - [Delete table (soft, 72h grace)](https://anyrow.ai/docs/api/tables/delete.md): DELETE /v1/projects/{project_id}/tables/{table_id} - [Duplicate table structure](https://anyrow.ai/docs/api/tables/duplicate.md): POST /v1/projects/{project_id}/tables/{table_id}/duplicate - [Restore deleted table](https://anyrow.ai/docs/api/tables/restore.md): POST /v1/projects/{project_id}/tables/{table_id}/restore ## API reference: Columns - [Add column](https://anyrow.ai/docs/api/columns/add.md): POST /v1/projects/{project_id}/tables/{table_id}/columns - [Reorder columns](https://anyrow.ai/docs/api/columns/reorder.md): PUT /v1/projects/{project_id}/tables/{table_id}/columns/order - [Update column](https://anyrow.ai/docs/api/columns/update.md): PATCH /v1/projects/{project_id}/tables/{table_id}/columns/{col_id} - [Remove column](https://anyrow.ai/docs/api/columns/remove.md): DELETE /v1/projects/{project_id}/tables/{table_id}/columns/{col_id} - [Get distinct column values](https://anyrow.ai/docs/api/columns/distinct.md): GET /v1/projects/{project_id}/tables/{table_id}/columns/{col_id}/distinct ## API reference: Rows - [List rows](https://anyrow.ai/docs/api/rows/list.md): GET /v1/projects/{project_id}/tables/{table_id}/rows - [Create row](https://anyrow.ai/docs/api/rows/create.md): POST /v1/projects/{project_id}/tables/{table_id}/rows - [Aggregate column values](https://anyrow.ai/docs/api/rows/aggregate.md): GET /v1/projects/{project_id}/tables/{table_id}/rows/aggregate - [Bulk create/update/delete rows](https://anyrow.ai/docs/api/rows/bulk.md): POST /v1/projects/{project_id}/tables/{table_id}/rows/bulk - [Get row](https://anyrow.ai/docs/api/rows/get.md): GET /v1/projects/{project_id}/tables/{table_id}/rows/{row_id} - [Update row](https://anyrow.ai/docs/api/rows/update.md): PATCH /v1/projects/{project_id}/tables/{table_id}/rows/{row_id} - [Delete row](https://anyrow.ai/docs/api/rows/delete.md): DELETE /v1/projects/{project_id}/tables/{table_id}/rows/{row_id} - [The source file behind a row: download it, or open a PDF or image inline](https://anyrow.ai/docs/api/rows/source.md): GET /v1/projects/{project_id}/tables/{table_id}/rows/{row_id}/source ## API reference: Extract - [Extract data from text or file (JSON response)](https://anyrow.ai/docs/api/extract/once.md): POST /v1/projects/{project_id}/extract - [Extract data from text or file (SSE stream)](https://anyrow.ai/docs/api/extract/stream.md): POST /v1/projects/{project_id}/extract-stream - [Extract into table (JSON response)](https://anyrow.ai/docs/api/extract/table-once.md): POST /v1/projects/{project_id}/tables/{table_id}/extract - [Extract into table (SSE stream)](https://anyrow.ai/docs/api/extract/table-stream.md): POST /v1/projects/{project_id}/tables/{table_id}/extract-stream ## API reference: Batches - [List batches](https://anyrow.ai/docs/api/batches/list.md): GET /v1/projects/{project_id}/batches - [Get batch](https://anyrow.ai/docs/api/batches/get.md): GET /v1/projects/{project_id}/batches/{batch_id} - [Download batch CSV](https://anyrow.ai/docs/api/batches/download-csv.md): GET /v1/projects/{project_id}/batches/{batch_id}/download/csv - [Download batch JSON](https://anyrow.ai/docs/api/batches/download-json.md): GET /v1/projects/{project_id}/batches/{batch_id}/download/json - [Download batch XLSX](https://anyrow.ai/docs/api/batches/download-xlsx.md): GET /v1/projects/{project_id}/batches/{batch_id}/download/xlsx ## API reference: Export - [Get export status](https://anyrow.ai/docs/api/export/get.md): GET /v1/projects/{project_id}/exports/{export_id} - [Export table rows](https://anyrow.ai/docs/api/export/export.md): GET /v1/projects/{project_id}/tables/{table_id}/export ## API reference: Schema suggestions - [Suggest schema from text or file (multipart)](https://anyrow.ai/docs/api/schema/schema.md): POST /v1/projects/{project_id}/suggest-schema ## API reference: Table Templates - [Browse table templates](https://anyrow.ai/docs/api/table-templates/project-list.md): GET /v1/projects/{project_id}/table-templates - [Preview table template](https://anyrow.ai/docs/api/table-templates/project-get.md): GET /v1/projects/{project_id}/table-templates/{template_id} - [Create table from template](https://anyrow.ai/docs/api/table-templates/use.md): POST /v1/projects/{project_id}/table-templates/{template_id}/use - [Create table template](https://anyrow.ai/docs/api/table-templates/create.md): POST /v1/table-templates - [List my table templates](https://anyrow.ai/docs/api/table-templates/list-mine.md): GET /v1/table-templates/mine - [Update table template](https://anyrow.ai/docs/api/table-templates/update.md): PATCH /v1/table-templates/{template_id} - [Delete table template](https://anyrow.ai/docs/api/table-templates/delete.md): DELETE /v1/table-templates/{template_id} ## API reference: Webhooks - [List webhooks](https://anyrow.ai/docs/api/webhooks/list.md): GET /v1/organizations/{organization_id}/webhooks - [Create webhook](https://anyrow.ai/docs/api/webhooks/create.md): POST /v1/organizations/{organization_id}/webhooks - [Get webhook](https://anyrow.ai/docs/api/webhooks/get.md): GET /v1/organizations/{organization_id}/webhooks/{id} - [Update webhook](https://anyrow.ai/docs/api/webhooks/update.md): PATCH /v1/organizations/{organization_id}/webhooks/{id} - [Delete webhook](https://anyrow.ai/docs/api/webhooks/delete.md): DELETE /v1/organizations/{organization_id}/webhooks/{id} - [List webhook deliveries](https://anyrow.ai/docs/api/webhooks/deliveries.md): GET /v1/organizations/{organization_id}/webhooks/{id}/deliveries - [Rotate webhook secret](https://anyrow.ai/docs/api/webhooks/rotate-secret.md): POST /v1/organizations/{organization_id}/webhooks/{id}/rotate-secret - [Send test webhook](https://anyrow.ai/docs/api/webhooks/test.md): POST /v1/organizations/{organization_id}/webhooks/{id}/test