openapi: 3.1.0
info:
title: End Close Bank Account Balances Bank Accounts API
description: REST API is used to interact with the End Close platform.
license:
name: MIT
version: 1.0.0
servers:
- url: https://api.endclose.com/v1
security:
- ApiKeyAuth: []
tags:
- name: Bank Accounts
paths:
/bank_accounts:
get:
summary: List bank accounts
description: Returns all bank accounts for the current environment, ordered by name.
responses:
'200':
description: List of bank accounts
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BankAccount'
'401':
description: Unauthorized
tags:
- Bank Accounts
post:
summary: Create a bank account
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
description: Human readable name for the bank account
currency:
type: string
description: Three-letter ISO 4217 currency code (e.g. USD, EUR). Must be uppercase. Optional.
pattern: ^[A-Z]{3}$
responses:
'201':
description: Bank account created
content:
application/json:
schema:
$ref: '#/components/schemas/BankAccount'
'401':
description: Unauthorized
'422':
description: Validation error
tags:
- Bank Accounts
/bank_accounts/{id}:
get:
summary: Retrieve a bank account
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The unique identifier of the bank account
responses:
'200':
description: Bank account retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/BankAccount'
'401':
description: Unauthorized
'404':
description: Bank account not found
tags:
- Bank Accounts
patch:
summary: Update a bank account
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The unique identifier of the bank account
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Human readable name for the bank account
currency:
type: string
description: Three-letter ISO 4217 currency code (e.g. USD, EUR). Must be uppercase. Optional.
pattern: ^[A-Z]{3}$
responses:
'200':
description: Bank account updated
content:
application/json:
schema:
$ref: '#/components/schemas/BankAccount'
'401':
description: Unauthorized
'404':
description: Bank account not found
tags:
- Bank Accounts
delete:
summary: Delete a bank account
description: Permanently deletes a bank account. Returns 409 Conflict if the bank account has linked data streams.
parameters:
- in: path
name: id
required: true
schema:
type: string
description: The unique identifier of the bank account
responses:
'204':
description: Bank account deleted successfully
'401':
description: Unauthorized
'404':
description: Bank account not found
'409':
description: Cannot delete bank account because it has linked data streams
tags:
- Bank Accounts
components:
schemas:
BankAccount:
type: object
required:
- name
properties:
id:
type: integer
description: Unique numeric identifier
name:
type: string
description: Human readable name for the bank account
currency:
type: string
description: Three-letter ISO 4217 currency code (e.g. USD, EUR). Must be uppercase. Optional — bank accounts may be created without a currency.
pattern: ^[A-Z]{3}$
nullable: true
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY