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

# Définir la plateforme par défaut de l'organisation (API Devin)

> Définir ou effacer l'emplacement par défaut des sessions Devin de l'organisation (plateforme hébergée ou pool Outposts) via l'API d'organisation v3

Définit l'emplacement par défaut des nouvelles sessions pour l'ensemble de l'organisation. Ce paramètre est identique à **Settings > Devin > Default platform** dans la webapp. Les sessions créées sans `platform` explicite utilisent en priorité la valeur par défaut personnelle de leur créateur, puis celle-ci.

<h2 id="permissions">
  Autorisations
</h2>

Nécessite un [utilisateur de service](/fr/api-reference/v3/service-users/members-service-users) ou un [jeton d’accès personnel](/fr/api-reference/personal-access-tokens) disposant de l’autorisation `ManageOrgSettings` au niveau de l’organisation.

<h2 id="request-fields">
  Champs de la requête
</h2>

Envoyez au plus l'un des champs suivants :

* `platform` : un libellé de plateforme hébergée configuré pour l'organisation (par exemple `linux`, `windows` ou `macos`) ou le nom d'un pool Outposts partagé, sans distinction de casse. Si un nom correspond aux deux, la plateforme est prioritaire.
* `outpost_pool_id` : l'ID d'un pool Outposts partagé disponible pour l'organisation.

Pour supprimer la valeur par défaut, envoyez un objet JSON vide (`{}`) ou définissez les deux champs sur `null`. Le corps de la requête est obligatoire.

Seuls les pools Outposts partagés sont éligibles. Un outpost personnel ne peut pas servir de valeur par défaut pour l'organisation, car seul son propriétaire peut y lancer des sessions.

<h2 id="outposts-only-organizations">
  Organisations en mode Outposts uniquement
</h2>

Lorsque l'Enterprise est en mode Outposts uniquement, seuls les pools Outposts sont acceptés. Les libellés de plateforme hébergée renvoient une erreur `400`.

<h2 id="errors">
  Erreurs
</h2>

* `400` lorsque `platform` ne correspond à aucune plateforme configurée ni à aucun pool Outposts partagé, correspond à plusieurs pools Outposts, ou désigne une plateforme hébergée dans une organisation qui utilise exclusivement Outposts ; ou lorsque `outpost_pool_id` ne correspond pas à un pool partagé disponible pour l'organisation. Le corps de l'erreur liste les plateformes et les pools Outposts disponibles.
* `403` lorsque l'appelant ne dispose pas de l'autorisation `ManageOrgSettings`.
* `422` lorsque `platform` et `outpost_pool_id` sont tous deux définis.

<h2 id="example">
  Exemple
</h2>

```bash theme={null}
curl -X PUT "https://api.devin.ai/v3beta1/organizations/$ORG_ID/default-platform" \
  -H "Authorization: Bearer $DEVIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform": "gpu-pool"}'
```


## OpenAPI

````yaml fr/v3-openapi.yaml PUT /v3beta1/organizations/{org_id}/default-platform
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/organizations/{org_id}/default-platform:
    put:
      tags:
        - organization-settings
      summary: Définir la plateforme par défaut de l’organisation
      description: >-
        Définit ou supprime l’emplacement par défaut de l’organisation pour les
        nouvelles sessions.


        Accepte un nom de plateforme hébergée, un nom de pool Outposts partagé

        (``platform``) ou un ID de pool Outposts partagé (``outpost_pool_id``).

        Les organisations utilisant exclusivement Outposts n’acceptent que les
        pools Outposts. Si aucun
         de ces paramètres n’est fourni, l’emplacement par défaut est supprimé.
      operationId: >-
        handle_update_org_default_platform_v3beta1_organizations__org_id__default_platform_put
      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/OrgDefaultPlatformUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgDefaultPlatformResponse'
          description: Réponse réussie
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Non autorisé
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Accès interdit
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Introuvable
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflit
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Contenu non traitable
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Trop de requêtes
components:
  schemas:
    OrgDefaultPlatformUpdateRequest:
      description: >-
        Définissez l’environnement d’exécution par défaut de l’organisation pour
        les nouvelles sessions.


        Envoyez au plus un des deux paramètres ``platform`` et
        ``outpost_pool_id`` ; envoyez les deux avec la valeur

        null (par exemple ``{}``) pour supprimer la valeur par défaut.
      properties:
        outpost_pool_id:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: ID d’un pool Outposts partagé disponible pour l’organisation.
          title: Outpost Pool Id
        platform:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: >-
            Un libellé de plateforme hébergée configuré pour l’organisation (p.
            ex. 'linux', 'windows', 'macos') ou le nom d’un pool Outposts
            partagé, sans distinction de casse ; les plateformes sont
            prioritaires lorsqu’un nom correspond aux deux. Les valeurs non
            reconnues sont rejetées avec une réponse 400 qui répertorie les
            plateformes et les pools Outposts disponibles.
          title: Platform
      title: OrgDefaultPlatformUpdateRequest
      type: object
    OrgDefaultPlatformResponse:
      description: >-
        Environnement d’exécution par défaut de l’organisation pour les
        nouvelles sessions.
      properties:
        outpost_pool_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Pool Outposts sur lequel les nouvelles sessions s’exécutent par
            défaut. Vaut null si l’environnement par défaut est une plateforme
            hébergée ou n’est pas défini.
          title: Outpost Pool Id
        outpost_pool_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Nom du pool Outposts par défaut. Vaut null si l’environnement par
            défaut n’est pas un pool Outposts ou si le pool n’est plus
            disponible pour l’organisation.
          title: Outpost Pool Name
        platform:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Libellé de la plateforme hébergée (p. ex. 'linux', 'windows') sur
            laquelle les nouvelles sessions s’exécutent par défaut. Vaut null si
            l’environnement par défaut est un pool Outposts ou n’est pas défini.
          title: Platform
      required:
        - platform
        - outpost_pool_id
        - outpost_pool_name
      title: OrgDefaultPlatformResponse
      type: object
    ProblemDetail:
      description: "Corps d’erreur RFC 9457 application/problem+json pour l’API v3.\n\ndetail est conservé de l’ancien corps {\"detail\": ...} pour assurer la rétrocompatibilité\_; les\nautres membres sont ajoutés de manière additive. errors contient les échecs de validation\nau niveau des champs (422 uniquement)."
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Explication en langage clair, spécifique à cette occurrence.
          title: Detail
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Code exploitable par machine indiquant le refus d’une action bloquée
            (p. ex. "user_frozen", "migrated_session").
          title: Error Code
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Erreurs de validation par champ (réponses 422 uniquement).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: Une référence d’URI (le chemin de la requête) pour cette occurrence.
          title: Instance
        status:
          description: Le code d’état HTTP.
          title: Status
          type: integer
        title:
          description: Un bref résumé du type de problème, compréhensible par un humain.
          title: Title
          type: string
        type:
          default: about:blank
          description: Une référence d’URI identifiant le type de problème.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
  securitySchemes:
    bearerAuth:
      description: "Identifiant de compte de service (préfixe\_: cog_)"
      scheme: bearer
      type: http

````

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