Skip to main content

Afreximbank Deal Mail API (1.0.0)

REST API for deal workflow management with Auth0 smallrye-jwt bearer authentication

Admin — Roles & Permissions (read-only)

List all permissions declared by the API

Returns the full scope catalog (value + description). Matches resource-service.json.

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

List roles with their current permissions

Merges the app-defined roles with live Auth0 data (id + permissions) and flags drift vs. defaults.

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Bizcom

Bizcom liquidity-view facility list and KPI aggregations

Bizcom sidebar aggregations

Returns the region → RM tree for the Bizcom sidebar. Much cheaper than fetching all facility rows and reducing client-side.

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Search Bizcom facilities

Paginated list of HIGH/MEDIUM-probability facilities disbursing in the configured quarters. Disbursement date is the workflow override when present, else CloseDate. App-side dropped deals are excluded.

Authorizations:
auth0
Request Body schema: application/json
required
search
string
quarters
Array of strings
region
string
regions
Array of strings
country
string
sector
string
fundedClass
Array of strings
probability
string
rmEmail
string
rmEmails
Array of strings
stage
string
size
string
disbursementDateFrom
string <date> (LocalDate)
disbursementDateTo
string <date> (LocalDate)
projectName
string
sortBy
string
sortDir
string
page
integer <int32>
pageSize
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "search": "string",
  • "quarters": [
    • "string"
    ],
  • "region": "string",
  • "regions": [
    • "string"
    ],
  • "country": "string",
  • "sector": "string",
  • "fundedClass": [
    • "string"
    ],
  • "probability": "string",
  • "rmEmail": "string",
  • "rmEmails": [
    • "string"
    ],
  • "stage": "string",
  • "size": "string",
  • "disbursementDateFrom": "2022-03-10",
  • "disbursementDateTo": "2022-03-10",
  • "projectName": "string",
  • "sortBy": "string",
  • "sortDir": "string",
  • "page": 0,
  • "pageSize": 0
}

Response samples

Content type
application/json
null

Bizcom KPI strip totals

Funded/Unfunded/Total roll-ups computed over the same filter as the list, but scoped to probability=HIGH only (CR-5 #1).

Authorizations:
auth0
Request Body schema: application/json
required
search
string
quarters
Array of strings
region
string
regions
Array of strings
country
string
sector
string
fundedClass
Array of strings
probability
string
rmEmail
string
rmEmails
Array of strings
stage
string
size
string
disbursementDateFrom
string <date> (LocalDate)
disbursementDateTo
string <date> (LocalDate)
projectName
string
sortBy
string
sortDir
string
page
integer <int32>
pageSize
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "search": "string",
  • "quarters": [
    • "string"
    ],
  • "region": "string",
  • "regions": [
    • "string"
    ],
  • "country": "string",
  • "sector": "string",
  • "fundedClass": [
    • "string"
    ],
  • "probability": "string",
  • "rmEmail": "string",
  • "rmEmails": [
    • "string"
    ],
  • "stage": "string",
  • "size": "string",
  • "disbursementDateFrom": "2022-03-10",
  • "disbursementDateTo": "2022-03-10",
  • "projectName": "string",
  • "sortBy": "string",
  • "sortDir": "string",
  • "page": 0,
  • "pageSize": 0
}

Response samples

Content type
application/json
null

CRM

Read-only access to Salesforce-replicated Accounts, Contacts, Transactions.

List CRM accounts (paged)

Returns a CrmPage of accounts. Filters: search (name/short-name/CIF), status (Type__c), country (BillingCountry), owner (Users.FirstName). Paging: page (1-indexed), pageSize (1-100). Sorting: sortBy in {clientName, status, registrationCountry, region, sector, owner, cifId}, sortDir in {asc, desc}.

Authorizations:
auth0
query Parameters
country
string
owner
string
page
integer <int32>
Default: 1

1-indexed page

pageSize
integer <int32>
Default: 25

Rows per page, capped at 100

search
string
sortBy
string
Default: "clientName"
sortDir
string
Default: "asc"
status
string

Responses

Response samples

Content type
application/json
null

Get CRM account by id

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

List related accounts + contacts for an account

Returns the crm.RelatedAccounts rows where Master_Account__c equals the given id, with both sides (account/contact) resolved to display names.

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

List CRM contacts (paged)

Returns a CrmPage of contacts. Filters: search (firstName/lastName/email substring), accountId. Paging + sorting like /accounts; sortBy in {name, firstName, lastName, email, department, title, country}.

Authorizations:
auth0
query Parameters
accountId
string
page
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 25
search
string
sortBy
string
Default: "name"
sortDir
string
Default: "asc"

Responses

Response samples

Content type
application/json
null

Get CRM contact by id, with attached documents

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

List CRM transactions (paged)

Returns a CrmPage of transactions. Filters: search (name/project/client), stage (StageName), accountId. Paging + sorting like /accounts; sortBy in {transactionName, clientName, stage, closeDate, amountUsd, probability, region, country}.

Authorizations:
auth0
query Parameters
accountId
string
page
integer <int32>
Default: 1
pageSize
integer <int32>
Default: 25
search
string
sortBy
string
Default: "closeDate"
sortDir
string
Default: "desc"
stage
string

Responses

Response samples

Content type
application/json
null

Get CRM transaction detail

Returns the transaction plus its full stage pipeline, step history, and deal team — all joined from the CRM schema.

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Committee Admin

Seats, voter availability, ad-hoc delegations, secretariat groups

List delegations I have issued as main voter

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

List delegations where I am the delegate

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Revoke an active delegation

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
property name*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Response samples

Content type
application/json
null

Declare a future period of unavailability

Authorizations:
auth0
Request Body schema: application/json
required
startDate
string <date> (LocalDate)
endDate
string <date> (LocalDate)
reason
string

Responses

Request samples

Content type
application/json
{
  • "startDate": "2022-03-10",
  • "endDate": "2022-03-10",
  • "reason": "string"
}

Response samples

Content type
application/json
null

List my unavailability declarations

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Secretariat view: upcoming voter unavailability

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Cancel my unavailability declaration

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Secretariat view: all active delegations for a committee

Authorizations:
auth0
path Parameters
committee
required
string

Responses

Response samples

Content type
application/json
null

Create an ad-hoc delegation

Authorizations:
auth0
path Parameters
committee
required
string
Request Body schema: application/json
required
mainVoterId
string
mainVoterName
string
delegateId
string
delegateName
string
startDate
string <date> (LocalDate)
endDate
string <date> (LocalDate)
scope
string
sfDealIds
Array of strings
reason
string

Responses

Request samples

Content type
application/json
{
  • "mainVoterId": "string",
  • "mainVoterName": "string",
  • "delegateId": "string",
  • "delegateName": "string",
  • "startDate": "2022-03-10",
  • "endDate": "2022-03-10",
  • "scope": "string",
  • "sfDealIds": [
    • "string"
    ],
  • "reason": "string"
}

Response samples

Content type
application/json
null

FR-7.06: upcoming unavailability + active delegations + at-risk seats

Authorizations:
auth0
path Parameters
committee
required
string
query Parameters
days
integer <int32>
Default: 30

Responses

Response samples

Content type
application/json
null

List seat assignments for a committee

Authorizations:
auth0
path Parameters
committee
required
string

Responses

Response samples

Content type
application/json
null

Add a seat assignment (main or alternate)

Authorizations:
auth0
path Parameters
committee
required
string
Request Body schema: application/json
required
seatCode
string
rank
integer <int32>
userId
string
userName
string
userEmail
string
effectiveFrom
string <date> (LocalDate)
effectiveTo
string <date> (LocalDate)

Responses

Request samples

Content type
application/json
{
  • "seatCode": "string",
  • "rank": 0,
  • "userId": "string",
  • "userName": "string",
  • "userEmail": "string",
  • "effectiveFrom": "2022-03-10",
  • "effectiveTo": "2022-03-10"
}

Response samples

Content type
application/json
null

List assignments (main + alternates) for a single seat

Authorizations:
auth0
path Parameters
committee
required
string
seatCode
required
string

Responses

Response samples

Content type
application/json
null

Remove a seat assignment

Authorizations:
auth0
path Parameters
committee
required
string
seatId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Get the secretariat group for a committee

Authorizations:
auth0
path Parameters
committee
required
string

Responses

Response samples

Content type
application/json
null

Ensure the secretariat group exists for a committee

Authorizations:
auth0
path Parameters
committee
required
string

Responses

Response samples

Content type
application/json
null

Add or update a secretariat member (head flag may toggle head assignment)

Authorizations:
auth0
path Parameters
committee
required
string
Request Body schema: application/json
required
userId
string
userName
string
userEmail
string
head
boolean

Responses

Request samples

Content type
application/json
{
  • "userId": "string",
  • "userName": "string",
  • "userEmail": "string",
  • "head": true
}

Response samples

Content type
application/json
null

Remove a secretariat member

Authorizations:
auth0
path Parameters
committee
required
string
memberId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Committee Approvals

Unified PAC / CRECO / EXCO submission → vote → final-decision pipeline

Unified approvals dashboard (ADM-18)

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

List submissions for a deal (across committees)

Authorizations:
auth0
path Parameters
dealId
required
string

Responses

Response samples

Content type
application/json
null

Revoke a secretariat override

Authorizations:
auth0
path Parameters
overrideId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Get

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Deal Owner self-approves submission

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Close ballot early (FR-2.05) — requires reason

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
reason
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string"
}

Response samples

Content type
application/json
null

Secretariat consolidates final decision (only during Sign-Off)

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
decision
string
Array of objects (FinalDecisionCondition)
secretariatNotes
string
effectiveDate
string <date> (LocalDate)
proceedToNext
boolean
approvedAmount
number
approvedTenor
string
requiredInfo
string
expectedResubmit
string <date> (LocalDate)
assignedToId
string

Responses

Request samples

Content type
application/json
{
  • "decision": "string",
  • "conditions": [
    • {
      }
    ],
  • "secretariatNotes": "string",
  • "effectiveDate": "2022-03-10",
  • "proceedToNext": true,
  • "approvedAmount": 0,
  • "approvedTenor": "string",
  • "requiredInfo": "string",
  • "expectedResubmit": "2022-03-10",
  • "assignedToId": "string"
}

Response samples

Content type
application/json
null

Member (or alternate/delegate/override nominee) casts or updates a vote

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
voteOption
string
comments
string
conditions
Array of strings
visibility
string
departmentCode
string
seatCode
string

Responses

Request samples

Content type
application/json
{
  • "voteOption": "string",
  • "comments": "string",
  • "conditions": [
    • "string"
    ],
  • "visibility": "string",
  • "departmentCode": "string",
  • "seatCode": "string"
}

Response samples

Content type
application/json
null

Issue a secretariat override for a seat (FR-5.07)

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
seatCode
string
nomineeId
string
nomineeName
string
reason
string

Responses

Request samples

Content type
application/json
{
  • "seatCode": "string",
  • "nomineeId": "string",
  • "nomineeName": "string",
  • "reason": "string"
}

Response samples

Content type
application/json
null

Reopen a ballot in Sign-Off (FR-2.11) — requires reason

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
reason
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string"
}

Response samples

Content type
application/json
null

Secretariat adds submission to agenda or returns it

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
action
string
meetingId
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
agendaSequence
integer <int32>
votingDeadline
string <date-time> (Instant)
notes
string

Responses

Request samples

Content type
application/json
{
  • "action": "string",
  • "meetingId": "bba231d0-d474-4cf9-bb49-b12d0cb2a3ed",
  • "agendaSequence": 0,
  • "votingDeadline": "2022-03-10T16:15:50Z",
  • "notes": "string"
}

Response samples

Content type
application/json
null

Secretariat member takes over a deal (FR-5.04)

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Withdraw submission

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
property name*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Response samples

Content type
application/json
null

List submissions by committee and status

Authorizations:
auth0
path Parameters
committee
required
string
query Parameters
status
string

Responses

Response samples

Content type
application/json
null

Initiate committee submission

Authorizations:
auth0
path Parameters
committee
required
string
Request Body schema: application/json
required
sfDealId
string
memoDocumentId
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
executiveSummary
string
keyQuestions
string
strategicRationale
string
capitalImpact
string
parentSubmissionId
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Request samples

Content type
application/json
{
  • "sfDealId": "string",
  • "memoDocumentId": "d3a5a977-35ad-4edf-9493-5f6e18d3d847",
  • "executiveSummary": "string",
  • "keyQuestions": "string",
  • "strategicRationale": "string",
  • "capitalImpact": "string",
  • "parentSubmissionId": "c27f3908-9697-4c25-8f16-18d3be3c48fb"
}

Response samples

Content type
application/json
null

Committee Audit

Internal-audit extraction for committee voting artifacts

Extract all voting artifacts for a deal, committee, or time window

Authorizations:
auth0
query Parameters
committee
string
dealId
string
from
string
to
string

Responses

Response samples

Content type
application/json
null

Dashboard

Dashboard analytics

Dashboard KPIs

Returns aggregated counts and pipeline value

Authorizations:
auth0

Responses

Response samples

Content type
application/json
{
  • "activeCount": 0,
  • "pipelineValue": 0.1,
  • "closedCount": 0,
  • "droppedCount": 0,
  • "withdrawnCount": 0,
  • "rejectedCount": 0
}

Pipeline by stage

Returns deal count and value grouped by stage

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Portfolio overview

Returns filtered, paginated active facilities with totals

Authorizations:
auth0
Request Body schema: application/json
required
search
string
region
string
stage
string
status
string
sector
string
country
string
assignee
string
product
string
size
string
ownedByEmail
string
rm
string
committee
string
probability
string
quarter
string
quarters
Array of strings
disbursementDateFrom
string
disbursementDateTo
string
disbursementDate
string
projectName
string
sortBy
string
sortDir
string
sorts
string
page
integer <int32>
pageSize
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "search": "string",
  • "region": "string",
  • "stage": "string",
  • "status": "string",
  • "sector": "string",
  • "country": "string",
  • "assignee": "string",
  • "product": "string",
  • "size": "string",
  • "ownedByEmail": "string",
  • "rm": "string",
  • "committee": "string",
  • "probability": "string",
  • "quarter": "string",
  • "quarters": [
    • "string"
    ],
  • "disbursementDateFrom": "string",
  • "disbursementDateTo": "string",
  • "disbursementDate": "string",
  • "projectName": "string",
  • "sortBy": "string",
  • "sortDir": "string",
  • "sorts": "string",
  • "page": 0,
  • "pageSize": 0
}

Response samples

Content type
application/json
{
  • "items": [
    • {
      }
    ],
  • "totals": {
    • "totalValue": 0.1,
    • "totalFees": 0.1,
    • "count": 0
    },
  • "totalCount": 0,
  • "page": 0,
  • "pageSize": 0,
  • "totalPages": 0
}

Deal Actions

Staff-raised Management Interventions on deals

Actions flagged for management attention (across all deals)

Pass ?showClosed=true to include RESOLVED/CANCELLED interventions (BRD FR-04).

Authorizations:
auth0
query Parameters
showClosed
boolean
Default: false

Responses

Response samples

Content type
application/json
null

Update description / urgency / likely resolution date while active (BRD FR-03)

Authorizations:
auth0
path Parameters
actionId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
actionType
string
description
string
priority
string
likelyResolutionDate
string
requiresManagementAttention
boolean
ownerId
string
ownerEmail
string
ownerName
string

Responses

Request samples

Content type
application/json
{
  • "actionType": "string",
  • "description": "string",
  • "priority": "string",
  • "likelyResolutionDate": "string",
  • "requiresManagementAttention": true,
  • "ownerId": "string",
  • "ownerEmail": "string",
  • "ownerName": "string"
}

Response samples

Content type
application/json
null

Delete an OPEN action (creator only) — otherwise cancel via status

Authorizations:
auth0
path Parameters
actionId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Move an action through its status lifecycle

Authorizations:
auth0
path Parameters
actionId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
Request Body schema: application/json
required
status
string
resolutionNotes
string
resolutionCategory
string

Responses

Request samples

Content type
application/json
{
  • "status": "string",
  • "resolutionNotes": "string",
  • "resolutionCategory": "string"
}

Response samples

Content type
application/json
null

Deal Holders

Parallel-routing holder assignment, completion and aging

Total cycle time across the stage chain in business days (ADM-41)

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Assign deal to one or more recipients at a stage (ADM-35)

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
stageId
string
note
string
Array of objects (Recipient)

Responses

Request samples

Content type
application/json
{
  • "stageId": "string",
  • "note": "string",
  • "recipients": [
    • {
      }
    ]
}

Response samples

Content type
application/json
null

List all holder rows for a deal at a stage (ADM-42)

Authorizations:
auth0
path Parameters
id
required
string
stageId
required
string

Responses

Response samples

Content type
application/json
null

Mark the caller's holding at a stage as completed (ADM-39)

Authorizations:
auth0
path Parameters
id
required
string
stageId
required
string

Responses

Response samples

Content type
application/json
null

Stage duration in business days — MAX(holding_days) (ADM-40)

Authorizations:
auth0
path Parameters
id
required
string
stageId
required
string

Responses

Response samples

Content type
application/json
null

The caller's pending holder rows across every deal (ADM-36)

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Deals

Deal management operations

Register a CRM deal

Creates the workflow anchor for a Salesforce deal that already exists in crm.mv_transactions_enriched. Idempotent — safe to call multiple times for the same deal.

Authorizations:
auth0
Request Body schema: application/json
required
property name*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Response samples

Content type
application/json
null

Get deals admitted to committee

Authorizations:
auth0
path Parameters
committee
required
string
query Parameters
sortBy
string
sortDir
string
sorts
string

Responses

Response samples

Content type
application/json
null

Pipeline by approval stage

Returns deal count grouped by approval stage

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Pipeline by stage

Returns deal count grouped by pipeline stage

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Search deals

Search and filter deals

Authorizations:
auth0
query Parameters
approvalStage
string
assignee
string
committee
string
country
string
disbursementDate
string
disbursementDateFrom
string
disbursementDateTo
string
probability
string
product
string
projectName
string
quarters
Array of strings
region
string
rm
string
search
string
sector
string
size
string
sortBy
string
sortDir
string
sorts
string
stage
string
status
string

Responses

Response samples

Content type
application/json
null

Get deals sent to committee

Authorizations:
auth0
path Parameters
committee
required
string
query Parameters
sortBy
string
sortDir
string
sorts
string

Responses

Response samples

Content type
application/json
null

SSE stream

Authorizations:
auth0

Responses

Get deal by Salesforce id

Authorizations:
auth0
path Parameters
id
required
string

Salesforce 18-char deal id

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "projectName": "string",
  • "client": "string",
  • "value": 0,
  • "currency": "string",
  • "product": "string",
  • "region": "string",
  • "currentStage": "string",
  • "currentStageName": "string",
  • "assignees": [
    • {
      }
    ],
  • "ownerId": "string",
  • "relationshipManager": {
    • "userId": "string",
    • "name": "string",
    • "email": "string",
    • "department": "string",
    • "title": "string",
    • "phone": "string"
    },
  • "productOwner": {
    • "userId": "string",
    • "name": "string",
    • "email": "string",
    • "department": "string",
    • "title": "string",
    • "phone": "string"
    },
  • "dealStatus": "string",
  • "isEmergency": true,
  • "priority": "string",
  • "stageDone": true,
  • "stageDays": 0,
  • "totalDays": 0,
  • "dwhFacilityId": "string",
  • "parentSfDealId": "string",
  • "reactivatedFrom": "string",
  • "reactivatedBy": "string",
  • "reactivatedAt": "2022-03-10T16:15:50Z",
  • "reactivationReason": "string",
  • "droppedAt": "2022-03-10T16:15:50Z",
  • "droppedBy": "string",
  • "droppedReason": "string",
  • "parallelStages": "string",
  • "skippedStages": "string",
  • "approvalStage": "string",
  • "approvalStageChangedAt": "2022-03-10T16:15:50Z",
  • "probability": "string",
  • "afreximbankContribution": 0,
  • "assets": 0,
  • "nonFunded": 0,
  • "totalFeesCollected": 0,
  • "closeDate": "2022-03-10",
  • "crecoDate": "2022-03-10",
  • "crecoTargetDate": "2022-03-10",
  • "disbursementDate": "2022-03-10",
  • "pacExpectedDate": "2022-03-10",
  • "createdAt": "2022-03-10T16:15:50Z",
  • "updatedAt": "2022-03-10T16:15:50Z",
  • "version": 0,
  • "history": [
    • {
      }
    ],
  • "logs": [
    • {
      }
    ],
  • "team": [
    • {
      }
    ],
  • "committeeApprovals": [
    • {
      }
    ],
  • "dropProposals": [
    • {
      }
    ],
  • "documents": [
    • {
      }
    ],
  • "comments": [
    • {
      }
    ],
  • "callMemos": [
    • {
      }
    ],
  • "crossSellProducts": [
    • "string"
    ],
  • "approvalChecklist": {
    • "tdia": true,
    • "tdiaScore": "string",
    • "tdiaCheckedBy": {
      },
    • "tdiaCheckedAt": "2022-03-10T16:15:50Z",
    • "kyc": true,
    • "kycCheckedBy": {
      },
    • "kycCheckedAt": "2022-03-10T16:15:50Z",
    • "mancoco": true,
    • "mancocoCheckedBy": {
      },
    • "mancocoCheckedAt": "2022-03-10T16:15:50Z",
    • "esg": true,
    • "esgCheckedBy": {
      },
    • "esgCheckedAt": "2022-03-10T16:15:50Z"
    }
}

List actions on a deal

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Raise an action on a deal

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
actionType
string
description
string
priority
string
likelyResolutionDate
string
requiresManagementAttention
boolean
ownerId
string
ownerEmail
string
ownerName
string

Responses

Request samples

Content type
application/json
{
  • "actionType": "string",
  • "description": "string",
  • "priority": "string",
  • "likelyResolutionDate": "string",
  • "requiresManagementAttention": true,
  • "ownerId": "string",
  • "ownerEmail": "string",
  • "ownerName": "string"
}

Response samples

Content type
application/json
null

Update Afreximbank contribution amount

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
afreximbankContribution
number

Responses

Request samples

Content type
application/json
{
  • "afreximbankContribution": 0
}

Response samples

Content type
application/json
null

Patch pre-approval checklist

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
tdia
boolean
tdiaScore
string
object (CheckActor)
tdiaCheckedAt
string <date-time> (Instant)
kyc
boolean
object (CheckActor)
kycCheckedAt
string <date-time> (Instant)
mancoco
boolean
object (CheckActor)
mancocoCheckedAt
string <date-time> (Instant)
esg
boolean
object (CheckActor)
esgCheckedAt
string <date-time> (Instant)

Responses

Request samples

Content type
application/json
{
  • "tdia": true,
  • "tdiaScore": "string",
  • "tdiaCheckedBy": {
    • "email": "string",
    • "name": "string"
    },
  • "tdiaCheckedAt": "2022-03-10T16:15:50Z",
  • "kyc": true,
  • "kycCheckedBy": {
    • "email": "string",
    • "name": "string"
    },
  • "kycCheckedAt": "2022-03-10T16:15:50Z",
  • "mancoco": true,
  • "mancocoCheckedBy": {
    • "email": "string",
    • "name": "string"
    },
  • "mancocoCheckedAt": "2022-03-10T16:15:50Z",
  • "esg": true,
  • "esgCheckedBy": {
    • "email": "string",
    • "name": "string"
    },
  • "esgCheckedAt": "2022-03-10T16:15:50Z"
}

Response samples

Content type
application/json
null

Get pre-approval checklist

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Get committee approvals

Authorizations:
auth0
path Parameters
id
required
string
query Parameters
committee
string
zone
integer <int32>

Responses

Response samples

Content type
application/json
null

Record committee approval/vote

Authorizations:
auth0
path Parameters
committee
required
string
id
required
string
zone
required
integer <int32>
Request Body schema: application/json
required
memberId
string
memberName
string
decision
string
conditions
string

Responses

Request samples

Content type
application/json
{
  • "memberId": "string",
  • "memberName": "string",
  • "decision": "string",
  • "conditions": "string"
}

Response samples

Content type
application/json
null

Update deal total assets (Salesforce Amount)

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
assets
number

Responses

Request samples

Content type
application/json
{
  • "assets": 0
}

Response samples

Content type
application/json
null

Deal field audit log

Authorizations:
auth0
path Parameters
id
required
string
query Parameters
field
string

Responses

Response samples

Content type
application/json
null

List Bizcom thread entries (notes + actions) for a deal

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Post a Bizcom thread action

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
body
string
ownerId
string
ownerEmail
string
ownerName
string
dueDate
string <date> (LocalDate)
urgency
string
sessionDate
string <date> (LocalDate)

Responses

Request samples

Content type
application/json
{
  • "body": "string",
  • "ownerId": "string",
  • "ownerEmail": "string",
  • "ownerName": "string",
  • "dueDate": "2022-03-10",
  • "urgency": "string",
  • "sessionDate": "2022-03-10"
}

Response samples

Content type
application/json
null

Toggle a Bizcom action between open and done

Authorizations:
auth0
path Parameters
entryId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
id
required
string
Request Body schema: application/json
required
status
string

Responses

Request samples

Content type
application/json
{
  • "status": "string"
}

Response samples

Content type
application/json
null

Post a Bizcom thread note

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
body
string
sessionDate
string <date> (LocalDate)

Responses

Request samples

Content type
application/json
{
  • "body": "string",
  • "sessionDate": "2022-03-10"
}

Response samples

Content type
application/json
null

Soft-delete a Bizcom thread entry (author or admin only)

Authorizations:
auth0
path Parameters
entryId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
id
required
string

Responses

Response samples

Content type
application/json
null

Send call memo

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
body
string
recipients
Array of strings

Responses

Request samples

Content type
application/json
{
  • "body": "string",
  • "recipients": [
    • "string"
    ]
}

Response samples

Content type
application/json
null

List call memos

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Add comment to deal

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
author
string
text
string

Responses

Request samples

Content type
application/json
{
  • "author": "string",
  • "text": "string"
}

Response samples

Content type
application/json
null

Edit comment

Authorizations:
auth0
path Parameters
commentId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
id
required
string
Request Body schema: application/json
required
text
string
editedBy
string

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "editedBy": "string"
}

Response samples

Content type
application/json
null

Delete comment

Authorizations:
auth0
path Parameters
commentId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
id
required
string

Responses

Response samples

Content type
application/json
null

Set cross-sell products

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
products
Array of strings

Responses

Request samples

Content type
application/json
{
  • "products": [
    • "string"
    ]
}

Response samples

Content type
application/json
null

Patch deal dates

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "property1": null,
  • "property2": null
}

Response samples

Content type
application/json
null

Get documents

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Upload document

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: multipart/form-data
required
file
string <binary>
category
string
stage
string

Responses

Response samples

Content type
application/json
null

Get document

Authorizations:
auth0
path Parameters
documentId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
id
required
string

Responses

Response samples

Content type
application/json
null

Delete document

Authorizations:
auth0
path Parameters
documentId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
id
required
string

Responses

Response samples

Content type
application/json
null

Get download URL

Authorizations:
auth0
path Parameters
documentId
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...
id
required
string

Responses

Response samples

Content type
application/json
null

Get drop proposals

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Approve drop

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
reason
string
proposedBy
string
decision
string
decisionReason
string
decidedBy
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "proposedBy": "string",
  • "decision": "string",
  • "decisionReason": "string",
  • "decidedBy": "string"
}

Response samples

Content type
application/json
null

Propose drop

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
reason
string
proposedBy
string
decision
string
decisionReason
string
decidedBy
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "proposedBy": "string",
  • "decision": "string",
  • "decisionReason": "string",
  • "decidedBy": "string"
}

Response samples

Content type
application/json
null

Reject drop

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
reason
string
proposedBy
string
decision
string
decisionReason
string
decidedBy
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "proposedBy": "string",
  • "decision": "string",
  • "decisionReason": "string",
  • "decidedBy": "string"
}

Response samples

Content type
application/json
null

Get deal history

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Get deal logs

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Update deal non-funded / contingent amount (Salesforce Non_Funded__c)

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
nonFunded
number

Responses

Request samples

Content type
application/json
{
  • "nonFunded": 0
}

Response samples

Content type
application/json
null

Activate parallel stages

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
stages
Array of strings
activatedBy
string
note
string

Responses

Request samples

Content type
application/json
{
  • "stages": [
    • "string"
    ],
  • "activatedBy": "string",
  • "note": "string"
}

Response samples

Content type
application/json
null

Update deal probability

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
probability
string

Responses

Request samples

Content type
application/json
{
  • "probability": "string"
}

Response samples

Content type
application/json
null

Reactivate deal

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
reason
string
proposedBy
string
decision
string
decisionReason
string
decidedBy
string

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "proposedBy": "string",
  • "decision": "string",
  • "decisionReason": "string",
  • "decidedBy": "string"
}

Response samples

Content type
application/json
null

Recall deal

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
toStage
string
reason
string
recalledBy
string

Responses

Request samples

Content type
application/json
{
  • "toStage": "string",
  • "reason": "string",
  • "recalledBy": "string"
}

Response samples

Content type
application/json
null

Send deal to person/department

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
Array of objects (TargetPerson)
targetPersonId
string
targetPersonName
string
targetDept
string
note
string
sentBy
string

Responses

Request samples

Content type
application/json
{
  • "targets": [
    • {
      }
    ],
  • "targetPersonId": "string",
  • "targetPersonName": "string",
  • "targetDept": "string",
  • "note": "string",
  • "sentBy": "string"
}

Response samples

Content type
application/json
null

Skip stage

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
targetStage
string
reason
string
skippedBy
string
isEmergency
boolean

Responses

Request samples

Content type
application/json
{
  • "targetStage": "string",
  • "reason": "string",
  • "skippedBy": "string",
  • "isEmergency": true
}

Response samples

Content type
application/json
null

Mark stage done

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

SSE deal stream

Authorizations:
auth0
path Parameters
id
required
string

Responses

Get deal team (CRM-side)

Authorizations:
auth0
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
null

Update deal total fees collected (Salesforce Total_amount_of_fees_collected__c)

Authorizations:
auth0
path Parameters
id
required
string
Request Body schema: application/json
required
totalFeesCollected
number

Responses

Request samples

Content type
application/json
{
  • "totalFeesCollected": 0
}

Response samples

Content type
application/json
null

Documents

SharePoint document operations

List documents

Returns a paginated list of documents from SharePoint

Authorizations:
auth0
query Parameters
folderId
string

Folder ID (use 'root' for root folder)

page
integer <int32>
Default: 1

Page number (1-based)

pageSize
integer <int32>
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
{
  • "documents": [
    • {
      }
    ],
  • "total": 0,
  • "page": 0,
  • "pageSize": 0
}

Create folder

Creates a new folder in SharePoint

Authorizations:
auth0
Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters \S
parentReference
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parentReference": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "size": 0,
  • "mimeType": "string",
  • "webUrl": "string",
  • "downloadUrl": "string",
  • "createdDateTime": "2022-03-10T12:15:50-04:00",
  • "lastModifiedDateTime": "2022-03-10T12:15:50-04:00",
  • "createdBy": "string",
  • "lastModifiedBy": "string",
  • "parentReference": "string",
  • "fileExtension": "string",
  • "isFolder": true,
  • "isFile": true
}

Search documents

Searches for documents by name

Authorizations:
auth0
query Parameters
q
required
string

Search query

Responses

Response samples

Content type
application/json
null

Get document

Returns a single document by ID

Authorizations:
auth0
path Parameters
documentId
required
string

Document ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "size": 0,
  • "mimeType": "string",
  • "webUrl": "string",
  • "downloadUrl": "string",
  • "createdDateTime": "2022-03-10T12:15:50-04:00",
  • "lastModifiedDateTime": "2022-03-10T12:15:50-04:00",
  • "createdBy": "string",
  • "lastModifiedBy": "string",
  • "parentReference": "string",
  • "fileExtension": "string",
  • "isFolder": true,
  • "isFile": true
}

Delete document

Deletes a document or folder from SharePoint

Authorizations:
auth0
path Parameters
documentId
required
string

Document ID

Responses

Assign document to users

Shares a document with specified users

Authorizations:
auth0
path Parameters
documentId
required
string

Document ID

Request Body schema: application/json
required
recipientEmails
required
Array of strings non-empty
documentId
string
message
string
roles
Array of strings
requireSignIn
boolean
sendInvitation
boolean
inheritPermissions
boolean

Responses

Request samples

Content type
application/json
{
  • "documentId": "string",
  • "recipientEmails": [
    • "string"
    ],
  • "message": "string",
  • "roles": [
    • "string"
    ],
  • "requireSignIn": true,
  • "sendInvitation": true,
  • "inheritPermissions": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "documentId": "string",
  • "sharedWith": 0,
  • "message": "string",
  • "errors": [
    • "string"
    ],
  • "timestamp": "2022-03-10T12:15:50-04:00"
}

Get document permissions

Returns the permissions for a document

Authorizations:
auth0
path Parameters
documentId
required
string

Document ID

Responses

Response samples

Content type
application/json
null

Remove document permission

Removes a permission from a document

Authorizations:
auth0
path Parameters
documentId
required
string
permissionId
required
string

Responses

Response samples

Content type
application/json
null

Facilities

Salesforce/CRM facility operations (read-only)

Search accounts

Searches CRM accounts by name for autocomplete

Authorizations:
auth0
query Parameters
q
required
string

Search query

Responses

Response samples

Content type
application/json
null

Search facilities with active management intervention

Same shape as /facilities/search but scoped to deals that currently carry an active Management Intervention.

Authorizations:
auth0
Request Body schema: application/json
required
search
string
region
string
stage
string
status
string
sector
string
country
string
assignee
string
product
string
size
string
ownedByEmail
string
rm
string
committee
string
probability
string
quarter
string
quarters
Array of strings
disbursementDateFrom
string
disbursementDateTo
string
disbursementDate
string
projectName
string
sortBy
string
sortDir
string
sorts
string
page
integer <int32>
pageSize
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "search": "string",
  • "region": "string",
  • "stage": "string",
  • "status": "string",
  • "sector": "string",
  • "country": "string",
  • "assignee": "string",
  • "product": "string",
  • "size": "string",
  • "ownedByEmail": "string",
  • "rm": "string",
  • "committee": "string",
  • "probability": "string",
  • "quarter": "string",
  • "quarters": [
    • "string"
    ],
  • "disbursementDateFrom": "string",
  • "disbursementDateTo": "string",
  • "disbursementDate": "string",
  • "projectName": "string",
  • "sortBy": "string",
  • "sortDir": "string",
  • "sorts": "string",
  • "page": 0,
  • "pageSize": 0
}

Response samples

Content type
application/json
{
  • "items": [
    • {
      }
    ],
  • "totalCount": 0,
  • "totalAmount": 0,
  • "fundedUsd": 0,
  • "unfundedUsd": 0,
  • "feesUsd": 0,
  • "page": 0,
  • "pageSize": 0,
  • "totalPages": 0
}

List Relationship Managers

Distinct CRM users who own at least one Account with a non-deleted transaction (Accounts.OwnerId join). Optional q= matches name or email (case-insensitive); optional region narrows to RMs whose accounts sit in that region. Powers the RM filter dropdown.

Authorizations:
auth0
query Parameters
limit
integer <int32>
Default: 50

Max results (default 50, max 200)

q
string

Optional name/email substring (case-insensitive)

region
string

Optional region code — narrows to RMs with deals in that region

Responses

Response samples

Content type
application/json
null

Search facilities

Returns a paginated, filterable list of facilities from the CRM-replica tables

Authorizations:
auth0
Request Body schema: application/json
required
search
string
region
string
stage
string
status
string
sector
string
country
string
assignee
string
product
string
size
string
ownedByEmail
string
rm
string
committee
string
probability
string
quarter
string
quarters
Array of strings
disbursementDateFrom
string
disbursementDateTo
string
disbursementDate
string
projectName
string
sortBy
string
sortDir
string
sorts
string
page
integer <int32>
pageSize
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "search": "string",
  • "region": "string",
  • "stage": "string",
  • "status": "string",
  • "sector": "string",
  • "country": "string",
  • "assignee": "string",
  • "product": "string",
  • "size": "string",
  • "ownedByEmail": "string",
  • "rm": "string",
  • "committee": "string",
  • "probability": "string",
  • "quarter": "string",
  • "quarters": [
    • "string"
    ],
  • "disbursementDateFrom": "string",
  • "disbursementDateTo": "string",
  • "disbursementDate": "string",
  • "projectName": "string",
  • "sortBy": "string",
  • "sortDir": "string",
  • "sorts": "string",
  • "page": 0,
  • "pageSize": 0
}

Response samples

Content type
application/json
{
  • "items": [
    • {
      }
    ],
  • "totalCount": 0,
  • "totalAmount": 0,
  • "fundedUsd": 0,
  • "unfundedUsd": 0,
  • "feesUsd": 0,
  • "page": 0,
  • "pageSize": 0,
  • "totalPages": 0
}

Get facility detail

Returns a facility with account info, stage history, and step history

Authorizations:
auth0
path Parameters
id
required
string

Facility/Transaction ID

Responses

Response samples

Content type
application/json
{
  • "facility": {
    • "id": "string",
    • "name": "string",
    • "projectName": "string",
    • "accountId": "string",
    • "clientName": "string",
    • "amount": 0.1,
    • "currency": "string",
    • "amountUsd": 0,
    • "stageName": "string",
    • "currentStage": "string",
    • "probability": "string",
    • "step": "string",
    • "facilityType": "string",
    • "country": "string",
    • "region": "string",
    • "sector": "string",
    • "subSector": "string",
    • "priority": "string",
    • "dateCreated": "2022-03-10T12:15:50",
    • "closeDate": "2022-03-10",
    • "isClosed": true,
    • "isWon": true,
    • "dealStatus": "string",
    • "ownerId": "string",
    • "creditOfficer": "string",
    • "accountOwnerId": "string",
    • "accountOwnerName": "string",
    • "accountOwnerEmail": "string",
    • "rmName": "string",
    • "headOfDepartment": "string",
    • "primaryRelationshipManagerId": "string",
    • "expectedIncome": 0.1,
    • "limit": 0.1,
    • "availableAmount": 0.1,
    • "currentExposure": 0.1,
    • "afreximbankContribution": 0.1,
    • "nonFunded": 0.1,
    • "totalFeesCollected": 0.1,
    • "complexityLevel": "string",
    • "facilityClassification": "string",
    • "facilityProcessType": "string",
    • "programmeLoanType": "string",
    • "natureOfTransaction": "string",
    • "term": "string",
    • "interestRate": 0.1,
    • "grade": "string",
    • "rating": "string",
    • "dormant": true,
    • "crecoRefNumber": "string",
    • "crecoDate": "2022-03-10",
    • "excoRefNumber": "string",
    • "excoDate": "2022-03-10",
    • "pacRefNumber": "string",
    • "pacDate": "2022-03-10",
    • "validationByCRECO": "2022-03-10",
    • "validationByEXCO": "2022-03-10",
    • "validationByPAC": "2022-03-10",
    • "lastModifiedDate": "2022-03-10T12:15:50",
    • "totalDays": 0,
    • "stageDays": 0,
    • "history": [
      ],
    • "team": [
      ],
    • "userMetadata": {
      }
    },
  • "account": {
    • "id": "string",
    • "name": "string",
    • "type": "string",
    • "country": "string",
    • "region": "string",
    • "sector": "string",
    • "subSector": "string",
    • "industry": "string",
    • "phone": "string",
    • "website": "string",
    • "annualRevenueUsd": 0.1,
    • "totalAssets": 0.1,
    • "totalEquity": 0.1,
    • "totalLiabilities": 0.1,
    • "netProfit": 0.1,
    • "numberOfEmployees": 0,
    • "shortName": "string",
    • "typeOfCustomer": "string",
    • "externalCreditRating": "string",
    • "kycStatus": "string",
    • "kycRating": "string",
    • "billingCountry": "string",
    • "billingCity": "string"
    },
  • "stageHistory": [
    • {
      }
    ],
  • "stepHistory": [
    • {
      }
    ],
  • "team": [
    • {
      }
    ],
  • "viewerCapabilities": {
    • "canEdit": true,
    • "isDealOwner": true,
    • "canSend": true,
    • "reason": "string",
    • "dealOwner": true
    }
}

Health

Health check operations

Health check

Returns the health status of the API

Responses

Response samples

Content type
application/json
{
  • "status": "UP",
  • "timestamp": "2024-01-15T10:30:00Z",
  • "sharepoint": {
    • "configured": true,
    • "siteId": "site-id-here"
    },
  • "version": "1.0.0"
}

Liveness check

Checks if the service is alive

Responses

Response samples

Content type
application/json
null

Readiness check

Checks if the service is ready to accept traffic

Responses

Response samples

Content type
application/json
null

Journey

Deal-journey visualisation (ADM-45)

Team-to-team journey aggregate

Returns the pre-aggregated transition graph, filtered by date range / deal type / product.

Authorizations:
auth0
query Parameters
dealType
string

Resolved facility-type label (e.g. "Project Finance Facility").

from
string

Inclusive lower bound on date_bucket (yyyy-MM-dd).

product
string

Product / programme-loan-type tag.

to
string

Inclusive upper bound on date_bucket (yyyy-MM-dd).

Responses

Response samples

Content type
application/json
null

Contributing deals for one edge (ADM-53)

Returns the top-N deals that contributed to a given (fromTeam → toTeam) transition under the active filters.

Authorizations:
auth0
query Parameters
fromTeam
required
string
toTeam
required
string
dealType
string
from
string
limit
integer <int32>
product
string
to
string

Responses

Response samples

Content type
application/json
null

Per-deal journey trail

Returns the deal's ordered holder/stage trail with directed edges between consecutive nodes.

Authorizations:
auth0
path Parameters
sfDealId
required
string

Salesforce 18-char deal id

Responses

Response samples

Content type
application/json
null

Search deals by name / account for the journey picker

Authorizations:
auth0
query Parameters
q
string

Responses

Response samples

Content type
application/json
null

Trigger full rebuild of the transition aggregate

Admin-only. Truncates deal_transition_aggregate and re-walks every CRM stage-history row.

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Lookups

Reference data / lookup tables

List currencies

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

List document categories

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

List facility types (from Salesforce picklist)

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": "string",
    • "property2": "string"
    }
]

List priorities

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

List product types

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

Distinct project names from CRM Transactions (filter autocomplete)

Responses

Response samples

Content type
application/json
[
  • "string"
]

List regions

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

List sectors

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

List pipeline stages

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

List vote decision options

Responses

Response samples

Content type
application/json
[
  • {
    • "property1": null,
    • "property2": null
    }
]

Notifications

User notification operations

Get notifications

Get paginated notifications for current user

Authorizations:
auth0
query Parameters
dealId
string

Filter by Salesforce deal ID

page
integer <int32>
Default: 0

Page number (0-based)

read
string

Filter by read status (true|false)

size
integer <int32>
Default: 20

Page size

type
string

Filter by type

Responses

Response samples

Content type
application/json
{
  • "content": [
    • null
    ],
  • "page": 0,
  • "size": 0,
  • "totalElements": 0,
  • "totalPages": 0,
  • "first": true,
  • "last": true
}

Mark all as read

Mark all notifications for the current user as read

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Get unread count

Get count of unread notifications

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Delete notification

Delete a notification. Only the owner or an admin may do this.

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Mark as read

Mark a notification as read. Only the notification's owner or an admin may do this.

Authorizations:
auth0
path Parameters
id
required
string <uuid> (UUID) [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-...

Responses

Response samples

Content type
application/json
null

Notifications Stream

Real-time notification stream

SSE notification stream

Server-Sent Events stream for user notifications

Authorizations:
auth0

Responses

Reports

Reports analytics

Deal journey

Returns deals with per-stage day breakdown

Authorizations:
auth0
query Parameters
page
integer <int32>
Default: 1

Page (1-based)

pageSize
integer <int32>
Default: 20

Page size (max 200)

Responses

Response samples

Content type
application/json
null

Report KPIs

Returns processing metrics: avg time, SLA compliance, velocity

Authorizations:
auth0

Responses

Response samples

Content type
application/json
{
  • "totalProcessed": 0,
  • "avgProcessingDays": 0,
  • "slaComplianceRate": 0.1,
  • "pipelineVelocity": 0.1
}

Stage performance

Returns per-stage avg days, SLA compliance, exceeding counts

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Sidebar

Aggregated counts for sidebar badges

Aggregated sidebar counts for the signed-in user

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Sites

SharePoint site operations

Get current site

Returns the configured SharePoint site

Authorizations:
auth0

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "name": "string",
  • "description": "string",
  • "webUrl": "string",
  • "builtIn": true,
  • "rootFolder": "string",
  • "quota": {
    • "storageUsed": 0,
    • "storageRemaining": 0,
    • "storageQuota": 0,
    • "deletedDate": "string"
    }
}

Get recent sites

Returns recently accessed SharePoint sites

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Search sites

Searches for SharePoint sites

Authorizations:
auth0
query Parameters
q
required
string

Search query

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "name": "string",
  • "description": "string",
  • "webUrl": "string",
  • "builtIn": true,
  • "rootFolder": "string",
  • "quota": {
    • "storageUsed": 0,
    • "storageRemaining": 0,
    • "storageQuota": 0,
    • "deletedDate": "string"
    }
}

Get site by hostname

Returns a SharePoint site by hostname

Authorizations:
auth0
path Parameters
hostname
required
string

Site hostname

Responses

Response samples

Content type
application/json
null

Upload

Document upload operations

Upload file

Uploads a file to SharePoint via multipart form data

Authorizations:
auth0
query Parameters
folderId
string

Parent folder ID (optional)

Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "size": 0,
  • "webUrl": "string",
  • "mimeType": "string",
  • "uploadedAt": "2022-03-10T12:15:50-04:00",
  • "success": true,
  • "message": "string"
}

Get download URL

Gets the download URL for a document

Authorizations:
auth0
path Parameters
documentId
required
string

Document ID

Responses

Response samples

Content type
application/json
null

User Info

Authenticated user information

Get current user info

Returns identity info and roles for the authenticated user

Authorizations:
auth0

Responses

Response samples

Content type
application/json
{
  • "subject": "string",
  • "email": "string",
  • "name": "string",
  • "givenName": "string",
  • "familyName": "string",
  • "preferredUsername": "string",
  • "picture": "string",
  • "emailVerified": true,
  • "roles": [
    • "string"
    ],
  • "department": "string",
  • "needsReauth": true,
  • "permissions": {
    • "canReadDeals": true,
    • "canSearchDeals": true,
    • "canCreateDeals": true,
    • "canImportDeals": true,
    • "canImportDealsBulk": true,
    • "canUpdateDeals": true,
    • "canSendDeals": true,
    • "canRecallDeals": true,
    • "canSkipDealStages": true,
    • "canParallelDealStages": true,
    • "canCompleteDealStages": true,
    • "canProposeDealDrops": true,
    • "canApproveDealDrops": true,
    • "canRejectDealDrops": true,
    • "canReactivateDeals": true,
    • "canCreateDealComments": true,
    • "canUpdateDealComments": true,
    • "canAddDealTeam": true,
    • "canRemoveDealTeam": true,
    • "canReadDealHistory": true,
    • "canReadDealLogs": true,
    • "canReadDealAudit": true,
    • "canUpdateDealProbability": true,
    • "canUpdateDealDates": true,
    • "canReadDealChecklist": true,
    • "canUpdateDealChecklist": true,
    • "canReadCallMemos": true,
    • "canCreateCallMemos": true,
    • "canUpdateCrossSellProducts": true,
    • "canReadDealDocuments": true,
    • "canUploadDealDocuments": true,
    • "canDownloadDealDocuments": true,
    • "canDeleteDealDocuments": true,
    • "pacCanInitiate": true,
    • "pacCanWithdraw": true,
    • "pacCanSetAgenda": true,
    • "pacCanVote": true,
    • "pacCanAdjudicate": true,
    • "crecoCanInitiate": true,
    • "crecoCanWithdraw": true,
    • "crecoCanSetAgenda": true,
    • "crecoCanVote": true,
    • "crecoCanAdjudicate": true,
    • "excoCanInitiate": true,
    • "excoCanWithdraw": true,
    • "excoCanSetAgenda": true,
    • "excoCanVote": true,
    • "excoCanAdjudicate": true,
    • "canReadApprovals": true,
    • "canReadApprovalsDashboard": true,
    • "canReadDocuments": true,
    • "canSearchDocuments": true,
    • "canUploadDocuments": true,
    • "canDownloadDocuments": true,
    • "canDeleteDocuments": true,
    • "canCreateDocumentFolders": true,
    • "canShareDocuments": true,
    • "canManageDocumentPermissions": true,
    • "canReadSites": true,
    • "canReadUsers": true,
    • "canReadUserRoles": true,
    • "canUpdateUserDepartments": true,
    • "canUpdateUserRoles": true,
    • "canReadNotifications": true,
    • "canUpdateNotifications": true,
    • "canDeleteNotifications": true,
    • "canStreamNotifications": true,
    • "canReadAnalytics": true,
    • "canReadReports": true,
    • "canReadSession": true,
    • "canReadLookups": true,
    • "canViewDealsSection": true,
    • "canViewInstancesSection": true,
    • "canViewVotingSection": true
    }
}

Get current user roles

Returns the supported roles assigned to the authenticated user

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Users

User management

List users

Lists all users with pagination

Authorizations:
auth0
query Parameters
page
integer <int32>
Default: 0

Page number (0-based)

pageSize
integer <int32>
Default: 20

Page size

Responses

Response samples

Content type
application/json
null

Users by department

Lists users with a specific department

Authorizations:
auth0
query Parameters
department
required
string

Department name

page
integer <int32>
Default: 0

Page (0-based)

pageSize
integer <int32>
Default: 20

Page size

Responses

Response samples

Content type
application/json
null

Get user by email

Finds a single user by exact email

Authorizations:
auth0
query Parameters
email
required
string

User email

Responses

Response samples

Content type
application/json
null

List departments

Returns all available department values

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

List available roles

Returns all available user roles

Authorizations:
auth0

Responses

Response samples

Content type
application/json
null

Search users

Searches users by name or email

Authorizations:
auth0
query Parameters
q
required
string

Search query

fields
string

Scope: comma-separated list of fields to search. Supported: 'name'. Default = name+email.

page
integer <int32>
Default: 0

Page number (0-based)

pageSize
integer <int32>
Default: 20

Page size

Responses

Response samples

Content type
application/json
null

Update user department

Assigns or removes a department for a user (admin only)

Authorizations:
auth0
path Parameters
userId
required
string

User email

Request Body schema: application/json
required
department
string (Department)
Enum: "ORIGINATION" "CREDIT_ANALYSIS" "CREDIT_MANAGEMENT" "PAC_SECRETARIAT" "PAC_COMMITTEE" "CRECO" "EXCO" "LEGAL" "FINANCE"

Responses

Request samples

Content type
application/json
{
  • "department": "ORIGINATION"
}

Response samples

Content type
application/json
null

Get a user's permission breakdown

Returns permissions sourced from app-defined roles (UserRole.ALL) plus any app-known permissions assigned directly to the user. Auth0 roles that are not part of this app (e.g. Auth0-wide admin roles) and permissions outside PermissionCatalog are filtered out.

Authorizations:
auth0
path Parameters
userId
required
string

User email

Responses

Response samples

Content type
application/json
null

Update user roles

Assigns roles to a user, syncs to Auth0 (admin only)

Authorizations:
auth0
path Parameters
userId
required
string

User email

Request Body schema: application/json
required
roles
Array of strings

Responses

Request samples

Content type
application/json
{
  • "roles": [
    • "string"
    ]
}

Response samples

Content type
application/json
null