# Eximee API

**Eximee API** to zunifikowana warstwa integracyjna platformy Eximee, która dzieli się na:

1. **EximeeBPMS API** – obsługa procesów, zadań i historii w ujęciu BPMN 2.0.
2. **Eximee API** – dostęp do statusów spraw, generatora dokumentów, modelu danych, konfiguracji oraz powiadamiania o zdarzeniach.

## EximeeBPMS API

### Rola i architektura

Interfejs do uruchamiania i nadzoru instancji procesów, zarządzania zadaniami użytkownika i automatycznymi, komunikacji zdarzeniowej oraz przeglądu historii spraw. Zaprojektowany do współpracy z EximeeBPMS oraz innymi silnikami implementującymi BPMN 2.0.

### Zakres funkcjonalny

* **Instancje procesów**\
  • start instancji procesu (z separacją danych biznesowych i procesowych),\
  • pobranie szczegółów instancji (w tym zmienne procesowe i biznesowe).
* **Zmienne procesowe**\
  • zmiana wartości zmiennej procesowej.
* **Zadania użytkownika (User Tasks)**\
  • pobranie danych procesowych i biznesowych,\
  • zmiana stanu,\
  • zatwierdzenie wraz z przesłaniem zmiennych,\
  • zarządzanie przypisanym użytkownikiem.
* **Zadania automatyczne (Service Tasks)**\
  • asynchroniczna obsługa service tasków.
* **Komunikacja zdarzeniowa**\
  • wysyłka wiadomości (message) do procesu.
* **Incydenty**\
  • pobranie informacji o incydencie,\
  • ponawianie zadania, na którym wystąpił incydent.
* **Listy i historia**\
  • lista zadań, lista procesów, historia sprawy.

### Integracje

* **Eximee Forms** – formularze jako interfejs do user tasków.
* **Eximee Case Management** – prezentacja list zadań/spraw i historii.
* **Eximee Data Model Runtime** – odczyt/zapis danych biznesowych w toku procesu.
* **Eximee Dashboard** – warstwa UI dla użytkowników operacyjnych.

### Bezpieczeństwo i zgodność

* OAuth 2.0 / OIDC (JWT), role domenowe, audyt operacji.
* TLS 1.2+; rate limiting i zasada „least privilege”.

### Przykładowe scenariusze

* Start procesu z CRM i śledzenie statusu instancji.
* Zatwierdzenie user tasku z przekazaniem zmiennych.
* Ponowienie incydentu service tasku.

## Eximee API

### Rola i architektura

Interfejsy ogólne platformy niezwiązane bezpośrednio z wykonaniem procesu: status sprawy, generator dokumentów, model danych, konfiguracja oraz powiadamianie o zdarzeniach.

### Zakres funkcjonalny (tylko metody z dokumentu)

* **Status sprawy**\
  • utworzenie statusu,\
  • aktualizacja statusu,\
  • pobranie statusu.
* **Generator dokumentów**\
  • zlecenie generowania dokumentów na podstawie dostarczonych danych (z opcją użycia modelu danych).
* **Model danych aplikacji**\
  • dostęp do **struktury** modelu,\
  • dostęp do **danych** (odczyt).
* **Konfiguracja aplikacji**\
  • **read-only** dostęp do konfiguracji.
* **Powiadomienia o zdarzeniach z domen zewnętrznych**\
  • powiadamianie platformy o zdarzeniach w zewnętrznych domenach obsługujących procesy.

### Integracje

* **Eximee Document Generator** – realizacja zleceń generacji dokumentów.
* **Eximee Model Runtime** – udostępnianie struktury/danych aplikacji.
* **Eximee Configuration Server** – read-only konfiguracja.
* **Systemy zewnętrzne** – zgłaszanie zdarzeń domenowych.

### Bezpieczeństwo i zgodność

* OAuth 2.0 / OIDC (JWT), role domenowe, audyt dostępu.
* TLS 1.2+; rate limiting; wersjonowanie API (np. `/v1/...`).

### Przykładowe scenariusze​

* CRM odczytuje strukturę i dane z modelu oraz aktualny status sprawy.
* System scoringowy zgłasza zdarzenie, które uruchamia dalsze kroki po stronie Eximee.


---

# 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.eximee.com/wprowadzenie/architektura-platformy/eximee-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.
