curl --request POST \
--url https://api.fincept.in/quantlib/scheduling/schedule/generate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"effective_date": "2024-01-15",
"termination_date": "2026-01-15",
"frequency": "Semi-Annual",
"calendar": "Weekend",
"adjustment": "Modified Following",
"stub": "Short Front"
}
'import requests
url = "https://api.fincept.in/quantlib/scheduling/schedule/generate"
payload = {
"effective_date": "2024-01-15",
"termination_date": "2026-01-15",
"frequency": "Semi-Annual",
"calendar": "Weekend",
"adjustment": "Modified Following",
"stub": "Short Front"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
effective_date: '2024-01-15',
termination_date: '2026-01-15',
frequency: 'Semi-Annual',
calendar: 'Weekend',
adjustment: 'Modified Following',
stub: 'Short Front'
})
};
fetch('https://api.fincept.in/quantlib/scheduling/schedule/generate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fincept.in/quantlib/scheduling/schedule/generate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'effective_date' => '2024-01-15',
'termination_date' => '2026-01-15',
'frequency' => 'Semi-Annual',
'calendar' => 'Weekend',
'adjustment' => 'Modified Following',
'stub' => 'Short Front'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fincept.in/quantlib/scheduling/schedule/generate"
payload := strings.NewReader("{\n \"effective_date\": \"2024-01-15\",\n \"termination_date\": \"2026-01-15\",\n \"frequency\": \"Semi-Annual\",\n \"calendar\": \"Weekend\",\n \"adjustment\": \"Modified Following\",\n \"stub\": \"Short Front\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fincept.in/quantlib/scheduling/schedule/generate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"effective_date\": \"2024-01-15\",\n \"termination_date\": \"2026-01-15\",\n \"frequency\": \"Semi-Annual\",\n \"calendar\": \"Weekend\",\n \"adjustment\": \"Modified Following\",\n \"stub\": \"Short Front\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/scheduling/schedule/generate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"effective_date\": \"2024-01-15\",\n \"termination_date\": \"2026-01-15\",\n \"frequency\": \"Semi-Annual\",\n \"calendar\": \"Weekend\",\n \"adjustment\": \"Modified Following\",\n \"stub\": \"Short Front\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"effective_date": "2024-01-15",
"termination_date": "2026-01-15",
"frequency": "Semi-Annual",
"total_periods": 4,
"periods": [
{
"start_date": "2024-01-15",
"end_date": "2024-07-15",
"payment_date": "2024-07-15"
},
{
"start_date": "2024-07-15",
"end_date": "2025-01-15",
"payment_date": "2025-01-15"
},
{
"start_date": "2025-01-15",
"end_date": "2025-07-15",
"payment_date": "2025-07-15"
},
{
"start_date": "2025-07-15",
"end_date": "2026-01-15",
"payment_date": "2026-01-15"
}
]
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}{
"detail": [
{
"loc": [
"body",
"effective_date"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}Generate Schedule
Generate a complete payment or accrual schedule for financial instruments such as bonds, swaps, and loans. Creates a series of periods with start dates, end dates, and payment dates, automatically adjusting for business days and holidays. Supports various frequencies, stub periods, and rolling conventions. [Tier: FREE, Credits: 0]
curl --request POST \
--url https://api.fincept.in/quantlib/scheduling/schedule/generate \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"effective_date": "2024-01-15",
"termination_date": "2026-01-15",
"frequency": "Semi-Annual",
"calendar": "Weekend",
"adjustment": "Modified Following",
"stub": "Short Front"
}
'import requests
url = "https://api.fincept.in/quantlib/scheduling/schedule/generate"
payload = {
"effective_date": "2024-01-15",
"termination_date": "2026-01-15",
"frequency": "Semi-Annual",
"calendar": "Weekend",
"adjustment": "Modified Following",
"stub": "Short Front"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
effective_date: '2024-01-15',
termination_date: '2026-01-15',
frequency: 'Semi-Annual',
calendar: 'Weekend',
adjustment: 'Modified Following',
stub: 'Short Front'
})
};
fetch('https://api.fincept.in/quantlib/scheduling/schedule/generate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fincept.in/quantlib/scheduling/schedule/generate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'effective_date' => '2024-01-15',
'termination_date' => '2026-01-15',
'frequency' => 'Semi-Annual',
'calendar' => 'Weekend',
'adjustment' => 'Modified Following',
'stub' => 'Short Front'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fincept.in/quantlib/scheduling/schedule/generate"
payload := strings.NewReader("{\n \"effective_date\": \"2024-01-15\",\n \"termination_date\": \"2026-01-15\",\n \"frequency\": \"Semi-Annual\",\n \"calendar\": \"Weekend\",\n \"adjustment\": \"Modified Following\",\n \"stub\": \"Short Front\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fincept.in/quantlib/scheduling/schedule/generate")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"effective_date\": \"2024-01-15\",\n \"termination_date\": \"2026-01-15\",\n \"frequency\": \"Semi-Annual\",\n \"calendar\": \"Weekend\",\n \"adjustment\": \"Modified Following\",\n \"stub\": \"Short Front\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fincept.in/quantlib/scheduling/schedule/generate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"effective_date\": \"2024-01-15\",\n \"termination_date\": \"2026-01-15\",\n \"frequency\": \"Semi-Annual\",\n \"calendar\": \"Weekend\",\n \"adjustment\": \"Modified Following\",\n \"stub\": \"Short Front\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"effective_date": "2024-01-15",
"termination_date": "2026-01-15",
"frequency": "Semi-Annual",
"total_periods": 4,
"periods": [
{
"start_date": "2024-01-15",
"end_date": "2024-07-15",
"payment_date": "2024-07-15"
},
{
"start_date": "2024-07-15",
"end_date": "2025-01-15",
"payment_date": "2025-01-15"
},
{
"start_date": "2025-01-15",
"end_date": "2025-07-15",
"payment_date": "2025-07-15"
},
{
"start_date": "2025-07-15",
"end_date": "2026-01-15",
"payment_date": "2026-01-15"
}
]
}
}{
"detail": "Invalid API key"
}{
"detail": "Endpoint requires Basic tier or higher"
}{
"detail": [
{
"loc": [
"body",
"effective_date"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}Authorizations
API key for authentication. Get your key at https://api.fincept.in/auth/register
Body
Start date of the schedule (issue date) in ISO format (YYYY-MM-DD)
"2024-01-15"
End date of the schedule (maturity date) in ISO format (YYYY-MM-DD)
"2026-01-15"
Payment frequency. Determines how often coupon/interest payments occur
Annual, Semi-Annual, Quarterly, Monthly "Semi-Annual"
Calendar for business day adjustments
US, UK, TARGET, Japan, Weekend "Weekend"
Business day adjustment convention for payment dates
Following, Modified Following, Preceding, Modified Preceding, Unadjusted "Modified Following"
Stub period convention if the schedule doesn't divide evenly
Short Front, Short Back, Long Front, Long Back "Short Front"
