Programs
List programs
Returns published programs, newest update first. Each filter takes comma-separated values. The API ignores unknown values.
The Authorization header is optional. Send it to include the private programs that invite your verified email. An invalid or empty header gives 401.
counts[filter][option] tells you how many programs that option shows, given the other filters.
GET
/
api
/
programs
List programs
curl --request GET \
--url https://kalligator.com/api/programs \
--header 'Authorization: Bearer <token>'import requests
url = "https://kalligator.com/api/programs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://kalligator.com/api/programs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"programs": [
{
"id": "<string>",
"name": "<string>",
"customer_name": "<string>",
"intake": "open",
"demo": true,
"summary": "<string>",
"asset_types": [
"<string>"
],
"reward_range": {
"min": 123,
"max": 123,
"currency": "USD"
},
"rewards": {},
"policy_version": 123,
"updated_at": "<string>",
"private": true,
"pool_paused": true
}
],
"total": 123,
"page": 123,
"pages": 123,
"counts": {}
}{
"detail": "<string>",
"code": "<string>",
"current": {
"id": "<string>",
"program_id": "<string>",
"program_name": "<string>",
"status": "draft",
"display_status": "<string>",
"title": "<string>",
"revision": 123,
"created_at": "<string>",
"updated_at": "<string>",
"submitted_at": "<string>",
"withdrawn_at": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": "<string>",
"attachments": {},
"submission": {
"submitted_at": "<string>",
"attachments": {},
"content": {
"title": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": ""
},
"program": {
"policy_version": 123,
"name": "<string>",
"scope": "<string>",
"exclusions": "<string>",
"rules": "<string>",
"eligibility": "<string>",
"disclosure": "<string>",
"rewards": {}
},
"stripe": {
"status": "<string>",
"checked_at": "<string>"
}
},
"decision": {
"outcome": "accepted",
"at": "<string>",
"message": "<string>"
},
"payout": {
"status": "approving",
"amount_cents": 123,
"approved_at": "<string>",
"transferred_at": "<string>",
"received_at": "<string>",
"payout_failed_at": "<string>"
}
}
}{
"detail": "<string>",
"code": "<string>",
"current": {
"id": "<string>",
"program_id": "<string>",
"program_name": "<string>",
"status": "draft",
"display_status": "<string>",
"title": "<string>",
"revision": 123,
"created_at": "<string>",
"updated_at": "<string>",
"submitted_at": "<string>",
"withdrawn_at": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": "<string>",
"attachments": {},
"submission": {
"submitted_at": "<string>",
"attachments": {},
"content": {
"title": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": ""
},
"program": {
"policy_version": 123,
"name": "<string>",
"scope": "<string>",
"exclusions": "<string>",
"rules": "<string>",
"eligibility": "<string>",
"disclosure": "<string>",
"rewards": {}
},
"stripe": {
"status": "<string>",
"checked_at": "<string>"
}
},
"decision": {
"outcome": "accepted",
"at": "<string>",
"message": "<string>"
},
"payout": {
"status": "approving",
"amount_cents": 123,
"approved_at": "<string>",
"transferred_at": "<string>",
"received_at": "<string>",
"payout_failed_at": "<string>"
}
}
}Authorizations
A Firebase ID token, or a Kalligator API key (kal_…).
Query Parameters
Asset types. Any of web, api, mobile, source_code, cloud, hardware, other.
Top reward band. Any of under_1k, 1k_5k, 5k_10k, over_10k.
Last update. One of any, 7d, 30d.
Intake state. Any of open, paused, closed.
Programs on each page, from 1 to 50.
Required range:
1 <= x <= 50Page number, from 1. A page after the end gives the last page.
Required range:
x >= 1⌘I
List programs
curl --request GET \
--url https://kalligator.com/api/programs \
--header 'Authorization: Bearer <token>'import requests
url = "https://kalligator.com/api/programs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://kalligator.com/api/programs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"programs": [
{
"id": "<string>",
"name": "<string>",
"customer_name": "<string>",
"intake": "open",
"demo": true,
"summary": "<string>",
"asset_types": [
"<string>"
],
"reward_range": {
"min": 123,
"max": 123,
"currency": "USD"
},
"rewards": {},
"policy_version": 123,
"updated_at": "<string>",
"private": true,
"pool_paused": true
}
],
"total": 123,
"page": 123,
"pages": 123,
"counts": {}
}{
"detail": "<string>",
"code": "<string>",
"current": {
"id": "<string>",
"program_id": "<string>",
"program_name": "<string>",
"status": "draft",
"display_status": "<string>",
"title": "<string>",
"revision": 123,
"created_at": "<string>",
"updated_at": "<string>",
"submitted_at": "<string>",
"withdrawn_at": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": "<string>",
"attachments": {},
"submission": {
"submitted_at": "<string>",
"attachments": {},
"content": {
"title": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": ""
},
"program": {
"policy_version": 123,
"name": "<string>",
"scope": "<string>",
"exclusions": "<string>",
"rules": "<string>",
"eligibility": "<string>",
"disclosure": "<string>",
"rewards": {}
},
"stripe": {
"status": "<string>",
"checked_at": "<string>"
}
},
"decision": {
"outcome": "accepted",
"at": "<string>",
"message": "<string>"
},
"payout": {
"status": "approving",
"amount_cents": 123,
"approved_at": "<string>",
"transferred_at": "<string>",
"received_at": "<string>",
"payout_failed_at": "<string>"
}
}
}{
"detail": "<string>",
"code": "<string>",
"current": {
"id": "<string>",
"program_id": "<string>",
"program_name": "<string>",
"status": "draft",
"display_status": "<string>",
"title": "<string>",
"revision": 123,
"created_at": "<string>",
"updated_at": "<string>",
"submitted_at": "<string>",
"withdrawn_at": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": "<string>",
"attachments": {},
"submission": {
"submitted_at": "<string>",
"attachments": {},
"content": {
"title": "<string>",
"asset": "<string>",
"description": "<string>",
"cvss_vector": ""
},
"program": {
"policy_version": 123,
"name": "<string>",
"scope": "<string>",
"exclusions": "<string>",
"rules": "<string>",
"eligibility": "<string>",
"disclosure": "<string>",
"rewards": {}
},
"stripe": {
"status": "<string>",
"checked_at": "<string>"
}
},
"decision": {
"outcome": "accepted",
"at": "<string>",
"message": "<string>"
},
"payout": {
"status": "approving",
"amount_cents": 123,
"approved_at": "<string>",
"transferred_at": "<string>",
"received_at": "<string>",
"payout_failed_at": "<string>"
}
}
}