Skip to main content
The Integrations API lets you manage connections to payment gateways, accounting software, and other third-party providers. Credentials are stored encrypted — secrets are write-only and are never returned in GET responses. All integration endpoints require the Admin role.
Secrets fields (marked isSecret in templates) are write-only. Once saved, they cannot be retrieved by any GET endpoint. To replace a secret, use the rotate-secrets endpoint.

Integration types

The integrationType field uses the following enumeration values:

GET /api/integration-templates

Returns all available integration templates. Use templates to understand which fields are required before creating an integration. For OAuth providers (e.g. QuickBooks), the response includes the callbackUrl you must register with the external service. Security: Admin policy

Query parameters

integer
Filter templates by integration type. See the Integration types table for valid values. Omit to return all templates.

Response

array
Array of integration template objects.
Example response
curl example — all templates
curl example — filter by type

GET /api/integrations/available

Returns all available integration templates enriched with the current configuration and connection status for your organization. Results are grouped by integration type. Security: Admin policy

Response

string
Your organization’s identifier.
integer
Total number of available integrations.
integer
Number of integrations you have configured.
integer
Number of integrations that are currently enabled.
object
Dictionary keyed by integration type, where each value is an array of AvailableIntegration objects.
curl example

POST /api/organizations//integrations

Creates a new integration for the specified organization. Pass non-sensitive settings in configuration and sensitive credentials in secrets — secrets are encrypted at rest and are never returned by any GET endpoint. Security: Admin policy

Path parameters

string
required
Your organization’s unique identifier.

Request body

integer
required
Integration type. See the Integration types table.
string
required
Provider identifier, e.g. AuthorizeNet or QuickBooks. Must match a template provider value.
string
required
A human-readable name for this integration instance (e.g. Main Payment Gateway).
boolean
default:"true"
Whether the integration should be enabled immediately.
object
Key-value pairs of non-sensitive configuration settings. Keys must match the configurationFields keys from the provider’s template.
object
Key-value pairs of sensitive credentials. Keys must match the secretFields keys from the provider’s template. Values are stored encrypted and are never returned.

Response

string
Unique identifier of the newly created integration.
string
Your organization’s identifier.
integer
Integration type.
string
Provider identifier.
string
Display name of the integration.
boolean
Whether the integration is enabled.
string
ISO 8601 timestamp of when the integration was created.
Example request — Authorize.Net
Example response
curl example

GET /api/organizations//integrations

Returns all integrations configured for the specified organization. Secrets are never included in the response. Security: Admin policy

Path parameters

string
required
Your organization’s unique identifier.

Query parameters

integer
Filter results by integration type. See the Integration types table.
boolean
Filter results by enabled status. Omit to return all.

Response

array
Array of integration summary objects (secrets omitted).
curl example

GET /api/organizations//integrations/

Returns detailed information about a specific integration, including its configuration and the list of available fields from the provider template. Secrets are never included. Security: Admin policy

Path parameters

string
required
Your organization’s unique identifier.
string
required
The integration’s unique identifier.

Response

string
Unique integration identifier.
string
Organization identifier.
integer
Integration type.
string
Provider identifier.
string
Display name.
boolean
Whether the integration is enabled.
string
ISO 8601 creation timestamp.
string
ISO 8601 last-updated timestamp.
object
Non-sensitive configuration key-value pairs. Secrets are excluded.
string
Identity of the user who created the integration.
object
Fields available for this provider from the template, including configurationFields, secretFields, requiresOAuth, documentationUrl, and supportedFeatures.
curl example

PUT /api/organizations//integrations/

Updates an existing integration’s display name, enabled status, configuration, and/or secrets. If you update secrets, the API flags that a connection test is recommended. Security: Admin policy

Path parameters

string
required
Your organization’s unique identifier.
string
required
The integration’s unique identifier.

Request body

string
New display name for the integration.
boolean
Enable or disable the integration.
object
Updated non-sensitive configuration key-value pairs. Merged with existing configuration.
object
Updated secret key-value pairs. Values are encrypted and overwrite existing secrets for the supplied keys. Cannot be retrieved after saving.

Response

boolean
true if secrets or critical configuration keys (e.g. IsSandbox, Environment) were changed. Run a connection test to verify.
curl example

POST /api/organizations//integrations//test

Tests connectivity and authentication for the specified integration. The result is recorded on the integration and reflected in the testStatus field of subsequent list/get responses. Security: Admin policy

Path parameters

string
required
Your organization’s unique identifier.
string
required
The integration’s unique identifier.

Response

string
The integration that was tested.
boolean
true if the connection test passed.
string
Human-readable result message (e.g. Connection test successful).
string
ISO 8601 timestamp of when the test was performed.
Example response
curl example

POST /api/organizations//integrations//connect

Initiates an OAuth authorization flow for OAuth-based providers (e.g. QuickBooks). Returns an authorizationUrl that you redirect the user to. The OAuth URL expires after 15 minutes. Security: Admin policy
Before calling this endpoint, ensure you have registered the callbackUrl from the integration template with the external provider’s developer console.

Path parameters

string
required
Your organization’s unique identifier. Resolved from the JWT OrganizationId claim.
string
required
The integration’s unique identifier.

Request body

string
required
An opaque string (typically your application’s return URL) that Nymble Commerce encodes into the OAuth state parameter and returns to your callback. Use this to redirect the user back to the correct page after authorization.

Response

string
The OAuth authorization URL. Redirect your user to this URL to begin the OAuth flow.
curl example

POST /api/organizations//integrations//rotate-secrets

Rotates (replaces) the secrets for the specified integration. Optionally runs a connection test after rotation to validate the new credentials. Use this endpoint for periodic security compliance key rotation. Security: Admin policy

Path parameters

string
required
Your organization’s unique identifier.
string
required
The integration’s unique identifier.

Request body

object
required
Key-value pairs of new secret values. Keys must match the secretFields keys from the provider’s template. Values are encrypted at rest and are never returned.
boolean
default:"true"
Whether to automatically run a connection test after updating the secrets. Strongly recommended.

Response

boolean
true if the post-rotation connection test passed. Only meaningful when testConnectionAfterRotation was true.
Example request
Example response
curl example

DELETE /api/organizations//integrations/

Permanently deletes an integration and all associated configuration and encrypted credentials. Security: Admin policy
This action permanently removes the integration, including all stored credentials. It cannot be undone. If an integration is actively used by payment methods or other services, disable it first or contact support before deleting.

Path parameters

string
required
Your organization’s unique identifier.
string
required
The integration’s unique identifier.

Response

curl example