GorillaDesk Invoices API

The Invoices API from GorillaDesk — 2 operation(s) for invoices.

GitHub OpenAPI

Operations 2

GET /invoices List invoices #
GET /invoices/{invoiceId} Retrieve an invoice #

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/gorilladesk:gorilladesk-invoices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

gorilladesk-invoices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GorillaDesk Invoices API
  version: 1.0.0
  description: '# Introduction

    The GorillaDesk API is organized around REST.


    Our API has predictable resource-oriented URLs, accepts JSON-encoded and form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs..


    # Authentication


    The GorillaDesk API uses Token authentication. API keys are per-company and can be generated and deleted in the Addons page.


    # Rate Limits


    We enforce API call rate limits to protect our infrastructure from excessive request rates, to keep GorillaDesk fast and stable for everyone. These limits are high enough that typical API workflows aren''t affected. However, please do code your integration to follow the rule below:


    **If you receive a response status code of 429 (Too Many Requests), please sleep/pause for the number of seconds specified by the rate_reset value before making additional requests to that endpoint.**


    Rate limits are enforced per endpoint group. Endpoint groups are used to provide more granular control by grouping endpoint URL paths and methods (e.g. GET, PUT, etc.) together. For instance, GETs to /v1/users/ and POSTs/PUTs to /v1/customers/ may be counted as two different API groups. This allows us to offer a higher limit on lightweight requests than we would be able to on more resource intensive request types.


    API responses will have the following headers to provide rate limiting statistics about the limit it''s closest to hitting.


    - `x-rate-limit-limit`: Request limit enforced for this endpoint, some endpoints may allow bursting over this limit

    - `x-rate-limit-remaining`: Requests left in the enforcement window

    - `x-rate-limit-reset`: Seconds remaining before this enforcement window ends (as a decimal).


    # Model Context Protocol (MCP)


    You can connect AI agents and tools to GorillaDesk via the Model Context Protocol. See the GorillaDesk MCP documentation.'
  x-logo:
    url: https://cdn.gorilladesk.com/assets/images/gorilladesk.png
    altText: GorillaDesk logo
servers:
- url: https://api.gorilladesk.com/v1
security:
- Bearer: []
tags:
- name: Invoices
paths:
  /invoices:
    get:
      summary: List invoices
      tags:
      - Invoices
      parameters:
      - in: query
        name: customer_id
        description: Filter to invoices for one customer.
        schema:
          type: string
      - in: query
        name: job_id
        description: Filter to invoices generated for one job.
        schema:
          type: string
      - in: query
        name: state
        description: Filter by lifecycle state. Default returns only active.
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - deleted
            - archived
        example: active,archived
      - in: query
        name: status
        schema:
          type: array
          items:
            type: string
            enum:
            - draft
            - sent
            - paid
            - partial
            - partial_paid
            - write_off
            - failed
            - void
        example: draft,sent
      - in: query
        name: sign_status
        description: Filter by signature workflow status.
        schema:
          type: array
          items:
            type: string
            enum:
            - draft
            - emailed
            - pending_sig
            - signed
        example: pending_sig,signed
      - in: query
        name: date[gt]
        description: Return results where the date field is strictly greater than this value.
        schema:
          type: string
          format: date-time
        example: '2026-07-01T00:00:00+00:00'
      - in: query
        name: date[gte]
        description: Return results where the date field is greater than or equal to this value.
        schema:
          type: string
          format: date-time
      - in: query
        name: date[lt]
        description: Return results where the date field is strictly less than this value.
        schema:
          type: string
          format: date-time
        example: '2026-07-31T23:59:59+00:00'
      - in: query
        name: date[lte]
        description: Return results where the date field is less than or equal to this value.
        schema:
          type: string
          format: date-time
      - in: query
        name: keyword
        description: Free-text search across the invoice number.
        schema:
          type: string
      - in: query
        name: include
        description: 'Expand related objects.

          '
        schema:
          type: array
          items:
            type: string
            enum:
            - customer
            - location
            - items
        example: customer,location,items
      - in: query
        name: sort
        description: Prefix -[field] for descending order.
        schema:
          type: array
          items:
            type: string
            enum:
            - date
            - created
        example: -date
      - in: query
        name: limit
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      - in: query
        name: offset
        schema:
          type: integer
          default: 0
          minimum: 0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
                  has_more:
                    type: boolean
        '401':
          $ref: '#/paths/~1jobs/get/responses/401'
        '403':
          $ref: '#/paths/~1jobs/get/responses/403'
      operationId: getInvoices
      x-operation-id-source: derived
  /invoices/{invoiceId}:
    get:
      summary: Retrieve an invoice
      tags:
      - Invoices
      parameters:
      - in: path
        name: invoiceId
        description: Invoice id.
        required: true
        schema:
          type: string
      - in: query
        name: include
        description: 'Expand related objects.

          '
        schema:
          type: array
          items:
            type: string
            enum:
            - customer
            - location
            - items
        example: customer,location,items
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Invoice'
        '401':
          $ref: '#/paths/~1jobs/get/responses/401'
        '403':
          $ref: '#/paths/~1jobs/get/responses/403'
        '404':
          $ref: '#/paths/~1jobs~1%7BjobId%7D/get/responses/404'
      operationId: getInvoicesByInvoiceId
      x-operation-id-source: derived
components:
  schemas:
    Tax:
      type: object
      description: A tax applied to a line item.
      properties:
        id:
          type: string
          example: '5'
        name:
          type: string
          example: Sales Tax
        rate:
          type: number
          format: float
          example: 10
    Invoice:
      type: object
      description: 'An invoice. Returned from both list (`/v1/invoices`) and detail

        (`/v1/invoices/{id}`) endpoints. Nested objects may be `null` or

        empty arrays when not applicable.

        '
      allOf:
      - $ref: '#/components/schemas/BaseInvoice'
      - type: object
        properties:
          customer:
            $ref: '#/components/schemas/Customer/allOf/0'
          location:
            $ref: '#/components/schemas/Location'
          items:
            type: array
            items:
              $ref: '#/components/schemas/InvoiceItem'
    CustomerPhone:
      type: object
      required:
      - phone
      - type
      properties:
        id:
          type: string
          description: Phone Id
          example: 0nk8PGvAO
        phone:
          type: string
          example: 212-456-7890
          description: Phone number
        type:
          type: string
          description: Phone type Id
          example: 0nk8PGvAO
    BaseInvoice:
      type: object
      description: Scalar invoice fields that are always returned.
      properties:
        id:
          type: string
          description: Invoice ID.
          example: Wj2k8L
        number:
          type: string
          description: Human-readable invoice number.
          example: '5308'
        status:
          type: string
          enum:
          - draft
          - sent
          - paid
          - partial
          - paid_partially
          - write_off
          - failed
          - void
          description: Payment workflow status.
          example: draft
        sign_status:
          type: string
          enum:
          - draft
          - emailed
          - pending_sig
          - signed
          description: Customer-signature workflow status.
          example: draft
        date:
          type: string
          format: date-time
          description: Invoice date in ISO 8601.
          example: '2026-07-22T00:00:00+00:00'
        total:
          type: number
          format: float
          description: Grand total (including tax).
          example: 38.5
        subtotal:
          type: number
          format: float
          description: Line-item subtotal before invoice-level adjustments.
          example: 35
        amount_without_tax:
          type:
          - number
          - 'null'
          format: float
          description: Total before tax.
          example: 35
        tax_amount:
          type:
          - number
          - 'null'
          format: float
          description: Total tax charged. Derived as `total - amount_without_tax`.
          example: 3.5
        amount_paid:
          type: number
          format: float
          description: Sum of payments applied to the invoice.
          example: 0
        amount_due:
          type: number
          format: float
          description: Outstanding balance.
          example: 38.5
        recurrence_summary:
          type:
          - string
          - 'null'
          description: Human-readable recurrence summary.
          example: Monthly on the 6th, until 07/09/2026. Except January, April, September
        created:
          type:
          - string
          - 'null'
          format: date-time
          description: Created date of the invoice in ISO 8601.
          example: '2026-07-22T00:00:00+00:00'
        updated:
          type:
          - string
          - 'null'
          format: date-time
          description: Last-updated timestamp of the invoice in ISO 8601.
          example: '2026-07-22T00:00:00+00:00'
        state:
          type: string
          enum:
          - active
          - deleted
          - archived
          description: Lifecycle state of the invoice.
          example: active
    Customer:
      allOf:
      - type: object
        properties:
          id:
            type: string
            description: The customer ID.
            example: 0nk8PGvAO
          account_number:
            type: string
            description: Numeric account identifier for the customer.
            example: '5047'
          last_name:
            type: string
            example: Doe
          first_name:
            type: string
            example: John
          profile_url:
            type: string
            example: https://v3.gorilladesk.com/customers/5393
          email:
            type: string
            example: example@gmail.com
          phones:
            type: array
            items:
              type: object
              $ref: '#/components/schemas/CustomerPhone'
          company:
            type: string
            example: NL software
          source:
            type:
            - object
            - 'null'
            description: Where the customer originated. Null if no source is assigned.
            properties:
              id:
                type: string
                description: Source ID.
                example: aWGl2VlY78
              name:
                type: string
                example: Facebook
          tags:
            type: array
            description: Customer-level tag labels attached to this customer.
            items:
              type: string
            example:
            - super
            - vip
          state:
            type: string
            enum:
            - active
            - deleted
            example: active
          status:
            type: string
            enum:
            - active
            - inactive
            - lead
            example: active
          created:
            type: string
            format: date-time
            example: '2023-05-21T17:32:28+00:00'
            description: Created date in ISO 8601.
          updated:
            type: string
            format: date-time
            description: Updated date in ISO 8601.
            example: '2023-05-21T17:32:28+00:00'
      - type: object
        properties:
          locations:
            type: array
            items:
              type: object
              $ref: '#/components/schemas/Location'
          contacts:
            type: array
            items:
              type: object
              $ref: '#/components/schemas/Contact'
    Location:
      type: object
      description: A physical location associated with a customer.
      required:
      - address_line_1
      - city
      - state
      - zip
      properties:
        id:
          description: Location ID.
          type: string
          example: 5aXrGzNyLY
          readOnly: true
        name:
          description: Location name (e.g. Home, Office).
          type: string
          example: Home
        address_to:
          description: Attention line for this address.
          type: string
          example: John Doe
        address_line_1:
          description: Primary street address.
          type: string
          example: 523 East 72nd Street
        address_line_2:
          description: Secondary street address (apartment, suite, etc.).
          type: string
          example: ''
        city:
          description: City.
          type: string
          example: New York
        state:
          description: State or province.
          type: string
          example: NY
        zip:
          description: Postal / ZIP code.
          type: string
          example: '10021'
        county:
          description: County.
          type: string
          example: ''
        billing_to:
          description: Attention line for billing address.
          type: string
          example: John Doe
        billing_address_line_1:
          description: Billing street address.
          type: string
          example: 523 East 72nd Street
        billing_address_line_2:
          description: Billing secondary address.
          type: string
          example: ''
        billing_city:
          description: Billing city.
          type: string
          example: New York
        billing_state:
          description: Billing state.
          type: string
          example: NY
        billing_zip:
          description: Billing postal code.
          type: string
          example: '10021'
        latitude:
          description: Latitude coordinate.
          type: string
          example: ''
        longitude:
          description: Longitude coordinate.
          type: string
          example: ''
        note:
          description: Location notes.
          type: string
          example: Lorem ipsum dolor sit amet, consectetuer adipiscing eliti
    InvoiceItem:
      type: object
      description: A single line item on an invoice.
      properties:
        id:
          type: string
          example: Lm4kP9q
        name:
          type: string
          example: Monthly Service
        quantity:
          type: number
          example: 1
        cost:
          type: number
          format: float
          example: 35
        total:
          type: number
          format: float
          example: 35
        taxes:
          type:
          - array
          - 'null'
          description: Taxes applied to this line item.
          items:
            $ref: '#/components/schemas/Tax'
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
x-sidebar-links:
- label: Model Context Protocol (MCP)
  url: https://api.gorilladesk.com/mcp/v1/docs
  target: _blank