GET
/
operations
/
connection_health
/
{merchant_id}
curl --request GET \
  --url https://sandbox-api.violet.io/v1/operations/connection_health/{merchant_id}
{
  "merchant_id": 123,
  "merchant_name": "<string>",
  "merchant_email": "<string>",
  "merchant_status": "INACTIVE",
  "platform": "OTHER",
  "store_url": "<string>",
  "distribution_type": "PUBLIC",
  "connection": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "results": {
      "isConnected": true,
      "hasActivePlatformPlan": true,
      "hasShippingMethods": true,
      "storeScopes": {
        "hasValidScopes": true,
        "requiredScopes": [
          "<string>"
        ],
        "missingScopes": [
          "<string>"
        ]
      },
      "connected": true
    }
  },
  "scope_validation": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "results": {
      "valid": true,
      "missing_scopes": [
        "<string>"
      ]
    }
  },
  "sync_status": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "results": {
      "id": 123,
      "merchant_id": 123,
      "status": "NOT_STARTED",
      "abort": true,
      "total_products": 123,
      "total_products_synced": 123,
      "resync_required": true,
      "date_last_synced": "2023-11-07T05:31:56Z",
      "taxonomy_synced": true,
      "webhooks_created": true
    }
  },
  "invalid_products": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "results": {
      "count": 123,
      "invalid_product": {
        "id": 123,
        "external_id": "<string>",
        "name": "<string>",
        "thumbnail_url": "<string>",
        "merchant_id": 123,
        "issues": "<string>",
        "status": "UNRESOLVED",
        "date_created": "2023-11-07T05:31:56Z",
        "date_last_modified": "2023-11-07T05:31:56Z"
      }
    }
  },
  "offers_published": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "results": {
      "sync_complete": true,
      "count": 123
    }
  },
  "payout_account": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "results": {
      "id": 123,
      "account_id": 123,
      "account_type": "MERCHANT",
      "external_id": "<string>",
      "country_code": "<string>",
      "status": "INCOMPLETE",
      "verified": true,
      "date_created": "2023-11-07T05:31:56Z",
      "date_last_modified": "2023-11-07T05:31:56Z",
      "payment_service_account_type": "EXPRESS",
      "payment_service": "STRIPE",
      "details": {
        "legal_entity_address_city": "<string>",
        "legal_entity_address_state": "<string>",
        "legal_entity_address_country": "<string>",
        "legal_entity_address_postal_code": "<string>",
        "legal_entity_date_of_birth": "2023-11-07T05:31:56Z",
        "legal_entity_business_name": "<string>",
        "account_holder_name": "<string>",
        "legal_entity_business_tax_id": "<string>",
        "legal_entity_first_name": "<string>",
        "legal_entity_last_name": "<string>",
        "legal_entity_ssn_last_four": "<string>",
        "legal_entity_type": "<string>",
        "ssn_last_4_provided": true,
        "tosAccepted": true,
        "legal_entity_currency": "<string>",
        "statement_descriptor": "<string>",
        "website_url": "<string>",
        "email": "<string>",
        "phone": "<string>",
        "payoutsEnabled": true,
        "paymentsEnabled": true,
        "hasPayoutAccount": true,
        "disabledReason": "<string>",
        "currentlyDue": [
          "<string>"
        ],
        "eventuallyDue": [
          "<string>"
        ],
        "pastDue": [
          "<string>"
        ],
        "pendingVerification": [
          "<string>"
        ],
        "legal_entity_address_line_1": "<string>",
        "legal_entity_address_line_2": "<string>"
      }
    }
  },
  "migration": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "results": "MIGRATION_REQUIRED"
  },
  "commission_rate": {
    "status": "COMPLETE",
    "error": {
      "id": {},
      "message": "<string>",
      "error": "<string>",
      "code": 123,
      "ids": [
        {}
      ]
    },
    "default_rate": 123,
    "overrides": [
      {
        "status": "COMPLETE",
        "error": {
          "id": {},
          "message": "<string>",
          "error": "<string>",
          "code": 123,
          "ids": [
            {}
          ]
        },
        "app_id": 123,
        "rate": 123,
        "commission_locked": true
      }
    ]
  }
}

Retrieve the connection health for a specific Merchant given their merchant_id. You can use this endpoint to understand whether or not merchants are ready for transactions through your app.

This endpoint cached once every 24 hours. The data you see may be stale, although if you refresh a specific merchant, those updates will be reflected here. We highly recommend subscribing to our Webhooks to get accurate information about when a merchant needs attention.

Headers

X-Violet-Token
string
X-Violet-App-Secret
string
X-Violet-App-Id
integer

Path Parameters

merchant_id
integer
required

Query Parameters

app_id
integer
refresh
boolean
default: false

Will refresh and re-calculate the merchant's connection health. This is a heavy operation and should not be done programmatically. Only pass this param when you have reason to believe something has changed the merchant's status. We recommend using our webhooks to be notified when a merchant has become unhealthy or has completed onboarding.

Response

default - application/json
merchant_id
integer

The id of the merchant this connection health report pertains to

merchant_name
string

The name of the merchant this connection health report pertains to

merchant_email
string

The obfuscated email address of the merchant this connection health report pertains to

merchant_status
enum<string>

The status/state of the merchant this connection health report pertains to

Available options:
INACTIVE,
ACTIVE,
DISABLED,
NEW,
DISABLED_INACTIVE,
FOR_DELETION,
APPLICATION_IN_PROGRESS,
APPLICATION_SUBMITTED,
APPLICATION_DENIED,
APPLICATION_ACCEPTED
platform
enum<string>

The eCommerce platform this merchant uses

Available options:
OTHER,
SHOPIFY,
MAGENTO,
MAGENTO_ONE,
WOOCOMMERCE,
BIGCOMMERCE,
LIGHTSPEED,
ECWID,
YAAS,
SPREECOMMERCE,
DEMANDWARE,
VOLUSION,
PRESTASHOP,
THREEDCART,
SYLIUS,
WIX,
SWELL,
MIVA,
WEBSPHERE,
ORACLECC,
SAPCC,
SQUARESPACE,
SHOPWARE,
COMMERCETOOLS,
MEDUSA,
ABICART,
SPRYKER,
MYSTORE,
CENTRA,
XCART,
VTEX,
KIBO,
SALEOR,
VENDO,
CHORD,
DIGITALRIVER,
SQUARE,
AMAZON,
BIGCARTEL,
CUSTOM
store_url
string

The URL Of the Store

distribution_type
enum<string>

The distribution type this merchant is set to

Available options:
PUBLIC,
PRIVATE
connection
object

The status object for the merchant connection

scope_validation
object

The status object for the merchant connection

sync_status
object

The status object for the product sync

invalid_products
object

The status object for the merchant invalid products

offers_published
object

The status object for offers published

payout_account
object

The status object for the merchant payout account

migration
object

The status object for the merchant payout account migration

commission_rate
object

The status object for the merchant commission rate