openapi: 3.0.1 info: title: Invoiced Credit Notes Invoices API description: REST API for the Invoiced accounts-receivable and billing automation platform. Manage customers, invoices, estimates, credit notes, payments, subscriptions, plans, items, and events/webhooks. All requests must use HTTPS. Responses are JSON and dates are returned as UNIX timestamps. termsOfService: https://www.invoiced.com/legal/terms-of-service contact: name: Invoiced Developers email: developers@invoiced.com url: https://developer.invoiced.com/api version: '1.0' servers: - url: https://api.invoiced.com description: Production - url: https://api.sandbox.invoiced.com description: Sandbox security: - basicAuth: [] tags: - name: Invoices paths: /invoices: get: operationId: listInvoices tags: - Invoices summary: List all invoices. parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Filter' responses: '200': description: A paginated list of invoices. content: application/json: schema: type: array items: $ref: '#/components/schemas/Invoice' post: operationId: createInvoice tags: - Invoices summary: Create a new invoice. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Invoice' responses: '201': description: The created invoice. content: application/json: schema: $ref: '#/components/schemas/Invoice' /invoices/{id}: parameters: - $ref: '#/components/parameters/Id' get: operationId: getInvoice tags: - Invoices summary: Retrieve an invoice. responses: '200': description: The requested invoice. content: application/json: schema: $ref: '#/components/schemas/Invoice' patch: operationId: updateInvoice tags: - Invoices summary: Update an invoice. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Invoice' responses: '200': description: The updated invoice. content: application/json: schema: $ref: '#/components/schemas/Invoice' delete: operationId: deleteInvoice tags: - Invoices summary: Delete an invoice. responses: '204': description: The invoice was deleted. /invoices/{id}/emails: parameters: - $ref: '#/components/parameters/Id' post: operationId: sendInvoiceEmail tags: - Invoices summary: Send an invoice to the customer by email. responses: '201': description: The emails that were sent. /invoices/{id}/pay: parameters: - $ref: '#/components/parameters/Id' post: operationId: payInvoice tags: - Invoices summary: Trigger automatic payment collection on an invoice. responses: '200': description: The invoice after a payment attempt. content: application/json: schema: $ref: '#/components/schemas/Invoice' /invoices/{id}/void: parameters: - $ref: '#/components/parameters/Id' post: operationId: voidInvoice tags: - Invoices summary: Void an invoice. responses: '200': description: The voided invoice. content: application/json: schema: $ref: '#/components/schemas/Invoice' components: schemas: LineItem: type: object properties: catalog_item: type: string type: type: string name: type: string description: type: string quantity: type: number unit_cost: type: number amount: type: number discountable: type: boolean taxable: type: boolean metadata: type: object Invoice: type: object properties: id: type: integer object: type: string customer: type: integer number: type: string name: type: string currency: type: string status: type: string enum: - draft - not_sent - sent - viewed - past_due - pending - paid - voided draft: type: boolean closed: type: boolean paid: type: boolean autopay: type: boolean attempt_count: type: integer next_payment_attempt: type: integer subtotal: type: number discounts: type: array items: type: object taxes: type: array items: type: object total: type: number balance: type: number date: type: integer due_date: type: integer payment_terms: type: string items: type: array items: $ref: '#/components/schemas/LineItem' notes: type: string url: type: string payment_url: type: string pdf_url: type: string metadata: type: object created_at: type: integer updated_at: type: integer parameters: Page: name: page in: query description: The page number for paginated list responses. schema: type: integer default: 1 PerPage: name: per_page in: query description: The number of records to return per page (max 100). schema: type: integer default: 25 Id: name: id in: path required: true description: The integer identifier of the object. schema: type: integer Filter: name: filter in: query description: Filter results by object attributes. schema: type: object securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic authentication. Use your Invoiced API key as the username and leave the password blank. API keys are created under Settings -> Developers -> API Keys.