> ## Documentation Index
> Fetch the complete documentation index at: https://portal.cxnpl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Constantinople Docs

> Build banking into your product with Constantinople

Constantinople Platform

Start building\
with Constantinople
===================

Everything you need to embed accounts, payments, and lending into your product. From first API call to production.

Search
<kbd>⌘</kbd>
<kbd>K</kbd>

[Quickstart](https://portal.cxnpl.com/quickstart.md)

[Authentication](https://portal.cxnpl.com/authentication.md)

[API reference](https://portal.cxnpl.com/api-reference/introduction.md)

```javascript Node theme={"system"}
const pay = (path, body) =>
  fetch(`${API}/b2b-gateway/partner/v1/payments/${path}`, {
    method: "POST",
    headers: {
      ...auth,
      "x-idempotency-key": crypto.randomUUID(),
    },
    body: JSON.stringify(body),
  }).then((r) => r.json());

const payee = await pay("pay-id/lookup", {
  type: "EMAIL",
  value: "accounts@example.com",
});
console.log(payee.owner.name);

const payment = await pay("credit-transfer", {
  paymentType: "AUS_PAYID",
  accountId,
  amount: 4250,
  paymentDetails: { lookupId: payee.lookupId },
  paymentSchedule: { scheduleCategory: "NOW" },
  scheme: payee.supportedSchemes[0].scheme,
  schemeFields: { reference: "INV-1042" },
});
console.log(payment.state);
```

```python Python theme={"system"}
import uuid, requests

def pay(path, body):
    return requests.post(
        f"{API}/b2b-gateway/partner/v1/payments/{path}",
        headers={**auth, "x-idempotency-key": str(uuid.uuid4())},
        json=body,
    ).json()

payee = pay("pay-id/lookup", {
    "type": "EMAIL",
    "value": "accounts@example.com",
})
print(payee["owner"]["name"])

payment = pay("credit-transfer", {
    "paymentType": "AUS_PAYID",
    "accountId": account_id,
    "amount": 4250,
    "paymentDetails": {"lookupId": payee["lookupId"]},
    "paymentSchedule": {"scheduleCategory": "NOW"},
    "scheme": payee["supportedSchemes"][0]["scheme"],
    "schemeFields": {"reference": "INV-1042"},
})
print(payment["state"])
```

```bash cURL theme={"system"}
curl "$API/b2b-gateway/partner/v1/payments/credit-transfer" \
  -H "authorization: $CXNPL_API_KEY" \
  -H "x-cxnpl-user-authorization: $TOKEN" \
  -H "x-idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" \
  -d '{
    "paymentType": "AUS_PAYID",
    "accountId": "'"$ACCOUNT_ID"'",
    "amount": 4250,
    "paymentDetails": {
      "lookupId": "'"$LOOKUP_ID"'"
    },
    "paymentSchedule": {
      "scheduleCategory": "NOW"
    },
    "scheme": "'"$SCHEME"'",
    "schemeFields": { "reference": "INV-1042" }
  }'
```

Platform

## Choose where to start

Pick the docs that match your role, whether you're integrating the API or reconciling the ledger.

### Banking API

Create customers, open accounts, and move money with the Constantinople REST API.

### Accounting Manual

General ledger codes, accounting scenarios, and the processes behind every posting.

Developer journey

## From idea to production

Follow the lifecycle or jump to what you need.

#### Get started

#### Build

#### Reconcile

#### Operate

Resources

## Keep learning

> [card] [What's new](https://portal.cxnpl.com/changelog/overview.md)
>
> Latest features and updates.

> [card] [Platform overview](https://portal.cxnpl.com/platform-overview.md)
>
> How the Constantinople platform fits together.

> [card] [cxnpl.com](https://www.cxnpl.com)
>
> Products, solutions, and case studies.
