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

# Imposta la piattaforma predefinita dell'organizzazione (API di Devin)

> Imposta o rimuovi la destinazione predefinita delle sessioni Devin dell'organizzazione, scegliendo una piattaforma ospitata o un pool outpost, tramite l'API v3 dell'organizzazione

Imposta la destinazione predefinita a livello di organizzazione per le nuove sessioni. È la stessa impostazione disponibile in **Settings > Devin > Default platform** nella webapp. Le sessioni create senza specificare `platform` usano innanzitutto l'impostazione predefinita personale di chi le crea e, in mancanza di questa, quella dell'organizzazione.

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

Richiede un [utente di servizio](/it/api-reference/v3/service-users/members-service-users) o un [token di accesso personale](/it/api-reference/personal-access-tokens) con l'autorizzazione `ManageOrgSettings` a livello di organizzazione.

<h2 id="request-fields">
  Campi della richiesta
</h2>

Invia al massimo uno dei seguenti campi:

* `platform`: un'etichetta di piattaforma ospitata configurata per l'organizzazione (ad esempio `linux`, `windows` o `macos`) oppure il nome di un pool outpost condiviso, senza distinzione tra maiuscole e minuscole. Se un nome corrisponde a entrambi, prevale la piattaforma.
* `outpost_pool_id`: l'ID di un pool outpost condiviso disponibile per l'organizzazione.

Per rimuovere il valore predefinito, invia un oggetto JSON vuoto (`{}`) oppure entrambi i campi impostati su `null`. Il corpo della richiesta è obbligatorio.

Sono ammessi solo i pool outpost condivisi. Gli outpost personali non possono essere impostati come valore predefinito dell'organizzazione, perché solo il proprietario può avviarvi sessioni.

<h2 id="outposts-only-organizations">
  Organizzazioni solo Outposts
</h2>

Quando l'enterprise è in modalità solo Outposts, vengono accettati soltanto i pool outpost. Le etichette della piattaforma ospitata restituiscono l'errore `400`.

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

* `400` quando `platform` non corrisponde ad alcuna piattaforma configurata né ad alcun pool outpost condiviso, corrisponde a più pool outpost oppure indica una piattaforma ospitata in un'organizzazione che usa esclusivamente outpost; oppure quando `outpost_pool_id` non è un pool condiviso disponibile per l'organizzazione. Il corpo dell'errore elenca le piattaforme e i pool outpost disponibili.
* `403` quando il chiamante non dispone dell'autorizzazione `ManageOrgSettings`.
* `422` quando sono impostati sia `platform` sia `outpost_pool_id`.

<h2 id="example">
  Esempio
</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 it/v3-openapi.yaml PUT /v3beta1/organizations/{org_id}/default-platform
openapi: 3.1.0
info:
  description: API Devin v3 con autenticazione utente di servizio e RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3beta1/organizations/{org_id}/default-platform:
    put:
      tags:
        - organization-settings
      summary: Imposta la piattaforma predefinita dell'organizzazione
      description: >-
        Imposta o rimuove la destinazione predefinita dell'organizzazione per le
        nuove sessioni.


        Accetta l'etichetta di una piattaforma ospitata, il nome di un pool
        outpost condiviso

        (``platform``) o l'ID di un pool outpost condiviso
        (``outpost_pool_id``).

        Le organizzazioni che usano esclusivamente Outposts accettano solo pool
        outpost. Se non viene inviato nessuno dei due

        parametri, l'impostazione predefinita viene rimossa.
      operationId: >-
        handle_update_org_default_platform_v3beta1_organizations__org_id__default_platform_put
      parameters:
        - description: 'ID dell''organizzazione (prefisso: 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: Risposta riuscita
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Non autorizzato
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Vietato
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Non trovato
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflitto
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Contenuto non elaborabile
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Troppe richieste
components:
  schemas:
    OrgDefaultPlatformUpdateRequest:
      description: >-
        Imposta la destinazione predefinita dell'organizzazione per le nuove
        sessioni.


        Invia al massimo uno dei due parametri ``platform`` e
        ``outpost_pool_id``; inviali entrambi come

        null (ad esempio ``{}``) per rimuovere l'impostazione predefinita.
      properties:
        outpost_pool_id:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: ID di un pool outpost condiviso disponibile per l'organizzazione.
          title: Outpost Pool Id
        platform:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: >-
            Un'etichetta di piattaforma ospitata configurata per
            l'organizzazione (ad es. 'linux', 'windows', 'macos') o il nome di
            un pool outpost condiviso, senza distinzione tra maiuscole e
            minuscole; se un nome corrisponde sia a una piattaforma sia a un
            pool, la piattaforma ha la priorità. I valori non riconosciuti
            vengono rifiutati con un errore 400 che elenca le piattaforme e i
            pool outpost disponibili.
          title: Platform
      title: OrgDefaultPlatformUpdateRequest
      type: object
    OrgDefaultPlatformResponse:
      description: Destinazione predefinita dell'organizzazione per le nuove sessioni.
      properties:
        outpost_pool_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Pool outpost in cui vengono eseguite le nuove sessioni per
            impostazione predefinita. Null quando la destinazione predefinita è
            una piattaforma ospitata o non è impostata.
          title: Outpost Pool Id
        outpost_pool_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Nome del pool outpost predefinito. Null quando la destinazione
            predefinita non è un pool outpost o il pool non è più disponibile
            per l'organizzazione.
          title: Outpost Pool Name
        platform:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Etichetta della piattaforma ospitata (ad es. 'linux', 'windows') su
            cui vengono eseguite le nuove sessioni per impostazione predefinita.
            Null quando la destinazione predefinita è un pool outpost o non è
            impostata.
          title: Platform
      required:
        - platform
        - outpost_pool_id
        - outpost_pool_name
      title: OrgDefaultPlatformResponse
      type: object
    ProblemDetail:
      description: >-
        Corpo dell'errore application/problem+json RFC 9457 per l'API v3.


        detail è mantenuto dal corpo legacy {"detail": ...} per
        retrocompatibilità; gli

        altri membri sono aggiuntivi. errors contiene gli errori di validazione
        a livello di campo

        (solo 422).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Una spiegazione leggibile dall'utente, specifica per questa
            occorrenza.
          title: Detail
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Codice elaborabile automaticamente che indica il rifiuto di
            un'azione bloccata (ad es. "user_frozen", "migrated_session").
          title: Error Code
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Errori di convalida a livello di campo (solo per le risposte 422).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Un riferimento URI (il percorso della richiesta) per questa
            occorrenza.
          title: Instance
        status:
          description: Il codice di stato HTTP.
          title: Status
          type: integer
        title:
          description: Un breve riepilogo del tipo di problema, leggibile dall'utente.
          title: Title
          type: string
        type:
          default: about:blank
          description: Un riferimento URI che identifica il tipo di problema.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Credenziale dell''utente del servizio (prefisso: cog_)'
      scheme: bearer
      type: http

````

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