List approvals
curl --request GET \
--url https://api.panoqore.example/v1/approvals \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.panoqore.example/v1/approvals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.panoqore.example/v1/approvals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.panoqore.example/v1/approvals"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"approvals": [
{
"id": "<string>",
"kind": "ADJUSTMENT",
"status": "WAITING",
"title": "<string>",
"reason": "<string>",
"proposedBy": {
"kind": "PERSON",
"id": "<string>",
"displayName": "<string>"
},
"approvalsRequired": 123,
"decisions": [
{
"by": {
"kind": "PERSON",
"id": "<string>",
"displayName": "<string>"
},
"approved": true,
"reason": "<string>",
"at": "2023-11-07T05:31:56Z"
}
],
"amount": "<string>",
"currency": "<string>",
"postings": [
{
"accountId": "<string>",
"side": "DEBIT",
"amount": "500000",
"currency": "NGN",
"ifMatchVersion": "<string>"
}
],
"proposal": {},
"subjectId": "<string>",
"breakId": "<string>",
"entryId": "<string>",
"failureCode": "<string>",
"canDecide": true,
"requiresStepUp": true,
"createdAt": "2023-11-07T05:31:56Z",
"decidedAt": "2023-11-07T05:31:56Z"
}
],
"page": {
"nextCursor": "<string>",
"total": "<string>"
},
"viewCounts": {}
}{
"error": {
"code": "INSUFFICIENT_FUNDS",
"message": "<string>",
"details": {},
"request_id": "<string>"
}
}{
"error": {
"code": "INSUFFICIENT_FUNDS",
"message": "<string>",
"details": {},
"request_id": "<string>"
}
}{
"error": {
"code": "INSUFFICIENT_FUNDS",
"message": "<string>",
"details": {},
"request_id": "<string>"
}
}Approvals
List approvals
Scope: read.
GET
/
v1
/
approvals
List approvals
curl --request GET \
--url https://api.panoqore.example/v1/approvals \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.panoqore.example/v1/approvals', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.panoqore.example/v1/approvals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.panoqore.example/v1/approvals"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"approvals": [
{
"id": "<string>",
"kind": "ADJUSTMENT",
"status": "WAITING",
"title": "<string>",
"reason": "<string>",
"proposedBy": {
"kind": "PERSON",
"id": "<string>",
"displayName": "<string>"
},
"approvalsRequired": 123,
"decisions": [
{
"by": {
"kind": "PERSON",
"id": "<string>",
"displayName": "<string>"
},
"approved": true,
"reason": "<string>",
"at": "2023-11-07T05:31:56Z"
}
],
"amount": "<string>",
"currency": "<string>",
"postings": [
{
"accountId": "<string>",
"side": "DEBIT",
"amount": "500000",
"currency": "NGN",
"ifMatchVersion": "<string>"
}
],
"proposal": {},
"subjectId": "<string>",
"breakId": "<string>",
"entryId": "<string>",
"failureCode": "<string>",
"canDecide": true,
"requiresStepUp": true,
"createdAt": "2023-11-07T05:31:56Z",
"decidedAt": "2023-11-07T05:31:56Z"
}
],
"page": {
"nextCursor": "<string>",
"total": "<string>"
},
"viewCounts": {}
}{
"error": {
"code": "INSUFFICIENT_FUNDS",
"message": "<string>",
"details": {},
"request_id": "<string>"
}
}{
"error": {
"code": "INSUFFICIENT_FUNDS",
"message": "<string>",
"details": {},
"request_id": "<string>"
}
}{
"error": {
"code": "INSUFFICIENT_FUNDS",
"message": "<string>",
"details": {},
"request_id": "<string>"
}
}Authorizations
An API key, pk_live_… or pk_test_….
Query Parameters
1..200, default 50
WAITING_ON_OTHERS: mine, or already approved by me
Available options:
NEEDS_ME, WAITING_ON_OTHERS, DECIDED ADJUSTMENT: adj_
REVERSAL: rev_
FREEZE: frz_
LIMIT_CHANGE: lim_
FX_RATE: fx_
INTEGRATION_MODE: mod_
NAMED_ACCOUNT_CHANGE: nac_
API_KEY: kyr_
PERIOD_CLOSE: prd_
INTERNAL_ACCOUNT: iac_
LEDGER: ldg_
MODULES: mdl_
TEAM_CHANGE: tmc_ ; confirmed by a second tenant admin or an approver
FEE_SCHEDULE: fee_
Available options:
ADJUSTMENT, REVERSAL, FREEZE, LIMIT_CHANGE, FX_RATE, INTEGRATION_MODE, NAMED_ACCOUNT_CHANGE, API_KEY, PERIOD_CLOSE, INTERNAL_ACCOUNT, LEDGER, MODULES, TEAM_CHANGE, FEE_SCHEDULE