Skip to content
Seismic Orchestration

PATCH /customers/:id/accounts/fiat/:account_id/holder

Correct the holder facts on an external bank account:

  • Record the industry of the business that holds it, for an account registered without account_holder.industry, or correct the code on one that has it.
  • Record who the holder is to the customer, for an account registered without account_holder.relationship, or correct the code on one that has it. A third-party account without one can be registered for fewer settlement options — see holder relationship and industry.
  • Correct account_holder.is_third_party, for an account registered as third-party that the customer actually owns, or the reverse.

Some payment setups file a business bank account under the industry of the business that owns it, so an account without one reaches fewer payout routes. A first-party account falls back to the industry on the customer's KYB profile, but a third-party business has nothing to fall back on. See holder industry.

The change is recorded on the account, and the account is then submitted again wherever it could not be registered before. Registrations that already exist are not changed. The response waits for those submissions to answer, for up to about 30 seconds; a submission still running after that keeps going in the background, and later reads reflect its result.

Path parameters

ParameterTypeNotes
iduuidThe customer that owns the account. For an account your org holds itself, your org id.
account_iduuidThe external fiat account's id.

Request

FieldTypeRequiredNotes
industrystringnoSix-digit NAICS code listed by GET /v0/industries/account-holder. Replaces any industry already on the account.
is_third_partybooleannotrue when the account belongs to someone other than the customer.
relationshipstringnoOne of the codes the requirements response lists under account_holder.relationship for the holder's type. Replaces any relationship already on the account.

Send at least one field. An omitted field is left as it is.

Only accounts whose account_holder.type is "business" take an industry.

Changing is_third_party clears the account's account_holder.relationship, since that code described the holder's relationship under the old setting. Send relationship in the same request to record the new one.

Response 200

The updated account, with the changes under account_holder. Later reads return them there too.

{
  "id": "2c36…",
  "kind": "fiat",
  "origin": "external",
  "currency": "USD",
  "status": "active",
  "account_holder": {
    "type": "business",
    "name": "Acme Supplies Inc.",
    "is_third_party": true,
    "industry": "541512"
  }
}

Errors

  • 400 Validation: the body has none of industry, is_third_party and relationship.
  • 400 Validation: relationship is not one of the codes offered for the holder's type; the error lists the accepted ones.
  • 400 InvalidRequest industry: not a code listed by GET /v0/industries/account-holder, with a not_in_allowed_set violation. An industry already on the account is kept until a request names a new one, even if the list no longer has it.
  • 400 Validation: the account's holder is an individual. Only a business holder has an industry.
  • 400 Validation: the account is closed.
  • 404 CustomerNotFound: the customer doesn't exist or belongs to a different org.
  • 404: no external fiat account with that account_id belongs to this customer.

Example

curl -X PATCH "$SEISMIC_ORCHESTRATION_URL/v0/customers/d27a…/accounts/fiat/2c36…/holder" \
  -H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "industry": "541512"
  }'
const account = await client.customers.updateExternalFiatHolder(customerId, accountId, {
  industry: "541512",
});

Recording a vendor relationship on an account registered without one:

curl -X PATCH "$SEISMIC_ORCHESTRATION_URL/v0/customers/d27a…/accounts/fiat/2c36…/holder" \
  -H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "relationship": "VEND"
  }'

Marking an account the customer owns as first-party:

curl -X PATCH "$SEISMIC_ORCHESTRATION_URL/v0/customers/d27a…/accounts/fiat/2c36…/holder" \
  -H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "is_third_party": false
  }'