1. Online Payments
  • Developer Docs Ecuador 🇪🇨
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Refund a transaction
      • Void a transaction
      • Request deferred options
      • Validate OTP
      • Bin Info V2
      • Bin Info
    • One Click and 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
      • Get recurring charge Info
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • Subscription Transactions
      • Get subscription transactions
    • Transfer in
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • Cash in
      • Request a cash in token
      • Init Transaction
      • Update a cash in transaction
      • Transaction Status
      • Delete a cash in transaction
    • Smartlinks
      • Create a Smartlink
      • Update a Smartlink
      • Get a Smartlink
      • Delete a smartlink
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Status
      • Get gateway status
      • Get platform status
    • Commissions
      • Get Commission Configuration
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Activate or deactivate
      • Delete credential
      • Update credential
      • Regenerate a credential
      • Advanced search
    • Payment Button
      • Create a payment button
    • Settlement
      • Query settlement
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • threeDomainSecure
    • webhooks
    • Card-old
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • StatusComponent
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • Card
    • currency
    • networkToken
    • ChargebackItem
    • ErrorResponse
    • SettlementTicketRequest
    • SubscriptionTransaction
    • Subscription
    • Amount
    • ErrorResponse400
    • SettlementResponse
    • extraTaxes
    • Country
    • ErrorResponse401
    • SettlementRecord
    • Language
    • Deferred
    • ErrorResponse403
    • Metadata
    • payment_method
    • ErrorResponse500
    • ContactDetails
    • documentType
    • orderDetails
    • Shipping Address
    • Billing-Address
    • payment_submethod
    • SubscriptionUpdate
    • product
    • SubscriptionAdjustmentRequest
    • threeDomainSecure
    • webhooks
    • headers
    • webhooksChargeback
    • citMit
    • network
    • binInfo
    • messageFields
    • UnexpectedErrorResponse
    • ExternalReferenceId
    • transactionType
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨
Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨
Colombia 🇨🇴Chile 🇨🇱
  1. Online Payments

Payment Credentials

Programmatically create and manage payment credentials (API keys) for your merchant account. Use this API to provision, search, enable, disable, update, and rotate credentials without going through the Kushki Console.
Keep in mind!
All endpoints require a master credential. The Private-Merchant-Id header must belong to a main or master credential, which can only be generated by a Credential Master user — available on demand. Contact Kushki to activate this role.

Credential Model#

Kushki credentials follow a master / slave hierarchy:
TypeDescription
masterRoot credential for a merchant. Required to call all endpoints in this API.
slaveCredentials created under a master. Used in day-to-day payment integrations.
Each credential has three identifiers:
FieldUsed as
credential_idInternal Kushki reference for managing the credential
public_credential_idPublic Key — used in frontend/token requests
private_credential_idPrivate Key — used in backend/charge requests

Authentication#

All endpoints require the master Private-Merchant-Id as a header:

Endpoints#

Create a Credential#

POST /payment-credentials/v1/credential
Creates a new credential with its own public and private keys under your merchant account.
Request body:
FieldRequiredDescription
merchant_id✅Merchant ID to associate the credential with
alias❌Friendly name for the credential
enable❌Whether the credential is active at creation. Default: false
hidden❌Whether to hide the credential in the Console
metadata❌Custom key-value data
Response: returns alias, credential_id, public_credential_id, private_credential_id, and metadata.

Search Credentials#

POST /payment-credentials/v1/credential/search
Returns a paginated list of credentials associated with a merchant, with optional field-level filters.
Request body:
FieldRequiredDescription
merchantId✅Merchant ID to search credentials for
limit✅Max number of credentials to return
offset❌Starting position for pagination
filter❌Object to narrow results by alias, merchantId, privateCredentialId, publicCredentialId, or credentialId
Response: data[] array of credential objects nested under _source, plus total count.

Advanced Search#

POST /payment-credentials/v1/credential/suggestions
Searches credentials by keyword. Useful for autocomplete or fuzzy name lookups.
FieldDescription
searchTermKeyword to search across credential fields
merchantIdMerchant ID scope for the search
Response: data[] array of matching credentials with all fields at root level, plus total.

Activate or Deactivate#

PATCH /payment-credentials/v1/credential/status/{credentialId}
Enables or disables a credential. Disabled credentials cannot be used to process payments.
{ "action": "ACTIVATE" }
actionEffect
ACTIVATEEnables the credential
DEACTIVATEDisables the credential — payments using it will be rejected
Returns E008 if the credential is already in the requested state.

Update Credential#

PATCH /payment-credentials/v1/credential/{credentialId}
Updates the alias or metadata of an existing credential.
FieldRequiredDescription
merchantId✅Merchant ID that owns the credential
alias❌New friendly name
metadata❌Updated custom key-value data

Delete Credential#

DELETE /payment-credentials/v1/credential/{credentialId}
Permanently removes a credential. Once deleted, any integration using it will stop working.
No request body needed. Returns 200 on success.

Regenerate a Credential#

PATCH /payment-credentials/v1/credential/recover/{public_credential_id}
Generates new public and private keys for the specified credential.
This action automatically replaces the old keys across all integrations using them. There is no rollback. Any system still holding the old credentials will stop working immediately after regeneration.
Use the public_credential_id (the current Public Key) as the path parameter.

Credential Fields Reference#

FieldTypeDescription
credentialIdstringInternal identifier — use this in path parameters
publicCredentialIdstringPublic Key for frontend and token requests
privateCredentialIdstringPrivate Key for backend and charge requests
aliasstringFriendly display name
typestringmaster or slave
enablebooleanWhether the credential is currently active
hiddenbooleanWhether hidden from the Console UI
createdintegerUnix timestamp (ms) of creation
deleteAtintegerUnix timestamp (ms) of deletion. 0 if not deleted

Error Codes#

CodeMessageCause
K004ID de comercio o credencial no válidoInvalid or unauthorized Private-Merchant-Id
E003Cuerpo de la petición no válidoMalformed request body
E005No existen las credencialescredentialId not found
E006El ID de comercio no corresponde a la credencial enviadaMerchant ID does not match the credential provided
E008Credencial ya se encuentra en estado ACTIVO / INACTIVOCredential is already in the requested activation state

Using the API#

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

Available Endpoints#

Create a Credential
Creates a new slave credential with its own public and private keys.
Search Credentials
Returns a paginated, filterable list of credentials for a merchant.
Advanced Search
Searches credentials by keyword for autocomplete or fuzzy lookups.
Activate or Deactivate
Enables or disables a credential by credentialId.
Update Credential
Updates the alias or metadata of an existing credential.
Delete Credential
Permanently removes a credential from the merchant account.
Regenerate a Credential
Issues new public and private keys, replacing the old ones across all integrations.

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