# Client Development

## Register develop account

> Register develop account for sandbox

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"servers":[{"url":"https://sandbox.9proxy.com"}],"paths":{"/client/v1/dev/register":{"post":{"summary":"Register develop account","description":"Register develop account for sandbox","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseRegisterAccount"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseBadRequestError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Account email"},"password":{"type":"string","description":"Account password"}},"required":["email","password"]}}}}}}},"components":{"schemas":{"ResponseRegisterAccount":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"result":{"$ref":"#/components/schemas/AccountInfo","description":"Account info."}}},"AccountInfo":{"type":"object","description":"AccountI info.","properties":{"id":{"type":"integer","description":"Id of user."},"email":{"type":"string","description":"Email of user."},"username":{"type":"string","description":"username of user."},"email_verified":{"type":"boolean","description":"Email verified or not?."},"_2fa_enabled":{"type":"boolean","description":"2fa on/off status"},"wallet_balance":{"type":"number","description":"Wallet balance."}}},"ResponseBadRequestError":{"type":"object","description":"Bad request.","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"errors":{"type":"array","description":"List error","items":{"type":"string"}}}}}}}
```

## Generate api key

> Generate api key for account in sandbox

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"servers":[{"url":"https://sandbox.9proxy.com"}],"paths":{"/client/v1/dev/refresh-api-key":{"post":{"summary":"Generate api key","description":"Generate api key for account in sandbox","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseGenerateApiKey"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseBadRequestError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Account email"},"password":{"type":"string","description":"Account password"}},"required":["email","password"]}}}}}}},"components":{"schemas":{"ResponseGenerateApiKey":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"result":{"type":"object","properties":{"api_key":{"type":"string","description":"new api key"}},"description":"Data generate api key."}}},"ResponseBadRequestError":{"type":"object","description":"Bad request.","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"errors":{"type":"array","description":"List error","items":{"type":"string"}}}}}}}
```

## Set balance for account

> Set balance for account

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"servers":[{"url":"https://sandbox.9proxy.com"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","name":"api-key","in":"query"}},"schemas":{"ResponseSetBalance":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"result":{"type":"object","properties":{"amount":{"type":"integer","description":"number ips of account"}},"description":"Data set balance."}}},"ResponseBadRequestError":{"type":"object","description":"Bad request.","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"errors":{"type":"array","description":"List error","items":{"type":"string"}}}},"ResponseForbiddenError":{"type":"object","description":"Response payload returned when access is forbidden.","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful."},"message":{"type":"string","description":"Human-readable response message."},"errors":{"type":"array","description":"List of error messages.","items":{"type":"string"}}}}}},"paths":{"/client/v1/dev/set-balance":{"post":{"summary":"Set balance for account","description":"Set balance for account","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseSetBalance"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseBadRequestError"}}}},"403":{"description":"Authentication error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseForbiddenError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"plan_id":{"type":"integer","description":"1: ip data"},"amount":{"type":"integer","description":"amount ip of account"}},"required":["plan_id","amount"]}}}}}}}}
```

## The AccountInfo object

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"components":{"schemas":{"AccountInfo":{"type":"object","description":"AccountI info.","properties":{"id":{"type":"integer","description":"Id of user."},"email":{"type":"string","description":"Email of user."},"username":{"type":"string","description":"username of user."},"email_verified":{"type":"boolean","description":"Email verified or not?."},"_2fa_enabled":{"type":"boolean","description":"2fa on/off status"},"wallet_balance":{"type":"number","description":"Wallet balance."}}}}}}
```

## The ResponseRegisterAccount object

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"components":{"schemas":{"ResponseRegisterAccount":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"result":{"$ref":"#/components/schemas/AccountInfo","description":"Account info."}}},"AccountInfo":{"type":"object","description":"AccountI info.","properties":{"id":{"type":"integer","description":"Id of user."},"email":{"type":"string","description":"Email of user."},"username":{"type":"string","description":"username of user."},"email_verified":{"type":"boolean","description":"Email verified or not?."},"_2fa_enabled":{"type":"boolean","description":"2fa on/off status"},"wallet_balance":{"type":"number","description":"Wallet balance."}}}}}}
```

## The ResponseGenerateApiKey object

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"components":{"schemas":{"ResponseGenerateApiKey":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"result":{"type":"object","properties":{"api_key":{"type":"string","description":"new api key"}},"description":"Data generate api key."}}}}}}
```

## The ResponseSetBalance object

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"components":{"schemas":{"ResponseSetBalance":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"result":{"type":"object","properties":{"amount":{"type":"integer","description":"number ips of account"}},"description":"Data set balance."}}}}}}
```

## The ResponseBadRequestError object

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"components":{"schemas":{"ResponseBadRequestError":{"type":"object","description":"Bad request.","properties":{"success":{"type":"boolean","description":"Success status (true if successful, false if an error occurred)."},"message":{"type":"string","description":"Response message."},"errors":{"type":"array","description":"List error","items":{"type":"string"}}}}}}}
```

## The ResponseForbiddenError object

```json
{"openapi":"3.1.1","info":{"title":"Development","version":"1.0"},"components":{"schemas":{"ResponseForbiddenError":{"type":"object","description":"Response payload returned when access is forbidden.","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful."},"message":{"type":"string","description":"Human-readable response message."},"errors":{"type":"array","description":"List of error messages.","items":{"type":"string"}}}}}}}
```
