# Rotating-Umfang und Einstellungen

`GET /account/api/v1/rotating/{id}/options`

## Autorisierung

`Authorization: Bearer YOUR_ARNPROXY_API_KEY`

`Accept: application/json`

Erforderliche Berechtigung: `proxy_management`

## Parameter

| Name | Typ | Erforderlich / Bedingt | Standardwert | Beschreibung |
|---|---|---|---|---|
| `id` (path) | integer | Erforderlich | — | Eigene Datensatz-ID für diesen Vorgang; 1–2147483647. Keine angezeigte Bestellnummer oder Anbieter-ID. |

## Anfragebeispiel

### curl

```curl
printf 'Authorization: Bearer %s\n' "$ARNPROXY_API_KEY" |
  curl --silent --show-error --header @- \
    --header 'Accept: application/json' \
    --connect-timeout 10 --max-time 30 \
    'https://www.arnproxy.com/account/api/v1/rotating/YOUR_ROTATING_PROXY_ID/options'
```

### python

```python
import os, requests

headers = {"Authorization": "Bearer " + os.environ["ARNPROXY_API_KEY"]}
response = requests.get(
    "https://www.arnproxy.com/account/api/v1/rotating/YOUR_ROTATING_PROXY_ID/options",
    headers=headers,
    timeout=(10, 30), allow_redirects=False
)
print(response.status_code, response.text)
# No automatic write retry.
```

### javascript

```javascript
const headers = { Authorization: `Bearer ${process.env.ARNPROXY_API_KEY}` };
const response = await fetch("https://www.arnproxy.com/account/api/v1/rotating/YOUR_ROTATING_PROXY_ID/options", {
  method: 'GET', headers, redirect: 'error',
  signal: AbortSignal.timeout(30000)
});
console.log(response.status, await response.text());
// A write timeout is ambiguous; query its saved operation.
```

### php

```php
<?php
$headers = ['Accept: application/json',
    'Authorization: Bearer '.getenv('ARNPROXY_API_KEY')];
$ch = curl_init('https://www.arnproxy.com/account/api/v1/rotating/YOUR_ROTATING_PROXY_ID/options');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_SSL_VERIFYPEER => true, CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 30,
]);
$result = curl_exec($ch);
if ($result === false) {
    // Do not repeat a write; use the original operation key.
    throw new RuntimeException('Transport result unknown');
}
echo curl_getinfo($ch, CURLINFO_HTTP_CODE).PHP_EOL.$result;
curl_close($ch);
```

### go

```go
package main

import (
  "fmt"
  "io"
  "net/http"
  "os"
  "time"
)

func main() {
  client := &http.Client{Timeout: 30*time.Second,
    CheckRedirect: func(req *http.Request, via []*http.Request) error {
      return http.ErrUseLastResponse
    }}
  var body io.Reader
  req, err := http.NewRequest("GET", "https://www.arnproxy.com/account/api/v1/rotating/YOUR_ROTATING_PROXY_ID/options", body)
  if err != nil { panic(err) }
  req.Header.Set("Authorization", "Bearer "+os.Getenv("ARNPROXY_API_KEY"))
  res, err := client.Do(req); if err != nil { panic(err) }
  defer res.Body.Close()
  data, err := io.ReadAll(res.Body); if err != nil { panic(err) }
  fmt.Println(res.StatusCode, string(data))
}
```

### csharp

```csharp
using System;
using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;

using var handler = new HttpClientHandler { AllowAutoRedirect = false };
using var client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(30) };
using var request = new HttpRequestMessage(HttpMethod.Get,
    "https://www.arnproxy.com/account/api/v1/rotating/YOUR_ROTATING_PROXY_ID/options");
request.Headers.Authorization = new AuthenticationHeaderValue(
    "Bearer", Environment.GetEnvironmentVariable("ARNPROXY_API_KEY"));
using var response = await client.SendAsync(request);
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(await response.Content.ReadAsStringAsync());
// Never automatically retry an ambiguous write.
```

### java

```java
import java.net.URI;
import java.net.http.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;

// Inside your application method:
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder(URI.create("https://www.arnproxy.com/account/api/v1/rotating/YOUR_ROTATING_PROXY_ID/options"))
    .header("Authorization", "Bearer " + System.getenv("ARNPROXY_API_KEY"))
    .header("Accept", "application/json")
    .GET()
    .build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
```

## Antworten · HTTP 200

```json
{
  "ok": true,
  "data": {
    "proxy_id": 12345,
    "proxy_ids": [
      12345
    ],
    "revision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "verified_at": "2030-01-01T12:00:00+00:00",
    "rotation_seconds": 120,
    "zero_means": "every_request",
    "minimum_seconds": 0,
    "maximum_seconds": 86400,
    "maximum_is_service_limit": true,
    "rotation_change_available": true,
    "authorization_scope": "package",
    "package_scope_confirmation_required": true,
    "may_affect_other_proxies": false,
    "shared_package_policy": "merchant_accepted_package_scope",
    "source": "provider_verified_scope"
  },
  "meta": {
    "request_id": "000000000000000000000001",
    "phase": "public_v1",
    "source": "arnproxy_records"
  }
}
```

| Name | Typ | Bedingt | Beschreibung |
|---|---|---|---|
| `ok` | boolean | — | Erfolgskennzeichen; bei false error.code prüfen. |
| `data` | object | — | Vorgangsspezifisches Ergebnis; Beispiele sind synthetisch und dienen der Veranschaulichung. |
| `data.proxy_id` | integer | — | Zugehörige ARNPROXY-Datensatz-ID statt interner Anbieter-ID verwenden. |
| `data.proxy_ids` | array | — | Proxy-IDs im für dieses Konto sichtbaren Umfang. |
| `data.proxy_ids[]` | integer | — | Proxy-IDs im für dieses Konto sichtbaren Umfang. |
| `data.revision` | string | — | Aktualitätskennung unverändert an die zugehörige Änderung/Preisbestätigung zurückgeben. |
| `data.verified_at` | string | — | Zeitstempel im vom API gelieferten Format; Beispieldaten sind synthetisch. |
| `data.rotation_seconds` | integer | — | Gespeicherte/gewünschte Rotation in Sekunden; Rotating-Pakete und Residential-Listen haben andere Regeln. |
| `data.zero_means` | string | — | Vorgangsspezifischer Wert für zero means. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `data.minimum_seconds` | integer | — | Vorgangsspezifischer Wert für minimum seconds. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `data.maximum_seconds` | integer | — | Vorgangsspezifischer Wert für maximum seconds. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `data.maximum_is_service_limit` | boolean | — | Vorgangsspezifischer Wert für maximum is service limit. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `data.rotation_change_available` | boolean | — | Vorgangsspezifischer Wert für rotation change available. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `data.authorization_scope` | string | — | Autorisierungsumfang; Bestell-/Paketaktionen können andere Zuordnungen beeinflussen. |
| `data.package_scope_confirmation_required` | boolean | — | Vorgangsspezifischer Wert für package scope confirmation required. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `data.may_affect_other_proxies` | boolean | — | Andere Zuordnungen können durch den paket-/bestellweiten Umfang betroffen sein. |
| `data.shared_package_policy` | string | — | Vorgangsspezifischer Wert für shared package policy. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `data.source` | string | — | Datenquelle; lokale Datensätze und Live-Anbieterabfragen sind unterschiedliche Nachweise. |
| `meta` | object | — | Metadaten zu Anfragezuordnung und Datenquelle. |
| `meta.request_id` | string | — | Kennung dieser HTTP-Anfrage, kein Vorgangsschlüssel oder Bestell-ID. |
| `meta.phase` | string | — | Vorgangsspezifischer Wert für phase. Rückgabetyp beibehalten und Verhaltenshinweise beachten. |
| `meta.source` | string | — | Datenquelle; lokale Datensätze und Live-Anbieterabfragen sind unterschiedliche Nachweise. |

## Verhalten & wichtige Hinweise

- Zuerst rotating_options mit eigener aktiver Proxy-ID aufrufen. Änderung betrifft das ganze Paket und eventuell andere Zuordnungen. terms=true und accept_package_scope=true erforderlich. 0 bedeutet jede Anfrage, Limit 0–86400 Sekunden. Zugangsdaten, autorisierte IPs, Guthaben und Ablauf bleiben gleich.

Authentifizierung und Validierung können eine Anfrage vor der Ausführung ablehnen. Beachten Sie die Fehlerreferenz und bewahren Sie request_id für den Support auf. Senden Sie niemals Schlüssel oder Passwörter.

[Fehler & Limits](https://docs.arnproxy.com/de/api-v1/errors)
