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

# Establecer la plataforma predeterminada de la organización (API de Devin)

> Establece o borra la ubicación predeterminada de las sesiones de Devin de la organización en una plataforma alojada o en un pool de Outposts mediante la API de organización v3

Establece la ubicación predeterminada de las nuevas sesiones para toda la organización. Es la misma opción que **Settings > Devin > Default platform** en la webapp. Las sesiones creadas sin un `platform` explícito usan primero el valor predeterminado personal de quien las crea y, en su defecto, este.

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

Requiere un [usuario de servicio](/es/api-reference/v3/service-users/members-service-users) o un [token de acceso personal](/es/api-reference/personal-access-tokens) con el permiso `ManageOrgSettings` a nivel de organización.

<h2 id="request-fields">
  Campos de la solicitud
</h2>

Envía como máximo uno de los siguientes:

* `platform`: una etiqueta de plataforma alojada configurada para la organización (por ejemplo, `linux`, `windows` o `macos`) o el nombre de un pool de outposts compartido; no distingue entre mayúsculas y minúsculas. Si un nombre coincide con ambos, tiene prioridad la plataforma.
* `outpost_pool_id`: el ID de un pool de outposts compartido disponible para la organización.

Envía un objeto JSON vacío (`{}`), o ambos campos como `null`, para borrar el valor predeterminado. El cuerpo de la solicitud es obligatorio.

Solo se admiten pools de outposts compartidos. Los outposts personales no pueden ser el valor predeterminado de la organización porque solo su propietario puede iniciar sesiones en ellos.

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

Cuando la Enterprise está en modo solo Outposts, únicamente se aceptan pools de Outposts. Las etiquetas de plataforma alojada devuelven un error `400`.

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

* `400` cuando `platform` no coincide con ninguna plataforma configurada ni con ningún pool de Outposts compartido, coincide con varios pools de Outposts o hace referencia a una plataforma alojada en una organización que solo usa Outposts; o cuando `outpost_pool_id` no corresponde a un pool compartido disponible para la organización. El cuerpo del error indica las plataformas y los pools de Outposts disponibles.
* `403` cuando el autor de la llamada no tiene el permiso `ManageOrgSettings`.
* `422` cuando se especifican a la vez `platform` y `outpost_pool_id`.

<h2 id="example">
  Ejemplo
</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 es/v3-openapi.yaml PUT /v3beta1/organizations/{org_id}/default-platform
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/organizations/{org_id}/default-platform:
    put:
      tags:
        - organization-settings
      summary: Establecer la plataforma predeterminada de la organización
      description: >-
        Establecer o borrar la ubicación predeterminada de la organización para
        las nuevas sesiones.


        Acepta una etiqueta de plataforma alojada, el nombre de un pool de
        outposts compartido

        (``platform``) o el ID de un pool de outposts compartido
        (``outpost_pool_id``).

        Las organizaciones que usan exclusivamente Outposts solo aceptan pools
        de outposts. Si no se envía ninguna de estas opciones,

        se borra el valor predeterminado.
      operationId: >-
        handle_update_org_default_platform_v3beta1_organizations__org_id__default_platform_put
      parameters:
        - description: 'ID de la organización (prefijo: 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: Respuesta satisfactoria
        '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:
    OrgDefaultPlatformUpdateRequest:
      description: >-
        Establece la ubicación de ejecución predeterminada de la organización
        para las nuevas sesiones.


        Envía como máximo uno de los campos ``platform`` y ``outpost_pool_id``;
        envía ambos como

        null (por ejemplo, ``{}``) para borrar el valor predeterminado.
      properties:
        outpost_pool_id:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: >-
            ID de un pool de outposts compartido disponible para la
            organización.
          title: Outpost Pool Id
        platform:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: >-
            Una etiqueta de plataforma alojada configurada para la organización
            (p. ej., 'linux', 'windows', 'macos') o el nombre de un pool de
            outposts compartido, sin distinguir entre mayúsculas y minúsculas;
            las plataformas tienen prioridad si un nombre coincide tanto con una
            plataforma como con un pool. Los valores no reconocidos se rechazan
            con un error 400 que enumera las plataformas y los pools de outposts
            disponibles.
          title: Platform
      title: OrgDefaultPlatformUpdateRequest
      type: object
    OrgDefaultPlatformResponse:
      description: >-
        Ubicación de ejecución predeterminada de la organización para las nuevas
        sesiones.
      properties:
        outpost_pool_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Pool de outposts en el que se ejecutan las nuevas sesiones de forma
            predeterminada. Null cuando el valor predeterminado es una
            plataforma alojada o no está definido.
          title: Outpost Pool Id
        outpost_pool_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Nombre del pool de outposts predeterminado. Null cuando el valor
            predeterminado no es un pool de outposts o el pool ya no está
            disponible para la organización.
          title: Outpost Pool Name
        platform:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Etiqueta de la plataforma alojada (p. ej., 'linux', 'windows') en la
            que se ejecutan las nuevas sesiones de forma predeterminada. Null
            cuando el valor predeterminado es un pool de outposts o no está
            definido.
          title: Platform
      required:
        - platform
        - outpost_pool_id
        - outpost_pool_name
      title: OrgDefaultPlatformResponse
      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
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Código legible por máquina que indica el rechazo de una acción
            bloqueada (p. ej., "user_frozen", "migrated_session").
          title: Error Code
        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

````

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