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

# Update an editable service-detail section

> Updates only fields advertised as editable by the provider service-details implementation. Read-only identifiers and sensitive provider fields are rejected. Supported sections depend on the service provider.



## OpenAPI

````yaml /docs/service-api.yaml put /services/{service}/details/{section}
openapi: 3.1.0
info:
  title: Spartan Service API
  version: 1.1.0
  description: >-
    Service inventory, lifecycle, billing, pricing, notes, members, addons,
    provider service details, upgrades, downgrades, and evidence. All operations
    require a bearer API token with the documented `x-permission`.
servers:
  - url: https:/docs.dezerx.com/api/application
    description: Development
security:
  - bearerAuth: []
tags:
  - name: Services
  - name: Lifecycle
  - name: Billing
  - name: Members
  - name: Service Details
  - name: Evidence
paths:
  /services/{service}/details/{section}:
    put:
      tags:
        - Service Details
      summary: Update an editable service-detail section
      description: >-
        Updates only fields advertised as editable by the provider
        service-details implementation. Read-only identifiers and sensitive
        provider fields are rejected. Supported sections depend on the service
        provider.
      parameters:
        - $ref: '#/components/parameters/ServiceId'
        - name: section
          in: path
          required: true
          schema:
            enum:
              - server
              - user
              - account
              - license
              - per-hour
      requestBody:
        $ref: '#/components/requestBodies/ServiceDetailUpdate'
      responses:
        '200':
          $ref: '#/components/responses/ServiceDetails'
        '409':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/Error'
components:
  parameters:
    ServiceId:
      name: service
      in: path
      required: true
      schema:
        type: integer
  requestBodies:
    ServiceDetailUpdate:
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceDetailUpdateInput'
          examples:
            server:
              summary: Update fields advertised by the server section
              value:
                name: Per Hour Minecraft - Anthony S
                config:
                  memory: 4096
                  disk: 10240
                  cpu: 400
                  allocations: 2
                  backups: 3
                  databases: 2
                  enable_dezerx_manager: true
                  enable_plugin_manager: true
                  enable_mod_manager: true
            user:
              summary: Update fields advertised by the user section
              value:
                email: anthony@example.com
            per-hour-wallet:
              summary: Change the per-hour wallet source
              value:
                operation: wallet_source
                wallet_source: service
  responses:
    ServiceDetails:
      description: Provider service-details response
      content:
        application/json:
          schema:
            type: object
            required:
              - data
              - meta
            properties:
              data:
                $ref: '#/components/schemas/ServiceDetails'
              message:
                type: string
              meta:
                type: object
    Error:
      description: Error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    ServiceDetailUpdateInput:
      type: object
      description: >-
        Dynamic provider payload. First call GET /services/{service}/details and
        locate the selected section. Send only keys listed in editFields, plus
        configuration keys listed in editConfigFields. Per-hour sections instead
        advertise their accepted operations. Provider-specific IDs are
        intentionally not hard-coded into this schema.
      additionalProperties: true
    ServiceDetails:
      type: object
      required:
        - provider
        - service
        - editable_sections
        - sections
      properties:
        provider:
          type: object
          required:
            - key
            - name
          properties:
            key:
              type: string
              example: PterodactylService
            name:
              type: string
              example: Pterodactyl
            description:
              type:
                - string
                - 'null'
        service:
          type: object
          required:
            - id
            - status
          properties:
            id:
              type: integer
              example: 485
            name:
              type:
                - string
                - 'null'
            status:
              type: string
              example: active
            created_at:
              type:
                - string
                - 'null'
              format: date-time
            updated_at:
              type:
                - string
                - 'null'
              format: date-time
        editable_sections:
          type: array
          items:
            enum:
              - server
              - user
              - account
              - license
              - per-hour
        sections:
          type: array
          items:
            $ref: '#/components/schemas/ServiceDetailSection'
    Error:
      type: object
      required:
        - error
        - request_id
      properties:
        error:
          type: object
          required:
            - code
            - message
            - details
          properties:
            code:
              type: string
            message:
              type: string
            details:
              type: object
        request_id:
          type: string
          format: uuid
    ServiceDetailSection:
      type: object
      required:
        - key
        - label
        - editable
      properties:
        key:
          type: string
        label:
          type: string
        data:
          type:
            - object
            - 'null'
          additionalProperties: true
        fields:
          type: array
          items:
            type: object
            additionalProperties: true
        editFields:
          type: array
          items:
            type: object
            additionalProperties: true
        editConfigFields:
          type: array
          items:
            type: object
            additionalProperties: true
        editable:
          type: boolean
        update_endpoint:
          type:
            - string
            - 'null'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````