# REST API

> Find the HTTP endpoints around TX Text Control .NET Server: those the editor and viewer add, the signature endpoint, your own Web API and DS Server.

- **Product:** TX Text Control .NET Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET Server > API Reference > REST API
- **1034 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/rest-api/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/rest-api/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/rest-api/llms-full.txt

---

TX Text Control .NET Server doesn't come with a REST API of its own. It is a set of .NET components that your application calls in its own process, and when other systems need documents over HTTP, your ASP.NET Core application provides the endpoints. The sections below sort out the HTTP endpoints you meet with the product: the ones the browser components add for themselves, the one you write to receive signed documents, the Web API you build and the ready-made Web API of DS Server.

### Endpoints the Components Add

The Document Editor and the Document Viewer run in the browser and talk to your ASP.NET Core application. The packages add the endpoints they need to the request pipeline of your application. They serve the components, and no source documents them as an API for your own code.

| Component | Added in *Program.cs* by | What it provides |
|---|---|---|
| Document Editor | `app.UseTXWebSocketMiddleware()` from `TXTextControl.Web` | A WebSocket endpoint, `/api/TXWebSocket` in the tutorials, that forwards the editor's connection to the backend worker, and the editor script at `GetResource?name=tx-document-editor.min.js` below it |
| Document Viewer | The package itself in an MVC application, or `app.UseTXDocumentViewer()` in applications without views; the package is `TXTextControl.Web.DocumentViewer`, or `TXTextControl.Web.DocumentViewer.Classic` for the Classic engine | The requests of the viewer below `/TextControl/`, such as its script at `/TextControl/GetResource?Resource=minimized.tx-viewer.min.js` |

The Document Editor connects with WebSocket, not with REST calls: [Architecture](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-editor/architecture/llms-full.txt) and [WebSocket Architecture](https://docs.textcontrol.com/tx-text-control-dotnet-server/integration/websockets/llms-full.txt) describe the connection. [Document Viewer with ASP.NET Core](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/document-viewer/aspnet-core/llms-full.txt) shows how the viewer's backend is set up.

### The Endpoint That Receives Signatures

The one endpoint of the Document Viewer that your code implements is the target of a signature. When a user has signed a document, the viewer's controller sends an HTTP POST request with a [SignatureData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-web-mvc-documentviewer-models/signaturedata/llms-full.txt) object in its body to the URL in [RedirectUrlAfterSignature](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-web-mvc-documentviewer/signaturesettings/redirecturlaftersignature-property/llms-full.txt). Your controller action receives the object and stores or processes the signed document.

[Digital Signatures](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-viewer/digital-signatures/llms-full.txt) builds this endpoint, and [Digital Signatures](https://docs.textcontrol.com/tx-text-control-dotnet-server/security/signatures/llms-full.txt) in the Security section protects it.

### Build Your Own REST API

A document service that other applications call is an ASP.NET Core Web API with controllers or minimal API endpoints, in which [ServerTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/llms-full.txt) loads, creates and saves documents and [MailMerge](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt) merges templates with data. You decide the routes, the request and response formats, the authentication and how long-running jobs are handled.

[REST Services](https://docs.textcontrol.com/tx-text-control-dotnet-server/integration/rest-services/llms-full.txt) builds such a service step by step: a merge endpoint, clients in .NET and JavaScript, error responses and security. The endpoints need only the engine package, `TXTextControl.TextControl.Core.SDK`.

### The Web API of DS Server

DS Server is a separate Text Control product, built on the same document engine, that provides document processing as a ready-to-use Web API with OAuth authentication. Its endpoints fall into four groups:

| Group | What the endpoints do |
|---|---|
| Document processing | Convert, merge and append documents, find and replace text, create thumbnails, read document information, create PDF documents, read embedded files, metadata and AcroForm fields, and create barcodes |
| OAuth | Authorize clients and issue access tokens |
| Administration | Manage users and security profiles |
| Licensing | Register, validate and unregister the license of the server |

The [Web API reference of DS Server](https://docs.textcontrol.com/ds-server/reference/web-api/llms-full.txt) documents each endpoint with its parameters, payloads and errors. Whether to build the service with TX Text Control .NET Server or to run DS Server is a product decision; [Introduction](https://docs.textcontrol.com/tx-text-control-dotnet-server/overview/introduction/llms-full.txt) compares the two.

### Related Pages

- [REST Services](https://docs.textcontrol.com/tx-text-control-dotnet-server/integration/rest-services/llms-full.txt): build an HTTP service for documents with ASP.NET Core.
- [Integration Guide](https://docs.textcontrol.com/tx-text-control-dotnet-server/integration/llms-full.txt): connect the Document Editor and the Document Viewer to ASP.NET Core, Angular, React, JavaScript and Blazor.
- [Authentication](https://docs.textcontrol.com/tx-text-control-dotnet-server/security/authentication/llms-full.txt): protect the endpoints of your application.
- [.NET API](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/dotnet-api/llms-full.txt): the classes your endpoints call.

---

## Nearby

- **Previous:** [React API](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/react-api/llms-full.txt)
- **Next:** [Formula Functions](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/formula-functions/llms-full.txt)
