> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yapily.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Silicon Valley Bank

## Links

[https://developer.svb.com](https://developer.svb.com/)

## Scopes

* Account Information🔒
* Payment Initiation🔒

## Supported ASPSPs

| ASPSP                               | Link                                                   | Supported | Institution ID                                       |
| ----------------------------------- | ------------------------------------------------------ | --------- | ---------------------------------------------------- |
| Silicon Valley Bank and its Sandbox | [https://developer.svb.com](https://developer.svb.com) | Yes       | `siliconvalleybank`<br />`siliconvalleybank-sandbox` |

## Registration Process

Silicon Valley Bank Supports Dynamic Registration for the above institutions. See the below onboarding section.

## Accounts and Payments Supported

### Accounts

* accounts
* balance
* transactions

### Payments

* Domestic Single Payments
* Domestic Scheduled Payments
* Domestic Periodic Payments
* Bulk Payments
* International Single Payments

## Onboarding ASPSP's to Yapily Application

### **LIVE & SANDBOX:**

**Precondition**: To connect to Live and Sandbox Silicon Valley Bank institutions a dynamic registration request (DCR) is needed.

**Pre-requisites for registration:**

* Valid OBWAC / OBSEAL certificates
* SSA (downloaded from OBIE directory) - ***Optional***

### Steps Required for registration

1. **Download your SSA from the OBIE directory if you desire (optional - see step 3.)**

   Open the OBIE Directory for your organisation, navigate to the SSA you want to use for the registration and generate the SSA. The downloaded SSA has to be passed as is to the registration endpoint; **do not alter the contents or format**.

2. Upload the signing (OBSEAL) and transport (OBWAC) certificates into V2 services

   **Request**

   ```shell theme={null}
   curl --location --request POST 'https://api.yapily.com/certificates/keys/' \
   --header 'Authorization: Basic YOUR_APPLICATION_CREDENTIALS_AS_BASIC_AUTH' \
   --header 'Content-Type: application/json' \
   --data-raw '[{
      "pem": "$YOUR_PUBLIC_KEY_AS_PEM",
      "key": "$YOUR_PRIVATE_KEY",
      "kid" : "$CERT_KID",
      "name" : "$CERTIFICATE_NAME"
   }]'
   ```

   **Response**

   ```json theme={null}
   {
   "id": "d16f87d3-4222-4173-b8b9-44aeccacae7d",
   ....
   }
   ```

   Save the id and remember for which kind of key it corresponds:
   e.g. `SIGNING_KEY_UUID = d16f87d3-4222-4173-b8b9-44aeccacae7d`

   Once you have done it for the signing key, do the same request for your transport key.

## Support

If you require technical support with certificate management, please contact [Support](/resources/support).

3. **Call the registration endpoint**

   The final step is to call the registration endpoint with the certificate UUIDs and the downloaded SSA if manually supplying:

   **Request**

   Do not alter the downloaded SSA. Pass directly to the register endpoint in its JWS format.

   ```shell theme={null}
   curl --location --request POST 'https://api.yapily.com/institutions/siliconvalleybank/register' \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Bearer YOUR_APPLICATION_CREDENTIALS_AS_BASIC_AUTH' \
        --data-raw '{
               "signingKeyID": "$SIGNING_KEY_UUID",
               "transportKeyID": "$TRANSPORT_KEY_UUID",
               "apiTypes": ["AISP","PISP"],
               "ssa": "$DOWNLOADED_SSA"
        }'
   ```

   If you are not manually supplying the SSA, then you will need to add two additional request body parameters; `softwareStatementId` and `organisationId` - these must match the JWKS URL that corresponds to your OB certificates :

   ```shell theme={null}
   curl --location --request POST 'https://api.yapily.com/institutions/siliconvalleybank/register' \
        --header 'Content-Type: application/json' \
        --header 'Authorization: Bearer YOUR_APPLICATION_CREDENTIALS_AS_BASIC_AUTH' \
        --data-raw '{
               "signingKeyID": "$SIGNING_KEY_UUID",
               "transportKeyID": "$TRANSPORT_KEY_UUID",
               "apiTypes": ["AISP","PISP"],
               "softwareStatementId : "N7i....",
               "organisationId : "14000...."
        }'
   ```

   **Response**

   ```json theme={null}
   {
      "id": "a0460a91-4b4c-422a-bbe6-bebe0b92e308"
   }
   ```

   Note above ID, this will be the clientId which can be further used to Get, Modify, Delete registrations with Yapily

## Support

If you require technical support with certificate management, please contact [Support](/resources/support).
