Skip to main content
POST
Add Paystack Credentials
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

Royalti never holds tenant funds — every Paystack call is signed with the workspace’s own key and moves money through the workspace’s own Paystack balance. Endpoint: /integrations/paystack Authorization:
  • Required role: owner only
Method: POST Request Body: One credential row per workspace. A second POST returns 409 — rotate the key with PUT, don’t add another row. The secret key is never echoed back in this or any other response.

Code Examples

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Body

application/json
secretKey
string
required
Example:

"sk_live_xxxxxxxxxxxxxxxxxxxx"

publicKey
string
Example:

"pk_live_xxxxxxxxxxxxxxxxxxxx"

name
enum<string>
Available options:
paystack
memo
string
Example:

"Label payout account"

Response

Credentials stored. Unlike every other Integration response, this one includes settings: publicKey (if supplied) is returned in cleartext, while secretKey is always dropped.

id
string<uuid>
Example:

"123e4567-e89b-12d3-a456-426614174000"

name
string
Example:

"vertofx"

enabled
boolean
Example:

true

metadata
object | null
Example:
memo
string | null
Example:

"Integration for VertoFX payments"

TenantId
string<uuid>
Example:

"123e4567-e89b-12d3-a456-426614174000"

IntegrationId
string<uuid>
Example:

"123e4567-e89b-12d3-a456-426614174000"

createdAt
string<date-time>
Example:

"2023-01-01T00:00:00Z"

updatedAt
string<date-time>
Example:

"2023-01-01T00:00:00Z"

settings
object

Present only on this response. publicKey is returned in cleartext when supplied; secretKey is never included.