v2

Params

Param name Description
promissory_note
required

Promissory note attributes for preview

Validations:

  • Must be a Hash

promissory_note[initial_amount]
required

Initial investment amount

Validations:

  • Must be a String

promissory_note[start_date]
required

Start date (YYYY-MM-DD)

Validations:

  • Must be a String

promissory_note[end_date]
required

End date (YYYY-MM-DD)

Validations:

  • Must be a String

promissory_note[interest_rate]
required

Annual interest rate

Validations:

  • Must be a String

promissory_note[currency]
required

Currency

Validations:

  • Must be one of: mxn, usd.

promissory_note[type_of]
optional

Type of promissory note (e.g. simple, compound)

Validations:

  • Must be a String

promissory_note[monthly_periodicity]
optional

Payment periodicity in months

Validations:

  • Must be a Integer

promissory_note[tax_percentage]
optional

Withholding tax percentage

Validations:

  • Must be a String

promissory_note[cut_day]
optional

Day of month for interest cuts

Validations:

  • Must be a Integer

promissory_note[includes_external_rate]
optional

Whether rate includes an external reference

Validations:

  • Must be one of: true, false, 1, 0.

promissory_note[interest_rate_floor]
optional

Minimum interest rate floor

Validations:

  • Must be a String

promissory_note[interest_rate_ceiling]
optional

Maximum interest rate ceiling

Validations:

  • Must be a String

promissory_note[society_id]
optional

Society UUID

Validations:

  • Must be a String

promissory_note[investor_id]
optional

Investor UUID (or omit and pass calculator: true for preview without a real investor)

Validations:

  • Must be a String

promissory_note[promoter_id]
optional

Promoter UUID

Validations:

  • Must be a String

promissory_note[calculator]
optional

Set to true to run preview without requiring a real investor/promoter

Validations:

  • Must be one of: true, false, 1, 0.

Examples

# Request body:
{
  'calculator': true,
  'promissory_note': {
    'initial_amount': '500000.00',
    'start_date': '2026-05-07',
    'end_date': '2027-05-07',
    'interest_rate': '10.5',
    'currency': 'mxn',
    'type_of': 'simple',
    'monthly_periodicity': 1,
    'tax_percentage': '1.04',
    'cut_day': 31,
    'society_id': 'society-uuid',
    'configuration': {
      'day_count_algorithm': '30 days',
      'fiscal_year_days': 360,
      'end_date_excluded': true,
      'event_date_included': true,
      'start_date_excluded': true
    }
  }
}

# Response (200 OK):
{
  'data': {
    'initial_amount': '500000.00',
    'currency': { 'name': 'MXN', 'value': 'mxn' },
    'interest_rate': '10.50',
    'start_date': '2026-01-01',
    'end_date': '2027-01-01',
    'monthly_periodicity': 1,
    'tax_percentage': '1.04',
    'type_of': { 'name': 'Simple', 'value': 'simple' },
    'interest_breakdown': [
      {
        'start_date': '2026-01-01',
        'end_date': '2026-01-31',
        'number_of_days': 31,
        'rate': '10.50',
        'gross': '4458.90',
        'tax': '46.37',
        'net': '4412.53'
      }
    ]
  }
}

Errors

Code Description
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error