> ## Documentation Index
> Fetch the complete documentation index at: https://docs.redfancy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Update project settings



## OpenAPI

````yaml /OPENAPI.yaml put /api/projects/{project_uid}/settings
openapi: 3.0.3
info:
  title: Redf Backend API
  version: 1.0.0
  description: >
    OpenAPI specification for the current HTTP backend exposed by the Phoenix
    router. The spec reflects the routes and controller behaviour currently
    implemented in `blockchain_app/lib/blockchain_app_web/router.ex`.
servers:
  - url: http://localhost:4000
    description: Local development
security: []
tags:
  - name: Health
  - name: Networks
  - name: Projects
  - name: Transactions
  - name: Widgets
paths:
  /api/projects/{project_uid}/settings:
    put:
      tags:
        - Projects
      summary: Update project settings
      operationId: updateProjectSettingsPut
      parameters:
        - $ref: '#/components/parameters/ProjectUid'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectSettingsRequest'
      responses:
        '200':
          description: Project settings updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSettingsResponse'
        '400':
          description: Invalid settings update
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Project or referenced entities not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    ProjectUid:
      in: path
      name: project_uid
      required: true
      schema:
        type: string
        format: uuid
      description: Public project UUID
  schemas:
    ProjectSettingsRequest:
      type: object
      description: At least one supported field should be present
      properties:
        project_name:
          type: string
        merchant_url:
          type: string
          format: uri
          nullable: true
        network_id:
          type: integer
          minimum: 1
        currency_symbol:
          type: string
        min_amount:
          $ref: '#/components/schemas/DecimalInput'
        max_amount:
          $ref: '#/components/schemas/DecimalInput'
        finalization_time:
          type: integer
          minimum: 1
    ProjectSettingsResponse:
      type: object
      required:
        - status
        - project
      properties:
        status:
          type: string
          enum:
            - ok
        project:
          $ref: '#/components/schemas/Project'
    ErrorResponse:
      type: object
      description: >
        Generic error payload used by the API. Some handlers return `error`,
        while validation and internal checker failures may return only `errors`
        or `reason`.
      required:
        - status
      properties:
        status:
          type: string
          enum:
            - error
        error:
          type: string
          example: invalid_request
        reason:
          type: string
          nullable: true
        detail:
          type: string
          nullable: true
        field:
          oneOf:
            - type: string
            - type: integer
          nullable: true
        currency:
          type: string
          nullable: true
        missing:
          type: array
          items:
            type: string
        errors:
          $ref: '#/components/schemas/ValidationErrors'
        message:
          type: string
          nullable: true
        constraint:
          type: string
          nullable: true
        tx_status:
          type: string
          nullable: true
        project_uid:
          type: string
          nullable: true
        widget_id:
          oneOf:
            - type: string
            - type: integer
          nullable: true
        expected:
          type: object
          additionalProperties: true
      additionalProperties: true
    DecimalInput:
      description: Decimal amount accepted by the backend
      oneOf:
        - type: string
          example: '10.50'
        - type: integer
          example: 10
        - type: number
          example: 10.5
    Project:
      type: object
      required:
        - id
        - project_uid
        - project_name
        - currency_symbol
        - wallet_address
        - network_id
        - min_amount
        - max_amount
        - finalization_time
        - is_active
      properties:
        id:
          type: integer
          example: 1
        project_uid:
          type: string
          format: uuid
        project_name:
          type: string
          maxLength: 250
        description:
          type: string
          nullable: true
        wallet_address:
          type: string
        currency_symbol:
          type: string
          maxLength: 32
        network_id:
          type: integer
        merchant_url:
          type: string
          format: uri
          nullable: true
        min_amount:
          $ref: '#/components/schemas/DecimalString'
        max_amount:
          $ref: '#/components/schemas/DecimalString'
        finalization_time:
          type: integer
          minimum: 1
          example: 1800
        is_active:
          type: boolean
        created_at:
          type: string
          format: date-time
          nullable: true
        updated_at:
          type: string
          format: date-time
          nullable: true
    ValidationErrors:
      type: object
      description: Map of field names to validation error messages
      additionalProperties:
        type: array
        items:
          type: string
    DecimalString:
      type: string
      example: '10.50'
      description: Decimal amount as returned by JSON encoding

````