Alder Drafts API

The Drafts API from Alder — 1 operation(s) for drafts.

Operations 1

POST /api/v1/drafts Price an invoice and get a prefilled builder link (no account needed) #

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/alderinvoices-com:alderinvoices-com-drafts-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 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

alderinvoices-com-drafts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: Alder
    url: https://meetalder.com
  description: 'No account or key. `POST /api/v1/drafts` returns the totals and `builderUrl`, which opens the invoice filled in, ready to download as a PDF. All money is integer minor units (cents): 12.50 USD is 1250.


    MCP: the same as the `draft_invoice` tool over Streamable HTTP at `https://alderinvoices.com/mcp`.'
  summary: 'Free AI invoice generator: price an invoice and get a prefilled link to download it as a PDF.'
  title: AI Invoice Generator API (by Alder) Drafts API
  version: 1.0.0
servers:
- url: https://alderinvoices.com
tags:
- name: Drafts
paths:
  /api/v1/drafts:
    post:
      description: Nothing is stored. `builderUrl` opens the free builder with the invoice filled in, ready to review and download as a PDF.
      operationId: draftInvoice
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  builderUrl:
                    format: uri
                    type: string
                  note:
                    type: string
                  totals:
                    $ref: '#/components/schemas/Totals'
                type: object
          description: Draft
        '400':
          $ref: '#/components/responses/Error'
      security: []
      summary: Price an invoice and get a prefilled builder link (no account needed)
      tags:
      - Drafts
components:
  responses:
    Error:
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Error
  schemas:
    Totals:
      properties:
        balance:
          type: integer
        daysLate:
          type: integer
        disputed:
          description: Under an open dispute. Still counted as paid until the dispute is lost.
          type: integer
        paid:
          description: Net of refunds and lost disputes
          type: integer
        refunded:
          description: Refunds; always 0 on a draft
          type: integer
        status:
          enum:
          - open
          - partial
          - overdue
          - paid
          - void
          type: string
        subtotal:
          type: integer
        tax:
          type: integer
        total:
          type: integer
      type: object
    LineItem:
      properties:
        description:
          maxLength: 500
          type: string
        quantity:
          description: May be fractional, e.g. 1.5 hours
          minimum: 0
          type: number
        unitPrice:
          description: Minor units (cents)
          minimum: 0
          type: integer
      required:
      - description
      - quantity
      - unitPrice
      type: object
    Party:
      properties:
        address:
          description: Multi-line postal address
          maxLength: 500
          type: string
        email:
          format: email
          type: string
        name:
          maxLength: 200
          type: string
      type: object
    InvoiceInput:
      properties:
        allowPartial:
          description: Let the payer pay part of the balance now
          type: boolean
        billTo:
          $ref: '#/components/schemas/Party'
          description: The customer. name is required; email is prefilled at checkout.
        currency:
          default: usd
          enum:
          - usd
          - cad
          - eur
          - gbp
          - aud
          - nzd
          type: string
        discount:
          description: Minor units, taken off the subtotal
          minimum: 0
          type: integer
        dueDate:
          description: YYYY-MM-DD. The invoice reads overdue the day after.
          format: date
          type: string
        from:
          $ref: '#/components/schemas/Party'
          description: The business sending the invoice.
        issueDate:
          description: YYYY-MM-DD
          format: date
          type: string
        items:
          items:
            $ref: '#/components/schemas/LineItem'
          maxItems: 100
          minItems: 1
          type: array
        minPayment:
          description: Smallest partial payment in minor units (e.g. a deposit). The full balance is always payable.
          minimum: 0
          type: integer
        notes:
          maxLength: 2000
          type: string
        number:
          description: Your invoice number, e.g. INV-1042
          maxLength: 40
          type: string
        shipTo:
          $ref: '#/components/schemas/Party'
          description: Optional shipping address
        shipping:
          description: Minor units, added after tax
          minimum: 0
          type: integer
        taxRate:
          description: Percent. Applied after discount, not to shipping.
          maximum: 100
          minimum: 0
          type: number
        terms:
          maxLength: 2000
          type: string
      required:
      - billTo
      - items
      type: object