openapi: 3.2.0 info: title: Monite Ledger accounts API contact: name: Monite team url: https://monite.com/about/ email: developers@monite.com termsOfService: https://monite.com/terms version: '1.0' description: 'Operations tagged Ledger accounts across 3 of this provider''s published API definitions: monite-openapi-2023-09-01.json, monite-openapi-2024-05-25.json, monite-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.dev.monite.com/v1 description: Development environment - url: https://api.sandbox.monite.com/v1 description: Sandbox environment - url: https://api.monite.com/v1 description: Production environment (Europe) - url: https://us.api.monite.com/v1 description: Production environment (North America) - url: https://api.monite.oaknorth.co.uk/v1 description: Oak POC environment tags: - name: Ledger accounts paths: /ledger_accounts: get: tags: - Ledger accounts summary: Get ledger accounts description: Get all ledger accounts operationId: get_ledger_accounts parameters: - required: true schema: type: string format: date example: '2023-09-01' name: x-monite-version in: header - description: Sort order (ascending by default). Typically used together with the `sort` parameter. required: false schema: allOf: - $ref: '#/components/schemas/OrderEnum' default: asc name: order in: query - description: "The number of items (0 .. 250) to return in a single page of the response. Default is 100. The response may contain fewer items if it is the last or only page. \n\nWhen using pagination with a non-default `limit`, you must provide the `limit` value alongside `pagination_token` in all subsequent pagination requests. Unlike other query parameters, `limit` is not inferred from `pagination_token`." required: false schema: type: integer maximum: 250.0 minimum: 1.0 default: 250 name: limit in: query - description: 'A pagination token obtained from a previous call to this endpoint. Use it to get the next or previous page of results for your initial query. If `pagination_token` is specified, all other query parameters except `limit` are ignored and inferred from the initial query. If not specified, the first page of results will be returned.' required: false schema: type: string name: pagination_token in: query - description: The field to sort the results by. Typically used together with the `order` parameter. required: false schema: allOf: - $ref: '#/components/schemas/LedgerAccountCursorFields' name: sort in: query - description: Filter by external/internal ledger accounts required: false schema: type: boolean name: is_external in: query - description: The ID of the entity that owns the requested resource. required: true schema: type: string format: uuid examples: - 9d2b4c8f-2087-4738-ba91-7359683c49a4 name: x-monite-entity-id in: header responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LedgerAccountListResponse' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - HTTPBearer: [] post: tags: - Ledger accounts summary: Create a new ledger account operationId: post_ledger_accounts parameters: - required: true schema: type: string format: date example: '2023-09-01' name: x-monite-version in: header - description: The ID of the entity that owns the requested resource. required: true schema: type: string format: uuid examples: - 9d2b4c8f-2087-4738-ba91-7359683c49a4 name: x-monite-entity-id in: header requestBody: content: application/json: schema: $ref: '#/components/schemas/LedgerAccountCreateRequest' required: true responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LedgerAccountResponse' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - HTTPBearer: [] servers: - url: https://api.dev.monite.com/v1 description: Development environment - url: https://api.sandbox.monite.com/v1 description: Sandbox environment - url: https://api.monite.com/v1 description: Production environment (Europe) - url: https://us.api.monite.com/v1 description: Production environment (North America) - url: https://api.monite.oaknorth.co.uk/v1 description: Oak POC environment /ledger_accounts/{ledger_account_id}: get: tags: - Ledger accounts summary: Get a ledger account by ID description: Get ledger account by id operationId: get_ledger_accounts_id parameters: - required: true schema: type: string format: date example: '2023-09-01' name: x-monite-version in: header - required: true schema: type: string format: uuid name: ledger_account_id in: path - description: The ID of the entity that owns the requested resource. required: true schema: type: string format: uuid examples: - 9d2b4c8f-2087-4738-ba91-7359683c49a4 name: x-monite-entity-id in: header responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LedgerAccountResponse' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - HTTPBearer: [] patch: tags: - Ledger accounts summary: Update a ledger account description: Update an existing ledger account operationId: patch_ledger_accounts_id parameters: - required: true schema: type: string format: date example: '2023-09-01' name: x-monite-version in: header - required: true schema: type: string format: uuid name: ledger_account_id in: path - description: The ID of the entity that owns the requested resource. required: true schema: type: string format: uuid examples: - 9d2b4c8f-2087-4738-ba91-7359683c49a4 name: x-monite-entity-id in: header requestBody: content: application/json: schema: $ref: '#/components/schemas/LedgerAccountUpdateRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/LedgerAccountResponse' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '409': description: Business logic error content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - HTTPBearer: [] delete: tags: - Ledger accounts summary: Delete a ledger account operationId: delete_ledger_accounts_id parameters: - required: true schema: type: string format: date example: '2023-09-01' name: x-monite-version in: header - required: true schema: type: string format: uuid name: ledger_account_id in: path - description: The ID of the entity that owns the requested resource. required: true schema: type: string format: uuid examples: - 9d2b4c8f-2087-4738-ba91-7359683c49a4 name: x-monite-entity-id in: header responses: '204': description: Successful Response '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '409': description: Business logic error content: application/json: schema: $ref: '#/components/schemas/ErrorSchemaResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - HTTPBearer: [] servers: - url: https://api.dev.monite.com/v1 description: Development environment - url: https://api.sandbox.monite.com/v1 description: Sandbox environment - url: https://api.monite.com/v1 description: Production environment (Europe) - url: https://us.api.monite.com/v1 description: Production environment (North America) - url: https://api.monite.oaknorth.co.uk/v1 description: Oak POC environment components: schemas: OrderEnum: type: string enum: - asc - desc LedgerAccountResponse: properties: id: type: string format: uuid description: A unique identifier of the ledger account. created_at: type: string format: date-time description: The timestamp when the ledger account was created. updated_at: type: string format: date-time description: The timestamp when the ledger account was last updated. currency: allOf: - $ref: '#/components/schemas/CurrencyEnum' description: The currency of the ledger account, specified as a three-letter [currency code](https://docs.monite.com/references/currencies) (ISO 4217). example: EUR current_balance: type: integer description: The current balance in the account. description: type: string description: User-defined description of the ledger account. is_bank_account: type: boolean description: Indicates whether this ledger account represents a bank account. is_external: type: boolean description: Whether the ledger account is from an external system default: false name: type: string description: 'A user-defined name of the ledger account. Examples: Accounts Receivable, Office Equipment, Advertising, Salaries.' example: Accounts Receivable nominal_code: type: string description: The account code in the accounting system. example: '610' status: type: string description: 'The status of the ledger account. Possible values: Active, Archived, Pending, Unknown.' example: Active subtype: type: string description: 'The subtype or category of the ledger account. Possible values vary based on the accounting system used. Examples: Current, Fixed, Expense, Inventory, Equity.' example: Current type: type: string description: 'The type of the ledger account. It determines whether the account is a credit account or a debit account and where it appears in financial reports within the accounting system. Possible values: Asset, Equity, Expense, Income, Liability, Unknown.' example: Asset type: object required: - id - created_at - updated_at - is_bank_account - status - type description: Represents a general ledger account retrieved from an accounting system. LedgerAccountUpdateRequest: properties: description: type: string maxLength: 2048 description: Description of the ledger account name: type: string maxLength: 500 description: Name of the ledger account nominal_code: type: string maxLength: 500 description: Account code in the accounting system type: object description: Schema for updating an existing ledger account. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array type: object ErrorSchema: properties: message: type: string type: object required: - message ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array msg: type: string type: type: string type: object required: - loc - msg - type LedgerAccountCursorFields: type: string enum: - name ErrorSchemaResponse: properties: error: $ref: '#/components/schemas/ErrorSchema' type: object required: - error LedgerAccountCreateRequest: properties: description: type: string maxLength: 2048 description: Description of the ledger account name: type: string maxLength: 500 description: Name of the ledger account nominal_code: type: string maxLength: 500 description: Account code in the accounting system type: object description: Schema for creating a new ledger account. LedgerAccountListResponse: properties: data: items: $ref: '#/components/schemas/LedgerAccountResponse' type: array next_pagination_token: type: string prev_pagination_token: type: string type: object required: - data description: A paginated list of ledger accounts. CurrencyEnum: type: string enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ETB - EUR - FJD - FKP - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HTG - HUF - IDR - ILS - INR - IQD - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SEK - SGD - SHP - SLE - SOS - SRD - SSP - SVC - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VND - VUV - WST - XAF - XCD - XOF - XPF - YER - ZAR - ZMW securitySchemes: HTTPBearer: type: http scheme: bearer x-refined-from: - monite-openapi-2023-09-01.json - monite-openapi-2024-05-25.json - monite-openapi.yml