> For the complete documentation index, see [llms.txt](https://docs.papelship.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.papelship.com/qpapel-web-api-reference/remote-settings.md).

# Remote Settings

Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values.

## List Remote Settings

> Retrieve all active and inactive remote product configuration profiles.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"schemas":{"RemoteSetting":{"type":"object","properties":{"id":{"type":"integer"},"user_id":{"type":"integer"},"product_id":{"type":"string"},"product_name":{"type":"string"},"access_id":{"type":"string"},"config":{"type":"string","description":"Serialized JSON configuration or structured object."},"status":{"type":"string","enum":["active","inactive"]},"created_at":{"type":"string","format":"date-time"}}},"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}},"responses":{"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/remote-settings":{"get":{"tags":["Remote Settings"],"summary":"List Remote Settings","description":"Retrieve all active and inactive remote product configuration profiles.","operationId":"listRemoteSettings","responses":{"200":{"description":"List of remote settings.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"array","items":{"$ref":"#/components/schemas/RemoteSetting"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}}}}
```

## Create Remote Setting

> Register a new remote configuration payload bound to a product.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"schemas":{"RemoteSetting":{"type":"object","properties":{"id":{"type":"integer"},"user_id":{"type":"integer"},"product_id":{"type":"string"},"product_name":{"type":"string"},"access_id":{"type":"string"},"config":{"type":"string","description":"Serialized JSON configuration or structured object."},"status":{"type":"string","enum":["active","inactive"]},"created_at":{"type":"string","format":"date-time"}}},"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}},"responses":{"BadRequestError":{"description":"Invalid request body or query parameter structure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/remote-settings":{"post":{"tags":["Remote Settings"],"summary":"Create Remote Setting","description":"Register a new remote configuration payload bound to a product.","operationId":"createRemoteSetting","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["product_id","config"],"properties":{"product_id":{"type":"string","description":"Product cheat_value identifier."},"config":{"type":"object","description":"JSON key-value configuration tree."},"status":{"type":"string","enum":["active","inactive"],"default":"active"}}}}}},"responses":{"200":{"description":"Remote setting configuration created.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/RemoteSetting"}}}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}}}}
```

## Get Remote Setting by ID

> Retrieve configuration details for a single remote setting entry.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"schemas":{"RemoteSetting":{"type":"object","properties":{"id":{"type":"integer"},"user_id":{"type":"integer"},"product_id":{"type":"string"},"product_name":{"type":"string"},"access_id":{"type":"string"},"config":{"type":"string","description":"Serialized JSON configuration or structured object."},"status":{"type":"string","enum":["active","inactive"]},"created_at":{"type":"string","format":"date-time"}}},"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}},"responses":{"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"NotFoundError":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/remote-settings/{id}":{"get":{"tags":["Remote Settings"],"summary":"Get Remote Setting by ID","description":"Retrieve configuration details for a single remote setting entry.","operationId":"getRemoteSettingById","parameters":[{"name":"id","in":"path","required":true,"description":"Unique database ID of the remote setting record.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Remote setting details.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/RemoteSetting"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"404":{"$ref":"#/components/responses/NotFoundError"}}}}}}
```

## Update Remote Setting

> Overwrite configuration payload and status for an existing remote setting.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"schemas":{"RemoteSetting":{"type":"object","properties":{"id":{"type":"integer"},"user_id":{"type":"integer"},"product_id":{"type":"string"},"product_name":{"type":"string"},"access_id":{"type":"string"},"config":{"type":"string","description":"Serialized JSON configuration or structured object."},"status":{"type":"string","enum":["active","inactive"]},"created_at":{"type":"string","format":"date-time"}}},"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}},"responses":{"BadRequestError":{"description":"Invalid request body or query parameter structure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/remote-settings/{id}":{"put":{"tags":["Remote Settings"],"summary":"Update Remote Setting","description":"Overwrite configuration payload and status for an existing remote setting.","operationId":"updateRemoteSetting","parameters":[{"name":"id","in":"path","required":true,"description":"Unique database ID of the remote setting record.","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["config"],"properties":{"config":{"type":"object","description":"Replacement configuration object."},"status":{"type":"string","enum":["active","inactive"]}}}}}},"responses":{"200":{"description":"Remote setting updated.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/RemoteSetting"}}}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}}}}
```

## Delete Remote Setting

> Delete a remote setting configuration record.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"schemas":{"StandardSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}},"responses":{"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"NotFoundError":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/remote-settings/{id}":{"delete":{"tags":["Remote Settings"],"summary":"Delete Remote Setting","description":"Delete a remote setting configuration record.","operationId":"deleteRemoteSetting","parameters":[{"name":"id","in":"path","required":true,"description":"Unique database ID of the remote setting record.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Remote setting deleted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardSuccessResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"404":{"$ref":"#/components/responses/NotFoundError"}}}}}}
```

## Toggle Remote Setting Status

> Switch remote setting status between active and inactive.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"responses":{"BadRequestError":{"description":"Invalid request body or query parameter structure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}}},"paths":{"/remote-settings/{id}":{"patch":{"tags":["Remote Settings"],"summary":"Toggle Remote Setting Status","description":"Switch remote setting status between active and inactive.","operationId":"toggleRemoteSettingStatus","parameters":[{"name":"id","in":"path","required":true,"description":"Unique database ID of the remote setting record.","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["active","inactive"]}}}}}},"responses":{"200":{"description":"Status toggled.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"type":"object","properties":{"id":{"type":"integer"},"status":{"type":"string"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}}}}
```

## Upload Executable for SHA-256 Extraction

> Stream and analyze a compiled binary to auto-compute and update product integrity SHA-256 hash.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"responses":{"BadRequestError":{"description":"Invalid request body or query parameter structure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}},"schemas":{"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}}},"paths":{"/remote-settings/upload-sha256":{"post":{"tags":["Remote Settings"],"summary":"Upload Executable for SHA-256 Extraction","description":"Stream and analyze a compiled binary to auto-compute and update product integrity SHA-256 hash.","operationId":"uploadSha256Binary","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["product_id","file"],"properties":{"product_id":{"type":"string","description":"Product cheat_value identifier."},"file":{"type":"string","format":"binary","description":"Executable binary or DLL payload."}}}}}},"responses":{"200":{"description":"Binary analyzed and hash recorded.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"sha256":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"}}}}}}
```

## Get Remote Settings by Product Identifier

> Fetch effective configuration for a product using its cheat\_value.

```json
{"openapi":"3.0.3","info":{"title":"qPapel Protection Web API","version":"1.0.0"},"tags":[{"name":"Remote Settings","description":"Secure remote runtime configuration mapping, build SHA-256 verification, and dynamic values."}],"servers":[{"url":"https://papelship.com/api/qpapel/v1","description":"Production Server"}],"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyHeaderLegacy":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY","description":"Standard HTTP Bearer token authentication header (e.g. `Authorization: Bearer pk_live_...`)."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"Custom header API key authentication parameter (`x-api-key: pk_live_...`)."},"ApiKeyHeaderLegacy":{"type":"apiKey","in":"header","name":"api-key","description":"Legacy custom header API key fallback parameter (`api-key: pk_live_...`)."}},"schemas":{"RemoteSetting":{"type":"object","properties":{"id":{"type":"integer"},"user_id":{"type":"integer"},"product_id":{"type":"string"},"product_name":{"type":"string"},"access_id":{"type":"string"},"config":{"type":"string","description":"Serialized JSON configuration or structured object."},"status":{"type":"string","enum":["active","inactive"]},"created_at":{"type":"string","format":"date-time"}}},"StandardErrorResponse":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}},"responses":{"UnauthorizedError":{"description":"Authentication failed. Missing or invalid developer API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"NotFoundError":{"description":"The requested resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/remote-settings/by-product/{productId}":{"get":{"tags":["Remote Settings"],"summary":"Get Remote Settings by Product Identifier","description":"Fetch effective configuration for a product using its cheat_value.","operationId":"getRemoteSettingsByProduct","parameters":[{"name":"productId","in":"path","required":true,"description":"Unique cheat_value of the product.","schema":{"type":"string"}}],"responses":{"200":{"description":"Active configuration retrieved.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#/components/schemas/RemoteSetting"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"404":{"$ref":"#/components/responses/NotFoundError"}}}}}}
```
