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

# Crear API key para el usuario de servicio

> Crear una nueva API key para un usuario de servicio.

Quien realiza la llamada debe tener el permiso ManageAccountServiceUsers.

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

Requiere un usuario de servicio con el permiso `ManageAccountServiceUsers` a nivel de la empresa.


## OpenAPI

````yaml es/v3-openapi.yaml POST /v3beta1/enterprise/service-users/{service_user_id}/api-keys
openapi: 3.1.0
info:
  description: API de Devin v3 con autenticación mediante usuario de servicio y RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3beta1/enterprise/service-users/{service_user_id}/api-keys:
    post:
      tags:
        - service_user_api_keys
      summary: Crear API key para el usuario de servicio
      description: >-
        Crear una nueva API key para un usuario de servicio.


        Quien realiza la llamada debe tener el permiso
        ManageAccountServiceUsers.
      operationId: >-
        handle_create_service_user_api_key_v3beta1_enterprise_service_users__service_user_id__api_keys_post
      parameters:
        - description: 'ID del usuario de servicio (prefijo: service-user-)'
          in: path
          name: service_user_id
          required: true
          schema:
            example: service-user-abc123def456
            title: Service User Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiKeyRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyWithTokenResponse'
          description: Respuesta exitosa
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: No autorizado
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Prohibido
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: No encontrado
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflicto
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Contenido no procesable
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Demasiadas solicitudes
components:
  schemas:
    CreateApiKeyRequest:
      properties:
        expires_at:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Vencimiento opcional como marca de tiempo UNIX en segundos. Debe
            estar en el futuro si se proporciona.
          title: Expires At
        name:
          maxLength: 256
          minLength: 1
          title: Name
          type: string
      required:
        - name
      title: CreateApiKeyRequest
      type: object
    ApiKeyWithTokenResponse:
      description: >-
        Modelo de respuesta compartido para la creación/rotación de API key
        (incluye un token de un solo uso).
      properties:
        api_key_id:
          title: Api Key Id
          type: string
        api_key_name:
          title: Api Key Name
          type: string
        token:
          description: >-
            El token de API sin procesar. Solo se muestra una vez, en el momento
            de la creación o la rotación.
          title: Token
          type: string
      required:
        - api_key_id
        - api_key_name
        - token
      title: ApiKeyWithTokenResponse
      type: object
    ProblemDetail:
      description: >-
        Cuerpo de error RFC 9457 application/problem+json para la API v3.


        detail se conserva del cuerpo heredado {"detail": ...} por
        compatibilidad con versiones anteriores; los

        otros miembros son adicionales. errors contiene errores de validación

        a nivel de campo (solo 422).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Explicación legible para humanos específica de esta ocurrencia.
          title: Detail
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Errores de validación por campo (solo en respuestas 422).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: Una referencia URI (la ruta de la solicitud) para esta ocurrencia.
          title: Instance
        status:
          description: El código de estado HTTP.
          title: Status
          type: integer
        title:
          description: Un breve resumen del tipo de problema, legible para humanos.
          title: Title
          type: string
        type:
          default: about:blank
          description: Una referencia URI que identifica el tipo de problema.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Credencial de usuario de servicio (prefijo: cog_)'
      scheme: bearer
      type: http

````