Introduction

Production-ready partner integration endpoints for admin-provisioned API keys.

This documentation covers the partner integration surface for admin-provisioned API keys.

Use these endpoints when a partner is managing linked merchants and accessing partner-facing operational resources.

API keys are created by your SoftLemon admin team and delivered securely. Self-service onboarding and API key generation are not currently available.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

Use the API key provisioned by your SoftLemon admin team. Self-service onboarding and API key generation are not currently available.

Partner API

List merchants linked to the authenticated partner.

GET
https://api.sandbox.softlemons.com
/api/v1/merchants
requires authentication

Partner API keys only.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.sandbox.softlemons.com/api/v1/merchants" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: geolocation=(), microphone=(), camera=()
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
x-correlation-id: 3dd2d345-2809-436a-a5fc-7e212dd152ae
{
    "success": false,
    "message": "Authentication failed",
    "code": "ERR_AUTH_FAILED",
    "data": null
}

Get a specific merchant linked to the authenticated partner.

GET
https://api.sandbox.softlemons.com
/api/v1/merchants/{merchant_id}
requires authentication

Partner API keys only.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

merchant_id
integer
required

The ID of the merchant.

Example:
1
Example request:
curl --request GET \
    --get "https://api.sandbox.softlemons.com/api/v1/merchants/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: geolocation=(), microphone=(), camera=()
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
x-correlation-id: fea2428e-ae7d-44ea-a8a9-ca01bb0d061e
{
    "success": false,
    "message": "Authentication failed",
    "code": "ERR_AUTH_FAILED",
    "data": null
}

Get transactions for a merchant linked to the authenticated partner.

GET
https://api.sandbox.softlemons.com
/api/v1/merchants/{merchant_id}/transactions
requires authentication

Partner API keys only.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

merchant_id
integer
required

The ID of the merchant.

Example:
1

Query Parameters

status
string

Filter transactions by status.

Example:
success
from
string

Filter transactions created on or after this date.

Example:
2024-01-01
to
string

Filter transactions created on or before this date.

Example:
2024-12-31
per_page
integer

Number of transactions per page. Maximum 100.

Example:
25
Example request:
curl --request GET \
    --get "https://api.sandbox.softlemons.com/api/v1/merchants/1/transactions?status=success&from=2024-01-01&to=2024-12-31&per_page=25" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: geolocation=(), microphone=(), camera=()
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
x-correlation-id: 7e21dfb2-ead0-4dc0-8331-271a667870bf
{
    "success": false,
    "message": "Authentication failed",
    "code": "ERR_AUTH_FAILED",
    "data": null
}

API Operations

Get API Key Information

GET
https://api.sandbox.softlemons.com
/api/v1/key-info
requires authentication

Returns information about the API key being used to authenticate the request. API keys are provisioned by SoftLemon admins for merchants and partners. Self-service onboarding and API key generation are not currently available.

Headers

Authorization
Example:
Bearer {YOUR_AUTH_KEY}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.sandbox.softlemons.com/api/v1/key-info" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
referrer-policy: strict-origin-when-cross-origin
permissions-policy: geolocation=(), microphone=(), camera=()
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
x-correlation-id: 35f47563-2699-48dd-aa1b-daa8a7303e3f
{
    "success": false,
    "message": "Authentication failed",
    "code": "ERR_AUTH_FAILED",
    "data": null
}