---
updatedAt: 2026-06-29T20:33:19.000Z
agentTools:
  projectIndex: https://developer.bill.com/llms.txt
---

# Restore an archived invoice

Restore an archived invoice. In the response, the `archived` field is set as `false`.

You can perform any valid BILL operation on restored invoices. There is no change when you restore a restored invoice.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "BILL v3 API",
    "description": "BILL is a cloud-based financial operations platform for an organization's accounts payable (AP), accounts receivable (AR), and spend & expense (S&E) automation.\n\nThe BILL v3 API gives you access to the same infrastructure that powers the AP, AR, and S&E products. In addition, you can receive real-time event notifications with webhooks.\n\nThe BILL Developer Documentation is available at [developer.bill.com](https://developer.bill.com/docs/home).\n\n## Quickstart\nSign-up and generate a developer key for working with the BILL v3 API. With this key, you can build with the AP, AR, BILL network, and webhook workflows. See [Sandbox API sign up](https://developer.bill.com/docs/api-sandbox-sign-up) for more information.\n\n### Spend & Expense API\nAn API token is required for working with the Spend & Expense API. See [Authentication with Spend & Expense API token](https://developer.bill.com/docs/authentication-with-api-token) for more information.\n\n### BILL v3 API in Postman\nWith this collection, you have access to the BILL v3 API in Postman. When you save your sandbox API credentials as environment variables in Postman, you can simply refer to the variables when you are testing with the BILL v3 API. See [BILL v3 API in Postman](https://developer.bill.com/docs/bill-v3-api-in-postman) for more information.",
    "version": "1"
  },
  "servers": [
    {
      "url": "https://gateway.stage.bill.com/connect",
      "description": "sandbox"
    }
  ],
  "paths": {
    "/v3/invoices/{invoiceId}/restore": {
      "post": {
        "tags": [
          "invoices"
        ],
        "summary": "Restore an archived invoice",
        "description": "Restore an archived invoice. In the response, the `archived` field is set as `false`.\n\nYou can perform any valid BILL operation on restored invoices. There is no change when you restore a restored invoice.",
        "operationId": "restoreInvoice",
        "parameters": [
          {
            "name": "sessionId",
            "in": "header",
            "schema": {
              "type": "string",
              "description": "API session ID generated with `/v3/login`",
              "nullable": true,
              "example": "{{session_id}}"
            }
          },
          {
            "name": "devKey",
            "in": "header",
            "schema": {
              "type": "string",
              "description": "Developer key generated with your BILL developer account",
              "nullable": true,
              "example": "{{developer_key}}"
            }
          },
          {
            "name": "invoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "description": "BILL-generated ID of the invoice. The value begins with `00e`.",
              "example": "{{invoice_id}}"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Restore an archived invoice response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceResponseDto"
                }
              }
            }
          },
          "4XX": {
            "description": "List of errors.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BdcError"
                  }
                }
              }
            }
          },
          "5XX": {
            "description": "List of errors.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BdcError"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BdcError": {
        "required": [
          "category",
          "code",
          "severity",
          "timestamp"
        ],
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "code": {
            "type": "string"
          },
          "severity": {
            "$ref": "#/components/schemas/Severity"
          },
          "category": {
            "$ref": "#/components/schemas/Category"
          },
          "message": {
            "type": "string"
          },
          "params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Param"
            }
          },
          "detail": {
            "type": "string"
          },
          "help": {
            "type": "string"
          }
        }
      },
      "Category": {
        "type": "string",
        "enum": [
          "REQUEST",
          "APPLICATION",
          "SERVER",
          "DOWNSTREAM"
        ]
      },
      "ConvenienceFeeResponseDto": {
        "type": "object",
        "properties": {
          "percentage": {
            "type": "number",
            "description": "Convenience fee percentage\n"
          }
        },
        "description": "DTO for convenience fee in invoice responses."
      },
      "InvoiceClassificationsDto": {
        "type": "object",
        "properties": {
          "accountingClassId": {
            "type": "string",
            "description": "BILL-generated ID of the accounting class. The value begins with `cls`."
          },
          "departmentId": {
            "type": "string",
            "description": "BILL-generated ID of the department. The value begins with `0de`."
          },
          "jobId": {
            "type": "string",
            "description": "BILL-generated ID of the job. The value begins with `job`."
          },
          "locationId": {
            "type": "string",
            "description": "BILL-generated ID of the location. The value begins with `loc`."
          }
        },
        "description": "DTO for Invoice classifications."
      },
      "InvoiceLineItemClassificationsDto": {
        "type": "object",
        "properties": {
          "chartOfAccountId": {
            "type": "string",
            "description": "BILL-generated ID of the chart of accounts. The value begins with `0ca`."
          },
          "accountingClassId": {
            "type": "string",
            "description": "BILL-generated ID of the accounting class. The value begins with `cls`."
          },
          "departmentId": {
            "type": "string",
            "description": "BILL-generated ID of the department. The value begins with `0de`."
          },
          "jobId": {
            "type": "string",
            "description": "BILL-generated ID of the job. The value begins with `job`."
          },
          "locationId": {
            "type": "string",
            "description": "BILL-generated ID of the location. The value begins with `loc`."
          },
          "itemId": {
            "type": "string",
            "description": "BILL-generated ID of the item. The value begins with `0ii`."
          }
        },
        "description": "DTO for Bill Line Item classifications."
      },
      "InvoicePayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "BILL-generated ID of the invoice payment. The value begins with `0ip`.\n\nThis ID is generated when a payment is applied to the listed invoice."
          },
          "amount": {
            "type": "number",
            "description": "Invoice amount paid"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InvoicePaymentStatus"
              },
              {
                "description": "Invoice payment status."
              }
            ]
          },
          "date": {
            "type": "string",
            "description": "Invoice payment date. The value is in the `yyyy-MM-dd` format.",
            "format": "date"
          }
        },
        "description": "Invoice payments information."
      },
      "InvoicePaymentStatus": {
        "type": "string",
        "description": "Invoice payment status enum.",
        "enum": [
          "PAID",
          "VOID",
          "SCHEDULED",
          "CANCELED",
          "INITIATED",
          "UNDEFINED"
        ]
      },
      "InvoiceRecordStatus": {
        "type": "string",
        "description": "Record status enum for invoices.",
        "enum": [
          "ACTIVE",
          "INACTIVE",
          "DRAFT",
          "UNDEFINED"
        ]
      },
      "InvoiceResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "BILL-generated ID of the invoice. The value begins with `00e`."
          },
          "archived": {
            "type": "boolean",
            "description": "Set as `true` if the invoice is archived"
          },
          "recordStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InvoiceRecordStatus"
              },
              {
                "description": "Invoice record status.\n\nWhen `recordStatus` is `ACTIVE`, `archived` is set as `false`. For any other `recordStatus` value, `archived` is set as `true`."
              }
            ]
          },
          "invoiceNumber": {
            "type": "string",
            "description": "User-generated invoice number. This value can be your chosen number scheme.\n\nIf you do not set this field, `invoiceNumber` is auto-generated."
          },
          "invoiceDate": {
            "type": "string",
            "description": "Invoice creation date. This value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `invoiceDate` is set as the date when the invoice is created.",
            "format": "date"
          },
          "dueDate": {
            "type": "string",
            "description": "Invoice due date. The value is in the `yyyy-MM-dd` format.\n\nIf you do not set this field, `dueDate` is set as the date when the invoice is created.",
            "format": "date"
          },
          "paymentTermId": {
            "type": "string"
          },
          "customerId": {
            "type": "string",
            "description": "BILL-generated ID of the customer. The value begins with `0cu`."
          },
          "customerName": {
            "type": "string",
            "description": "Name of the customer the invoice is issued to."
          },
          "totalAmount": {
            "type": "number",
            "description": "Invoice total amount"
          },
          "dueAmount": {
            "type": "number",
            "description": "Invoice due amount. The value is calculated by subtracting any applied credits (`creditAmount`), scheduled payment (`scheduledAmount`), and cleared payment from `totalAmount`."
          },
          "scheduledAmount": {
            "type": "number",
            "description": "Invoice scheduled amount. The value is set as the customer payment amount that is pending clearance."
          },
          "creditAmount": {
            "type": "number",
            "description": "Credit amount applied to the invoice.\n\nWhen a credit amount is applied to an invoice, the invoice `status` is set as `PARTIAL_PAYMENT` or `PAID_IN_FULL` depending on the invoice `totalAmount`."
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InvoiceStatus"
              },
              {
                "description": "Invoice status."
              }
            ]
          },
          "exchangeRate": {
            "type": "number",
            "description": "Invoice exchange rate"
          },
          "createdBy": {
            "type": "string",
            "description": "BILL-generated ID of the user that created the invoice. The value begins with `006`."
          },
          "createdTime": {
            "type": "string",
            "description": "Invoice created time",
            "format": "date-time"
          },
          "updatedTime": {
            "type": "string",
            "description": "Invoice updated time",
            "format": "date-time"
          },
          "invoiceLineItems": {
            "type": "array",
            "description": "Invoice line item information",
            "items": {
              "$ref": "#/components/schemas/InvoiceResponseLineItem"
            }
          },
          "payToChartOfAccountId": {
            "type": "string",
            "description": "BILL-generated ID of the chart of accounts for the invoice payment. The value begins with `0ca`."
          },
          "payments": {
            "type": "array",
            "description": "Invoice payments information",
            "items": {
              "$ref": "#/components/schemas/InvoicePayment"
            }
          },
          "classifications": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InvoiceClassificationsDto"
              },
              {
                "description": "General ledger classifications information for the invoice"
              }
            ]
          },
          "salesTaxItemId": {
            "type": "string",
            "description": "BILL-generated ID of the `SALES_TAX` item. The value begins with `0ii`. The tax rate is applied to all the invoice line items set as taxable."
          },
          "salesTaxTotal": {
            "type": "number",
            "description": "Invoice sales tax amount. The value is set based on `salesTaxItemId`."
          },
          "salesTaxPercentage": {
            "type": "number",
            "description": "Invoice sales tax percentage. The value is set based on `salesTaxItemId`."
          },
          "enableCardPayment": {
            "type": "boolean",
            "description": "Set as `true` if the card payment option is enabled for the invoice"
          },
          "convenienceFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConvenienceFeeResponseDto"
              },
              {
                "description": "Convenience fee information"
              }
            ]
          },
          "invoicePdfId": {
            "type": "string",
            "description": "BILL-generated ID of the invoice PDF. The value begins with `att`.\n\nThe invoice PDF is sent as an email attachment when you send an invoice to a customer. The invoice PDF also appears when the customer clicks the invoice payment link to complete the invoice payment."
          }
        },
        "description": "Invoices response."
      },
      "InvoiceResponseLineItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "BILL-generated ID of the invoice line item. The value begins with `00f`."
          },
          "description": {
            "type": "string",
            "description": "Invoice line item description"
          },
          "price": {
            "type": "number",
            "description": "Invoice line item unit price. For an invoice in an international currency (not USD), this value is in the local currency."
          },
          "quantity": {
            "type": "number",
            "description": "Invoice line item unit quantity"
          },
          "classifications": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InvoiceLineItemClassificationsDto"
              },
              {
                "description": "General ledger classifications information for the invoice line item"
              }
            ]
          },
          "taxable": {
            "type": "boolean",
            "description": "Set as true if the invoice line item is taxable"
          }
        },
        "description": "Invoice Response Line Item."
      },
      "InvoiceStatus": {
        "type": "string",
        "description": "Invoice status enum.",
        "enum": [
          "PAID_IN_FULL",
          "OPEN",
          "PARTIAL_PAYMENT",
          "SCHEDULED",
          "UNDEFINED"
        ]
      },
      "Param": {
        "required": [
          "name",
          "value"
        ],
        "type": "object",
        "properties": {
          "additional": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "value": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "Severity": {
        "type": "string",
        "enum": [
          "ERROR",
          "WARNING",
          "INFORMATION"
        ]
      }
    }
  }
}
```