---
title: "API Web Services"
canonical: "https://help.agiloft.com/space/HELP/43716366/API%20Web%20Services"
format: markdown
---
Agiloft CLM provides OpenAPI, REST, and SOAP API interfaces for integrating with external systems and automating operations. 

> ℹ️ **Prerequisites**
> ℹ️ 
> ℹ️ API services are available with the Platform edition of Agiloft CLM, but on older editions, they require either an Advanced or Premium edition of Agiloft CLM.

- **OpenAPI**: Use OpenAPI for new integrations. OpenAPI is a standardized specification for describing REST-style APIs. In Agiloft CLM, OpenAPI is a self-documenting interface that exposes all tables and fields in your KB in an interactive Swagger UI, including entries that are unique to your system. Because the documentation is generated from your live system, you can quickly browse available endpoints, understand the request and response schemas, and test API calls. The Swagger UI also includes a downloadable JSON specification file that you can import directly into API clients. For more information, see [OpenAPI Interface](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/929595396).
- **REST**: Use the REST interface if you already use it for an existing integration or need to access an endpoint that isn’t exposed through OpenAPI. REST services are enabled by default in your KB but are restricted by group permissions and license types. For more information, see [REST Interface](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/43715778).
- **SOAP**: SOAP-based web services are available but aren’t recommended for new integrations. The OpenAPI and REST interfaces provide broader functionality and are actively maintained. SOAP services are disabled by default. For more information, see [Legacy SOAP API Setup](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/43716450).

> 📝 **Bulk Synchronization Alternatives**
> 📝 
> 📝 The API interfaces are most suited for online integration between systems or testing purposes. They’re not recommended for processes that involve bulk synchronization. Instead, consult these methods:
> 📝 
> 📝 - [Pushing Changes to Production](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/43714330)
> 📝 - [Importing Record Data](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/43718400)
> 📝 - [Microsoft Exchange Synchronization](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/597164062)
> 📝 - [External System Adapter](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/43715175)
> 📝 - Other pre-built [Integrations](https://agiloft-public.atlassian.net/wiki/spaces/HELP/pages/597459019)

# Sample API Code

To generate sample Web Services code:

## Java or .NET

To generate sample Web Services code in Java or .NET:

1. Navigate to **Setup** **[Table]**.
2. Click the API tab.
3. Click either Download Java Sample or Download .NET Sample. The sample file contains a set of table-specific code samples for each of the API functions.

## HTML

You can generate HTML code samples as well. You can use this sample to embed a form with a Submit button, allowing the selected user to create a record in a given table.

1. Navigate to **Setup** **[Table]**
2. Click the API tab.
3. Select the name to use for the record creator.
4. Choose which layout you'd like the HTML code sample to use.
5. Click Download HTML.

#### Related articles

> Macro (contentbylabel)