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

# Effectuer une rotation de l’API key pour l’utilisateur de service

> Fait tourner une API key pour un utilisateur de service.

Crée une nouvelle clé. Par défaut, révoque l’ancienne clé ; définissez revoke_current=false
pour une rotation progressive où les deux clés restent temporairement actives.
Renvoie 404 si la clé est introuvable, 400 si la clé n’est pas active.

<div id="permissions">
  ## Autorisations
</div>

Nécessite un utilisateur de service disposant de l’autorisation `ManageAccountServiceUsers` au niveau de l’entreprise.


## OpenAPI

````yaml fr/v3-openapi.yaml POST /v3beta1/enterprise/service-users/{service_user_id}/api-keys/{api_key_id}/rotate
openapi: 3.1.0
info:
  description: API Devin v3 avec authentification par compte de service et RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3beta1/enterprise/service-users/{service_user_id}/api-keys/{api_key_id}/rotate:
    post:
      tags:
        - service_user_api_keys
      summary: Effectuer une rotation de l’API key pour l’utilisateur de service
      description: >-
        Fait tourner une API key pour un utilisateur de service.


        Crée une nouvelle clé. Par défaut, révoque l’ancienne clé ; définissez
        revoke_current=false

        pour une rotation progressive où les deux clés restent temporairement
        actives.

        Renvoie 404 si la clé est introuvable, 400 si la clé n’est pas active.
      operationId: >-
        handle_rotate_service_user_api_key_v3beta1_enterprise_service_users__service_user_id__api_keys__api_key_id__rotate_post
      parameters:
        - description: "ID de l’utilisateur de service (préfixe\_: service-user-)"
          in: path
          name: service_user_id
          required: true
          schema:
            example: service-user-abc123def456
            title: Service User Id
            type: string
        - in: path
          name: api_key_id
          required: true
          schema:
            title: Api Key Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RotateApiKeyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyWithTokenResponse'
          description: Réponse réussie
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Erreur de validation
components:
  schemas:
    RotateApiKeyRequest:
      properties:
        new_key_expires_at:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Expiration facultative de la nouvelle clé sous forme d’horodatage
            UNIX en secondes. Null si aucune expiration.
          title: New Key Expires At
        revoke_current:
          default: true
          description: >-
            Indique s’il faut révoquer la clé actuelle. Définissez cette valeur
            sur False pour un renouvellement progressif.
          title: Revoke Current
          type: boolean
      title: RotateApiKeyRequest
      type: object
    ApiKeyWithTokenResponse:
      description: >-
        Modèle de réponse partagé pour la création/la rotation d’API key (inclut
        un token ponctuel).
      properties:
        api_key_id:
          title: Api Key Id
          type: string
        api_key_name:
          title: Api Key Name
          type: string
        token:
          description: >-
            Le token API brut. Il n’est affiché qu’une seule fois au moment de
            la création ou de la rotation.
          title: Token
          type: string
      required:
        - api_key_id
        - api_key_name
        - token
      title: ApiKeyWithTokenResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    bearerAuth:
      description: "Identifiant de compte de service (préfixe\_: cog_)"
      scheme: bearer
      type: http

````