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

# API Integration

> Complete overview of Propaga API endpoints and integration guide

Propaga's API provides a comprehensive set of endpoints to integrate Buy Now, Pay Later (BNPL) functionality into your platform. This guide provides an overview of all available API endpoints organized by category.

<Note>
  For detailed API documentation including request/response examples, parameters, and error codes, visit the [API Reference section](/api-reference/introduction).
</Note>

## Authentication

All API requests require authentication using an API key provided by the Propaga team. Include this key in the `Authorization` header of every request.

<Card title="Authentication" href="/api-reference/authentication">
  Learn more about API authentication
</Card>

**Base URLs:**

* Production: `https://api.propaga.io`
* Staging: `https://staging-api.propaga.io`

## API Categories

### Account Management

Manage user accounts, verification codes, and user data updates.

<CardGroup cols={2}>
  <Card title="Create verification code" href="/api-reference/account/create-verification-code">
    Create a new account record and send an OTP code to the customer
  </Card>

  <Card title="Validate token" href="/api-reference/account/validate-token-sent-to-user">
    Validate the OTP code sent to the user
  </Card>

  <Card title="Resend verification code" href="/api-reference/account/resend-account-verification-code">
    Resend the account verification code to the user
  </Card>

  <Card title="Create contract link" href="/api-reference/account/create-contract-link">
    Generate a contract link for the user
  </Card>

  <Card title="Update user data" href="/api-reference/account/update-user-data">
    Update user information
  </Card>
</CardGroup>

### Transaction Management

Create, manage, and track transactions throughout their lifecycle.

<CardGroup cols={2}>
  <Card title="Create transaction" href="/api-reference/transaction/create-a-new-transaction-and-sent-a-verification-to-the-user">
    Create a new transaction and send a verification code to the customer
  </Card>

  <Card title="Create transaction by batch" href="/api-reference/transaction/create-transaction-by-batch">
    Create multiple transactions in a single request
  </Card>

  <Card title="Create transaction link" href="/api-reference/transaction/create-transaction-link">
    Generate a payment link for a transaction
  </Card>

  <Card title="Get transaction" href="/api-reference/transaction/get-transaction">
    Retrieve transaction details by transaction ID
  </Card>

  <Card title="Get transaction by external ID" href="/api-reference/transaction/get-transaction-by-external-id">
    Retrieve transaction details using your internal transaction ID
  </Card>

  <Card title="Validate transaction verification" href="/api-reference/transaction/validate-transaction-verification">
    Validate the OTP code for a transaction
  </Card>

  <Card title="Resend transaction verification" href="/api-reference/transaction/resend-transaction-verification">
    Resend the verification code for a transaction
  </Card>

  <Card title="Resend verification code" href="/api-reference/transaction/resend-verification-code">
    Resend verification code to the customer
  </Card>

  <Card title="Update transaction delivery" href="/api-reference/transaction/update-transaction-delivery">
    Update the delivery status of a transaction
  </Card>

  <Card title="Update transaction cancel" href="/api-reference/transaction/update-transaction-cancel">
    Cancel a transaction
  </Card>

  <Card title="Update delivery word" href="/api-reference/transaction/update-delivery-word">
    Update the delivery word for a transaction
  </Card>

  <Card title="Resend delivery word" href="/api-reference/transaction/resend-delivery-word">
    Resend the delivery word to the customer
  </Card>

  <Card title="Create transaction invoice" href="/api-reference/transaction/create-transaction-invoice">
    Generate an invoice for a transaction
  </Card>

  <Card title="Get transaction invoice" href="/api-reference/transaction/get-transaction-invoice">
    Retrieve invoice information for a transaction
  </Card>

  <Card title="Create simulation" href="/api-reference/transaction/create-simulation">
    Create a transaction simulation for testing
  </Card>

  <Card title="Get transactions pending to notify" href="/api-reference/transaction/get-transactions-pending-to-notify">
    Retrieve list of transactions pending notification
  </Card>
</CardGroup>

### Corner Store Management

Manage corner store information and operations.

<CardGroup cols={2}>
  <Card title="Get corner store information" href="/api-reference/corner-store/corner-store-information">
    Retrieve corner store details by external ID
  </Card>

  <Card title="Get corner store information batch" href="/api-reference/corner-store/corner-store-information-batch">
    Retrieve multiple corner stores in a single request
  </Card>

  <Card title="Get default information" href="/api-reference/corner-store/default-information">
    Get default corner store configuration
  </Card>

  <Card title="Create waiting list record" href="/api-reference/corner-store/create-a-new-record-in-the-waiting-list">
    Add a new record to the waiting list
  </Card>
</CardGroup>

### KYC (Know Your Customer)

Handle customer onboarding and KYC verification processes.

<CardGroup cols={2}>
  <Card title="Corner store onboarding" href="/api-reference/kyc/onboarding">
    Complete the onboarding process for a corner store
  </Card>

  <Card title="Create KYC link" href="/api-reference/kyc/create-kyc-link">
    Generate a KYC verification link for the customer
  </Card>

  <Card title="Corner store name" href="/api-reference/kyc/corner-store-name">
    Update or retrieve corner store name information
  </Card>
</CardGroup>

### External Payments

Integrate with external payment providers and handle payment notifications.

<CardGroup cols={2}>
  <Card title="Notify payment" href="/api-reference/external-payments/notify-payment">
    Send payment notification to Propaga
  </Card>

  <Card title="Notify Facilito payment" href="/api-reference/external-payments/notify-facilito-payment">
    Send Facilito payment provider notification
  </Card>

  <Card title="Get amount to pay" href="/api-reference/external-payments/get-amount-to-pay">
    Retrieve the amount due for a transaction
  </Card>
</CardGroup>

### Invoice Management

Retrieve and manage invoice information.

<CardGroup cols={2}>
  <Card title="Get invoice information" href="/api-reference/invoice/get-invoice-information">
    Retrieve invoice details by invoice ID
  </Card>
</CardGroup>

## Integration Flow

The typical integration flow involves the following steps:

<Steps>
  <Step title="User Registration">
    Use the Account Management APIs to create and verify user accounts. This includes sending verification codes and validating OTP tokens.
  </Step>

  <Step title="KYC Verification">
    Complete the KYC process using the KYC endpoints to onboard corner stores and verify customer information.
  </Step>

  <Step title="Transaction Creation">
    Create transactions using the Transaction Management APIs. This includes sending verification codes to customers and managing the transaction lifecycle.
  </Step>

  <Step title="Transaction Verification">
    Validate transaction verification codes and update transaction statuses as needed (delivery, cancellation, etc.).
  </Step>

  <Step title="Payment Processing">
    Integrate with external payment providers using the External Payments APIs to notify Propaga of completed payments.
  </Step>
</Steps>

## Related Documentation

<CardGroup cols={2}>
  <Card title="API Reference" href="/api-reference/introduction">
    Complete API documentation with detailed endpoints, parameters, and examples
  </Card>

  <Card title="Transaction Flow" href="/about/transaction-flow">
    Understand the complete transaction lifecycle
  </Card>

  <Card title="Transaction Status" href="/about/transaction-status">
    Learn about transaction statuses and their meanings
  </Card>

  <Card title="User Status Flow" href="/about/user-status-flow">
    Understand user account statuses
  </Card>

  <Card title="Working with Propaga" href="/about/working-with-propaga">
    General overview of how Propaga works
  </Card>
</CardGroup>

## Webhooks

Propaga also provides webhooks to notify your system of important events. Learn more about available webhooks in the [Webhooks section](/webhooks/send-conciliation).
