OpenAPI Specification
openapi: 3.0.1
info:
title: Rocketlane Comments Invoices API
description: Rocketlane API
version: '1.0'
servers:
- url: https://api.rocketlane.com/api
description: Production
- url: https://api.nitro.run/api
description: Staging
- url: https://project.api.orbits.run/api
description: Orbits
security:
- api-key:
- 'read : write'
tags:
- name: Invoices
description: Endpoints for invoices resource
paths:
/1.0/invoices/{invoiceId}/payments:
get:
tags:
- Invoices
summary: Get invoice payments by invoice Id
operationId: get-invoice-payments
parameters:
- name: invoiceId
in: path
description: Unique identifier of the invoice
required: true
schema:
minimum: 0
type: integer
format: int64
default: 1
example: 200
- name: pageSize
in: query
description: This parameter sets the maximum number of responses to be displayed per page. If the page size is insufficient to accommodate the whole number of responses obtained, the pagination object will include a link to the next page as well as the next page token. If left blank, it defaults to 100.
schema:
minimum: 0
type: number
format: int32
example: 100
- name: pageToken
in: query
description: Use this parameter to specify the pageToken of a page to which you want to navigate. This pageToken can be obtained from a previous request which specified a limit and will only be active for 15 minutes after it is created.
schema:
type: string
example: 59c12a42-dd10-11ed-afa1-0242ac120002
responses:
'200':
description: The requested action was successfully executed.
content:
application/json:
schema:
$ref: '#/components/schemas/ExampleAPIResponseInvoicePayments'
'400':
description: This error typically happens when the request payload contains an error. If you want to make sure that the request's parameters are named correctly and are the right data types, you can examine the request's syntax.
content:
application/json:
schema:
$ref: '#/components/schemas/badRequestErrorlist'
'401':
description: You see this error when trying to access this resource without being authenticated. Check the API request header to make sure it is not empty and has a valid api-key that you acquired from the Rocketlane API Settings tab.
content:
application/json:
schema:
$ref: '#/components/schemas/unauthorizedErrorlist'
'404':
description: If we were unable to locate the resource you were looking for or the proper API endpoint you were looking for, this error would show up.
content:
application/json:
schema:
$ref: '#/components/schemas/notFoundErrorlist'
/1.0/invoices/{invoiceId}/lines:
get:
tags:
- Invoices
summary: Get invoice line items by invoice Id
operationId: get-invoice-line-items
parameters:
- name: invoiceId
in: path
description: Unique identifier of the invoice
required: true
schema:
minimum: 0
type: integer
format: int64
default: 1
example: 200
- name: pageSize
in: query
description: This parameter sets the maximum number of responses to be displayed per page. If the page size is insufficient to accommodate the whole number of responses obtained, the pagination object will include a link to the next page as well as the next page token. If left blank, it defaults to 100.
schema:
minimum: 0
type: number
format: int32
example: 100
- name: pageToken
in: query
description: Use this parameter to specify the pageToken of a page to which you want to navigate. This pageToken can be obtained from a previous request which specified a limit and will only be active for 15 minutes after it is created.
schema:
type: string
example: 59c12a42-dd10-11ed-afa1-0242ac120002
responses:
'200':
description: The requested action was successfully executed.
content:
application/json:
schema:
$ref: '#/components/schemas/ExampleAPIResponseInvoiceLineItems'
'400':
description: This error typically happens when the request payload contains an error. If you want to make sure that the request's parameters are named correctly and are the right data types, you can examine the request's syntax.
content:
application/json:
schema:
$ref: '#/components/schemas/badRequestErrorlist'
'401':
description: You see this error when trying to access this resource without being authenticated. Check the API request header to make sure it is not empty and has a valid api-key that you acquired from the Rocketlane API Settings tab.
content:
application/json:
schema:
$ref: '#/components/schemas/unauthorizedErrorlist'
'404':
description: If we were unable to locate the resource you were looking for or the proper API endpoint you were looking for, this error would show up.
content:
application/json:
schema:
$ref: '#/components/schemas/notFoundErrorlist'
/1.0/invoices/{invoiceId}:
get:
tags:
- Invoices
summary: Get invoice by Id
operationId: get-invoice
parameters:
- name: invoiceId
in: path
description: Unique identifier of the invoice
required: true
schema:
minimum: 0
type: integer
format: int64
default: 1
example: 200
- name: includeFields
in: query
description: This query parameter allows you to specify which fields should be returned in the response body by selecting from the drop down. To get the relevant fields, use comma separated values. If the field is left blank, the default properties are returned.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- notes
- attachments
- name: includeAllFields
in: query
description: This query parameter allows you to specify if all the fields should be returned in the response body. If the field is left blank, the default properties are returned.
required: false
schema:
type: boolean
example: true
responses:
'200':
description: The requested action was successfully executed.
content:
application/json:
schema:
$ref: '#/components/schemas/InvoicePublicAPIResponseEntity'
'400':
description: This error typically happens when the request payload contains an error. If you want to make sure that the request's parameters are named correctly and are the right data types, you can examine the request's syntax.
content:
application/json:
schema:
$ref: '#/components/schemas/badRequestErrorlist'
'401':
description: You see this error when trying to access this resource without being authenticated. Check the API request header to make sure it is not empty and has a valid api-key that you acquired from the Rocketlane API Settings tab.
content:
application/json:
schema:
$ref: '#/components/schemas/unauthorizedErrorlist'
'404':
description: If we were unable to locate the resource you were looking for or the proper API endpoint you were looking for, this error would show up.
content:
application/json:
schema:
$ref: '#/components/schemas/notFoundErrorlist'
/1.0/invoices:
get:
tags:
- Invoices
summary: Get all invoices
operationId: search-invoices
parameters:
- name: dateOfIssue.eq
in: query
description: Filter by date of issue (equals).
schema:
type: string
format: date
example: '2023-03-28'
- name: dateOfIssue.gt
in: query
description: Filter by date of issue greater than.
schema:
type: string
format: date
example: '2023-03-28'
- name: dateOfIssue.ge
in: query
description: Filter by date of issue greater than or equal.
schema:
type: string
format: date
example: '2023-03-28'
- name: dateOfIssue.lt
in: query
description: Filter by date of issue less than.
schema:
type: string
format: date
example: '2023-03-28'
- name: dateOfIssue.le
in: query
description: Filter by date of issue less than or equal.
schema:
type: string
format: date
example: '2023-03-28'
- name: dueDate.eq
in: query
description: Filter by due date (equals).
schema:
type: string
format: date
example: '2023-03-28'
- name: dueDate.gt
in: query
description: Filter by due date greater than.
schema:
type: string
format: date
example: '2023-03-28'
- name: dueDate.ge
in: query
description: Filter by due date greater than or equal.
schema:
type: string
format: date
example: '2023-03-28'
- name: dueDate.lt
in: query
description: Filter by due date less than.
schema:
type: string
format: date
example: '2023-03-28'
- name: dueDate.le
in: query
description: Filter by due date less than or equal.
schema:
type: string
format: date
example: '2023-03-28'
- name: amount.eq
in: query
description: Filter by amount (equals).
schema:
type: number
format: double
example: 1000
- name: amount.gt
in: query
description: Filter by amount greater than.
schema:
type: number
format: double
example: 1000
- name: amount.ge
in: query
description: Filter by amount greater than or equal.
schema:
type: number
format: double
example: 1000
- name: amount.lt
in: query
description: Filter by amount less than.
schema:
type: number
format: double
example: 1000
- name: amount.le
in: query
description: Filter by amount less than or equal.
schema:
type: number
format: double
example: 1000
- name: amountOutstanding.eq
in: query
description: Filter by amount outstanding (equals).
schema:
type: number
format: double
example: 500
- name: amountOutstanding.gt
in: query
description: Filter by amount outstanding greater than.
schema:
type: number
format: double
example: 500
- name: amountOutstanding.ge
in: query
description: Filter by amount outstanding greater than or equal.
schema:
type: number
format: double
example: 500
- name: amountOutstanding.lt
in: query
description: Filter by amount outstanding less than.
schema:
type: number
format: double
example: 500
- name: amountOutstanding.le
in: query
description: Filter by amount outstanding less than or equal.
schema:
type: number
format: double
example: 500
- name: amountPaid.eq
in: query
description: Filter by amount paid (equals).
schema:
type: number
format: double
example: 500
- name: amountPaid.gt
in: query
description: Filter by amount paid greater than.
schema:
type: number
format: double
example: 500
- name: amountPaid.ge
in: query
description: Filter by amount paid greater than or equal.
schema:
type: number
format: double
example: 500
- name: amountPaid.lt
in: query
description: Filter by amount paid less than.
schema:
type: number
format: double
example: 500
- name: amountPaid.le
in: query
description: Filter by amount paid less than or equal.
schema:
type: number
format: double
example: 500
- name: amountWrittenOff.eq
in: query
description: Filter by amount written off (equals).
schema:
type: number
format: double
example: 500
- name: amountWrittenOff.gt
in: query
description: Filter by amount written off greater than.
schema:
type: number
format: double
example: 500
- name: amountWrittenOff.ge
in: query
description: Filter by amount written off greater than or equal.
schema:
type: number
format: double
example: 500
- name: amountWrittenOff.lt
in: query
description: Filter by amount written off less than.
schema:
type: number
format: double
example: 500
- name: amountWrittenOff.le
in: query
description: Filter by amount written off less than or equal.
schema:
type: number
format: double
example: 500
- name: createdAt.gt
in: query
description: You can use this param to provide an epoch milli value and the responses will contain invoices whose date are greater than the given invoice created date.
schema:
type: integer
format: int64
example: 1625164800000
- name: createdAt.eq
in: query
description: You can use this param to provide an epoch milli value and the responses will contain exact matches of invoices that match the given invoice created date.
schema:
type: integer
format: int64
example: 1625164800000
- name: createdAt.lt
in: query
description: You can use this param to provide an epoch milli value and the responses will contain invoices whose date are less than the given invoice created date.
schema:
type: integer
format: int64
example: 1625164800000
- name: createdAt.ge
in: query
description: You can use this param to provide an epoch milli value and the responses will contain invoices whose date are greater than or equal to the given invoice created date.
schema:
type: integer
format: int64
example: 1625164800000
- name: createdAt.le
in: query
description: You can use this param to provide an epoch milli value and the responses will contain invoices whose date are less than or equal to the given invoice created date.
schema:
type: integer
format: int64
example: 1625164800000
- name: companyId.eq
in: query
description: You can use this param to provide a customer company id and the responses will contain exact matches of invoices that match the given customer company id.
schema:
type: string
example: 1
- name: companyId.oneOf
in: query
description: You can use this param to provide customer company ids separated by commas and the responses will contain matches of invoices that match any of the given customer company id.
schema:
type: string
example: 1,2,3
- name: companyId.noneOf
in: query
description: You can use this param to provide customer company id separated by commas and the responses will not contain matches of invoices that match the given set of customer company id.
schema:
type: string
example: 1,2,3
- name: invoiceNumber.eq
in: query
description: Filter by invoice number (equals).
schema:
type: string
example: INV-2024-001
- name: invoiceNumber.cn
in: query
description: You can use this param to specify some text and the responses will contain invoices that contain the given text in their invoice number
schema:
type: string
example: INV
- name: invoiceNumber.nc
in: query
description: You can use this param to specify some text and the responses will contain invoices that _DO NOT_ contain the given text in their invoice number
schema:
type: string
example: US-21
- name: status.eq
in: query
description: You can use this param to provide status and the responses will contain invoices that are equal to the given status
schema:
type: string
example: DRAFT
- name: status.oneOf
in: query
description: You can use this param to provide statuses and the responses will contain invoices that match one of the given statuses
schema:
type: string
example: DRAFT,PAID
- name: status.noneOf
in: query
description: You can use this param to provide statuses and the responses will contain invoices that matches none of the given statuses
schema:
type: string
example: DRAFT,PAID
- name: pageSize
in: query
description: This parameter sets the maximum number of responses to be displayed per page. If the page size is insufficient to accommodate the whole number of responses obtained, the pagination object will include a link to the next page as well as the next page token. If left blank, it defaults to 100.
schema:
minimum: 0
type: number
format: int32
example: 100
- name: pageToken
in: query
description: Use this parameter to specify the pageToken of a page to which you want to navigate. This pageToken can be obtained from a previous request which specified a limit and will only be active for 15 minutes after it is created.
schema:
type: string
example: 59c12a42-dd10-11ed-afa1-0242ac120002
- name: includeFields
in: query
description: This query parameter allows you to specify which fields should be returned in the response body by selecting from the drop down. To get the relevant fields, use comma separated values. If the field is left blank, the default properties are returned.
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- notes
- attachments
- name: includeAllFields
in: query
description: This query parameter allows you to specify if all the fields should be returned in the response body. If the field is left blank, the default properties are returned.
schema:
type: boolean
example: true
- name: sortBy
in: query
description: You can use the sortBy param to sort the responses by the given field.
schema:
type: string
enum:
- createdAt
- invoiceNumber
- name: sortOrder
in: query
description: The sortOrder param can be used to specify the sorting order, which can be Ascending (ASC) or Descending (DESC). Descending is the default option.
schema:
type: string
enum:
- ASC
- DESC
- name: match
in: query
description: You can use the match param to specify if we need to filter the entries using either AND(all) / OR(any). Defaults to AND.
schema:
type: string
enum:
- all
- any
responses:
'200':
description: The requested action was successfully executed.
content:
application/json:
schema:
$ref: '#/components/schemas/ExampleAPIResponseInvoices'
'400':
description: This error typically happens when the request payload contains an error. If you want to make sure that the request's parameters are named correctly and are the right data types, you can examine the request's syntax.
content:
application/json:
schema:
$ref: '#/components/schemas/badRequestErrorlist'
'401':
description: You see this error when trying to access this resource without being authenticated. Check the API request header to make sure it is not empty and has a valid api-key that you acquired from the Rocketlane API Settings tab.
content:
application/json:
schema:
$ref: '#/components/schemas/unauthorizedErrorlist'
components:
schemas:
badRequestErrorlist:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Example400'
ExampleAPIResponseInvoices:
type: object
properties:
data:
type: array
description: Reflects all the default and custom fields and their values for the object searched, in an array format. If the includeFields param is utilised in the request body, it will return a customised response.
items:
$ref: '#/components/schemas/InvoicePublicAPIResponseEntity'
pagination:
$ref: '#/components/schemas/ExamplePaginationInvoices'
InvoiceLineItemResponseEntity:
type: object
properties:
invoiceLineItemId:
type: integer
description: The unique identifier for the invoice line item.
format: int64
readOnly: true
example: 123
description:
type: string
description: Description of the line item or service provided.
example: Development services for Q1
quantity:
type: number
description: The quantity of the item or service.
example: 10
unitPrice:
type: number
description: The unit price for the item or service.
example: 100
amount:
type: number
description: The total amount for this line item (quantity * unit price).
example: 1000
sourceId:
type: integer
description: The unique identifier of the source entity (e.g., project ID) that this line item is associated with.
format: int64
readOnly: true
example: 456
sourceType:
type: string
description: The type of source entity that this line item is associated with (e.g., PROJECT).
readOnly: true
example: PROJECT
enum:
- PROJECT
taxCode:
$ref: '#/components/schemas/TaxCodePublicAPIResponseEntity'
taxComponents:
type: array
description: List of tax components that make up this tax code.
readOnly: true
items:
$ref: '#/components/schemas/TaxComponentPublicAPIResponseEntity'
description: Reflects all the default and custom fields and their values for the object searched, in an array format. If the includeFields param is utilised in the request body, it will return a customised response.
ExampleAPIResponseInvoiceLineItems:
type: object
properties:
data:
type: array
description: Reflects all the default and custom fields and their values for the object searched, in an array format. If the includeFields param is utilised in the request body, it will return a customised response.
items:
$ref: '#/components/schemas/InvoiceLineItemResponseEntity'
pagination:
$ref: '#/components/schemas/ExamplePaginationInvoiceLineItems'
InvoiceFieldPublicResponseEntity:
type: object
properties:
fieldId:
minimum: 1
type: integer
description: The unique identifier for the field.
format: int64
readOnly: true
example: 201
fieldLabel:
type: string
description: The label of the field.
readOnly: true
example: MRR
fieldValue:
type: object
description: The `fieldValue` is the value provided while creation or updating. The fieldValue can be a string, an integer, or an array and it must match the type of the field. Refer [e xamples](https://developer.rocketlane.com/v1.0/docs/custom-fields#examples-of-requests-and-responses-for-assigning-custom-field-values) to know how each `field_type` is associated with task.
readOnly: true
example: 1000
fieldValueLabel:
type: string
description: The `fieldValueLabel` is the value provided while creation or updating in a String format.
readOnly: true
example: '1000'
description: Fields lists the custom invoice fields whose values were provided during invoice creation or updated later. Refer these [examples](https://developer.rocketlane.com/v1.0/docs/custom-fields#examples-of-requests-and-responses-for-assigning-custom-field-values) to know more about different types of custom fields returned in response.
InvoiceProjectPublicAPIResponseEntity:
type: object
properties:
projectId:
minimum: 1
type: integer
description: The project's unique, system-generated identifier, which can be used to identify the project globally.
format: int64
readOnly: true
example: 201
projectName:
type: string
description: The name of the project.
example: Acme onboarding
description: List of projects mapped to this invoice
ExamplePaginationInvoicePayments:
type: object
properties:
pageSize:
type: integer
description: Denotes the page size mentioned in the current request (limit). It defaults to 100 if left blank.
format: int32
example: 100
hasMore:
type: boolean
description: Tells us if there is more content.
example: true
totalRecordCount:
type: integer
description: Denotes the total resources matching the filters.
format: int64
example: 10398
nextPage:
type: string
description: Denotes an API URL, which can be conveniently called to perform the subsequent search call to get to the next page.
example: https://api.rocketlane.com/api/1.0/invoices/123/payments?pageToken=e4a3dd8e-e338-11ed-b5ea-0242ac120002&limit=100
nextPageToken:
type: string
description: Denotes a unique token that points to the next page of resources. To get results from subsequent pages, you can use the nextPageToken available in the response under pagination. This token is valid for 15 minutes.
example: e4a3dd8e-e338-11ed-b5ea-0242ac120002
description: Responses that return multiple objects will be paginated. The pagination params define how pages are structured and how to traverse through pages.
ProjectVendorUserPublicAPI:
type: object
properties:
emailId:
type: string
description: The team members email identifier.
example: john.doe@rocketlane.com
userId:
type: integer
description: The unique identifier for the user.
format: int64
example: 201
firstName:
type: string
description: The first name of the user.
readOnly: true
example: John
lastName:
type: string
description: The last name of the user.
readOnly: true
example: Doe
description: The team member who last updated the invoice
TaxCodePublicAPIResponseEntity:
type: object
properties:
taxCodeId:
type: integer
description: The unique identifier for the tax code
format: int64
readOnly: true
example: 456
taxCodeName:
type: string
description: The name of the tax code
readOnly: true
example: GST 18%
taxCodeRate:
type: number
description: The tax rate percentage for the tax code
readOnly: true
example: 18
taxCodeAmount:
type: number
description: The tax amount calculated for this tax code
readOnly: true
example: 180
description: Tax code information for this line item.
readOnly: true
InvoicePublicAPIResponseEntity:
type: object
properties:
invoiceId:
minimum: 1
type: integer
description: Unique identifier of the invoice
format: int64
readOnly: true
example: 201
invoiceNumber:
type: string
description: Invoice number assigned to this invoice
example: INV-2024-001
dateOfIssue:
type: string
description: Date when the invoice was issued. The format for the issue date is _YYYY-MM-DD_
example: '2023-03-28'
dueDate:
type: string
description: Due date for the invoice payment. The format for the due date is _YYYY-MM-DD_
example: '2023-03-28'
currency:
type: string
description: Currency of the invoice amount
readOnly: true
example: USD
enum:
- AFN
- ALL
- DZD
- ARS
- AMD
- AUD
- AZN
- BHD
- BDT
- BYN
- BZD
- BOB
- BAM
- BWP
- BRL
- GBP
- BND
- BGN
- BIF
- KHR
- CAD
- CVE
- XAF
- CLP
- CNY
- COP
- KMF
- CDF
- CRC
- HRK
- CZK
- DKK
- DJF
- DOP
- EGP
- ERN
- EEK
- ETB
- EUR
- GEL
- GHS
- GTQ
- GNF
- HNL
- HKD
- HUF
- ISK
- INR
- IDR
- IRR
- IQD
- ILS
- JMD
- JPY
- JOD
- KZT
- KES
- KWD
- LVL
- LBP
- LYD
- LTL
- MOP
- MKD
- MGA
- MYR
- MUR
- MXN
- MDL
- MAD
- MZN
- MMK
- NAD
- NPR
- TWD
- NZD
- NIO
- NGN
- NOK
- OMR
- PKR
- PAB
- PYG
- PEN
- PHP
- PLN
- QAR
- RON
- RUB
- RWF
- SAR
- RSD
- SGD
- SOS
- ZAR
- KRW
- LKR
- SDG
- SEK
- CHF
- SYP
- TZS
- THB
- TOP
- TTD
- TND
- TRY
- USD
- UGX
- UAH
- AED
- UYU
- UZS
- VEF
- VND
- XOF
- YER
- ZMK
- ZWL
status:
type: string
description: Current status of the invoice
example: DRAFT
amount:
type: number
description: Total amount of the invoice including tax
readOnly: t
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rocketlane/refs/heads/main/openapi/rocketlane-invoices-api-openapi.yml