Corebanq Public Docs
Addresses

Description

Overview

The Addresses API provides functionality for managing addresses for various entities (users, customers, companies). It supports:

  • Multiple address types (registration, actual, operational, correspondence, billing)
  • Primary address designation
  • Country and postal code validation
  • RBAC-based access control

Core Concepts

Address Types

  • Registration Address: Official registered address for legal purposes
  • Actual Address: Physical location where an entity is located
  • Operational Address: Where operations are conducted (multiple allowed)
  • Correspondence Address: Where mail should be sent
  • Billing Address: For invoices and financial documents

Record Types

Different entity types can have different address requirements:

  • Customer: All address types allowed
  • User: Only actual and correspondence addresses
  • Company: All address types allowed

API Endpoints

Create Address

POST /v1/addresses

Create a new address for an entity.

Request Body:

{
  "rec_id": "uuid",
  "rec_type": "customer",
  "type": "registration",
  "street": "Bahnhofstrasse",
  "number": "123",
  "additional": "Floor 4",
  "postal_code": "8001",
  "city": "Zürich",
  "state": "Zürich",
  "country": "CH",
  "is_primary": true
}

Get Address

GET /v1/addresses/{id}

Retrieve address details by ID.

Update Address

PUT /v1/addresses/{id}

Update an existing address.

Request Body:

{
  "street": "New Street",
  "number": "456",
  "postal_code": "8002",
  "city": "Zürich"
}

Delete Address

DELETE /v1/addresses/{id}

Delete an address.

List Addresses

GET /v1/addresses

List addresses with optional filtering.

Query Parameters:

  • rec_id: Filter by record ID
  • rec_type: Filter by record type
  • type: Filter by address type

Set Primary Address

PUT /v1/addresses/{id}/primary

Set an address as primary for its type.

Error Codes

CodeDescription
addresses_m.not_foundAddress not found
addresses_m.failed_to_createFailed to create address
addresses_m.failed_to_getFailed to retrieve address
addresses_m.failed_to_updateFailed to update address
addresses_m.failed_to_deleteFailed to delete address
addresses_m.failed_to_listFailed to list addresses
addresses_m.invalid_typeInvalid address type
addresses_m.invalid_country_codeInvalid country code
addresses_m.invalid_postal_codeInvalid postal code format
addresses_m.duplicate_primaryOnly one primary address allowed per type
addresses_m.failed_to_check_addressFailed to verify address uniqueness

Validation Rules

Postal Code

  • Minimum 3 characters
  • Maximum 10 characters
  • Alphanumeric with optional spaces and hyphens

Street

  • Required
  • Maximum 255 characters

City

  • Required
  • Maximum 100 characters

Country

  • Required
  • ISO 2-letter code
  • Must be valid country code

Security

  • RBAC permission required for all operations

Best Practices

  1. Address Types

    • Use appropriate address type for the purpose
    • Set primary address when relevant
    • Verify addresses when possible
  2. Validation

    • Always validate country codes
    • Use correct postal code format
    • Include building/apartment numbers
  3. Security

    • Follow principle of least privilege
    • Audit address changes
    • Validate user permissions

On this page