1. Online Payments
  • API Docs Peru 🇵🇪
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Preauthorization (tokenless)
      • Create payment (tokenless)
      • Void a transaction
      • Refund a transaction
      • Verify Account
      • Request deferred options
      • Authorize payments
      • Reauthorize payments
      • Capture an authorized payment
      • Validate OTP
      • Bin Info V2
      • Bin Info
    • One-Click & Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Update recurring charge card data
      • Make an One-click payment
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Card Out
      • Get Card Payout Token
      • Get Subscription Token
      • Push funds
      • Push Funds in subscriptions
      • Get transaction status
      • Delete Subscription
    • Transfer In
      • Get Bank List
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • Transfer Out
      • Get Bank List
      • Get Bank List V2
      • Request a Transfer Out token
      • Init Transaction
      • Get Status
      • Balance for Payouts
    • Cash In
      • Request a cash in token
      • Init Transaction
      • Transaction Status
    • Smartlinks V2
      • Create a Smartlink
      • Update a Smartlink
      • Get a Smartlink
      • Delete a smartlink
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • Gateway Status
      • Get gateway status
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Advanced search
      • Activate or deactivate
      • Delete credential
      • Update credential
      • Regenerate a credential
    • Payment Button
      • Create a payment button
    • Platform Status
      • Get platform status
    • Subscription Transactions
      • Get subscription transactions
    • Settlement
      • Query settlement
  • Card Present Payments (API Raw)
    • Release notes
    • Key Exchange Process
    • Test data
    • Kushki Error Catalog for POS transactions
    • The Amount Object
    • One-time Payments
      • Single payment
    • Two-step Payments
      • Authorization and capture
    • Voids & Refunds
      • Refund a transaction
      • Void & Reverse
    • Card information
      • Get BIN Info
      • Bin Info V2
      • Request deferred options
      • Balance inquiries
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good practices
      • Refunds
      • Card Payments
      • Check your webhooks
  • Kushki One
    • Cloud Services
      • Payment Cloud
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
        • Transaction Search
      • Print Cloud
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment Local
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Transaction Search — Local
        • Transaction Search — Online
        • Abort
      • Print Local
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Raíz
  • Schemas
    • Shared
      • ErrorResponse
      • BadRequestResponse
      • InvalidBinResponse
      • payment_method
      • payment_submethod
      • messageFields
      • Channel
    • Amount & Taxes
      • Amount-cash-in
      • GetConfigurationRequest
    • Identity & Contact
      • Shipping Address
    • Card & Payments
      • ChargesVoidCardResponse
      • Promotions
      • Submerchant
    • Subscriptions
      • SubscriptionUpdate
      • SubscriptionAdjustmentRequest
      • SubscriptionTransactionsResponse
    • Webhooks
    • Analytics
      • AnalyticsTransactionItem
      • AnalyticsListResponse
    • Settlement
      • SettlementDateRangeRequest
      • SettlementTicketRequest
      • SettlementResponse
    • Chargebacks
      • ChargebackListResponse
      • ChargebackSearchRequest
    • Cash
      • CashChargeInitRequest
      • CashStatusResponse
    • Transfer
      • TransferTokenRequest
      • TransferInitRequest
      • TransferStatusResponse
    • Payouts
      • PayoutsWebhooksItem
    • Smart Link
      • SmartLinkAmount
    • Terminal
      • AmountWithTaxes
      • AmountCore
      • AmountWithTip
      • TerminalCardDetails
      • TerminalPosDetails
      • TerminalContactDetails
      • TerminalCardData
      • TransactionResponse
      • LinkFailure
      • TransactionSearchRequest
      • PrintJobRequest
      • PrinterError
      • PrintJobStatus
      • PrintWebhookPayload
    • RequestBodies
      • one-and-two-step-payment
    • currency
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • card-old
    • AmountWithTaxes-old
    • Card
    • Shipping Address
    • transactionType
    • ChargebackItem-old
    • SettlementTicketRequest
    • SubscriptionTransaction
    • amount
    • AmountCore-old
    • CommandText-old
    • networkToken
    • Language
    • extra_taxes
    • card_details
    • currency
    • ErrorResponse400-old
    • webhooksItem
    • ErrorResponse
    • SettlementResponse
    • extra_taxes-old
    • ExtraTaxes-old
    • CommandColumns-old
    • currency
    • card
    • orderDetails-old
    • Country
    • ContactDetails-old
    • ErrorResponse401-old
    • SettlementRecord
    • pos_details-old
    • ColumnItem-old
    • Amount
    • amount
    • documentType
    • extraTaxes-old
    • ErrorResponse403-old
    • card_details-old
    • TransactionResponse-old
    • CommandDivider-old
    • extraTaxes
    • enc_tlv
    • payment_method
    • ErrorResponse500-old
    • threeDomainSecure
    • enc_tlv
    • RawResponse-old
    • CommandFeed-old
    • Deferred
    • pos_details
    • deferred
    • binInfo
    • contact_details-old
    • CardData-old
    • CommandSpace-old
    • paymentMethod-old
    • Metadata
    • contact_details
    • Billing-Address-old
    • Deferred-old
    • deferred-old
    • sub_merchant
    • AmountWithTip-old
    • CommandCut-old
    • ContactDetails
    • sub_merchant
    • headers
    • Amount-old
    • metadata
    • LinkFailure-old
    • CommandImage-old
    • metadata
    • SubscriptionUpdate
    • TransactionSearchRequest-old
    • CommandQR-old
    • orderDetails
    • Subscription
    • payment_submethod
    • citMit
    • SubscriptionAdjustmentRequest
    • CommandBarcode-old
    • Shipping Address
    • messageFields
    • PrinterError-old
    • Billing Address
    • webhooksChargeback
    • Language
    • PrintJobStatus-old
    • currency-cash-in-old
    • product
    • webhooks
    • networkToken-old
    • PrintWebhookPayload-old
    • currency-CL-old
    • threeDomainSecure
    • webhooks
    • product-old
    • headers
    • webhooksChargeback
    • UnexpectedErrorResponse-old
    • citMit
    • network
    • Card-old-old
    • Submerchant-old
    • binInfo
    • Shipping-Address-old
    • messageFields
    • Promotions-old
    • UnexpectedErrorResponse
    • transactionType
    • InvalidBinResponse-old
    • GetConfigurationRequest-old
    • BadRequestResponse-old
    • Amount-CL-old
BienvenidaPerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Online Payments

Payment Credentials

Payment Credentials lets you programmatically manage the API keys associated with your merchant account. Use it to create additional credential sets, rotate keys when they are compromised, control which credentials are active, and keep your integrations organised with aliases and metadata.
Prerequisite — Credential Master user
All endpoints require a master credential to authenticate. This master credential is tied to a Credential Master user account, which Kushki provisions on demand. Contact your Kushki account team to request one.

Operations at a glance#

OperationMethodEndpoint
Create credentialPOST/payment-credentials/v1/credential
Search credentialsPOST/payment-credentials/v1/credential/search
Advanced searchPOST/payment-credentials/v1/credential/suggestions
Activate / DeactivatePATCH/payment-credentials/v1/credential/status/{credentialId}
Update credentialPATCH/payment-credentials/v1/credential/{credentialId}
Regenerate keysPATCH/payment-credentials/v1/credential/recover/{public_credential_id}
Delete credentialDELETE/payment-credentials/v1/credential/{credentialId}

Create a credential#

Call POST /payment-credentials/v1/credential to generate a new public/private key pair under your merchant account.
Request:
{
  "merchant_id": "20000000103802320000",
  "alias": "Integración ecommerce",
  "enable": true,
  "hidden": false
}
Response:
{
  "credential_id": "f4c644b64951620ab8952ad58pl63901",
  "public_credential_id": "345213d7d1c64ba28eb88a3b4f1ab0b9",
  "private_credential_id": "c381037a5bfb00f2bd0ee899eb85fllq",
  "alias": "Integración ecommerce",
  "metadata": null
}
FieldRequiredDescription
merchant_idYesYour merchant identifier.
aliasNoHuman-readable label for this credential.
enableNotrue to activate immediately (default).
hiddenNotrue to hide from the Kushki Console.
metadataNoCustom key-value pairs for your own tracking.

Search credentials#

Call POST /payment-credentials/v1/credential/search to retrieve credentials for a merchant with optional filtering and pagination.
{
  "merchantId": "20000000103802320000",
  "limit": 10,
  "offset": 0,
  "filter": {
    "alias": "ecommerce",
    "credentialId": "f4c644b64951620ab8952ad58pl63901"
  }
}
FieldRequiredDescription
merchantIdYesMerchant to query.
limitYesNumber of results to return.
offsetNoPagination offset.
filter.aliasNoFilter by credential alias.
filter.credentialIdNoFilter by credential ID.
filter.publicCredentialIdNoFilter by public key.
filter.privateCredentialIdNoFilter by private key.
The response returns a data array of credential objects and a total count.

Advanced search#

Call POST /payment-credentials/v1/credential/suggestions to find credentials by a free-text keyword search across aliases and IDs.
{
  "merchantId": "20000000103802320000",
  "searchTerm": "ecommerce"
}

Activate or deactivate#

Call PATCH /payment-credentials/v1/credential/status/{credentialId} to enable or disable a credential without deleting it.
{
  "action": "DEACTIVATE"
}
action valueEffect
ACTIVATERe-enables a previously deactivated credential.
DEACTIVATEDisables the credential — requests using it will be rejected.

Update a credential#

Call PATCH /payment-credentials/v1/credential/{credentialId} to change the alias or metadata of an existing credential. The public/private keys are not affected.
{
  "merchantId": "20000000103802320000",
  "alias": "Nuevo alias",
  "metadata": { "env": "production" }
}

Regenerate keys#

Call PATCH /payment-credentials/v1/credential/recover/{public_credential_id} to rotate the public and private keys for a credential. Kushki automatically propagates the new keys to all active integrations that were using the old ones.
WARNING
Key rotation is immediate. Ensure your systems can handle the transition before regenerating keys in production.

Delete a credential#

Call DELETE /payment-credentials/v1/credential/{credentialId} to permanently remove a credential. This action cannot be undone — any integration still using the deleted credential will immediately stop working.

Authentication#

All endpoints use your master credential's Private Key:

Using the API#

🟢 Production
🧪 Sandbox (UAT)
https://api.kushkipagos.com/

Available Endpoints#

Create Credential
Generate a new public/private key pair under your merchant account.
Search Credentials
Retrieve credentials with pagination and optional filters by alias or ID.
Advanced Search
Find credentials using a free-text keyword across aliases and identifiers.
Activate / Deactivate
Enable or disable a credential without deleting it.
Update Credential
Change the alias or metadata of an existing credential.
Regenerate Keys
Rotate the public and private keys. Old keys are automatically replaced across active integrations.
Delete Credential
Permanently remove a credential. This action cannot be undone.

Got a suggestion on this documentation? Contact us.
Modified at 2026-07-11 00:04:39
Previous
Get gateway status
Next
Create a credential
Built with