Get merchant account status
const url = 'https://apisandbox.puurk.com/organizations/example/merchant-account';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://apisandbox.puurk.com/organizations/example/merchant-account \ --header 'Authorization: Bearer <token>'Reports whether an organization can be priced. GET /terms and POST /offers/{offerId}/services require a merchant account with a card method, both created by Stripe Connect onboarding. Poll this until status is active and card_method_configured is true — that is exactly the precondition those endpoints check. It reads stored state and never calls Stripe, so polling is cheap.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Organization ID
Responses
Section titled “Responses”Successful operation
Whether an organization can be priced. The raw Stripe account id is never returned.
object
setup — onboarding started but not complete. active — the organization can be priced. disabled — set by Puurk; payouts and scheduled payments stop for the organization. Onboarding only ever moves status forward to active; use charges_enabled / payouts_enabled for the live picture.
A Stripe Connect account exists for this organization.
A card payment method is configured. Pricing requires this and status: active.
Stripe’s flag as of the last account.updated sync. Null means no sync has reported it yet, which is not the same as false.
Stripe’s flag as of the last account.updated sync. Null means no sync has reported it yet.
Example
{ "status": "setup"}Invalid parameter — the oid path parameter is blank.
The standard error body. error is a stable, machine-readable code — branch on it rather than on message, which is for humans and may change.
object
Machine-readable error code.
Human-readable detail.
Example
{ "error": "merchant_account_missing", "message": "The organization has no merchant account. Complete Stripe Connect onboarding for this organization before generating pricing."}Unauthorized
forbidden — the token lacks the read action on organizations for this organization.
The standard error body. error is a stable, machine-readable code — branch on it rather than on message, which is for humans and may change.
object
Machine-readable error code.
Human-readable detail.
Example
{ "error": "merchant_account_missing", "message": "The organization has no merchant account. Complete Stripe Connect onboarding for this organization before generating pricing."}merchant_account_missing — the organization has no merchant account yet. Create one with the onboarding-link endpoint.
The standard error body. error is a stable, machine-readable code — branch on it rather than on message, which is for humans and may change.
object
Machine-readable error code.
Human-readable detail.
Example
{ "error": "merchant_account_missing", "message": "The organization has no merchant account. Complete Stripe Connect onboarding for this organization before generating pricing."}Server Error — unexpected failure reading the account.
The standard error body. error is a stable, machine-readable code — branch on it rather than on message, which is for humans and may change.
object
Machine-readable error code.
Human-readable detail.
Example
{ "error": "merchant_account_missing", "message": "The organization has no merchant account. Complete Stripe Connect onboarding for this organization before generating pricing."}