> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.erp.olist.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar orçamento (proposta comercial)



## OpenAPI

````yaml https://erp.olist.com/public-api/v3/swagger/swagger-mintlify.json put /orcamentos/{idOrcamento}
openapi: 3.0.0
info:
  title: Olist ERP API v3
  description: >-
    Documentação completa: <a href="https://api-docs.erp.olist.com"
    target="_blank">https://api-docs.erp.olist.com</a>
  version: '3.1'
servers:
  - url: https://api.tiny.com.br/public-api/v3
security: []
paths:
  /orcamentos/{idOrcamento}:
    put:
      tags:
        - Orcamentos
      summary: Atualizar orçamento (proposta comercial)
      operationId: AtualizarOrcamentoAction
      parameters:
        - $ref: '#/components/parameters/put_orcamentos_idOrcamento_idOrcamento'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CriarOrcamentoModelRequest'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
        '503':
          description: Service Unavailable
      security:
        - bearerAuth: []
components:
  parameters:
    put_orcamentos_idOrcamento_idOrcamento:
      name: idOrcamento
      in: path
      description: Identificador do orçamento
      required: true
      schema:
        type: integer
  schemas:
    CriarOrcamentoModelRequest:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            contato:
              $ref: '#/components/schemas/ContatoIdRequestModel'
            data:
              type: string
              example: '2024-01-01'
              nullable: true
            observacao:
              type: string
              nullable: true
            introducao:
              type: string
              nullable: true
            assinatura:
              $ref: '#/components/schemas/AssinaturaOrcamentoRequestModel'
            dataProximoContato:
              type: string
              example: '2024-01-01'
              nullable: true
            listaPreco:
              $ref: '#/components/schemas/ListaPrecoRequestModel'
            naturezaOperacao:
              $ref: '#/components/schemas/NaturezaOperacaoOrcamentoRequestModel'
            vendedor:
              $ref: '#/components/schemas/VendedorRequestModel'
            enderecoAlternativo:
              $ref: '#/components/schemas/EnderecoAlternativoOrcamentosRequestModel'
            transportador:
              $ref: '#/components/schemas/TransportadorRequestModel'
            condicoesComerciais:
              $ref: '#/components/schemas/CondicoesComerciaisOrcamentoRequestModel'
            condicoesGerais:
              $ref: '#/components/schemas/CondicoesGeraisOrcamentoRequestModel'
            itens:
              type: array
              items:
                $ref: '#/components/schemas/ItemOrcamentoRequestModel'
            extras:
              $ref: '#/components/schemas/ExtrasOrcamentoRequestModel'
            anexo:
              $ref: '#/components/schemas/AnexoOrcamentoRequestModel'
          type: object
    ErrorDTO:
      title: ' '
      description: ' '
      properties:
        mensagem:
          description: Mensagem de erro geral
          type: string
          example: Ocorreram erros de validação
        detalhes:
          description: Detalhes específicos do erro
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailDTO'
          example:
            - campo: codigo
              mensagem: O campo código é obrigatório
          nullable: true
      type: object
    ContatoIdRequestModel:
      title: ' '
      description: ' '
      properties:
        id:
          type: integer
          nullable: true
      type: object
    AssinaturaOrcamentoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            saudacao:
              type: string
              nullable: true
            responsavel:
              type: string
              nullable: true
          type: object
    ListaPrecoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            id:
              type: integer
              nullable: true
          type: object
    NaturezaOperacaoOrcamentoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            id:
              type: integer
              nullable: true
          type: object
    VendedorRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            id:
              type: integer
          type: object
    EnderecoAlternativoOrcamentosRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            idOrigem:
              type: integer
              nullable: true
            endereco:
              type: string
              nullable: true
            enderecoNro:
              type: string
              nullable: true
            complemento:
              type: string
              nullable: true
            bairro:
              type: string
              nullable: true
            municipio:
              type: string
              nullable: true
            cep:
              type: string
              nullable: true
            uf:
              type: string
              nullable: true
            fone:
              type: string
              nullable: true
            nomeDestinatario:
              type: string
              nullable: true
            tipo:
              type: string
              nullable: true
            cpfCnpj:
              type: string
              nullable: true
            tipoPessoa:
              description: |-

                - J - Juridica
                - F - Fisica
                - E - Estrangeiro
                - X - Estrangeiro No Brasil
              type: string
              enum:
                - J
                - F
                - E
                - X
              nullable: true
              x-enumDescriptions:
                - J - Juridica
                - F - Fisica
                - E - Estrangeiro
                - X - Estrangeiro No Brasil
            ie:
              type: string
              nullable: true
          type: object
    TransportadorRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            id:
              type: integer
              nullable: true
            fretePorConta:
              description: |-

                - R - Remetente
                - D - Destinatario
                - T - Terceiros
                - 3 - Proprio Remetente
                - 4 - Proprio Destinatario
                - S - Sem Transporte
              type: string
              enum:
                - R
                - D
                - T
                - '3'
                - '4'
                - S
              nullable: true
              x-enumDescriptions:
                - R - Remetente
                - D - Destinatario
                - T - Terceiros
                - 3 - Proprio Remetente
                - 4 - Proprio Destinatario
                - S - Sem Transporte
            formaEnvio:
              $ref: '#/components/schemas/FormaEnvioRequestModel'
            formaFrete:
              $ref: '#/components/schemas/FormaFreteRequestModel'
            codigoRastreamento:
              type: string
              nullable: true
            urlRastreamento:
              type: string
              nullable: true
          type: object
    CondicoesComerciaisOrcamentoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            tipo:
              type: string
              enum:
                - Nenhuma
                - Parcelas
                - Texto livre
              nullable: true
            parcelas:
              $ref: '#/components/schemas/PagamentoParcelasOrcamentosRequestModel'
            textoLivre:
              type: string
              nullable: true
          type: object
    CondicoesGeraisOrcamentoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            validade:
              type: integer
              nullable: true
            dataPrevistaEntrega:
              type: string
              example: '2024-01-01'
              nullable: true
            descricaoPrazoEntrega:
              type: string
              nullable: true
          type: object
    ItemOrcamentoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            produto:
              $ref: '#/components/schemas/ProdutoOrcamentoRequestModel'
            quantidade:
              type: number
              format: float
            valorUnitario:
              type: string
            descrComplementarOrc:
              type: string
              nullable: true
            prazoDisponibilidade:
              type: integer
              nullable: true
          type: object
    ExtrasOrcamentoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            descricao:
              description: Descrição de outros itens ou serviços (texto livre)
              type: string
              nullable: true
            total:
              description: Valor de outros itens ou serviços (não é o total da proposta)
              type: number
              format: float
              nullable: true
            desconto:
              description: Desconto absoluto aplicado sobre o subtotal dos itens
              type: number
              format: float
              nullable: true
            frete:
              description: Valor do frete
              type: number
              format: float
              nullable: true
            pesoLiq:
              description: >-
                Peso líquido total. Com peso_calculado=S ou L é calculado pelos
                produtos (payload ignorado). Com N, usa o valor enviado.
              type: number
              format: float
              nullable: true
            pesoBruto:
              description: >-
                Peso bruto total. Com peso_calculado=S é calculado pelos
                produtos (payload ignorado). Com L ou N, usa o valor enviado.
              type: number
              format: float
              nullable: true
          type: object
    AnexoOrcamentoRequestModel:
      title: ' '
      description: ' '
      properties:
        url:
          type: string
          nullable: true
      type: object
    ErrorDetailDTO:
      title: ' '
      description: ' '
      properties:
        campo:
          description: Campo que gerou o erro
          type: string
          example: codigo
        mensagem:
          description: Mensagem de erro específica do campo
          type: string
          example: O campo código é obrigatório
      type: object
    FormaEnvioRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            id:
              type: integer
          type: object
    FormaFreteRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            id:
              type: integer
          type: object
    PagamentoParcelasOrcamentosRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            condicao:
              description: 'Condição de pagamento: ''30 60 90'', ''3x'', ''30,60,90'' ou ''30+2x'''
              type: string
            dias:
              type: array
              items:
                type: string
            obs:
              type: array
              items:
                type: string
          type: object
    ProdutoOrcamentoRequestModel:
      title: ' '
      description: ' '
      type: object
      allOf:
        - properties:
            id:
              type: integer
              nullable: false
          type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: Bearer

````