# API integration

The Struct PIM API provides programmatic access to your data, allowing you to retrieve, update, and manage entities such as products, variants, categories, and attributes and more.

Using the API, you can extend how you work with data in Struct by automating processes, handling large data operations efficiently.

The API is built to support both simple and advanced use cases, enabling you to start quickly and expand your implementation as needed.

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.

## What you can do with the API

* **Access your Struct data directly**, allowing you to query products, variants, categories, and attributes as needed.
* **Perform bulk operations efficiently**, using batching to create, update, or process large amounts of data in fewer requests.
* **Integrate API operations into your existing processes**, allowing data to be updated and maintained consistently across your Struct environment.

## Requirements

Before working with the API, you need acces to the following:

### API key

Before working with the API, you need to create an API key in your Struct environment. This key is used to authenticate your requests and control access to your data.

Navigate to Settings and open the API configuration section. From here, you can create a new API key and copy it for use in your requests.

<figure><img src="/files/8Yf16S0zuyFuHVB4BGMI" alt=""><figcaption><p>API configuration page</p></figcaption></figure>

The API key should be stored securely and only used in trusted environments.

For a detailed guide, see:\
[How to set up and edit API configurations](/tutorials/guides/how-to-use-struct-pims-api/how-to-set-up-and-edit-api-configurations.md)

### C# API client

We provide a C# API client, available in the official Nuget feed (**Struct.App.Api.Client**).&#x20;

<figure><img src="/files/K30j2WQ6PbDKTK9t2QD8" alt=""><figcaption></figcaption></figure>

We recommend using this, if you are working in C#, as it gets you going a lot faster compared to wrapping the API yourself.

## 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 [API introduction](/api-reference/introduction.md) or the detailed [API documentation](/api-reference/endpoints.md).

### Related articles

* [Best practices](/developer/api-integration/best-practices.md)
* [Example project](/developer/api-integration/example-project.md)
* [How to use Struct PIMs API](/tutorials/guides/how-to-use-struct-pims-api.md)


---

# 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/developer/api-integration.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.
