Conga Invoices API

API controller for managing invoice operations.

Business capability
Invoicing & Statement Management BC-4250.30

Operations 3

POST /invoices/approve Approve one or more invoices
POST /invoices/cancel Cancels one or more invoices.
GET /invoices/{id} Retrieve invoice details

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/conga-invoices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

conga-invoices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Invoice Management Invoices API
  version: 1.0.0
  description: API controller for managing invoice operations.
servers:
- url: https://rls.congacloud.com/api/invoicing/v1
security:
- Bearer: []
tags:
- name: Invoices
  description: API controller for managing invoice operations.
paths:
  /invoices/approve:
    post:
      tags:
      - Invoices
      summary: Approve one or more invoices
      description: "This endpoint allows bulk approval of invoices. Each invoice is processed independently,\nenabling partial success scenarios where some invoices may be approved while others fail validation.\n            \n**Conditions:**\n- Only invoices with status 'Draft' or 'Pending Approval' can be approved.\n            \n**Effects of approval:**\n- Invoice status is updated to 'Approved'.\n- All related Invoice Line Items are approved.\n- Related Billing Schedule Records and Billing Schedule Details are marked as 'Invoiced'.\n- Billing Header Rollup - Total Invoice Amount and Total Pending Amount are updated."
      requestBody:
        description: The request containing the list of invoice IDs to approve.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceApprovalRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/InvoiceApprovalRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/InvoiceApprovalRequest'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApprovalResponseBatchResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalResponseBatchResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApprovalResponseBatchResponse'
        '207':
          description: Multi-Status
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApprovalResponseBatchResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalResponseBatchResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ApprovalResponseBatchResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
  /invoices/cancel:
    post:
      tags:
      - Invoices
      summary: Cancels one or more invoices.
      description: "This endpoint allows bulk cancellation of invoices. Each invoice is processed independently,\nenabling partial success scenarios where some invoices may be cancelled while others fail validation.\n            \n**Conditions:**\n- Only invoices with status 'Approved' and payment status 'Unpaid' can be cancelled.\n            \n**Effects of Cancellation:**\n- Invoice status is updated to 'Cancelled'.\n- All related Invoice Line Items are Cancelled.\n- Billing Header Rollup - Total Invoice Amount and Total Pending Amount are updated."
      requestBody:
        description: The request containing the list of invoice IDs to cancel.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceCancellationRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/InvoiceCancellationRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/InvoiceCancellationRequest'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CancellationResponseBatchResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/CancellationResponseBatchResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/CancellationResponseBatchResponse'
        '207':
          description: Multi-Status
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CancellationResponseBatchResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/CancellationResponseBatchResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/CancellationResponseBatchResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
  /invoices/{id}:
    get:
      tags:
      - Invoices
      summary: Retrieve invoice details
      description: 'This method fetches an existing invoice from the data store and translates it

        to a response object that can be sent to clients. The method supports viewing the details

        of a previously created invoice.'
      parameters:
      - name: id
        in: path
        description: The unique identifier of the invoice to retrieve.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/InvoiceResponse'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ErrorApiResponse'
components:
  schemas:
    CurrencyField:
      type: object
      properties:
        Value:
          type: number
          format: double
        DisplayValue:
          type: number
          format: double
          readOnly: true
        CurrencyCode:
          type:
          - string
          - 'null'
          readOnly: true
        CurrencySymbol:
          type:
          - string
          - 'null'
          readOnly: true
      additionalProperties: false
    InvoiceApprovalRequest:
      type: object
      properties:
        Ids:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Gets or sets the list of invoice IDs to approve.
      additionalProperties: false
      description: Represents a request to approve one or more invoices.
    ApprovalResponseBatchResponse:
      type: object
      properties:
        Summary:
          type:
          - string
          - 'null'
        Results:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ApprovalResponse'
      additionalProperties: false
    ErrorApiResponse:
      type: object
      properties:
        Errors:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ApiError'
      additionalProperties: false
    ApiError:
      type: object
      properties:
        Source:
          type:
          - string
          - 'null'
        Title:
          type:
          - string
          - 'null'
        Detail: {}
        Help:
          type:
          - string
          - 'null'
      additionalProperties: false
    RelatedARTransaction:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        Name:
          type:
          - string
          - 'null'
        CreatedBy:
          $ref: '#/components/schemas/LookupObject'
        CreatedDate:
          type: string
          format: date-time
        ModifiedBy:
          $ref: '#/components/schemas/LookupObject'
        ModifiedDate:
          type: string
          format: date-time
        ExternalId:
          type:
          - string
          - 'null'
        ETag:
          type:
          - string
          - 'null'
        TransactionDate:
          type: string
          format: date-time
        SystemGenerated:
          type: boolean
        TransactionType:
          type:
          - string
          - 'null'
        Description:
          type:
          - string
          - 'null'
        Invoice:
          $ref: '#/components/schemas/LookupObject'
        CreditMemo:
          $ref: '#/components/schemas/LookupObject'
        SourceCreditMemo:
          $ref: '#/components/schemas/LookupObject'
        SourceInvoice:
          $ref: '#/components/schemas/LookupObject'
        StartingBalance:
          $ref: '#/components/schemas/CurrencyField'
        ARAmount:
          $ref: '#/components/schemas/CurrencyField'
        EndingBalance:
          $ref: '#/components/schemas/CurrencyField'
        Currency:
          type:
          - string
          - 'null'
        ARTransactionAutoNumber:
          type:
          - string
          - 'null'
      additionalProperties: {}
    InvoiceResponse:
      type: object
      properties:
        Invoice:
          $ref: '#/components/schemas/Invoice'
        InvoiceLineItems:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/InvoiceLineItem'
          description: Gets or sets the list of invoice line items.
        ARTransactions:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/RelatedARTransaction'
          description: Gets or sets the list of related accounts receivable transactions.
      additionalProperties: false
      description: Represents the response for an invoice, containing the invoice details, associated line items, and accounts receivable transactions.
    CancellationResponseBatchResponse:
      type: object
      properties:
        Summary:
          type:
          - string
          - 'null'
        Results:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CancellationResponse'
      additionalProperties: false
    CancellationResponse:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        RecordIndex:
          type: integer
          format: int32
        IsSuccess:
          type: boolean
        Errors:
          type:
          - array
          - 'null'
          items:
            type: string
        ErrorMessage:
          type:
          - string
          - 'null'
          deprecated: true
      additionalProperties: false
      description: 'Represents the result of cancelling a single entity (e.g., invoice or credit memo).

        Inherits from Conga.MAF.Entities.Responses.BaseResponse to support standardized batch response handling.'
    LookupObject:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        Name:
          type:
          - string
          - 'null'
      additionalProperties: false
    ApprovalResponse:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        RecordIndex:
          type: integer
          format: int32
        IsSuccess:
          type: boolean
        Errors:
          type:
          - array
          - 'null'
          items:
            type: string
        ErrorMessage:
          type:
          - string
          - 'null'
          deprecated: true
      additionalProperties: false
      description: 'Represents the result of approving a single entity (e.g., invoice or credit memo) within a batch approval operation.

        Inherits from Conga.MAF.Entities.Responses.BaseResponse to support standardized batch response handling.'
    Invoice:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        Name:
          type:
          - string
          - 'null'
        CreatedBy:
          $ref: '#/components/schemas/LookupObject'
        CreatedDate:
          type: string
          format: date-time
        ModifiedBy:
          $ref: '#/components/schemas/LookupObject'
        ModifiedDate:
          type: string
          format: date-time
        ExternalId:
          type:
          - string
          - 'null'
        ETag:
          type:
          - string
          - 'null'
        InvoiceRequestResult:
          $ref: '#/components/schemas/LookupObject'
        BillTo:
          $ref: '#/components/schemas/LookupObject'
        BillToLocation:
          $ref: '#/components/schemas/LookupObject'
        ShipTo:
          $ref: '#/components/schemas/LookupObject'
        ShipToLocation:
          $ref: '#/components/schemas/LookupObject'
        PaymentTerm:
          $ref: '#/components/schemas/LookupObject'
        ApprovedStatus:
          type:
          - string
          - 'null'
        InvoiceDate:
          type: string
          format: date-time
        DueDate:
          type: string
          format: date-time
        DueIn:
          type:
          - integer
          - 'null'
          format: int32
        DuePastBy:
          type:
          - integer
          - 'null'
          format: int32
        Currency:
          type:
          - string
          - 'null'
        TotalOneTimeFee:
          $ref: '#/components/schemas/CurrencyField'
        TotalRecurringFee:
          $ref: '#/components/schemas/CurrencyField'
        TotalEvergreenFee:
          $ref: '#/components/schemas/CurrencyField'
        TotalUsageFee:
          $ref: '#/components/schemas/CurrencyField'
        TotalFee:
          $ref: '#/components/schemas/CurrencyField'
        TotalAdjustments:
          $ref: '#/components/schemas/CurrencyField'
        SubTotal:
          $ref: '#/components/schemas/CurrencyField'
        Tax:
          $ref: '#/components/schemas/CurrencyField'
        TotalAmount:
          $ref: '#/components/schemas/CurrencyField'
        InvoiceAutoNumber:
          type:
          - string
          - 'null'
        Key:
          type:
          - string
          - 'null'
        SoldTo:
          $ref: '#/components/schemas/LookupObject'
        SoldToLocation:
          $ref: '#/components/schemas/LookupObject'
        ErrorStatus:
          type:
          - string
          - 'null'
        ErrorMessage:
          type:
          - string
          - 'null'
        InvoiceDocumentTemplate:
          $ref: '#/components/schemas/LookupObject'
        InvoiceEmailTemplate:
          $ref: '#/components/schemas/LookupObject'
        PaymentStatus:
          type:
          - string
          - 'null'
        TotalDueAmount:
          $ref: '#/components/schemas/CurrencyField'
        RecordType:
          type:
          - string
          - 'null'
      additionalProperties: {}
    InvoiceCancellationRequest:
      type: object
      properties:
        Ids:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Gets or sets the list of invoice IDs to cancel.
      additionalProperties: false
      description: Represents a request to cancel one or more invoices.
    InvoiceLineItem:
      type: object
      properties:
        Id:
          type:
          - string
          - 'null'
        Name:
          type:
          - string
          - 'null'
        CreatedBy:
          $ref: '#/components/schemas/LookupObject'
        CreatedDate:
          type: string
          format: date-time
        ModifiedBy:
          $ref: '#/components/schemas/LookupObject'
        ModifiedDate:
          type: string
          format: date-time
        ExternalId:
          type:
          - string
          - 'null'
        ETag:
          type:
          - string
          - 'null'
        Invoice:
          $ref: '#/components/schemas/LookupObject'
        BillTo:
          $ref: '#/components/schemas/LookupObject'
        BillToLocation:
          $ref: '#/components/schemas/LookupObject'
        ShipTo:
          $ref: '#/components/schemas/LookupObject'
        ShipToLocation:
          $ref: '#/components/schemas/LookupObject'
        Contracted:
          type: boolean
        Quantity:
          type: number
          format: double
        Product:
          $ref: '#/components/schemas/LookupObject'
        StartDate:
          type: string
          format: date-time
        EndDate:
          type: string
          format: date-time
        Currency:
          type:
          - string
          - 'null'
        Fee:
          $ref: '#/components/schemas/CurrencyField'
        Adjustments:
          $ref: '#/components/schemas/CurrencyField'
        SubTotal:
          $ref: '#/components/schemas/CurrencyField'
        Tax:
          $ref: '#/components/schemas/CurrencyField'
        TotalAmount:
          $ref: '#/components/schemas/CurrencyField'
        ApprovedStatus:
          type:
          - string
          - 'null'
        InvoiceLineItemAutoNumber:
          type:
          - string
          - 'null'
        Category:
          type:
          - string
          - 'null'
        PriceType:
          type:
          - string
          - 'null'
        BillingScheduleRecord:
          $ref: '#/components/schemas/LookupObject'
        SoldTo:
          $ref: '#/components/schemas/LookupObject'
        SoldToLocation:
          $ref: '#/components/schemas/LookupObject'
        AssetLineItem:
          $ref: '#/components/schemas/LookupObject'
        OrderLineItem:
          $ref: '#/components/schemas/LookupObject'
      additionalProperties: {}
  securitySchemes:
    Bearer:
      type: apiKey
      description: Please insert JWT with Bearer into field
      name: Authorization
      in: header