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

# Approve One Carrier Invoice

> Approve a carrier invoice by ID



## OpenAPI

````yaml /api-reference/openapi.json post /api/rest/carrier_invoices/{carrierInvoiceId}/approve
openapi: 3.1.0
info:
  description: >-
    Upwell is Accounts Receivable automation software for the logistics
    industry. We serve freight brokers, carriers, factors, and anyone who needs
    to get transportation invoices paid.


    Learn more at:


    - [Upwell.com](https://upwell.com)
  title: Upwell REST API
  version: 3.30.2
  termsOfService: https://upwell.com/legal
  contact:
    name: Upwell
    url: https://upwell.com
    email: contact@upwell.com
servers:
  - url: https://api.upwell.com
    description: Production server
  - url: https://staging.api.upwell.com
    description: Staging server
security: []
tags:
  - name: Invoice Approval
    description: Endpoints for managing customer invoice approval workflow
paths:
  /api/rest/carrier_invoices/{carrierInvoiceId}/approve:
    post:
      tags:
        - Carrier Invoices
      summary: Approve One Carrier Invoice
      description: Approve a carrier invoice by ID
      parameters:
        - description: >-
            _"carrierInvoiceId" is required (enter it either in parameters or
            request body)_
          in: path
          name: carrierInvoiceId
          schema:
            type: string
          required: true
        - in: query
          name: overrideExceptions
          schema:
            default: false
            type: boolean
          required: false
      requestBody:
        content:
          application/json:
            schema:
              properties:
                carrierInvoiceId:
                  nullable: false
                  title: String
                  type: string
                overrideExceptions:
                  default: false
                  nullable: true
                  title: Boolean
                  type: boolean
              type: object
        description: >-
          Query parameters can also be provided in the request body as a JSON
          object
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  approveCarrierInvoice:
                    nullable: false
                    properties:
                      error:
                        nullable: true
                        properties:
                          code:
                            nullable: false
                            title: String
                            type: string
                          message:
                            nullable: false
                            title: String
                            type: string
                        title: CarrierInvoiceErrorResponse
                        type: object
                      exceptions:
                        items:
                          nullable: false
                          properties:
                            createdAt:
                              $ref: '#/components/schemas/timestamptz'
                            id:
                              nullable: false
                              title: String
                              type: string
                            ownerId:
                              nullable: false
                              title: String
                              type: string
                            status:
                              $ref: '#/components/schemas/ExceptionStatusEnum'
                            type:
                              $ref: '#/components/schemas/ExceptionTypeEnum'
                            updatedAt:
                              $ref: '#/components/schemas/timestamptz'
                          title: CarrierInvoiceException
                          type: object
                        nullable: false
                        type: array
                      success:
                        nullable: false
                        title: Boolean
                        type: boolean
                    title: CarrierInvoiceResponse
                    type: object
                type: object
          description: Successful response
components:
  schemas:
    timestamptz:
      nullable: false
      title: timestamptz
      type: string
      format: date-time
      description: >-
        A timestamp with timezone in ISO 8601 format, such as
        2024-12-16T21:57:14.525733+00:00
    ExceptionStatusEnum:
      enum:
        - CLOSED
        - IN_PROGRESS
        - OPEN
        - RESOLVED
        - RULE_DISABLED
      nullable: false
      title: ExceptionStatusEnum
    ExceptionTypeEnum:
      enum:
        - CARRIER_INVOICE_BOL_PO_NUMBER_MISMATCH
        - CARRIER_INVOICE_HAS_LUMPER_LINE_ITEM_AND_NO_LUMPER_RECEIPT
        - CARRIER_INVOICE_MISSING
        - CARRIER_INVOICE_MISSING_ISSUE_DATE
        - CARRIER_INVOICE_MISSING_POD
        - CARRIER_INVOICE_MISSING_POD_FOR_EACH_DELIVERY_STOP
        - CARRIER_INVOICE_MISSING_RATE_CONFIRMATION
        - CARRIER_INVOICE_MISSING_SIGNED_BY
        - CARRIER_INVOICE_TOTAL_AMOUNT_BILL_TOTAL_AMOUNT_MISMATCH
        - CARRIER_INVOICE_TOTAL_AMOUNT_MISMATCH
        - CARRIER_INVOICE_TOTAL_AMOUNT_MISMATCH_BILL_OR_SHIPMENT
        - CARRIER_INVOICE_TOTAL_AMOUNT_SHIPMENT_CARRIER_TOTAL_RATE_MISMATCH
        - CARRIER_NAME_MISMATCH
        - CARRIER_NAME_MISMATCH_BILL_OR_SHIPMENT
        - CARRIER_NAME_MISMATCH_WITH_ASSIGNED_CARRIER
        - CARRIER_NAME_MISMATCH_WITH_BILL
        - CARRIER_NAME_MISMATCH_WITH_SHIPMENT
        - CARRIER_PAY_FROZEN
        - CUSTOMER_INVOICE_EXCEPTION
        - CUSTOMER_INVOICE_HAS_LUMPER_LINE_ITEM_AND_NO_LUMPER_RECEIPT
        - CUSTOMER_INVOICE_MISSING_BOL
        - CUSTOMER_INVOICE_MISSING_INVOICE_COPY
        - CUSTOMER_INVOICE_MISSING_POD
        - CUSTOMER_INVOICE_MISSING_RATE_CONFIRMATION
        - CUSTOMER_INVOICE_POST_DELIVERY_HOLD
        - DAMAGE_OR_SHORTAGE
        - DOCUMENT_LOAD_NUMBER_MISMATCH
        - DOCUMENT_NOT_LEGIBLE
        - DOCUMENT_SEVERE_MISCLASSIFICATION
        - FINAL_CHECK_PACKET_VALIDATION
        - INVOICE_AMOUNT_MISMATCH
        - MATCHING_INVOICE_NOT_FOUND
        - MISSING_CUSTOMER
        - MULTIPLE_MATCHING_INVOICES_FOUND
        - NO_ASSIGNED_CARRIER
        - NO_CARRIER_NAME
        - NO_MATCHING_BILL
        - NO_MATCHING_SHIPMENT
        - OTHER
        - OVERPAYMENT
        - REMITTANCE_LINE_ITEMS_EXCEPTION
        - REMIT_TO_MISMATCH
        - SHIPMENT_ON_HOLD
        - SHIPPER_INVOICE_DOCUMENT_RULES_EXCEPTION
        - TMS_INCIDENT
        - TMS_STATUS_MISMATCH
        - UNDERPAYMENT
        - UNRESOLVED_BILLING_ROUTE
      nullable: false
      title: ExceptionTypeEnum

````