# Permute Developer Documentation > Build trusted business-data integrations with the Permute TypeScript SDK, MCP server, and public REST API. Permute is an agentic data platform for finance experts and business operators. It gives applications, agents, and end users governed access to clean workspace data for source discovery, interpreted answers, evidence search, file and custom dataset ingestion, and read-only structured queries. ## Interface Selection - Prefer the `@permute/sdk` TypeScript SDK for the happy path of a programmatic integration. It provides typed requests and responses and handles multi-step workflows such as uploads and answer-job polling. - Prefer the Permute MCP server for end-user convenience when a person wants to explore or ask questions of trusted workspace data from an MCP-compatible AI client. - Use the REST API as the raw HTTP interface for custom clients, unsupported runtimes, or low-level transport control. - The SDK, MCP server, and REST API share the same curated contract and API-key permission boundary. They are interfaces over the same Permute capabilities, not separate data systems. - Workspace and dataset mutations are SDK or REST operations unless a capability is explicitly documented as an MCP tool. ## Agent Instructions - Treat workspace, source, dataset, and job IDs as opaque identifiers returned by Permute. Never invent IDs. - Discover sources before answering questions or writing SQL. Inspect a source before selecting exact table or field names. - Prefer answer jobs for interpreted business questions, evidence search for ranked supporting material, and structured queries only for exact read-only rows. - Preserve citations, confidence, and source attribution when presenting Permute results. - Never expose API keys in browser code, generated output, logs, or conversation text. ## Get Started - [Documentation overview](https://permute.ai/docs): Choose between the SDK, MCP server, and REST API. - [SDK quickstart](https://permute.ai/docs/quickstart): Install the TypeScript SDK and make the first workspace-scoped request. - [Authentication](https://permute.ai/docs/authentication): Create API keys, select a workspace, and understand access grants. ## Integration Guides - [Set up a workspace](https://permute.ai/docs/guides/workspace): Create a workspace with an organization-scoped management key, then use its ID for workspace data operations. - [Ask a business question](https://permute.ai/docs/guides/analysis): Discover an accessible source and ask Permute a business question. The SDK waits for the durable analysis automatically. - [Upload and process a file](https://permute.ai/docs/guides/file-upload): Create a file dataset, PUT the bytes to its signed S3 target, and poll the dataset while processing runs automatically. - [Sync related application data](https://permute.ai/docs/guides/custom-dataset): Create or recover one stable custom dataset. Replace current source state when rows can change or disappear; append only for additive sources. - [Find supporting evidence](https://permute.ai/docs/guides/search): Retrieve the most relevant evidence and citations for a specific claim or topic. Search reranks results by default. - [Retrieve exact rows](https://permute.ai/docs/guides/query): Run read-only SQL against a known source and table when you need exact rows instead of interpretation. ## API Reference - [API reference overview](https://permute.ai/docs/api-reference): Browse the complete contract-derived REST surface. - [GET /v1/workspaces](https://permute.ai/docs/api-reference/workspaces-list): List workspaces. Discover the workspaces this API key can read. - [POST /v1/workspaces](https://permute.ai/docs/api-reference/workspaces-create): Create a workspace. Provision a new workspace before uploading or querying its data. - [GET /v1/workspaces/{workspaceId}](https://permute.ai/docs/api-reference/workspaces-get): Get a workspace. Read the current name, context, and visibility of one workspace. - [PATCH /v1/workspaces/{workspaceId}](https://permute.ai/docs/api-reference/workspaces-update): Update a workspace. Change a workspace name or business context. - [DELETE /v1/workspaces/{workspaceId}](https://permute.ai/docs/api-reference/workspaces-delete): Delete a workspace. Remove a workspace that should no longer be available. - [GET /v1/sources](https://permute.ai/docs/api-reference/sources-list): List queryable sources. Start here to discover queryable datasets and connectors in the current workspace. - [GET /v1/sources/{sourceId}](https://permute.ai/docs/api-reference/sources-get): Get a source. Inspect tables and fields before asking for exact rows or writing SQL. - [POST /v1/datasets](https://permute.ai/docs/api-reference/datasets-create): Create a dataset. Create or retrieve a keyed custom dataset, or create a file dataset with a signed upload target. - [GET /v1/datasets](https://permute.ai/docs/api-reference/datasets-get-by-key): Get a dataset by key. Resolve the dataset associated with an exact caller-owned stable key. - [GET /v1/datasets/{datasetId}](https://permute.ai/docs/api-reference/datasets-get): Get a dataset. Read the current configuration, version, status, and tables for a keyed dataset. - [POST /v1/datasets/{datasetId}/tables](https://permute.ai/docs/api-reference/datasets-write-tables): Write dataset tables. Write named JSON tables within an existing keyed dataset. - [POST /v1/search](https://permute.ai/docs/api-reference/search-create): Search business evidence. Find evidence snippets, records, and text blocks when support for an answer matters. - [POST /v1/answer-jobs](https://permute.ai/docs/api-reference/answer-jobs-create): Start an answer job. Start a durable Permute analysis when the answer may need multiple tool calls or larger source context. - [GET /v1/answer-jobs/{answerJobId}](https://permute.ai/docs/api-reference/answer-jobs-get): Get an answer job. Poll a previously started analysis until it is completed or failed. - [POST /v1/queries](https://permute.ai/docs/api-reference/queries-create): Run a structured query. Run read-only SQL when you already know the exact table names and source IDs. ## Machine-Readable Resources - [Complete documentation context](https://permute.ai/llms-full.txt): Full guides, interface rules, examples, and endpoint guidance in one Markdown document. - [OpenAPI specification](https://api.permute.ai/openapi.json): OpenAPI 3 contract. The current endpoint requires a Permute API key. - [Documentation sitemap](https://permute.ai/sitemap.xml): Crawlable index of public Permute pages. ## Optional - [Permute website](https://permute.ai): Product, company, security, integration, and industry information.