5:00 AM – 5:30 PM PT M-F
0800.023.1441 | +44.207.367.7881
8:00 AM – 1:30 AM GMT
SVB PPP Care TeamSVBPPPCare@svb.com
5:00 AM – 5:30 PM PT M-F
Contact the SVB PPP Care Team
for all PPP application questions or
view instructions here.
Bill Pay Classic
4:30 AM PT - 11:00 PM PT M-F
Cards Issued in the U.S.email@example.com
Cards Issued in the UK
Elite Cards1.866.940.5920 | 408.654.7720
Lost or Stolen Cards1.844.274.0771
FX Trade Desk
5:00 AM PT – 4:00 PM PT
8:00 AM BST – 5:OO PM BST
SVB Asset Management1.866.719.9117
SVB Cash Sweep1.800.774.7390
More Support Contacts
You authenticate to the SVB Developer API by providing your secret API key in each request. The APIs only operate over HTTPS so all request data (including your API key) stays encrypted and secret.
Environment information will be specified on the api key:
Sandbox access: api key will start with test_
Production access: api key will start with live_
To provide your API key with a request, pass it in the HTTP Authorization header as a bearer token:
Authorization: Bearer YOUR_API_KEY
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://uat.api.svb.com/v1
Note: Store your API key in a secure location. Anyone who obtains your key can access the API with all of your privileges.
The SVB Developer API requires an additional layer of security in the form of request signing via HMAC. Request signing uses a second secret key that is never transmitted over the wire to the API. This mitigates two additional attack vectors that a single API token does not:
- an attacker is unable to replay a previous request to the API; and
- an attacker is unable to modify the API request during transmission.
HMAC signing can be implemented in any language.
To sign a request, you’ll need a few things:
- a crypto library that supports HMAC-SHA-256;
- your secret HMAC signing key;
- your HTTP request contents; and
- the current time (from a reasonably accurate clock).
The signature is calculated using the following fields:
|secret||string||The HMAC secret key from SVB, given as a string||
|timestamp||int||The number of seconds since the Unix epoch||
|method||string||The HTTP method as an upper case string||
|path||string||The path to the resource||
|params||string||The params passed in the URL (if any)||
|body||string||The body of the request (if any)||See below|
Using this Algorithm
+be a function that concatenates strings, and let
"\n"indicate a newline character;
HMACbe a function that calculates an HMAC from a string and a secret key, and let
HEXbe a function that returns the string hexadecimal representation of its input; then
- The signature is:
HEX( HMAC( your_secret_key, timestamp + "\n" + method + "\n" + path + "\n" + query + "\n" + body ))
bodyis only used for JSON bodies with the
application/jsontype. if the body is any other type or is missing, then an empty string should be used instead.
- The only endpoint that uses a non-JSON body is
/v1/files. That endpoint uses the
multipart/form-datatype and an empty string should be used for body when computing the signature.
pathalways begins with a slash.
queryomits the leading question mark, and is an empty string if there is no query string.
After calculating the signature, add the following two HTTP headers to your request:
timestamp, from step (2) above
X-Signature: the request signature
For a request to be considered valid, it must have a timestamp within 30 seconds of the server’s time as well as a valid signature.
Code Samples and Examples
We recommend IP whitelisting as an additional means of controlling access to the SVB Developer API whenever possible. While some architectures may preclude IP whitelisting as a viable means of protection, this additional level of security can help mitigate certain attacks. The Developer API can whitelist individual addresses or CIDR ranges of IP addresses as needed.
Contact the SVB API team to configure or modify existing IP restrictions.