# 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 %}


---

# 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://helpcenter.xopero.com/xopero-one-en/pl/zarzadzanie/rest-api-dla-ekosystemow-devops/przeglad-i-uwierzytelnianie.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.
