# Update program limit Update the existing program limit. Refer to the [Program limits](doc:program-limits) guide for more information. # OpenAPI definition ```json { "openapi": "3.1.0", "info": { "title": "Core platform - Balances and limits", "version": "1.0.0", "description": "recover the description with the PM", "contact": { "name": "API Support" }, "license": { "name": "Copyright Pismo" } }, "servers": [ { "url": "https://sandbox.pismolabs.io/balances-limits", "description": "Sandbox API server for testing" } ], "components": { "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "description": "Account access token. Tokens can expire quickly, which can result in an \"Unauthorized\" error.", "bearerFormat": "JWT" } }, "schemas": { "GlobalConfigLimit": { "type": "object", "description": "Limit configuration", "properties": { "value": { "description": "Configured program limit value (must be a non-negative decimal number with high precision)", "type": "number", "minimum": 0, "example": 1000.5 }, "is_active": { "description": "Status of the configuration limit (`true` if active, `false` if inactive)", "type": "boolean", "example": true } }, "required": [ "value", "is_active" ] }, "GlobalConfigLimits": { "type": "object", "description": "Limits configuration", "properties": { "max_credit_limit": { "$ref": "#/components/schemas/GlobalConfigLimit" } }, "required": [ "max_credit_limit" ] }, "UpdateGlobalConfigRequest": { "type": "object", "description": "Request to update an existing global configuration", "properties": { "limits": { "$ref": "#/components/schemas/GlobalConfigLimits" } }, "required": [ "limits" ] }, "ErrorModel": { "type": "object", "properties": { "message": { "type": "string", "description": "Message that describes the error.", "example": "An Internal Server Error found, please contact the administrator" }, "code": { "type": "string", "description": "Code that identifies the error type.", "example": "EBLS9999" }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/ErrorDetails" } } } }, "ErrorDetails": { "type": "object", "properties": { "location": { "description": "Location describes the attribute when the error is present", "type": "string", "example": "payload.attribute" }, "message": { "type": "string", "description": "Message that describes the error detail", "example": "attribute is null" } } } }, "examples": { "headerValidationError": { "value": { "message": "Some required headers are missing", "code": "WBLS0001" } }, "jsonSyntaxError": { "value": { "message": "Invalid syntax input", "code": "WBLS0003" } }, "genericSystemError": { "value": { "message": "Internal error found, please contact the administrator", "code": "EBLS9999" } }, "globalConfigValidationError": { "value": { "message": "Invalid input", "code": "WBLS0002", "details": [ { "location": "payload.level", "message": "level 'INVALID' is not supported. Only 'PROGRAM' is currently allowed" } ] } }, "globalConfigNotFoundError": { "value": { "message": "Global configuration not found", "code": "WBLS0007" } } } }, "tags": [ { "name": "Program limits", "description": "Endpoints to manage program limit configurations." } ], "security": [ { "BearerAuth": [] } ], "paths": { "/v1/global-configs/program/{programId}": { "patch": { "operationId": "patch-v1-global-configs-program-programId", "summary": "Update program limit", "description": "Update the existing program limit.\n\nRefer to the [Program limits](https://developers.pismo.io/pismo-docs/docs/program-limits) guide for more information.\n", "tags": [ "Program limits" ], "parameters": [ { "in": "path", "name": "programId", "required": true, "description": "Program ID", "schema": { "type": "integer", "example": 123 } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateGlobalConfigRequest" }, "examples": { "valid request with positive value": { "summary": "Valid program limits update - is_active required when value > 0", "value": { "limits": { "max_credit_limit": { "value": 1000.5, "is_active": true } } } }, "request with zero value and is_active": { "summary": "Valid program limits update with zero value and explicit is_active", "value": { "limits": { "max_credit_limit": { "value": 0, "is_active": false } } } }, "request with zero value without is_active": { "summary": "Valid program limits update with zero value - is_active optional (defaults to false)", "value": { "limits": { "max_credit_limit": { "value": 0, "is_active": true } } } } } } } }, "responses": { "204": { "description": "Program limits updated successfully" }, "400": { "description": "Bad request - validation error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "header validation error": { "$ref": "#/components/examples/headerValidationError" }, "validation error": { "$ref": "#/components/examples/globalConfigValidationError" }, "json syntax error": { "$ref": "#/components/examples/jsonSyntaxError" } } } } }, "404": { "description": "Not found - configuration does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "config not found": { "$ref": "#/components/examples/globalConfigNotFoundError" } } } } }, "500": { "description": "Internal server error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorModel" }, "examples": { "system error": { "$ref": "#/components/examples/genericSystemError" } } } } } } } } } } ```