# Ubah kredensial utama — nonaktif

`POST /account/api/v1/proxies/primary-credentials/change`

## Otorisasi

`Authorization: Bearer YOUR_ARNPROXY_API_KEY`

`Accept: application/json`

Izin yang diperlukan: `proxy_management`

`Content-Type: application/json`

> Kredensial utama dikelola administrator. Endpoint lama ini didokumentasikan untuk kompatibilitas dan mengembalikan HTTP 403. Gunakan login tambahan untuk akses terpisah.

## Parameter

| Nama | Tipe | Wajib / Bersyarat | Nilai bawaan | Keterangan |
|---|---|---|---|---|


## Contoh permintaan

### curl

```curl
curl --silent --show-error --request POST \
+  --header "Authorization: Bearer $ARNPROXY_API_KEY" \
+  --header 'Content-Type: application/json' \
+  --data '{}' \
+  'https://www.arnproxy.com/account/api/v1/proxies/primary-credentials/change'
# This legacy operation is disabled: PRIMARY_CREDENTIAL_ADMIN_ONLY.
```

### javascript

```javascript
const response = await fetch('https://www.arnproxy.com/account/api/v1/proxies/primary-credentials/change', {
  method: 'POST',
  headers: { Authorization: 'Bearer ' + process.env.ARNPROXY_API_KEY, 'Content-Type': 'application/json' },
  body: '{}'
});
console.log(response.status); // 403 with sufficient authentication/scope
```

### python

```python
import os
import urllib.request
import urllib.error
request = urllib.request.Request('https://www.arnproxy.com/account/api/v1/proxies/primary-credentials/change', data=b'{}', headers={'Authorization': 'Bearer ' + os.environ['ARNPROXY_API_KEY'], 'Content-Type': 'application/json'}, method='POST')
try:
    with urllib.request.urlopen(request, timeout=20) as response:
        print(response.status)
except urllib.error.HTTPError as error:
    print(error.code)  # 403: primary credentials are administrator-managed
```

### php

```php
<?php
$curl = curl_init('https://www.arnproxy.com/account/api/v1/proxies/primary-credentials/change');
curl_setopt_array($curl, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => '{}', CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('ARNPROXY_API_KEY'), 'Content-Type: application/json'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 20]);
curl_exec($curl);
echo curl_getinfo($curl, CURLINFO_HTTP_CODE); // 403
curl_close($curl);
```

### java

```java
import java.net.URI;
import java.net.http.*;
// Inside your application method:
var request = HttpRequest.newBuilder(URI.create("https://www.arnproxy.com/account/api/v1/proxies/primary-credentials/change"))
    .header("Authorization", "Bearer " + System.getenv("ARNPROXY_API_KEY"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString("{}"))
    .build();
var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode()); // 403
```

### go

```go
package main
import ("fmt"; "net/http"; "os"; "strings"; "time")
func main() {
 req, err := http.NewRequest("POST", "https://www.arnproxy.com/account/api/v1/proxies/primary-credentials/change", strings.NewReader("{}"))
 if err != nil { panic(err) }
 req.Header.Set("Authorization", "Bearer " + os.Getenv("ARNPROXY_API_KEY"))
 req.Header.Set("Content-Type", "application/json")
 client := &http.Client{Timeout: 20 * time.Second}
 res, err := client.Do(req)
 if err != nil { panic(err) }
 defer res.Body.Close()
 fmt.Println(res.StatusCode) // 403
}
```

### csharp

```csharp
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ARNPROXY_API_KEY"));
using var response = await client.PostAsync("https://www.arnproxy.com/account/api/v1/proxies/primary-credentials/change", new StringContent("{}", Encoding.UTF8, "application/json"));
Console.WriteLine((int)response.StatusCode); // 403
```

## Respons · HTTP 403

```json
{
  "ok": false,
  "error": {
    "code": "PRIMARY_CREDENTIAL_ADMIN_ONLY"
  },
  "meta": {
    "request_id": "000000000000000000000001"
  }
}
```

| Nama | Tipe | Bersyarat | Keterangan |
|---|---|---|---|
| `ok` | boolean | — | Penanda berhasil; jika false, periksa error.code. |
| `error` | object | — | Nilai khusus operasi untuk error. Pertahankan tipe yang dikembalikan dan baca catatan perilaku. |
| `error.code` | string | — | Nilai khusus operasi untuk code. Pertahankan tipe yang dikembalikan dan baca catatan perilaku. |
| `meta` | object | — | Metadata korelasi permintaan dan sumber data. |
| `meta.request_id` | string | — | ID korelasi permintaan HTTP ini, bukan kunci operasi atau ID pesanan. |

## Perilaku & catatan penting

- Endpoint lama ini memberi 403 PRIMARY_CREDENTIAL_ADMIN_ONLY. API pelanggan tidak dapat mengubah kredensial utama; gunakan extra_login_create untuk akses terpisah.

Autentikasi dan validasi dapat menolak permintaan sebelum dijalankan. Lihat referensi kesalahan dan simpan request_id untuk dukungan. Jangan kirim kunci atau kata sandi.

[Kesalahan & batas](https://docs.arnproxy.com/id/api-v1/errors)
