# Web API

### About the API <a href="#about-the-api" id="about-the-api"></a>

The REST Api ships with every installation of Struct PIM. Access to the API is restricted by API keys issued within the Struct PIM application.

Newer versions of the API may include new features, but a major version (eg. v.3.) is always backwards compatible.

### C# API client

We provide a C# API client, available in the official Nuget feed (**Struct.PIM.Api.Client**). We recommend using this, if you are working in C#, as it gets you going a lot faster compared to wrapping the API yourself.

Find our demo projects [here](/pim3/tutorials/example-projects/working-with-the-api.md).

### API documentation <a href="#id-54383696" id="id-54383696"></a>

If you are implementing your integration using .NET and C#, we recommend having a look at our Demo project, which shows examples on how to get data through the Api and how to insert data using the Api. When you start implementing your integration to Struct PIM, you might want to go over the detailed [API documentation](https://techdoc.struct.com/api-reference).

### Performance

The API is build for updating and reading large amounts of data in short time. All areas has extended support for batching data together to make the updating as smooth as possible.

We do not recommend using the API as a direct source for presentation if performance is the main focus. \
You should always transfer the data needed for presentation, from the API, to a fast read and search friendly  cache layer.

This ensures optimal performance at all times.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.struct.com/pim3/integration/web-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
