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

# Set Organization Default Platform (Devin API)

> Set or clear the organization's default Devin session placement to a hosted platform or an outpost pool via the v3 organization API

Define o destino padrão para novas sessões em toda a organização. É a mesma configuração de **Configurações > Devin > Plataforma padrão** no webapp. As sessões criadas sem um valor explícito para `platform` usam primeiro o padrão pessoal de quem as criou e, na ausência dele, o padrão da organização.

<h2 id="permissions">
  Permissões
</h2>

Requer um [usuário de serviço](/pt-BR/api-reference/v3/service-users/members-service-users) ou um [token de acesso pessoal](/pt-BR/api-reference/personal-access-tokens) com a permissão `ManageOrgSettings` no nível da organização.

<h2 id="request-fields">
  Campos da requisição
</h2>

Envie no máximo um dos seguintes campos:

* `platform`: um rótulo de plataforma hospedada configurado para a organização (por exemplo, `linux`, `windows` ou `macos`) ou o nome de um pool do outpost compartilhado, sem distinção entre maiúsculas e minúsculas. As plataformas têm prioridade quando um nome corresponde tanto a uma plataforma quanto a um pool.
* `outpost_pool_id`: o ID de um pool do outpost compartilhado disponível para a organização.

Envie um objeto JSON vazio (`{}`) ou ambos os campos como `null` para remover a configuração padrão. O corpo da requisição é obrigatório.

Somente pools do outpost compartilhados podem ser usados. Outposts pessoais não podem ser definidos como padrão da organização, pois apenas seu proprietário pode iniciar sessões neles.

<h2 id="outposts-only-organizations">
  Organizações exclusivas para Outposts
</h2>

Quando a conta Enterprise está no modo exclusivo para Outposts, apenas pools do outpost são aceitos. Rótulos da plataforma hospedada retornam `400`.

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

* `400` quando `platform` não corresponde a nenhuma plataforma configurada nem a nenhum pool do outpost compartilhado, corresponde a vários pools do outpost ou indica uma plataforma hospedada em uma organização que usa apenas Outposts; ou quando `outpost_pool_id` não identifica um pool compartilhado disponível para a organização. O corpo da resposta de erro lista as plataformas e os pools do outpost disponíveis.
* `403` quando o solicitante não tem a permissão `ManageOrgSettings`.
* `422` quando tanto `platform` quanto `outpost_pool_id` estão definidos.

<h2 id="example">
  Exemplo
</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 pt-BR/v3-openapi.yaml PUT /v3beta1/organizations/{org_id}/default-platform
openapi: 3.1.0
info:
  description: API Devin v3 com autenticação de usuário de serviço 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: Definir plataforma padrão da organização
      description: >-
        Defina ou remova o local de execução padrão da organização para novas
        sessões.


        Aceita um rótulo de plataforma hospedada, o nome de um pool do outpost
        compartilhado

        (``platform``) ou o ID de um pool do outpost compartilhado
        (``outpost_pool_id``).

        Organizações que usam apenas Outposts só aceitam pools do outpost. Se
        nenhum dos dois parâmetros for enviado,

        o padrão será removido.
      operationId: >-
        handle_update_org_default_platform_v3beta1_organizations__org_id__default_platform_put
      parameters:
        - description: 'ID da organização (prefixo: 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: Resposta bem-sucedida
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Não autorizado
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Proibido
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Não encontrado
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conflito
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Conteúdo não processável
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Excesso de requisições
components:
  schemas:
    OrgDefaultPlatformUpdateRequest:
      description: >-
        Defina o local de execução padrão da organização para novas sessões.


        Envie no máximo um dos campos ``platform`` e ``outpost_pool_id``; envie
        ambos como

        null (por exemplo, ``{}``) para remover o padrão.
      properties:
        outpost_pool_id:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: >-
            ID de um pool do outpost compartilhado disponível para a
            organização.
          title: Outpost Pool Id
        platform:
          anyOf:
            - maxLength: 128
              type: string
            - type: 'null'
          description: >-
            Um rótulo de plataforma hospedada configurado para a organização
            (por exemplo, 'linux', 'windows', 'macos') ou o nome de um pool do
            outpost compartilhado, sem distinção entre maiúsculas e minúsculas;
            as plataformas têm prioridade quando um nome corresponde a ambos.
            Valores não reconhecidos são rejeitados com um erro 400 que lista as
            plataformas e os pools do outpost disponíveis.
          title: Platform
      title: OrgDefaultPlatformUpdateRequest
      type: object
    OrgDefaultPlatformResponse:
      description: O local de execução padrão da organização para novas sessões.
      properties:
        outpost_pool_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Pool do outpost em que novas sessões são executadas por padrão. Null
            quando o padrão é uma plataforma hospedada ou não está definido.
          title: Outpost Pool Id
        outpost_pool_name:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Nome do pool do outpost padrão. Null quando o padrão não é um pool
            do outpost ou o pool não está mais disponível para a organização.
          title: Outpost Pool Name
        platform:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Rótulo da plataforma hospedada (por exemplo, 'linux', 'windows') em
            que novas sessões são executadas por padrão. Null quando o padrão é
            um pool do outpost ou não está definido.
          title: Platform
      required:
        - platform
        - outpost_pool_id
        - outpost_pool_name
      title: OrgDefaultPlatformResponse
      type: object
    ProblemDetail:
      description: >-
        Corpo de erro RFC 9457 application/problem+json da API v3.


        detail é mantido do corpo legado {"detail": ...} por
        retrocompatibilidade; os

        outros membros são aditivos. errors contém falhas de validação em nível
        de campo

        (apenas 422).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Uma explicação legível por humanos específica para esta ocorrência.
          title: Detail
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Código legível por máquina para recusas de ações bloqueadas (por
            exemplo, "user_frozen", "migrated_session").
          title: Error Code
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Erros de validação no nível do campo (apenas respostas 422).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Uma referência de URI (o caminho da requisição) para esta
            ocorrência.
          title: Instance
        status:
          description: O código de status HTTP.
          title: Status
          type: integer
        title:
          description: Um breve resumo do tipo de problema, legível para humanos.
          title: Title
          type: string
        type:
          default: about:blank
          description: Uma referência de URI que identifica o tipo de problema.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Credencial de usuário de serviço (prefixo: cog_)'
      scheme: bearer
      type: http

````

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