> For the complete documentation index, see [llms.txt](https://helpcenter.xopero.com/xopero-one-en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helpcenter.xopero.com/xopero-one-en/pl/zarzadzanie/rest-api-dla-ekosystemow-devops/przeglad-i-uwierzytelnianie.md).

# Przegląd i uwierzytelnianie

**REST API w systemie Xopero ONE udostępnia programistyczne endpointy dostosowane do ekosystemów DevOps — dzięki wykorzystaniu standardowych żądań HTTP oraz ustrukturyzowanych odpowiedzi, systemy zewnętrzne, skrypty i narzędzia automatyzacji mogą pobierać informacje o chronionych zasobach, zadaniach kopii zapasowych, repozytoriach oraz konfiguracji magazynów pamięci masowej, a także wywoływać wybrane operacje zarządzania.**

***

## Informacje ogólne

REST (Representational State Transfer) to styl architektoniczny projektowania interfejsów programowania aplikacji (API), który wykorzystuje żądania HTTP do interakcji z zasobami identyfikowanymi za pomocą adresów URL oraz wykonywania na nich operacji. W REST API dane mogą być tworzone, odczytywane, aktualizowane lub usuwane przy użyciu metod HTTP, takich jak POST, GET, PUT i DELETE.

REST API systemu **Xopero ONE** umożliwia zarządzanie kopiami zapasowymi usług **Git**, takich jak **GitHub**, **GitLab**, **Azure DevOps** oraz **Bitbucket**. Za pomocą REST API można wyświetlać organizacje **Git**, sprawdzać status planów kopii zapasowych organizacji, modyfikować plany backupu, aktywować licencje dla wybranych repozytoriów oraz wykonywać inne powiązane operacje.

REST API może być używane przez każdego użytkownika posiadającego rolę **System Administrator**, który jest zarejestrowany w tej samej instancji systemu **Xopero ONE**. Niektóre żądania wymagają kont z dodatkowymi uprawnieniami, określonymi w opisie danego żądania.

Endpointy REST API systemu **Xopero ONE** korzystają z metody HTTP POST.

***

## Uwierzytelnianie

REST API systemu **Xopero ONE** wymaga uwierzytelnienia (authentication) oraz autoryzacji (authorization).

Uwierzytelnienie odbywa się poprzez wysłanie żądania logowania metodą POST. Żądanie logowania generuje token dostępu, który jest wymagany do autoryzacji wszystkich kolejnych żądań API.

{% hint style="info" %}
Pełną dokumentację żądania logowania POST znajdziesz [tutaj](/xopero-one-en/pl/zarzadzanie/rest-api-dla-ekosystemow-devops/dostepne-zadania-api.md#post-account-login).
{% endhint %}

{% hint style="warning" %}
Token dostępu wygenerowany za pomocą żądania logowania POST jest ważny przez 30 dni.
{% endhint %}

Dla przykładu, aby użyć tokenu dostępu w żądaniu POST `getMany` w aplikacji **Postman**, otwórz zakładkę **Authorization**, wybierz typ autoryzacji **Bearer Token**, a następnie wklej token dostępu w polu **Token**. Dostosuj wymagane parametry i wyślij żądanie — token dostępu zawiera niezbędne uprawnienia do wykonania operacji danego endpointu.

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

***

## Endpointy API

Żądania mogą być wysyłane do poniższych endpointów API.

{% hint style="info" %}
Pełna dokumentacja żądań API jest dostępna w [tym artykule](/xopero-one-en/pl/zarzadzanie/rest-api-dla-ekosystemow-devops/dostepne-zadania-api.md).
{% endhint %}

| Metoda HTTP i ścieżka                    | Opis                                                                         |
| ---------------------------------------- | ---------------------------------------------------------------------------- |
| `POST /account/login`                    | Zaloguj się do **Xopero ONE Management Service** i uzyskaj token dostępu.    |
| `POST /git/organizations/getmany`        | Wyświetl listę organizacji **Git** zintegrowanych z **Xopero ONE**.          |
| `POST /plans/listassignedtoorganization` | Wyświetl wszystkie plany backupu przypisane do wybranej organizacji **Git**. |
| `POST /plans/attachgitrepository`        | Dołącz repozytorium do planu backupu.                                        |
| `POST plans/AttachAzureProject`          | Dołącz projekt **Azure DevOps** do planu backupu.                            |
| `POST /plans/detachgitrepository`        | Usuń repozytorium z planu backupu.                                           |
| `POST plans/DetachAzureProject`          | Usuń projekt **Azure DevOps** z planu backupu.                               |
| `POST /plans/modifygitplan`              | Edytuj ustawienia istniejącego planu backupu.                                |
| `POST plans/ModifyAzurePlanAsync`        | Edytuj ustawienia istniejącego planu backupu **Azure DevOps**.               |
| `POST /git/repositories/getmany`         | Pobierz listę repozytoriów wybranej organizacji **Git**.                     |
| `POST /git/repositories/activate`        | Aktywuj licencje dla wybranych repozytoriów.                                 |
| `POST /git/repositories/deactivate`      | Dezaktywuj licencje wybranych repozytoriów.                                  |
| `POST /git/repositories/remove`          | Usuń repozytorium z systemu **Xopero ONE**.                                  |
| `POST /git/repositories/sync`            | Zsynchronizuj dane organizacji z systemem **Xopero ONE**.                    |

***

## Przydatne linki i materiały

{% content-ref url="/pages/C6bmmH9rlUTM0Sk2svTa" %}
[Dostępne żądania API](/xopero-one-en/pl/zarzadzanie/rest-api-dla-ekosystemow-devops/dostepne-zadania-api.md)
{% endcontent-ref %}
