> ## 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.

# Créer un planning

> Créer une nouvelle session planifiée.

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

Nécessite un compte de service disposant de l’autorisation `ManageOrgSchedules` au niveau de l’organisation.

<div id="schedule-type">
  ## Type de planification
</div>

Le champ `schedule_type` indique si la planification est récurrente ou ponctuelle :

* `recurring` (par défaut) — Nécessite le champ `frequency` avec une expression cron
* `one_time` — Nécessite le champ `scheduled_at` avec une date et heure au format ISO 8601 dans le futur

<div id="frequency">
  ## Fréquence
</div>

Pour les planifications récurrentes, le champ `frequency` accepte une expression cron au format standard (par exemple, `0 9 * * 1-5` pour les jours ouvrés à 9 h UTC).

<div id="scheduled-at">
  ## Date de planification
</div>

Pour les programmations uniques, le champ `scheduled_at` accepte une date et une heure au format ISO 8601 avec fuseau horaire (par exemple, `2026-03-01T09:00:00Z`). La date et l’heure doivent être postérieures au moment présent. Après son exécution, la programmation est automatiquement désactivée.

<div id="agent-types">
  ## Types d'agents
</div>

| Agent          | Description                       |
| -------------- | --------------------------------- |
| `devin`        | Agent Devin standard (par défaut) |
| `data_analyst` | Agent d'analyse de données        |
| `advanced`     | Agent avancé                      |

<div id="user-impersonation">
  ## Usurpation d'identité d'utilisateur
</div>

Le paramètre `create_as_user_id` permet de créer une planification pour le compte d'un autre utilisateur. Cela nécessite :

1. Le compte de service doit disposer de l'autorisation `ImpersonateOrgSessions`
2. L'utilisateur cible doit être membre de l'organisation
3. L'utilisateur cible doit disposer de l'autorisation `UseDevinSessions`


## OpenAPI

````yaml fr/v3-openapi.yaml POST /v3/organizations/{org_id}/schedules
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:
  /v3/organizations/{org_id}/schedules:
    post:
      tags:
        - schedules
      summary: Créer un planning
      description: Créer une nouvelle session planifiée.
      operationId: handle_create_schedule_v3_organizations__org_id__schedules_post
      parameters:
        - description: "ID de l’organisation (préfixe\_: org-)"
          in: path
          name: org_id
          required: true
          schema:
            example: org-abc123def456
            title: Org Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduleCreateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleResponse'
          description: Réponse réussie
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Erreur de validation
components:
  schemas:
    ScheduleCreateRequest:
      properties:
        agent:
          default: devin
          enum:
            - devin
            - data_analyst
          title: Agent
          type: string
        bypass_approval:
          default: false
          title: Bypass Approval
          type: boolean
        create_as_user_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Create As User Id
        frequency:
          anyOf:
            - type: string
            - type: 'null'
          title: Frequency
        interval_count:
          default: 1
          title: Interval Count
          type: integer
        name:
          title: Name
          type: string
        notify_on:
          default: failure
          enum:
            - always
            - failure
            - never
          title: Notify On
          type: string
        platform:
          anyOf:
            - type: string
            - type: 'null'
          description: "Plateforme de VM pour les sessions générées par cette planification (p.\_ex. 'windows'). Si elle est omise, les sessions utilisent la plateforme par défaut de l'organisation au moment du déclenchement. La valeur doit correspondre à une plateforme configurée pour l'organisation (sans distinction de casse)\_; les valeurs inconnues sont rejetées avec une erreur 400 qui liste les libellés de plateforme disponibles."
          title: Platform
        playbook_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Playbook Id
        prompt:
          title: Prompt
          type: string
        schedule_type:
          default: recurring
          enum:
            - recurring
            - one_time
          title: Schedule Type
          type: string
        scheduled_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Scheduled At
        slack_channel_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Slack Channel Id
        slack_team_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Slack Team Id
        tags:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Tags
        target_devin_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Target Devin Id
      required:
        - name
        - prompt
      title: ScheduleCreateRequest
      type: object
    ScheduleResponse:
      properties:
        agent:
          enum:
            - devin
            - data_analyst
          title: Agent
          type: string
        bypass_approval:
          default: false
          title: Bypass Approval
          type: boolean
        consecutive_failures:
          title: Consecutive Failures
          type: integer
        created_at:
          format: date-time
          title: Created At
          type: string
        created_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Created By
        enabled:
          title: Enabled
          type: boolean
        frequency:
          anyOf:
            - type: string
            - type: 'null'
          title: Frequency
        interval_count:
          default: 1
          title: Interval Count
          type: integer
        last_edited_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Edited By
        last_error_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Last Error At
        last_error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Error Message
        last_executed_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Last Executed At
        name:
          title: Name
          type: string
        notify_on:
          enum:
            - always
            - failure
            - never
          title: Notify On
          type: string
        org_id:
          title: Org Id
          type: string
        platform:
          anyOf:
            - type: string
            - type: 'null'
          title: Platform
        playbook:
          anyOf:
            - $ref: '#/components/schemas/PlaybookInfo'
            - type: 'null'
        prompt:
          title: Prompt
          type: string
        schedule_type:
          default: recurring
          enum:
            - recurring
            - one_time
          title: Schedule Type
          type: string
        scheduled_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Scheduled At
        scheduled_session_id:
          title: Scheduled Session Id
          type: string
        slack_channel_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Slack Channel Id
        slack_team_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Slack Team Id
        tags:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Tags
        target_devin_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Target Devin Id
        updated_at:
          format: date-time
          title: Updated At
          type: string
      required:
        - scheduled_session_id
        - org_id
        - created_by
        - name
        - prompt
        - playbook
        - frequency
        - enabled
        - last_executed_at
        - created_at
        - updated_at
        - last_error_at
        - last_error_message
        - consecutive_failures
        - notify_on
        - agent
      title: ScheduleResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    PlaybookInfo:
      properties:
        playbook_id:
          title: Playbook Id
          type: string
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
      required:
        - playbook_id
        - title
      title: PlaybookInfo
      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

````