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

# Mettre à jour la politique de journalisation de l’observabilité

> Configurer le stockage et la durée de conservation des journaux d’entrée et de sortie de l’espace de travail.

<Note>Ce point de terminaison nécessite une clé API de gestion avec `settings:write`.</Note>

La durée de conservation doit être comprise entre 90 et 365 jours. La désactivation de la journalisation désactive également le contrôle de confidentialité des journaux d’entrée et de sortie de l’espace de travail.


## OpenAPI

````yaml fr/openapi/v1/openapi.localized.yaml PATCH /observability/logging-policy
openapi: 3.0.3
info:
  title: Phaseo Gateway API
  description: >-
    Une API de passerelle pour accéder à divers modèles d’IA via des points de
    terminaison compatibles avec OpenAI.
  version: 1.0.0
  contact:
    name: Phaseo
    url: https://phaseo.app
    email: danielbutler500@gmail.com
servers:
  - url: https://api.phaseo.app/v1
    description: Routage mondial
security:
  - BearerAuth: []
tags:
  - name: Gateway
    description: Core Phaseo Gateway operations.
paths:
  /observability/logging-policy:
    patch:
      tags:
        - Gateway
      summary: Mettre à jour la politique de journalisation I/O de l’espace de travail
      description: >-
        Met à jour les paramètres de stockage et de conservation des journaux,
        ainsi que la capture des charges utiles du fournisseur.
      operationId: updateObservabilityLoggingPolicy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObservabilityLoggingPolicyUpdateRequest'
      responses:
        '200':
          description: Politique de journalisation mise à jour
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObservabilityLoggingPolicyResponse'
        '400':
          description: Politique de journalisation invalide
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Non autorisé
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ObservabilityLoggingPolicyUpdateRequest:
      type: object
      properties:
        enabled:
          type: boolean
        retention_days:
          type: integer
          minimum: 90
          maximum: 365
        include_provider_payloads:
          type: boolean
      minProperties: 1
      additionalProperties: false
    ObservabilityLoggingPolicyResponse:
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/ObservabilityLoggingPolicy'
      additionalProperties: false
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        ok:
          type: boolean
          example: false
        error:
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
          example: error_type
        message:
          type: string
          example: Human-readable error message
        description:
          type: string
          example: Additional error details.
        generation_id:
          type: string
          example: G-abc123
        status_code:
          type: integer
          example: 502
        error_type:
          type: string
          enum:
            - user
            - system
          example: system
        error_origin:
          type: string
          enum:
            - user
            - gateway
            - upstream
          example: upstream
        reason:
          type: string
          example: all_candidates_failed
        attempt_count:
          type: integer
          example: 2
        failed_providers:
          type: array
          items:
            type: string
          example:
            - google-ai-studio
            - openai
        failed_statuses:
          type: array
          items:
            type: integer
          example:
            - 403
            - 429
        upstream_error:
          $ref: '#/components/schemas/ErrorUpstreamError'
        failure_sample:
          type: array
          items:
            $ref: '#/components/schemas/ErrorFailureSampleItem'
        provider_failure_diagnostics:
          $ref: '#/components/schemas/ErrorProviderFailureDiagnostics'
        routing_diagnostics:
          $ref: '#/components/schemas/ErrorRoutingDiagnostics'
        provider_candidate_diagnostics:
          $ref: '#/components/schemas/ErrorProviderCandidateDiagnostics'
        provider_enablement:
          $ref: '#/components/schemas/ErrorProviderEnablementDiagnostics'
        missing_pricing_providers:
          type: array
          items:
            type: string
        provider_payment_required_provider:
          type: string
          example: openai
        provider_payment_required_support_notice:
          type: string
          example: >-
            Our upstream provider billing appears to be unavailable. If this
            persists, contact support.
        details:
          type: array
          items:
            type: object
            additionalProperties: true
      additionalProperties: true
    ObservabilityLoggingPolicy:
      type: object
      required:
        - workspace_id
        - enabled
        - retention_days
        - include_provider_payloads
        - billing_status
        - price_per_million_units_nanos
      properties:
        workspace_id:
          type: string
          format: uuid
        enabled:
          type: boolean
        retention_days:
          type: integer
          minimum: 90
          maximum: 365
        include_provider_payloads:
          type: boolean
        billing_status:
          type: string
          enum:
            - active
            - grace
            - suspended
          readOnly: true
        grace_until:
          type: string
          format: date-time
          nullable: true
          readOnly: true
        price_per_million_units_nanos:
          type: integer
          minimum: 0
          readOnly: true
        updated_at:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    ErrorUpstreamError:
      type: object
      properties:
        code:
          type: string
          nullable: true
          example: PERMISSION_DENIED
        message:
          type: string
          nullable: true
          example: The caller does not have permission.
        description:
          type: string
          nullable: true
        param:
          type: string
          nullable: true
    ErrorFailureSampleItem:
      type: object
      properties:
        provider:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        status:
          type: integer
          nullable: true
        upstream_error_code:
          type: string
          nullable: true
        upstream_error_message:
          type: string
          nullable: true
        upstream_error_description:
          type: string
          nullable: true
        upstream_error_param:
          type: string
          nullable: true
        upstream_payload_preview:
          type: string
          nullable: true
        retryable:
          type: boolean
          nullable: true
      additionalProperties: true
    ErrorProviderFailureDiagnostics:
      type: object
      properties:
        category:
          type: string
          enum:
            - credentials_not_configured
            - credentials_invalid_or_forbidden
            - provider_access_missing
            - region_or_project_restriction
            - model_unavailable_for_endpoint
            - rate_limited
            - server_error
        hint:
          type: string
        provider:
          type: string
          nullable: true
    ErrorRoutingDiagnostics:
      type: object
      properties:
        filterStages:
          type: array
          items:
            type: object
            properties:
              stage:
                type: string
              beforeCount:
                type: integer
              afterCount:
                type: integer
              droppedProviders:
                type: array
                items:
                  type: object
                  properties:
                    providerId:
                      type: string
                      nullable: true
                    reason:
                      type: string
                      nullable: true
                  additionalProperties: true
            additionalProperties: true
      additionalProperties: true
    ErrorProviderCandidateDiagnostics:
      type: object
      properties:
        totalProviders:
          type: integer
        supportsEndpointCount:
          type: integer
        candidateCount:
          type: integer
        droppedUnsupportedEndpoint:
          type: array
          items:
            type: string
        droppedMissingAdapter:
          type: array
          items:
            type: object
            properties:
              providerId:
                type: string
                nullable: true
              endpoint:
                type: string
                nullable: true
            additionalProperties: true
      additionalProperties: true
    ErrorProviderEnablementDiagnostics:
      type: object
      properties:
        capability:
          type: string
        providersBefore:
          type: array
          items:
            type: string
        providersAfter:
          type: array
          items:
            type: string
        dropped:
          type: array
          items:
            type: object
            properties:
              providerId:
                type: string
                nullable: true
              reason:
                type: string
                nullable: true
            additionalProperties: true
      additionalProperties: true
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Authentification par jeton Bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.