Aerones Accounting.billing Statements API

The accounting.billing-statements API from Aerones — 2 operation(s) for accounting.billing-statements.

Business capability
Accounts Receivable Management BC-200.30

Operations 11

GET /api/accounting/v2/billing-statements/history List Statement History #
GET /api/accounting/v2/billing-statements/{statement_id}/pdf Download a statement's rendered PDF #
POST /api/accounting/v2/billing-statements/{statement_id}/approve Approve Statement #
PATCH /api/accounting/v2/billing-statements/{statement_id}/recipients Update Statement Recipients #
POST /api/accounting/v2/billing-statements/{statement_id}/decline Decline Statement #
POST /api/accounting/v2/billing-statements/generate Generate Statement #
GET /api/accounting/v2/billing-statements List Billing Statements #
POST /api/accounting/v2/billing-statements Create Billing Statement #
GET /api/accounting/v2/billing-statements/{id} Get Billing Statement #
PATCH /api/accounting/v2/billing-statements/{id} Update Billing Statement #
DELETE /api/accounting/v2/billing-statements/{id} Delete Billing Statement #

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/aerones:aerones-accounting-billing-statements-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

aerones-accounting-billing-statements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aerones Accounting.billing Statements API
  version: 0.1.1
  description: 'Operations tagged accounting.billing-statements across 2 of this provider''s published API definitions: aerones-openapi.json, aerones-operations-hub-openapi.json. Each path carries the servers of the definition it was published in.'
tags:
- name: accounting.billing-statements
paths:
  /api/accounting/v2/billing-statements/history:
    get:
      operationId: accounting_endpoints_billing_statements_list_statement_history
      summary: List Statement History
      parameters:
      - in: query
        name: project_id
        schema:
          title: Project Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BillingStatementResponse'
                title: Response
                type: array
      description: Every statement for a project in the last 12 months, newest first.
      tags:
      - accounting.billing-statements
      security:
      - APIKeyAuth: []
      - CookieAuth: []
  /api/accounting/v2/billing-statements/{statement_id}/pdf:
    get:
      operationId: accounting_endpoints_billing_statements_download_statement_pdf
      summary: Download a statement's rendered PDF
      parameters:
      - in: path
        name: statement_id
        schema:
          title: Statement Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
      tags:
      - accounting.billing-statements
      security:
      - APIKeyAuth: []
      - CookieAuth: []
  /api/accounting/v2/billing-statements/{statement_id}/approve:
    post:
      operationId: accounting_endpoints_billing_statements_approve_statement
      summary: Approve Statement
      parameters:
      - in: path
        name: statement_id
        schema:
          title: Statement Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingStatementResponse'
      description: Approve a pending statement. The send to its recipients is queued, not awaited here.
      tags:
      - accounting.billing-statements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingStatementApprove'
        required: true
      security:
      - APIKeyAuth: []
      - CookieAuth: []
  /api/accounting/v2/billing-statements/{statement_id}/recipients:
    patch:
      operationId: accounting_endpoints_billing_statements_update_statement_recipients
      summary: Update Statement Recipients
      parameters:
      - in: path
        name: statement_id
        schema:
          title: Statement Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingStatementResponse'
      description: Replace a pending statement's recipients before it's approved.
      tags:
      - accounting.billing-statements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingStatementRecipients'
        required: true
      security:
      - APIKeyAuth: []
      - CookieAuth: []
  /api/accounting/v2/billing-statements/{statement_id}/decline:
    post:
      operationId: accounting_endpoints_billing_statements_decline_statement
      summary: Decline Statement
      parameters:
      - in: path
        name: statement_id
        schema:
          title: Statement Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingStatementResponse'
      description: Decline a pending statement. It is never sent, and the reason is kept.
      tags:
      - accounting.billing-statements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingStatementDecline'
        required: true
      security:
      - APIKeyAuth: []
      - CookieAuth: []
  /api/accounting/v2/billing-statements/generate:
    post:
      operationId: accounting_endpoints_billing_statements_generate_statement
      summary: Generate Statement
      parameters:
      - in: query
        name: project_id
        schema:
          title: Project Id
          type: string
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingStatementResponse'
      description: 'Generate a statement for an arbitrary period, outside the weekly/monthly rhythm.


        Goes through the same pending-approval gate and overlap guard as a

        scheduled run: a charge already claimed by another non-declined

        statement for this project is left out.'
      tags:
      - accounting.billing-statements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingStatementGenerate'
        required: true
      security:
      - APIKeyAuth: []
      - CookieAuth: []
  /api/accounting/v2/billing-statements:
    get:
      operationId: list_billing_statements
      summary: List Billing Statements
      parameters:
      - in: query
        name: search
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search (case-insensitive)
          title: Search
        required: false
        description: Search (case-insensitive)
      - in: query
        name: sort
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Sort by field (prefix with - for descending)
          title: Sort
        required: false
        description: Sort by field (prefix with - for descending)
      - in: query
        name: project_id
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Filter by project ID
          title: Project Id
        required: false
        description: Filter by project ID
      - in: query
        name: customer_id
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Filter by customer ID
          title: Customer Id
        required: false
        description: Filter by customer ID
      - in: query
        name: status
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by status
          title: Status
        required: false
        description: Filter by status
      - in: query
        name: billing_period
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by billing period
          title: Billing Period
        required: false
        description: Filter by billing period
      - in: query
        name: paginate
        schema:
          default: true
          description: Enable pagination (false returns all results)
          title: Paginate
          type: boolean
        required: false
        description: Enable pagination (false returns all results)
      - in: query
        name: page
        schema:
          default: 1
          description: Page number
          minimum: 1
          title: Page
          type: integer
        required: false
        description: Page number
      - in: query
        name: page_size
        schema:
          default: 50
          description: Number of items per page
          maximum: 1000
          minimum: 1
          title: Page Size
          type: integer
        required: false
        description: Number of items per page
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BillingStatementResponse_2'
                title: Response
                type: array
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      description: List all items with optional search, sorting, and pagination.
      tags:
      - accounting.billing-statements
      security:
      - APIKeyAuth: []
      - CookieAuth: []
    post:
      operationId: create_billing_statement
      summary: Create Billing Statement
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingStatementResponse_2'
      description: Create a new item.
      tags:
      - accounting.billing-statements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingStatementCreate'
        required: true
      security:
      - APIKeyAuth: []
      - CookieAuth: []
  /api/accounting/v2/billing-statements/{id}:
    get:
      operationId: get_billing_statement
      summary: Get Billing Statement
      parameters:
      - in: path
        name: id
        schema:
          title: Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingStatementResponse_2'
      description: Get a single item by ID.
      tags:
      - accounting.billing-statements
      security:
      - APIKeyAuth: []
      - CookieAuth: []
    patch:
      operationId: update_billing_statement
      summary: Update Billing Statement
      parameters:
      - in: path
        name: id
        schema:
          title: Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingStatementResponse_2'
      description: Update an item.
      tags:
      - accounting.billing-statements
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingStatementUpdate'
        required: true
      security:
      - APIKeyAuth: []
      - CookieAuth: []
    delete:
      operationId: delete_billing_statement
      summary: Delete Billing Statement
      parameters:
      - in: path
        name: id
        schema:
          title: Id
          type: integer
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Success'
      description: Soft delete an item.
      tags:
      - accounting.billing-statements
      security:
      - APIKeyAuth: []
      - CookieAuth: []
components:
  schemas:
    BillingStatementDecline:
      additionalProperties: false
      description: Schema for declining a pending BillingStatement.
      properties:
        reason:
          description: Why this statement is declined. Required.
          minLength: 1
          title: Reason
          type: string
      required:
      - reason
      title: BillingStatementDecline
      type: object
    BillingStatementResponse:
      additionalProperties: false
      description: Schema for BillingStatement response.
      properties:
        id:
          description: Billing statement ID
          title: Id
          type: integer
        project_id:
          description: Project ID
          title: Project Id
          type: integer
        customer_id:
          description: Customer ID
          title: Customer Id
          type: integer
        date_from:
          description: Period start date
          format: date
          title: Date From
          type: string
        date_to:
          description: Period end date
          format: date
          title: Date To
          type: string
        billing_period:
          description: Billing period
          title: Billing Period
          type: string
        status:
          description: Status
          title: Status
          type: string
        amount:
          anyOf:
          - type: number
          - type: string
          description: Statement total
          title: Amount
        currency:
          description: Statement currency
          title: Currency
          type: string
        recipients:
          default: []
          description: Who this will be sent to
          items:
            type: string
          title: Recipients
          type: array
        include_progress_page:
          description: Whether the PDF includes the progress page
          title: Include Progress Page
          type: boolean
        pdf_url:
          anyOf:
          - type: string
          - type: 'null'
          description: URL to download the PDF
          title: Pdf Url
        email_status:
          anyOf:
          - type: string
          - type: 'null'
          description: Delivery status of the sent email (SENT, OPENED, BOUNCED)
          title: Email Status
        charges:
          default: []
          description: Charges this statement claimed, for the expanded row
          items:
            $ref: '#/components/schemas/BillingStatementChargeResponse'
          title: Charges
          type: array
        approved_by:
          anyOf:
          - $ref: '#/components/schemas/UserObject'
          - type: 'null'
          description: Who approved it
        approved_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: When it was approved
          title: Approved At
        declined_by:
          anyOf:
          - $ref: '#/components/schemas/UserObject'
          - type: 'null'
          description: Who declined it
        declined_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: When it was declined
          title: Declined At
        declined_reason:
          default: ''
          description: Why it was declined
          title: Declined Reason
          type: string
        sent_at:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
          description: When it actually reached the customer
          title: Sent At
        created_at:
          description: Creation timestamp
          format: date-time
          title: Created At
          type: string
        updated_at:
          description: Last update timestamp
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - project_id
      - customer_id
      - date_from
      - date_to
      - billing_period
      - status
      - amount
      - currency
      - include_progress_page
      - created_at
      - updated_at
      title: BillingStatementResponse
      type: object
    BillingStatementGenerate:
      additionalProperties: false
      description: Schema for generating a statement for an arbitrary period.
      properties:
        date_from:
          description: Period start date
          format: date
          title: Date From
          type: string
        date_to:
          description: Period end date
          format: date
          title: Date To
          type: string
      required:
      - date_from
      - date_to
      title: BillingStatementGenerate
      type: object
    UserObject:
      additionalProperties: false
      description: Nested user object for responses (no timestamps).
      properties:
        id:
          title: Id
          type: integer
        username:
          title: Username
          type: string
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        first_name:
          anyOf:
          - type: string
          - type: 'null'
          title: First Name
        last_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Name
      required:
      - id
      - username
      title: UserObject
      type: object
    BillingStatementApprove:
      additionalProperties: false
      description: Schema for approving a pending BillingStatement.
      properties:
        recipients:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Replace the stored recipients before sending. Omit to keep them.
          title: Recipients
      title: BillingStatementApprove
      type: object
    BillingStatementChargeResponse:
      additionalProperties: false
      description: A single charge claimed by a statement, for the expanded row detail.
      properties:
        id:
          title: Id
          type: integer
        charge_date:
          anyOf:
          - format: date
            type: string
          - type: 'null'
          title: Charge Date
        service_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Service Name
        quantity:
          anyOf:
          - type: number
          - type: 'null'
          title: Quantity
        price:
          anyOf:
          - type: number
          - type: 'null'
          title: Price
        total:
          anyOf:
          - type: number
          - type: 'null'
          title: Total
      required:
      - id
      title: BillingStatementChargeResponse
      type: object
    BillingStatementRecipients:
      additionalProperties: false
      description: Schema for replacing a pending BillingStatement's recipients.
      properties:
        recipients:
          description: The new recipient list
          items:
            type: string
          title: Recipients
          type: array
      required:
      - recipients
      title: BillingStatementRecipients
      type: object
    ErrorCode:
      description: Error codes for API errors.
      enum:
      - validation
      - server
      - auth
      - unknown
      - external
      - generic
      title: ErrorCode
      type: string
    BillingStatementResponse_2:
      additionalProperties: false
      description: Schema for BillingStatement response.
      properties:
        id:
          description: Billing statement ID
          title: Id
          type: integer
        project_id:
          description: Project ID
          title: Project Id
          type: integer
        customer_id:
          description: Customer ID
          title: Customer Id
          type: integer
        date_from:
          description: Period start date
          format: date
          title: Date From
          type: string
        date_to:
          description: Period end date
          format: date
          title: Date To
          type: string
        billing_period:
          description: Billing period
          title: Billing Period
          type: string
        status:
          description: Status
          title: Status
          type: string
        created_at:
          description: Creation timestamp
          format: date-time
          title: Created At
          type: string
        updated_at:
          description: Last update timestamp
          format: date-time
          title: Updated At
          type: string
      required:
      - id
      - project_id
      - customer_id
      - date_from
      - date_to
      - billing_period
      - status
      - created_at
      - updated_at
      title: BillingStatementResponse
      type: object
    BillingStatementUpdate:
      additionalProperties: false
      description: Schema for updating a BillingStatement.
      properties:
        project_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Project ID
          title: Project Id
        customer_id:
          anyOf:
          - type: integer
          - type: 'null'
          description: Customer ID
          title: Customer Id
        date_from:
          anyOf:
          - type: string
          - type: 'null'
          description: Period start date (YYYY-MM-DD)
          title: Date From
        date_to:
          anyOf:
          - type: string
          - type: 'null'
          description: Period end date (YYYY-MM-DD)
          title: Date To
        billing_period:
          anyOf:
          - type: string
          - type: 'null'
          description: Billing period (WEEK, MONTH)
          title: Billing Period
        status:
          anyOf:
          - type: string
          - type: 'null'
          description: Status
          title: Status
      title: BillingStatementUpdate
      type: object
    Error:
      additionalProperties: false
      description: Error response schema.
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
        message:
          title: Message
          type: string
      required:
      - code
      - message
      title: Error
      type: object
    Success:
      additionalProperties: false
      description: 'Schema returned for successful operations.


        The `success` field is always ``true`` in this schema. Failed operations are

        represented by the :class:`Error` schema instead, so a ``false`` value does

        not occur in practice. The field is included for consistency across responses

        and to make the contract explicit for clients.'
      properties:
        success:
          default: true
          description: Always true for this schema. Errors are represented by a separate Error schema, so false is never returned.
          title: Success
          type: boolean
      title: Success
      type: object
    BillingStatementCreate:
      additionalProperties: false
      description: Schema for creating a BillingStatement.
      properties:
        project_id:
          description: Project ID
          title: Project Id
          type: integer
        customer_id:
          description: Customer ID
          title: Customer Id
          type: integer
        date_from:
          description: Period start date (YYYY-MM-DD)
          title: Date From
          type: string
        date_to:
          description: Period end date (YYYY-MM-DD)
          title: Date To
          type: string
        billing_period:
          description: Billing period (WEEK, MONTH)
          title: Billing Period
          type: string
        status:
          anyOf:
          - type: string
          - type: 'null'
          description: Status (defaults to DRAFT)
          title: Status
      required:
      - project_id
      - customer_id
      - date_from
      - date_to
      - billing_period
      title: BillingStatementCreate
      type: object
  securitySchemes:
    APIKeyAuth:
      type: http
      scheme: bearer
    CookieAuth:
      type: apiKey
      in: cookie
      name: opshub_prod_sessionid
    AuthBearer:
      type: http
      scheme: bearer
x-refined-from:
- aerones-openapi.json
- aerones-operations-hub-openapi.json