Repository: gratipay/gratipay.com

Issue:
500 from credit card page
Reticketing from #2155.

https://app.getsentry.com/gittip/gittip/group/16333701/ (login required)

```
TypeError: 'NoneType' object has no attribute '__getitem__'

Stacktrace (most recent call last):

  File "site-packages/algorithm.py", line 288, in run
    new_state = function(**deps.as_kwargs)
  File "aspen/algorithms/website.py", line 88, in get_response_for_resource
    return {'response': resource.respond(request)}
  File "aspen/resources/dynamic_resource.py", line 68, in respond
    response = self.get_response(context)
  File "aspen/resources/negotiated_resource.py", line 98, in get_response
    response.body = render(context)
  File "aspen/renderers/__init__.py", line 99, in __call__
    return self.render_content(context)
  File "site-packages/aspen_jinja2_renderer.py", line 66, in render_content
    return self.compiled.render(context).encode(charset)
  File "jinja2/environment.py", line 969, in render
    return self.environment.handle_exception(exc_info, True)
  File "jinja2/environment.py", line 742, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/app/www/credit-card.html.spt", line 1, in top-level template code
    import traceback
  File "/app/templates/base.html", line 54, in top-level template code
    {% block killbox %}
  File "/app/templates/base.html", line 56, in block "killbox"
    {% block box %}{% endblock %}
  File "/app/www/credit-card.html.spt", line 56, in block "box"
    Gittip.payments.cc.init("{{ balanced.Marketplace.my_marketplace.uri }}", "{{ user.participant.username }}");
```



Discussion:
The traceback is misleading, probably due to simplate padding in Aspen getting the line numbers wrong (https://github.com/gittip/aspen-python/issues/284).

Okay! The bug is actually on [line 91](https://github.com/gittip/www.gittip.com/blob/f15b980be196c7dfbe3d02417d520adc6f6de213/www/credit-card.html.spt#L91): `card['number'][-4:]`. `card['number']` is `None`. Why?

In f7a6d4fb79406a98d763815ed5f24842d8e23074 (part of #2036) we switched from `card['last4']` to `card['number'][-4:]`.

The only other place we're still using `last4` is in [`%exchange_id.int.html.spt`](https://github.com/gittip/www.gittip.com/blob/7e50cff2de09632cfa3c58fd0b6728fb87ad6458/www/%25username/receipts/%25exchange_id.int.html.spt#L96), and yet we have both `last4` and `last_four` (which we don't use at all) in [`BalancedCard`](https://github.com/gittip/www.gittip.com/blob/7e50cff2de09632cfa3c58fd0b6728fb87ad6458/gittip/billing/__init__.py#L275-L276).

See #2067 re: `last4` on receipt page.

It looks like changing the default in [`BalancedThing.__getitem__`](https://github.com/gittip/www.gittip.com/blob/7e50cff2de09632cfa3c58fd0b6728fb87ad6458/gittip/billing/__init__.py#L214) from `out = None` to `out = ''` fixes this. Time to write a test!


Resolving patch:
diff --git a/gittip/billing/__init__.py b/gittip/billing/__init__.py
--- a/gittip/billing/__init__.py
+++ b/gittip/billing/__init__.py
@@ -225,6 +225,11 @@ def __getitem__(self, key):
                         raise KeyError("{} not found".format(val))
                 if out is None:
                     break
+
+        if out is None:
+            # Default to ''; see https://github.com/gittip/www.gittip.com/issues/2161.
+            out = ''
+
         return out
 
     def __init__(self, balanced_customer_href):


Test patch:
diff --git a/tests/py/fixtures/TestBalancedCard.yml b/tests/py/fixtures/TestBalancedCard.yml
--- a/tests/py/fixtures/TestBalancedCard.yml
+++ b/tests/py/fixtures/TestBalancedCard.yml
@@ -14,57 +14,63 @@
     protocol: https
   response:
     body: {string: "{\n  \"links\": {},\n  \"api_keys\": [\n    {\n      \"links\":
-        {},\n      \"created_at\": \"2014-03-03T23:06:10.733726Z\",\n      \"secret\":
-        \"ak-test-1Mn1yUmlyGldjgF0sl6fecguAjq5dEABg\",\n      \"href\": \"/api_keys/AK3cbbK1ut4STAKFCKvjE34Y\",\n
-        \     \"meta\": {},\n      \"id\": \"AK3cbbK1ut4STAKFCKvjE34Y\"\n    }\n  ]\n}"}
-    headers: ["Content-Type: application/json\r\n", "Date: Mon, 03 Mar 2014 23:06:11
-        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM68ff0960a32811e3aa9c02a1fe53e539\r\n",
-      "x-balanced-host: balanced-api-02\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+        {},\n      \"created_at\": \"2014-03-18T19:03:48.268033Z\",\n      \"secret\":
+        \"ak-test-27NSvBsvmdhy9mDZpCiXSAkoZlrHUjf4i\",\n      \"href\": \"/api_keys/AKhqSEjeiIZJuSpP0lyHKbu\",\n
+        \     \"meta\": {},\n      \"id\": \"AKhqSEjeiIZJuSpP0lyHKbu\"\n    }\n  ]\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:49
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM09299eacaed011e3911a02a1fe52a36c\r\n",
+      "x-balanced-host: balanced-api-01\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhQRw87WlNKEUgAEFUDTAcaFBQCH0UJTwhUBlRUAQ9YV1MAAQdSUlUbEQVKRBMOVlVQWlEGUAtaDl4EBAZWG00RB1IOF1Nq\r\n",
-      "Content-Length: 290\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhQRw87WlNKEUgAEFUDTAcaFBQCH0UITwRYC1VUDwZRUFcMBgNVU1cbEQVKRBMBA1pWVFNSUAtQXgsEUwpcG00RB1IOF1Nq\r\n",
+      "Content-Length: 288\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
     path: /marketplaces?limit=25&offset=0
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA5VU2W7TQBR971dEfuAFEi/YzSJVUKIICVQBrREiCFkT+5pYGc9Ys9CiKP/O9Xhc
-        x2LYXqK7nLnLuSc+XkwmXg2KeKvJEW30KJEKPc+viTiAaijJQb6gVV2pqyh5wstSgroKvGcdnMFD
-        C2eaUhvZCyj/o4CpjPgose+7DhgJbKAR8L3iWo7bKK4IxVBoUWUl/m1wnPvUvvHOF8RCX8xCHQuY
-        rVgGMhf8HlNxcBlE864RpgpeE0xr0fb34IHUDYVZzmtLCkIYqaFNvq6UqppJClJNbgZCByCt2KHd
-        rO+Lb/k9A5HlWipeg2irXK/jZh18qn/cluJbGm1KvV9sP66VZ0a2+5jrOcn3081dOr15HzfFJhXb
-        z+/C9dvtq+touVuHH94Ms+QCiIIiI0YAURBG02A+DZZpFK7CYJVEs8UyDuLFdngiddNwoTJARmhG
-        ikKAbNfxbOKlkx3dFH9ptAznyLijUbPnDDKm611HzdPwMgmSJAmj5/EwViN4oXNVcYazlIRKeDxe
-        r3ajAcOZZqhoRXHxEqAd3gqvFUHR7vJn+kyZE/5+NaoaH3QkslkBu0oZenxrWvGeS3GGcgchcWgD
-        HDwXtldJhx08J1ZA0bfHUxvbiSOisPWM9TtMtuf0DGhdFxq/CJpZaG+7cL8q339cyT+OSBpDT84h
-        lSBMEiODbp9RwDXAjrBDRvKca2bvNI643uSE0h3Jzb/Y8wfPhcXL9oWt2X6NLk4/Acm262qIBQAA
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:12 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM7082418ea32811e389560253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-104-224\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"meta\": {\n    \"last\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"limit\": 25,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/marketplaces?limit=25&offset=0\"\n  },\n  \"marketplaces\":
+        [\n    {\n      \"in_escrow\": 410301,\n      \"domain_url\": \"example.com\",\n
+        \     \"name\": \"Gittip Test Marketplace\",\n      \"links\": {\n        \"owner_customer\":
+        \"AC4pC0WmyRfrgT2Efuh8ZUCt\"\n      },\n      \"href\": \"/marketplaces/TEST-MP4pdETrZYO1CKZBA29bC1QJ\",\n
+        \     \"created_at\": \"2012-07-09T21:10:52.894048Z\",\n      \"support_email_address\":
+        \"support@example.com\",\n      \"updated_at\": \"2012-07-09T21:10:52.917027Z\",\n
+        \     \"support_phone_number\": \"+16505551234\",\n      \"production\": false,\n
+        \     \"meta\": {},\n      \"unsettled_fees\": 0,\n      \"id\": \"TEST-MP4pdETrZYO1CKZBA29bC1QJ\"\n
+        \   }\n  ],\n  \"links\": {\n    \"marketplaces.debits\": \"/debits\",\n    \"marketplaces.reversals\":
+        \"/reversals\",\n    \"marketplaces.customers\": \"/customers\",\n    \"marketplaces.credits\":
+        \"/credits\",\n    \"marketplaces.cards\": \"/cards\",\n    \"marketplaces.card_holds\":
+        \"/card_holds\",\n    \"marketplaces.refunds\": \"/refunds\",\n    \"marketplaces.owner_customer\":
+        \"/customers/{marketplaces.owner_customer}\",\n    \"marketplaces.transactions\":
+        \"/transactions\",\n    \"marketplaces.bank_accounts\": \"/bank_accounts\",\n
+        \   \"marketplaces.callbacks\": \"/callbacks\",\n    \"marketplaces.events\":
+        \"/events\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:50
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0a7bed46aed011e394ac026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.66\r\n", "Content-Length: 570\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1416\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: '{}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [Content-Length, !!python/unicode 2]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 2]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -76,31 +82,30 @@
   response:
     body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
         {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
-        \"2014-03-03T23:06:13.059442Z\",\n      \"created_at\": \"2014-03-03T23:06:12.876587Z\",\n
-        \     \"dob_month\": null,\n      \"id\": \"CU3eAMyPr8s9OH6sw3eXlEAf\",\n
-        \     \"phone\": null,\n      \"href\": \"/customers/CU3eAMyPr8s9OH6sw3eXlEAf\",\n
-        \     \"merchant_status\": \"no-match\",\n      \"meta\": {},\n      \"dob_year\":
-        null,\n      \"address\": {\n        \"city\": null,\n        \"line2\": null,\n
-        \       \"line1\": null,\n        \"state\": null,\n        \"postal_code\":
-        null,\n        \"country_code\": null\n      },\n      \"business_name\":
-        null,\n      \"ssn_last4\": null,\n      \"email\": null,\n      \"ein\":
-        null\n    }\n  ],\n  \"links\": {\n    \"customers.source\": \"/resources/{customers.source}\",\n
-        \   \"customers.card_holds\": \"/customers/{customers.id}/card_holds\",\n
-        \   \"customers.bank_accounts\": \"/customers/{customers.id}/bank_accounts\",\n
-        \   \"customers.debits\": \"/customers/{customers.id}/debits\",\n    \"customers.destination\":
-        \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"2014-03-18T19:03:51.481885Z\",\n      \"created_at\": \"2014-03-18T19:03:51.039892Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUky25GRz6YQuvVNp56IEYD\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUky25GRz6YQuvVNp56IEYD\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
         \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
         \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
         \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
         \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
         \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
-    headers: ["Content-Type: application/json\r\n", "Date: Mon, 03 Mar 2014 23:06:13
-        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM6a489d68a32811e3899c02a1fe53e539\r\n",
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:51
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0ade3208aed011e3ba5302a1fe53e539\r\n",
       "x-balanced-host: balanced-api-06\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9SAVNSBQBZUFsACwFWU1cBHRdUSBEUUlACUANSUFkBCwpQUVFTCkMdQVUDCEVSPA==\r\n",
-      "Content-Length: 1529\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9UC1dWBQdQV1EIBAVcUVcAHRdUSBEUVwEDAQcDUV4BDF1RUApVAEMdQVUDCEVSPA==\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: '{"expiration_month": 10, "meta": {"region": "Confusion", "city_town": "",
@@ -108,9 +113,9 @@
       "address": {"state": "Confusion", "postal_code": "90210", "line1": "123 Main
       Street"}}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [Content-Length, !!python/unicode 238]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 238]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -123,12 +128,12 @@
     body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
         {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
         2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
-        \     \"created_at\": \"2014-03-03T23:06:14.473578Z\",\n      \"cvv_result\":
+        \     \"created_at\": \"2014-03-18T19:03:52.815159Z\",\n      \"cvv_result\":
         null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
-        \     \"updated_at\": \"2014-03-03T23:06:14.473580Z\",\n      \"id\": \"CC3gmjzo0ZRAC0a3EHo6qfFI\",\n
+        \     \"updated_at\": \"2014-03-18T19:03:52.815163Z\",\n      \"id\": \"CCmxgD4R25k26IWQYnnzdZQ\",\n
         \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
         \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
-        \"Box 2\"\n      },\n      \"href\": \"/cards/CC3gmjzo0ZRAC0a3EHo6qfFI\",\n
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCmxgD4R25k26IWQYnnzdZQ\",\n
         \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
         null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
         \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
@@ -139,20 +144,20 @@
         \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
     headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
         POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:14 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM6ad241f8a32811e38d4c02a1fe53e539\r\n", "x-balanced-host:
+      "Date: Tue, 18 Mar 2014 19:03:52 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM0b9d6ddaaed011e39ed902a1fe52a36c\r\n", "x-balanced-host:
         balanced-api-04\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHV0IUgRYBFtVAQJUUFQOAQdIQVEACRtGRgNQClYDBgZRWwlWXAtXVAZHFUFXAF8RAWs=\r\n",
-      "Content-Length: 1216\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVMMVAVSB1NXBwFTVFAJBwVIQVEACRtGRggFAFNQAQZTBwtbWV5XVwtHFUFXAF8RAWs=\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: '{"routing_number": "121042882", "account_number": "112233a", "name": "Homer
       Jay"}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -167,13 +172,13 @@
         \     \"bank_name\": \"WELLS FARGO BANK NA\",\n      \"account_type\": \"checking\",\n
         \     \"name\": \"Homer Jay\",\n      \"links\": {\n        \"customer\":
         null,\n        \"bank_account_verification\": null\n      },\n      \"can_credit\":
-        true,\n      \"created_at\": \"2014-03-03T23:06:15.638341Z\",\n      \"fingerprint\":
+        true,\n      \"created_at\": \"2014-03-18T19:03:53.966888Z\",\n      \"fingerprint\":
         \"dac6514d9dd3a1cd7ac925d5749e0308c2c65fa27c506aefb0c9b21611ff9969\",\n      \"updated_at\":
-        \"2014-03-03T23:06:15.638344Z\",\n      \"href\": \"/bank_accounts/BA3hGYmGxrWxBZDIqRzFvkkW\",\n
+        \"2014-03-18T19:03:53.966893Z\",\n      \"href\": \"/bank_accounts/BAnPG10gyPMZxttz3SWuRMI\",\n
         \     \"meta\": {},\n      \"account_number\": \"xxx233a\",\n      \"address\":
         {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
         \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
-        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BA3hGYmGxrWxBZDIqRzFvkkW\"\n
+        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BAnPG10gyPMZxttz3SWuRMI\"\n
         \   }\n  ],\n  \"links\": {\n    \"bank_accounts.credits\": \"/bank_accounts/{bank_accounts.id}/credits\",\n
         \   \"bank_accounts.bank_account_verifications\": \"/bank_accounts/{bank_accounts.id}/verifications\",\n
         \   \"bank_accounts.customer\": \"/customers/{bank_accounts.customer}\",\n
@@ -182,237 +187,272 @@
         \ }\n}"}
     headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
         POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:15 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM6bab1e42a32811e3a3ac02a1fe52a36c\r\n", "x-balanced-host:
-        balanced-api-05\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "Date: Tue, 18 Mar 2014 19:03:54 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM0c6675c2aed011e3ba5302a1fe53e539\r\n", "x-balanced-host:
+        balanced-api-02\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAwJVVVAKAwFTWVsPBAJfUh0WAlpeT0ISUw5SCQEAAQFWClEDUlYBBxQbQQACVEBVOQ==\r\n",
-      "Content-Length: 1281\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAwVXUlMBAgRdUFQOCAVXXR0WAlpeT0ISVlkEDABQAgVTDwVSWAtQXRQbQQACVEBVOQ==\r\n",
+      "Content-Length: 1279\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /cards/CC3gmjzo0ZRAC0a3EHo6qfFI
+    path: /cards/CCmxgD4R25k26IWQYnnzdZQ
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA41UTY/TMBC976+wfIbWsdv047ZUIDhwAcRhVyhyY7s1JHZxnNJS5b/jcfPVrRBE
-        VSX7zfPMmzf25QEhnHMnKrxGz2GB0CX+w/bxmJXc5/sAmbooXnVAoc0PiO8iIbauvC2la0PbyKan
-        GF7Kl8fI00E77rU12VlyoFJCSU/hxyqrvJPS91Xgs6xwH6Cr7CidVlqKwPWulj2UO8m9FBn3AcGU
-        JLPXhIXfF8rWJF0ns8lsweaL5dNwGqh1sqoLoNzI3TpuIAP+qis+EExdbqNgfBp9SfiGmPog/qOO
-        JRnVoWOqzYbtyu+/LXn69LghnL19b9Of6t2H4ehR90prPJiUDM0Lal7KKKXnYW9kmpO70PyYzhpV
-        V7DoWgiean/OvP0VI8YAFyJ0qsooAG/sCVF8Z/jeSQXwNA7X9N962kNvK4QSYhJeWPRYeDsuI4yh
-        hBLGZoWyYTsBUkIZ+si1QZ/jFI2plQ+23FMPNgBFllsBIF4RmpCbjtjaeHfuAiDxnXClzU66g9Mm
-        zt4yXygyo4ylc66Wy5xJluaK0MUslTlPZ0rkiqVC5FQmiq1CuMxXiiklyJzTdDEYDvehLbC7ldgM
-        DcGA9wOMr5pR21UUJhhdyQjUIWGRsR7FgyZX95og5RvYDx0c3e/r8zABH7O9LeJL0dl6ie5OtGii
-        zy1+naGON7wMgdUuqmnL7DaaVmdLEnKr/V8StVgotHlo/gDkYtppwAQAAA==
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:16 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM7300e866a32811e3b0cf0253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
+        2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
+        \     \"created_at\": \"2014-03-18T19:03:52.815159Z\",\n      \"cvv_result\":
+        null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
+        \     \"updated_at\": \"2014-03-18T19:03:52.815163Z\",\n      \"id\": \"CCmxgD4R25k26IWQYnnzdZQ\",\n
+        \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
+        \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCmxgD4R25k26IWQYnnzdZQ\",\n
+        \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
+        null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
+        \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
+        \     \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:54
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0d0dfc34aed011e393ab026ba7d31e6f\r\n",
+      "X-Balanced-Host: balanced-api-06\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 556\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
-    body: '{"cvv_match": null, "created_at": "2014-03-03T23:06:14.473578Z", "name":
-      null, "links": {"customer": "/customers/CU3eAMyPr8s9OH6sw3eXlEAf"}, "avs_street_match":
+    body: '{"cvv_match": null, "created_at": "2014-03-18T19:03:52.815159Z", "name":
+      null, "links": {"customer": "/customers/CUky25GRz6YQuvVNp56IEYD"}, "avs_street_match":
       "yes", "expiration_year": 2020, "brand": "Visa", "cvv_result": null, "number":
-      "xxxxxxxxxxxx1111", "updated_at": "2014-03-03T23:06:14.473580Z", "expiration_month":
+      "xxxxxxxxxxxx1111", "updated_at": "2014-03-18T19:03:52.815163Z", "expiration_month":
       10, "cvv": null, "meta": {"region": "Confusion", "city_town": "", "address_2":
       "Box 2"}, "avs_result": "Street address and postal code do not match.", "fingerprint":
       "8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267", "is_verified":
-      true, "avs_postal_match": "no", "id": "CC3gmjzo0ZRAC0a3EHo6qfFI", "address":
+      true, "avs_postal_match": "no", "id": "CCmxgD4R25k26IWQYnnzdZQ", "address":
       {"city": "Balo Alto", "line2": null, "line1": "123 Main Street", "state": null,
       "postal_code": "90210", "country_code": null}}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Content-Length, !!python/unicode 775]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
-      - !!python/tuple [Content-Length, !!python/unicode 777]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
     host: api.balancedpayments.com
     method: PUT
-    path: /cards/CC3gmjzo0ZRAC0a3EHo6qfFI
+    path: /cards/CCmxgD4R25k26IWQYnnzdZQ
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA4VUy27bMBC85ysInVubImX5cXONFOkhaNEXihSFwIjLhK1EuiTlxAn87+XKkqUk
-        aCsYBsTZ2cfMio9nhCSlcNInK/I9vhDy2P7j8W5X1CKUtxEyTVW96oFKm18Y30dibOODrcHF02Tz
-        hcP6cv/BLfzy/UXu7zh8q87XKun4h1MiI2p4nhzut9qJoK0p9iAwIaOMnihi5wsfHEA49ZbswSen
-        AO2LHTitNMjIDa6BE1Q6EAFkIQK2yWiavaY8/j4zvqL5Ks0m2ZzP5ourIRtq4MA3FVKeiHDthMEK
-        yVftxUAwTX19lOF+9KTxGWKarfxnH/MJzXJGZ6M+dFtqs+E39c8HS68+rjdU8PMLm/9Wb98NqUfq
-        1dYEtC4dxIvTPB+jhiDi2chKBzdR/LacNarx+NJLiE7rsC+CvWsjxoCQMirlC4bAG3tP2EvDbx0o
-        hKftyk3/P0+X9GmH2EJbRFSWrKtgx23E5QRsYWxWbBuPUySljJNLoQ351G7RmOpDtOUldWsjUBWl
-        lQgmS8pS+kQR25jg9n0AFn6x6UqbG3Bbp027e4tyrmjGOM9nQi0WJQeel4qyeZZDKfJMyVLxXMqS
-        Qar4MoZDuVRcKUlnguXzwXD8HroG+281MYMgCeKnBU6OM5NOVRI3mBzJBKcj0hJjA2kTTY7uHeIo
-        P9B+VHD01R8vjQn6WNzaqr0/elsfW3cnWh5anzv8uEM9b3RfTPvLw087Zn9w6ObsSBKudfhLoQ6L
-        jR7ODn8AEgeH29YEAAA=
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:17 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM7362036ca32811e3887b0253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-104-224\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUky25GRz6YQuvVNp56IEYD\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:03:52.815159Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:03:55.435650Z\",\n
+        \     \"id\": \"CCmxgD4R25k26IWQYnnzdZQ\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCmxgD4R25k26IWQYnnzdZQ\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:55
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0d83ff42aed011e3bc04026ba7cac9da\r\n",
+      "X-Balanced-Host: balanced-api-05\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.66\r\n", "Content-Length: 584\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1235\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /customers/CU3eAMyPr8s9OH6sw3eXlEAf
+    path: /customers/CUky25GRz6YQuvVNp56IEYD
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA41UwU7jMBC98xVRztC0SSmlN4SQuCA4sNJqEYqmtlEsHLuyHaCq8u87bpPUjQNB
-        inKYefM88+bZu7MoikllrCqZNvEqesFAFO32f0xJKBlGZSXEeRsTXL47aAtCmFGVJn0gxikzlkuw
-        XMmGpSGpO7ZqQ8EymoNFRJxOZ/OLaYbfc5qtpovVLJtML6/n8/Rf3JUQzX4sSSfLq8Xl8soroWqd
-        l0raoj8Mp+7Y2z8Zu3nYPumluX68X5jPjP0VdzdvxzM3hZL9AeNCszdXnnQKJuNMKDQpQNrcWLCV
-        EzKW6qIES4rjcSWz4CQ+6uQm2DLQ/QGAUs1Mbx+E220PiNvAxbF0ODwLw669/sRIslGYEDlRdCBJ
-        VCWt3vrZYOHrymAfxuRD3jJG5gKMnffHZCVwEQT5ia1qPOvVucRN6ln0aPBJZ9Q4QdX2rjXJrltf
-        k6+bRXiFBDTNCyXofmHewr1iTuvEwx386nGsQb7nQPYijdCcQgMmytZ8jKLBDNT6d/IbHbyLOyAG
-        +7JMS3TB74YJ4UFTTrYRSQ6QoNJqkAaIe2JGCE6QAQ9e5UqO9dCCBqo/8P0EMdKCZi0sYFCaHl7g
-        H8zVYIJafBDpqB9aEN6P+qz+D0Bzj2T5BQAA
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:17 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM5f485944a32811e389630618fa122124\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:03:51.481885Z\",\n      \"created_at\": \"2014-03-18T19:03:51.039892Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUky25GRz6YQuvVNp56IEYD\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUky25GRz6YQuvVNp56IEYD\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:56
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0e01d052aed011e3ad41026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 483\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /customers/CU3eAMyPr8s9OH6sw3eXlEAf/cards?is_valid=True&limit=10&offset=0
+    path: /customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA61VW2/TMBR+36+w/LAnaJ04TdtJEyrV0HiYQDAQGkKRF9ubIbGL7XQtVf87Prk0
-        6cblZVFVKT6373znO87uBCGcM8sdPkNfwwtCu/ofjtfrrGQ+vw8mXRXFi85QKP0D/DtP8K2cN6Ww
-        4RQvP1GxuNq+tzM3f3eZugcqvhQXC4nb+P0hkWaleJxcbFbKMq+MzraCQcKYxOQQwtYuc94K4Q/Y
-        8FY4fHBQLlsLq6QSPMR6W4mDKbeCecEz5gFmTKLkJaHhdx3TM5KeRckomdLJdHbTZwMOrHBVASFH
-        JNxapqEC/qwc6wN0Vd42NGwGTxSe3qda8X/imI5IksZkMsCh6lLLJb0rv/8y5ObDYkkYvbg06U/5
-        5m2fesBeabSH0UU9eaGbx22UwrNwNhilFXeB/Lqc0bJy8NJRCJNWfpt581B7DA2M88CUy2IwvDYb
-        FD8d+L0VEszjWnLj//fTJj1GCBDqIqwwaFF4M4QRxCkAwnBYATYcRxAUxRRdMaXRx1pFw1Dnw1ie
-        hq5MMBRZbjgY8ZzEETlixFTa223nAIWfKF0qfSfsyipda2+WTyVJYkrTCZOzWU4FTXNJ4mmSipyl
-        ieS5pCnneSwiSefBXeRzSaXkZMLidNoPHPahBdjtKtY9IRjsBwHjpmfUsoqCglETjKA7xA3SxqM6
-        0aiZ3j608g3Gj4+Uggvm6k7G3eaHaf5l75thv4LFZIXi59dhJ08LVSp/HpFTI6UT/rxjFGuxOd41
-        3IumvWSeq1SNITTRbQhusISTdmXwyoq1MhVcdr2esDdBDxDXrAWWyj43GYHw+poE3Q7u2uaqHnFx
-        qzyA6hZpV+/TSPH9uLW10Jrz4e08GFgb1Vn3raraIhCa3Zui/jT8odDADmhP9r8BAvKtWEwGAAA=
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:18 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM74233e24a32811e3a8cf0253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUky25GRz6YQuvVNp56IEYD\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:03:52.815159Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:03:55.435650Z\",\n
+        \     \"id\": \"CCmxgD4R25k26IWQYnnzdZQ\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCmxgD4R25k26IWQYnnzdZQ\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"meta\": {\n    \"last\":
+        \"/customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {\n    \"cards.debits\": \"/cards/{cards.id}/debits\",\n
+        \   \"cards.customer\": \"/customers/{cards.customer}\",\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:56
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0e549a58aed011e3b4ec026ba7cac9da\r\n",
+      "X-Balanced-Host: balanced-api-05\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 683\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1606\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /customers/CU3eAMyPr8s9OH6sw3eXlEAf/cards?is_valid=True&limit=10&offset=0
+    path: /customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA61VW2/TMBR+36+w/LAnaJ04TdtJEyrV0HiYQDAQGkKRF9ubIbGL7XQtVf87Prk0
-        6cblZVFVKT6373znO87uBCGcM8sdPkNfwwtCu/ofjtfrrGQ+vw8mXRXFi85QKP0D/DtP8K2cN6Ww
-        4RQvP1GxuNq+tzM3f3eZugcqvhQXC4nb+P0hkWaleJxcbFbKMq+MzraCQcKYxOQQwtYuc94K4Q/Y
-        8FY4fHBQLlsLq6QSPMR6W4mDKbeCecEz5gFmTKLkJaHhdx3TM5KeRckomdLJdHbTZwMOrHBVASFH
-        JNxapqEC/qwc6wN0Vd42NGwGTxSe3qda8X/imI5IksZkMsCh6lLLJb0rv/8y5ObDYkkYvbg06U/5
-        5m2fesBeabSH0UU9eaGbx22UwrNwNhilFXeB/Lqc0bJy8NJRCJNWfpt581B7DA2M88CUy2IwvDYb
-        FD8d+L0VEszjWnLj//fTJj1GCBDqIqwwaFF4M4QRxCkAwnBYATYcRxAUxRRdMaXRx1pFw1Dnw1ie
-        hq5MMBRZbjgY8ZzEETlixFTa223nAIWfKF0qfSfsyipda2+WTyVJYkrTCZOzWU4FTXNJ4mmSipyl
-        ieS5pCnneSwiSefBXeRzSaXkZMLidNoPHPahBdjtKtY9IRjsBwHjpmfUsoqCglETjKA7xA3SxqM6
-        0aiZ3j608g3Gj4+Uggvm6k7G3eaHaf5l75thv4LFZIXi59dhJ08LVSp/HpFTI6UT/rxjFGuxOd41
-        3IumvWSeq1SNITTRbQhusISTdmXwyoq1MhVcdr2esDdBDxDXrAWWyj43GYHw+poE3Q7u2uaqHnFx
-        qzyA6hZpV+/TSPH9uLW10Jrz4e08GFgb1Vn3raraIhCa3Zui/jT8odDADmhP9r8BAvKtWEwGAAA=
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:18 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM5feb0f04a32811e382960618fa122124\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-104-224\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUky25GRz6YQuvVNp56IEYD\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:03:52.815159Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:03:55.435650Z\",\n
+        \     \"id\": \"CCmxgD4R25k26IWQYnnzdZQ\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCmxgD4R25k26IWQYnnzdZQ\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"meta\": {\n    \"last\":
+        \"/customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/customers/CUky25GRz6YQuvVNp56IEYD/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {\n    \"cards.debits\": \"/cards/{cards.id}/debits\",\n
+        \   \"cards.customer\": \"/customers/{cards.customer}\",\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:57
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0ea7702aaed011e3ac0b026ba7cac9da\r\n",
+      "X-Balanced-Host: balanced-api-05\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.66\r\n", "Content-Length: 683\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1606\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /customers/CU3eAMyPr8s9OH6sw3eXlEAf
+    path: /customers/CUky25GRz6YQuvVNp56IEYD
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA41UwU7jMBC98xVRztC0SSmlN4SQuCA4sNJqEYqmtlEsHLuyHaCq8u87bpPUjQNB
-        inKYefM88+bZu7MoikllrCqZNvEqesFAFO32f0xJKBlGZSXEeRsTXL47aAtCmFGVJn0gxikzlkuw
-        XMmGpSGpO7ZqQ8EymoNFRJxOZ/OLaYbfc5qtpovVLJtML6/n8/Rf3JUQzX4sSSfLq8Xl8soroWqd
-        l0raoj8Mp+7Y2z8Zu3nYPumluX68X5jPjP0VdzdvxzM3hZL9AeNCszdXnnQKJuNMKDQpQNrcWLCV
-        EzKW6qIES4rjcSWz4CQ+6uQm2DLQ/QGAUs1Mbx+E220PiNvAxbF0ODwLw669/sRIslGYEDlRdCBJ
-        VCWt3vrZYOHrymAfxuRD3jJG5gKMnffHZCVwEQT5ia1qPOvVucRN6ln0aPBJZ9Q4QdX2rjXJrltf
-        k6+bRXiFBDTNCyXofmHewr1iTuvEwx386nGsQb7nQPYijdCcQgMmytZ8jKLBDNT6d/IbHbyLOyAG
-        +7JMS3TB74YJ4UFTTrYRSQ6QoNJqkAaIe2JGCE6QAQ9e5UqO9dCCBqo/8P0EMdKCZi0sYFCaHl7g
-        H8zVYIJafBDpqB9aEN6P+qz+D0Bzj2T5BQAA
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:19 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM74bed596a32811e389560253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:03:51.481885Z\",\n      \"created_at\": \"2014-03-18T19:03:51.039892Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUky25GRz6YQuvVNp56IEYD\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUky25GRz6YQuvVNp56IEYD\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:57
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0ef81084aed011e3a96f026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 483\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: '{}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [Content-Length, !!python/unicode 2]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 2]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -424,31 +464,30 @@
   response:
     body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
         {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
-        \"2014-03-03T23:06:20.230355Z\",\n      \"created_at\": \"2014-03-03T23:06:20.012469Z\",\n
-        \     \"dob_month\": null,\n      \"id\": \"CU3mCvzHW7SFiHgebD7aHkpy\",\n
-        \     \"phone\": null,\n      \"href\": \"/customers/CU3mCvzHW7SFiHgebD7aHkpy\",\n
-        \     \"merchant_status\": \"no-match\",\n      \"meta\": {},\n      \"dob_year\":
-        null,\n      \"address\": {\n        \"city\": null,\n        \"line2\": null,\n
-        \       \"line1\": null,\n        \"state\": null,\n        \"postal_code\":
-        null,\n        \"country_code\": null\n      },\n      \"business_name\":
-        null,\n      \"ssn_last4\": null,\n      \"email\": null,\n      \"ein\":
-        null\n    }\n  ],\n  \"links\": {\n    \"customers.source\": \"/resources/{customers.source}\",\n
-        \   \"customers.card_holds\": \"/customers/{customers.id}/card_holds\",\n
-        \   \"customers.bank_accounts\": \"/customers/{customers.id}/bank_accounts\",\n
-        \   \"customers.debits\": \"/customers/{customers.id}/debits\",\n    \"customers.destination\":
-        \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"2014-03-18T19:03:58.818729Z\",\n      \"created_at\": \"2014-03-18T19:03:58.594695Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUt2TVs4Dfu6ESzA0fANE0K\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUt2TVs4Dfu6ESzA0fANE0K\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
         \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
         \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
         \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
         \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
         \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
-    headers: ["Content-Type: application/json\r\n", "Date: Mon, 03 Mar 2014 23:06:20
-        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM6e890ee4a32811e3895402a1fe53e539\r\n",
-      "x-balanced-host: balanced-api-01\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:03:59
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM0f59daeeaed011e39ed902a1fe52a36c\r\n",
+      "x-balanced-host: balanced-api-04\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9SBVJWAgNYXloLCgVVVVMBHRdUSBEUAFIFUVRVBwgHCVxSBAdVAUMdQVUDCEVSPA==\r\n",
-      "Content-Length: 1529\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9WAFNQDg5ZX1UPBARWWFAbEQVKRBNSAVFWUVBUWg4GCw8NAAJcG00RB1IOF1Nq\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: '{"expiration_month": 10, "meta": {"region": "Confusion", "city_town": "",
@@ -456,9 +495,9 @@
       "address": {"state": "Confusion", "postal_code": "90210", "line1": "123 Main
       Street"}}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [Content-Length, !!python/unicode 238]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 238]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -471,12 +510,12 @@
     body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
         {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
         2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
-        \     \"created_at\": \"2014-03-03T23:06:21.498001Z\",\n      \"cvv_result\":
+        \     \"created_at\": \"2014-03-18T19:04:00.472661Z\",\n      \"cvv_result\":
         null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
-        \     \"updated_at\": \"2014-03-03T23:06:21.498003Z\",\n      \"id\": \"CC3ogHUsxoem6h3YN71wcP6E\",\n
+        \     \"updated_at\": \"2014-03-18T19:04:00.472664Z\",\n      \"id\": \"CCv8wmJmZ3y3YEjvrjlTKdp\",\n
         \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
         \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
-        \"Box 2\"\n      },\n      \"href\": \"/cards/CC3ogHUsxoem6h3YN71wcP6E\",\n
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCv8wmJmZ3y3YEjvrjlTKdp\",\n
         \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
         null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
         \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
@@ -487,20 +526,20 @@
         \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
     headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
         POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:21 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM6f18a838a32811e3b45202a1fe52a36c\r\n", "x-balanced-host:
-        balanced-api-01\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:00 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM102ab178aed011e3ba5302a1fe53e539\r\n", "x-balanced-host:
+        balanced-api-06\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVMMVAJSA1pdAARWUVYOAAVIQVEACRtGRgAFUFYFAlMJBAoEAAoFUwFHFUFXAF8RAWs=\r\n",
-      "Content-Length: 1216\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVMMUwFXBFpdDwBRVVoPCgVIQVEACRtGRldSBQRXWgBTWw1XCAxXA1ZHFUFXAF8RAWs=\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: '{"routing_number": "121042882", "account_number": "112233a", "name": "Homer
       Jay"}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -515,13 +554,13 @@
         \     \"bank_name\": \"WELLS FARGO BANK NA\",\n      \"account_type\": \"checking\",\n
         \     \"name\": \"Homer Jay\",\n      \"links\": {\n        \"customer\":
         null,\n        \"bank_account_verification\": null\n      },\n      \"can_credit\":
-        true,\n      \"created_at\": \"2014-03-03T23:06:22.623570Z\",\n      \"fingerprint\":
+        true,\n      \"created_at\": \"2014-03-18T19:04:01.701276Z\",\n      \"fingerprint\":
         \"dac6514d9dd3a1cd7ac925d5749e0308c2c65fa27c506aefb0c9b21611ff9969\",\n      \"updated_at\":
-        \"2014-03-03T23:06:22.623574Z\",\n      \"href\": \"/bank_accounts/BA3py0NT6AkRkRQ0qGsx0PNw\",\n
+        \"2014-03-18T19:04:01.701281Z\",\n      \"href\": \"/bank_accounts/BAwxjHuTKPWD2TUyRj1Onoq\",\n
         \     \"meta\": {},\n      \"account_number\": \"xxx233a\",\n      \"address\":
         {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
         \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
-        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BA3py0NT6AkRkRQ0qGsx0PNw\"\n
+        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BAwxjHuTKPWD2TUyRj1Onoq\"\n
         \   }\n  ],\n  \"links\": {\n    \"bank_accounts.credits\": \"/bank_accounts/{bank_accounts.id}/credits\",\n
         \   \"bank_accounts.bank_account_verifications\": \"/bank_accounts/{bank_accounts.id}/verifications\",\n
         \   \"bank_accounts.customer\": \"/customers/{bank_accounts.customer}\",\n
@@ -530,20 +569,20 @@
         \ }\n}"}
     headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
         POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:22 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM6fe359f2a32811e3899c02a1fe53e539\r\n", "x-balanced-host:
-        balanced-api-05\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:01 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM10e77d44aed011e39ed902a1fe52a36c\r\n", "x-balanced-host:
+        balanced-api-04\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAgFUVlsNAwJdV1IFAQJWXB0WAlpeT0ISAF0EXAlWUQVVX1QAWQtaXRQbQQACVEBVOQ==\r\n",
-      "Content-Length: 1281\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAABVU1IMAwVRU1cFAQBTVh0WAlpeT0ISVltWAFkEB1VTWFZTA1EBVxQbQQACVEBVOQ==\r\n",
+      "Content-Length: 1279\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: '{}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [Content-Length, !!python/unicode 2]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 2]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -555,31 +594,30 @@
   response:
     body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
         {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
-        \"2014-03-03T23:06:23.614024Z\",\n      \"created_at\": \"2014-03-03T23:06:23.449504Z\",\n
-        \     \"dob_month\": null,\n      \"id\": \"CU3qtWiGvug5OE2MD2iHl1k2\",\n
-        \     \"phone\": null,\n      \"href\": \"/customers/CU3qtWiGvug5OE2MD2iHl1k2\",\n
-        \     \"merchant_status\": \"no-match\",\n      \"meta\": {},\n      \"dob_year\":
-        null,\n      \"address\": {\n        \"city\": null,\n        \"line2\": null,\n
-        \       \"line1\": null,\n        \"state\": null,\n        \"postal_code\":
-        null,\n        \"country_code\": null\n      },\n      \"business_name\":
-        null,\n      \"ssn_last4\": null,\n      \"email\": null,\n      \"ein\":
-        null\n    }\n  ],\n  \"links\": {\n    \"customers.source\": \"/resources/{customers.source}\",\n
-        \   \"customers.card_holds\": \"/customers/{customers.id}/card_holds\",\n
-        \   \"customers.bank_accounts\": \"/customers/{customers.id}/bank_accounts\",\n
-        \   \"customers.debits\": \"/customers/{customers.id}/debits\",\n    \"customers.destination\":
-        \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"2014-03-18T19:04:02.814540Z\",\n      \"created_at\": \"2014-03-18T19:04:02.539685Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUxu4QsnsA07heC49Lg3BGw\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUxu4QsnsA07heC49Lg3BGw\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
         \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
         \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
         \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
         \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
         \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
-    headers: ["Content-Type: application/json\r\n", "Date: Mon, 03 Mar 2014 23:06:23
-        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM7095ffe4a32811e3adab02a1fe52a36c\r\n",
-      "x-balanced-host: balanced-api-04\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:02
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM11b8f748aed011e3a82702a1fe53e539\r\n",
+      "x-balanced-host: balanced-api-01\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9SAlZUBg5QXloOAwVTUFAOHRdUSBEUBQBVUQdRWw5XCwxRClYACkMdQVUDCEVSPA==\r\n",
-      "Content-Length: 1529\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9VBFJWBQJQVloLAQlWU1EBAhtGVh0WEVBUWloABgkGXFkCBAUGXFkTTRMEBVpEBDs=\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: '{"expiration_month": 10, "meta": {"region": "Confusion", "city_town": "",
@@ -587,9 +625,9 @@
       "address": {"state": "Confusion", "postal_code": "90210", "line1": "123 Main
       Street"}}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [Content-Length, !!python/unicode 238]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 238]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -602,12 +640,12 @@
     body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
         {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
         2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
-        \     \"created_at\": \"2014-03-03T23:06:25.006793Z\",\n      \"cvv_result\":
+        \     \"created_at\": \"2014-03-18T19:04:04.350497Z\",\n      \"cvv_result\":
         null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
-        \     \"updated_at\": \"2014-03-03T23:06:25.006796Z\",\n      \"id\": \"CC3sedmvQyYdKnE41QGgQaIS\",\n
+        \     \"updated_at\": \"2014-03-18T19:04:04.350500Z\",\n      \"id\": \"CCzvzdKN4EGRnJ6XGFAjWqk\",\n
         \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
         \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
-        \"Box 2\"\n      },\n      \"href\": \"/cards/CC3sedmvQyYdKnE41QGgQaIS\",\n
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCzvzdKN4EGRnJ6XGFAjWqk\",\n
         \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
         null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
         \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
@@ -618,20 +656,20 @@
         \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
     headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
         POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:25 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM712a2b4ca32811e3899c02a1fe53e539\r\n", "x-balanced-host:
-        balanced-api-04\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:04 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM12672930aed011e3b29102a1fe52a36c\r\n", "x-balanced-host:
+        balanced-api-02\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVMAUgRXBVVdDwZXVVsJCwRIQVEACRtGRgAFAlZXBgMIBw8EWwhWBlVHFUFXAF8RAWs=\r\n",
-      "Content-Length: 1216\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVwJVAVZAVJRBQBUUFQJAAlIQVEACRtGRlMFBlRQW1MIBg1XCg1RC1FHFUFXAF8RAWs=\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: '{"routing_number": "121042882", "account_number": "112233a", "name": "Homer
       Jay"}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
@@ -646,13 +684,13 @@
         \     \"bank_name\": \"WELLS FARGO BANK NA\",\n      \"account_type\": \"checking\",\n
         \     \"name\": \"Homer Jay\",\n      \"links\": {\n        \"customer\":
         null,\n        \"bank_account_verification\": null\n      },\n      \"can_credit\":
-        true,\n      \"created_at\": \"2014-03-03T23:06:26.145973Z\",\n      \"fingerprint\":
+        true,\n      \"created_at\": \"2014-03-18T19:04:05.563262Z\",\n      \"fingerprint\":
         \"dac6514d9dd3a1cd7ac925d5749e0308c2c65fa27c506aefb0c9b21611ff9969\",\n      \"updated_at\":
-        \"2014-03-03T23:06:26.145977Z\",\n      \"href\": \"/bank_accounts/BA3tw0xEz1mJVPW4ayfBUMC4\",\n
+        \"2014-03-18T19:04:05.563265Z\",\n      \"href\": \"/bank_accounts/BAASJtaCGFBtMoUXqDa3f5e\",\n
         \     \"meta\": {},\n      \"account_number\": \"xxx233a\",\n      \"address\":
         {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
         \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
-        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BA3tw0xEz1mJVPW4ayfBUMC4\"\n
+        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BAASJtaCGFBtMoUXqDa3f5e\"\n
         \   }\n  ],\n  \"links\": {\n    \"bank_accounts.credits\": \"/bank_accounts/{bank_accounts.id}/credits\",\n
         \   \"bank_accounts.bank_account_verifications\": \"/bank_accounts/{bank_accounts.id}/verifications\",\n
         \   \"bank_accounts.customer\": \"/customers/{bank_accounts.customer}\",\n
@@ -661,195 +699,1136 @@
         \ }\n}"}
     headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
         POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:26 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM71f80ba2a32811e3a3ac02a1fe52a36c\r\n", "x-balanced-host:
+      "Date: Tue, 18 Mar 2014 19:04:05 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM134ba466aed011e39ed902a1fe52a36c\r\n", "x-balanced-host:
         balanced-api-01\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
-        1.1\r\n", "x-balanced-software-build: 30239903dd6325c971feed2e08cc3a0c50800884\r\n",
-      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAgBYUloPCgBdVFYCCQ5eUAUaE1NeW04QQFkHWQgFAFdQXVBUVAcGVAMVTUYFWV9DATw=\r\n",
-      "Content-Length: 1281\r\n", "Connection: keep-alive\r\n"]
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAwZQU1AJAgFQVFUPAwNRVR0WAlpeT0ISAw1UAQ4GU1ZSAQAHUVVbVhQbQQACVEBVOQ==\r\n",
+      "Content-Length: 1279\r\n", "Connection: keep-alive\r\n"]
     status: {code: 201, message: CREATED}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /cards/CC3sedmvQyYdKnE41QGgQaIS
+    path: /cards/CCzvzdKN4EGRnJ6XGFAjWqk
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA41UXYsbIRR9318hPreJo8nk461dSimlD2FLoVvK4I6aSGc0qJMmhPz3es18ZUNp
-        hxDQc4/3nnuunh8QwiV3wuM1+hEXCJ3TP2wfDkXNQ7mLkGmq6k0HVNr8gvguEmIbH2wtXRvaRl56
-        iuG1fH2MPO6140FbU5wkByollPQUfvCFD07K0FeBT9LjPkD74iCdVlqKyA2ukT1UOsmDFAUPEcGU
-        ZLO3hMXfV8rWJF/T+YSQfLFiz8NpoNZJ31RAuZH74riBDPib9nwgmKZ+SYLxcfRl8Rtimr34nzry
-        UR06pXp8ZF6K+rA5fRefzYdZtvm43fBPT8PRo+7V1gQwKRuaF9W8llHLwOPeyDQnt7H5KZ01qvGw
-        6FoInupwKoL9nSLGABcidsoXFID39ogovjN856QCeJqGa/pvPe2htxVCCSkJryx6VwU7LiOOoYQS
-        xmbFsmE7A1JGGfrCtUFPaYrGVB+iLffUvY1AVZRWAIhXhGbkpiO2McGdugBIfCdcabOVbu+0SbO3
-        LBeKzChj+Zyr5bJkkuWlInQxy2XJ85kSpWK5ECWVmWKrGC7LlWJKCTLnNF8MhsN9aAvsbiU2Q0Mw
-        4P0A46tm1HYVxQlGVzICdUhYZGxA6aDJ1b1LlPIT7IcOju739XmYgI/FzlbppehsPSd3J1pcks8t
-        fp2hjje8DJHVLvy0ZXYbl1ZnSxLyRYe/JGqxWOjl4fIHtvS04MAEAAA=
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:26 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM792fa06aa32811e39bfc0253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
+        2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
+        \     \"created_at\": \"2014-03-18T19:04:04.350497Z\",\n      \"cvv_result\":
+        null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
+        \     \"updated_at\": \"2014-03-18T19:04:04.350500Z\",\n      \"id\": \"CCzvzdKN4EGRnJ6XGFAjWqk\",\n
+        \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
+        \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCzvzdKN4EGRnJ6XGFAjWqk\",\n
+        \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
+        null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
+        \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
+        \     \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:06
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM13eca474aed011e3a5ff026ba7c1aba6\r\n",
+      "X-Balanced-Host: balanced-api-04\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 554\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
-    body: '{"cvv_match": null, "created_at": "2014-03-03T23:06:25.006793Z", "name":
-      null, "links": {"customer": "/customers/CU3qtWiGvug5OE2MD2iHl1k2"}, "avs_street_match":
+    body: '{"cvv_match": null, "created_at": "2014-03-18T19:04:04.350497Z", "name":
+      null, "links": {"customer": "/customers/CUxu4QsnsA07heC49Lg3BGw"}, "avs_street_match":
       "yes", "expiration_year": 2020, "brand": "Visa", "cvv_result": null, "number":
-      "xxxxxxxxxxxx1111", "updated_at": "2014-03-03T23:06:25.006796Z", "expiration_month":
+      "xxxxxxxxxxxx1111", "updated_at": "2014-03-18T19:04:04.350500Z", "expiration_month":
       10, "cvv": null, "meta": {"region": "Confusion", "city_town": "", "address_2":
       "Box 2"}, "avs_result": "Street address and postal code do not match.", "fingerprint":
       "8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267", "is_verified":
-      true, "avs_postal_match": "no", "id": "CC3sedmvQyYdKnE41QGgQaIS", "address":
+      true, "avs_postal_match": "no", "id": "CCzvzdKN4EGRnJ6XGFAjWqk", "address":
       {"city": "Balo Alto", "line2": null, "line1": "123 Main Street", "state": null,
       "postal_code": "90210", "country_code": null}}'
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Content-Length, !!python/unicode 775]
       - !!python/tuple [Content-Type, !!python/unicode application/json]
-      - !!python/tuple [Content-Length, !!python/unicode 777]
       - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
     host: api.balancedpayments.com
     method: PUT
-    path: /cards/CC3sedmvQyYdKnE41QGgQaIS
+    path: /cards/CCzvzdKN4EGRnJ6XGFAjWqk
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA4VU246bMBB936+weG4TYxNyeWvT1baqVlW0vaitKuRgO7EW7NQ2aaKIf6+HQCC7
-        vSCExMycuZwz9ukGoShnlrtogb6HH4ROzRfM+31WMp9vg0tXRfGicxRKP0J8FwmxlfOmFDZYo+Un
-        +tN/UXf7ajP5cEvu3xD1togfSdTi60sizUrxNLk47JRlXhmdHQWDhAQTfIGwvcuct0L4S2/RUbjo
-        EqBcthdWSSV4wHpbiYsrt4J5wTPmoU2C4+QlpuH9SOgCpwsyGWGcTuf0W58NOLDCVQVArkhYW6ah
-        QvRZOdYDdFWuzzQcBk8cnj6m2vF/9jEdTeiM4GTQh2pKLZfUCV7uV8ev/L2+TeLV3WbF3j30qQfs
-        lUZ7kC7uyQvTPB2jFJ4F20BKKzaB/Kac0bJy8NNRCEorf8y8+dVEDB2M88CUywg4XpsD+oPgWysk
-        uMfNyo3/P0+b9LpDaKEpwgqDXhXeDNsIyymghaFYoW0wxwCKCUX3TGn00GzREOp8kOU5dGeCo8hy
-        w8EZzTGJ8RUjptLeHrsAKPxs06XSG2F3Vulm92b5VOKEUJpOmJzNcipomktMpkkqcpYmkueSppzn
-        RMSSzkO4yOeSSsnxhJF02gsO56FtsDurke4JicB/WeDoPDNqWUVhg9EZjGA6xA3SxqMm0eh8XOsw
-        yg+QHxgcnPrzpTECHbOtKZr7o5P11Kg7UrxudG795x3qcIP7YtxdHm7cIjtD3c7ZgrhYK/+XQq0v
-        NFrf1L8Bdt3+IdYEAAA=
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:27 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM799ff518a32811e39bfc0253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUxu4QsnsA07heC49Lg3BGw\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:04:04.350497Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:04:06.841670Z\",\n
+        \     \"id\": \"CCzvzdKN4EGRnJ6XGFAjWqk\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCzvzdKN4EGRnJ6XGFAjWqk\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:07
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM144fce32aed011e3ad41026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 584\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1235\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /v1/marketplaces/TEST-MP4pdETrZYO1CKZBA29bC1QJ/accounts/CU3qtWiGvug5OE2MD2iHl1k2
+    path: /v1/marketplaces/TEST-MP4pdETrZYO1CKZBA29bC1QJ/accounts/CUxu4QsnsA07heC49Lg3BGw
     port: 443
     protocol: https
   response:
     body:
       string: !!binary |
-        H4sIAAAAAAAAA41UTW/bMAy991cYPre147gFlus2tJdilw0DNgwGI2mzEFnK9FEsCPzfRyW2o1ju
-        NMDwgXx8Ih+fdLzJspw4Y1XHtMk32XcMZNnx9MeUhI5hVDohbseY4HLnoSMIYUY5TeZAjFNmLJdg
-        uZIDy0DST2xuT8Ey2oBFRF6Vq/quXOP3uVpvysdNtb5/XNVlVX/LpxKiWaKkrt89lGEJVdumU9K2
-        82E49ce+/7L+bb/yp1f36+HTx+rlQ8WfxWpXXc7ct0rOB8xbzX768mJSsEgzodCkBWkbY8E6L2Qu
-        1V0HlrSX4zpmwUt80clPcGCg5wMApZqZ2T4It4cZELeBi2PVcngVh31784mRZK8wIRqi6EKSKCet
-        PoTZaOFbZ7APY5olbxkjGwHG1vMxWQdcREF+Zasez/rhXeInDSx6Mfj9ZNS8QNVOrjXFcVrfkO+H
-        RQSFBDRtWiXoaWHBwoNiTvsiwJ39GnBsQe4aICeREjTX0IiJsi1PUQyYhdrwTr6hQ3BxF8RgfyzT
-        El3wf8PE8KgpL1tCkjMkqrQapAHin5gEwRUy4sGr7GSqhxG0UP2K7yeIRAuajbCIQWl6foH/Ya4B
-        E9Xig0iTfhhBeD/6m/4vFAvt8vkFAAA=
+        H4sIAAAAAAAAA41UPW/bMBDd8ysEzXUk2XJre2szdOlSoFlSFMKZZCoiEmnwo41h6L/3aEsyLSph
+        Fw537x7v3j3ydJckKbHayJYpne6SnxhIktP5xJSAlmFU2Kb5MMQaLl4cdAAhTEuryBSIccq04QIM
+        l6Jn6Um6kc0eKBhGKzCISJd5US7y1aLY/Ci2u7zc5cv7TVGuy/wpHUuIYpGS9Wr7cbP2SqjcV60U
+        pp4Ow6m79uHx1ZbftdCf8081eyi3336vvnz9e73yUEsxnS+tFXt21dkoYBYlQplJDcJU2oCxTsZU
+        yEULhtTX21pmwAl8Vcn1f2Sgpu0DpYrpyTYIN8cJEHeBa2PL+XARhl1704GR5CAx0VRE0pkkkVYY
+        dfSzwbr3VmMfWldzztJaVA1oU07HZC3wJgjyG1N1eNcv5xE3qWfQq73vR5umGap29qzOTuP2+nzX
+        L8IrJKBoVcuGnhfm7dsr5rTLPNzFrR7HHsRLBeQsUoTmFhowUbbnMYoeM1Prv8g3dPCe7YwY7NUw
+        JdAF/zdMCA+acrJFJLlAgkqjQGgg7oOJENwgAx58yVbEehhAM9V/8PeEJtKCYgMsYJCKXv7fd8zV
+        Y4Ja/A5p1A8DCN9Hd9f9A1hmcSr3BQAA
     headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:28 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM7a26b832a32811e39bfc0253b57d0ca2\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:07 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM15c0aa16aed011e3b8cf02f5e6e0a7bc\r\n", "X-Balanced-Host:
+        bapi-test-e-10-3-104-224\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 479\r\n",
+        1.1\r\n", "X-Balanced-Software-Build: 1.0.72\r\n", "Content-Length: 480\r\n",
       "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /customers/CU3qtWiGvug5OE2MD2iHl1k2/cards?is_valid=True&limit=10&offset=0
+    path: /customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA61VXW/TMBR936+w/LAnaB27TdtJE4IxDYQQmjZAgFDkxXZnLbGL45RWU/87vk7S
-        pNuAl0VVpfh+nXvuPc79EUI4505U+AT9CC8I3cd/OF6vs5L7/DaYTF0ULzpDoc0d+Hee4FtX3pbS
-        hVN89pn98l/1xbpeTj+d049vqX5XJHcUt/G7fSLDS/kwudystONeW5NtJYeElFCyD+HrKqu8k9Lv
-        seGtrPDeQVfZWjqttBQh1rta7k25k9xLkXEPMClJJi8JC79ryk5IekKnI0LS2YJ977MBB05WdQEh
-        ByTcOG6gAv6iK94HmLq8aWjYDJ4kPL1PvRL/xDEbTdmckskAh46lzs5YJUW5vtx+Ex/M+SS5vFhe
-        8vdXfeoBe6U1HkaX9OSFbh62UUrPw9lglE4uA/mxnDWqruCloxAmrf028/Z39BgauBCBqSqjYHhj
-        N+iJgd86qcA8jis3/n8/bdJDhAAhFuGFRa8Lb4cwwnJKgDAcVoANxwkEJZShj1wbdBW3aBha+TCW
-        x6ErGwxFllsBRrwgNCEHjNjaeLftHKDwo01X2iylWzlt4u7N85kiE8pYOuVqPs+ZZGmuCJ1NUpnz
-        dKJErlgqRE5lotgiuMt8oZhSgkw5TWf9wEEPLcBOq9j0hGCw7xcYNz2jllUUNhg1wQi6Q8IiYz2K
-        iUaNXHehlZ8wfnywKbjgVexk3Ck/TPMvum+G/QqEyQstTq+DJo8LXWp/mpBjq1Ql/WnHKDZyc6g1
-        3C9Ne8k8V6mIITTRKQQ3WMJJKxm8cnKtbQ2XXb9P2NuwDxDXyAIr7Z6bjEB4vCZhbwd3bXNVj4S8
-        0R5AdUK6j3oaabEbt7YWWnM+vJ0HA2ujOuuu3aq2CIRmt7aIn4YnCg3sgPZo9wcl8qPoTAYAAA==
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:28 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM65ee44caa32811e38e3e0618fa122124\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUxu4QsnsA07heC49Lg3BGw\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:04:04.350497Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:04:06.841670Z\",\n
+        \     \"id\": \"CCzvzdKN4EGRnJ6XGFAjWqk\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCzvzdKN4EGRnJ6XGFAjWqk\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"meta\": {\n    \"last\":
+        \"/customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {\n    \"cards.debits\": \"/cards/{cards.id}/debits\",\n
+        \   \"cards.customer\": \"/customers/{cards.customer}\",\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:08
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM153c0c5caed011e3b9b3026ba7c1aba6\r\n",
+      "X-Balanced-Host: balanced-api-04\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 682\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1606\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
 - request: !!python/object:vcr.request.Request
     body: null
     headers: !!python/object/apply:__builtin__.frozenset
-    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
-      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
       - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
-      - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0xTW4xeVVtbHlHbGRqZ0Ywc2w2ZmVjZ3VBanE1ZEVBQmc6Tm9uZQ==]
       - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
     host: api.balancedpayments.com
     method: GET
-    path: /customers/CU3qtWiGvug5OE2MD2iHl1k2/cards?is_valid=True&limit=10&offset=0
+    path: /customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0
     port: 443
     protocol: https
   response:
-    body:
-      string: !!binary |
-        H4sIAAAAAAAAA61VXW/TMBR936+w/LAnaB27TdtJE4IxDYQQmjZAgFDkxXZnLbGL45RWU/87vk7S
-        pNuAl0VVpfh+nXvuPc79EUI4505U+AT9CC8I3cd/OF6vs5L7/DaYTF0ULzpDoc0d+Hee4FtX3pbS
-        hVN89pn98l/1xbpeTj+d049vqX5XJHcUt/G7fSLDS/kwudystONeW5NtJYeElFCyD+HrKqu8k9Lv
-        seGtrPDeQVfZWjqttBQh1rta7k25k9xLkXEPMClJJi8JC79ryk5IekKnI0LS2YJ977MBB05WdQEh
-        ByTcOG6gAv6iK94HmLq8aWjYDJ4kPL1PvRL/xDEbTdmckskAh46lzs5YJUW5vtx+Ex/M+SS5vFhe
-        8vdXfeoBe6U1HkaX9OSFbh62UUrPw9lglE4uA/mxnDWqruCloxAmrf028/Z39BgauBCBqSqjYHhj
-        N+iJgd86qcA8jis3/n8/bdJDhAAhFuGFRa8Lb4cwwnJKgDAcVoANxwkEJZShj1wbdBW3aBha+TCW
-        x6ErGwxFllsBRrwgNCEHjNjaeLftHKDwo01X2iylWzlt4u7N85kiE8pYOuVqPs+ZZGmuCJ1NUpnz
-        dKJErlgqRE5lotgiuMt8oZhSgkw5TWf9wEEPLcBOq9j0hGCw7xcYNz2jllUUNhg1wQi6Q8IiYz2K
-        iUaNXHehlZ8wfnywKbjgVexk3Ck/TPMvum+G/QqEyQstTq+DJo8LXWp/mpBjq1Ql/WnHKDZyc6g1
-        3C9Ne8k8V6mIITTRKQQ3WMJJKxm8cnKtbQ2XXb9P2NuwDxDXyAIr7Z6bjEB4vCZhbwd3bXNVj4S8
-        0R5AdUK6j3oaabEbt7YWWnM+vJ0HA2ujOuuu3aq2CIRmt7aIn4YnCg3sgPZo9wcl8qPoTAYAAA==
-    headers: ["Content-Encoding: gzip\r\n", "Content-Type: application/json\r\n",
-      "Date: Mon, 03 Mar 2014 23:06:29 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
-      "X-Balanced-Guru: OHM663ef99ca32811e38e3e0618fa122124\r\n", "X-Balanced-Host:
-        bapi-test-e-10-3-105-236\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUxu4QsnsA07heC49Lg3BGw\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:04:04.350497Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:04:06.841670Z\",\n
+        \     \"id\": \"CCzvzdKN4EGRnJ6XGFAjWqk\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCzvzdKN4EGRnJ6XGFAjWqk\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"meta\": {\n    \"last\":
+        \"/customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/customers/CUxu4QsnsA07heC49Lg3BGw/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {\n    \"cards.debits\": \"/cards/{cards.id}/debits\",\n
+        \   \"cards.customer\": \"/customers/{cards.customer}\",\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:08
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM158b8e9eaed011e393ab026ba7d31e6f\r\n",
+      "X-Balanced-Host: balanced-api-06\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
       "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
-        1.1\r\n", "X-Balanced-Software-Build: 1.0.68\r\n", "Content-Length: 682\r\n",
-      "Connection: keep-alive\r\n"]
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1606\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: '{}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 2]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+    host: api.balancedpayments.com
+    method: POST
+    path: /customers
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:04:09.782421Z\",\n      \"created_at\": \"2014-03-18T19:04:09.582018Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUFp53WwOuc3XPMfrSdKtym\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUFp53WwOuc3XPMfrSdKtym\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:09
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM15ea3610aed011e396c902a1fe53e539\r\n",
+      "x-balanced-host: balanced-api-04\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9SB1ZSBwNRVFsBAABSV1YHBxtGVh0WEVAFVVIBUgFTCg5RUFVSWlQTTRMEBVpEBDs=\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: '{"expiration_month": 10, "meta": {"region": "Confusion", "city_town": "",
+      "address_2": "Box 2"}, "number": "4111111111111111", "expiration_year": 2020,
+      "address": {"state": "Confusion", "postal_code": "90210", "line1": "123 Main
+      Street"}}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [Content-Length, !!python/unicode 238]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+    host: api.balancedpayments.com
+    method: POST
+    path: /cards
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
+        2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
+        \     \"created_at\": \"2014-03-18T19:04:11.022384Z\",\n      \"cvv_result\":
+        null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
+        \     \"updated_at\": \"2014-03-18T19:04:11.022387Z\",\n      \"id\": \"CCH0GV6cyhGPQ03TGkXVTxJ\",\n
+        \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
+        \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCH0GV6cyhGPQ03TGkXVTxJ\",\n
+        \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
+        null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
+        \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
+        \     \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
+        POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:11 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM1678297aaed011e3802202a1fe52a36c\r\n", "x-balanced-host:
+        balanced-api-06\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVMKUABVB1JQAABZVVcMBANIQVEACRtGRlVQVQRRAAMAVwEBAFkGUQNHFUFXAF8RAWs=\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: '{"routing_number": "121042882", "account_number": "112233a", "name": "Homer
+      Jay"}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Content-Length, !!python/unicode 81]
+    host: api.balancedpayments.com
+    method: POST
+    path: /bank_accounts
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"bank_accounts\": [\n    {\n      \"routing_number\": \"121042882\",\n
+        \     \"bank_name\": \"WELLS FARGO BANK NA\",\n      \"account_type\": \"checking\",\n
+        \     \"name\": \"Homer Jay\",\n      \"links\": {\n        \"customer\":
+        null,\n        \"bank_account_verification\": null\n      },\n      \"can_credit\":
+        true,\n      \"created_at\": \"2014-03-18T19:04:12.099167Z\",\n      \"fingerprint\":
+        \"dac6514d9dd3a1cd7ac925d5749e0308c2c65fa27c506aefb0c9b21611ff9969\",\n      \"updated_at\":
+        \"2014-03-18T19:04:12.099172Z\",\n      \"href\": \"/bank_accounts/BAIemrIRUsZcCnXP5r5gPZo\",\n
+        \     \"meta\": {},\n      \"account_number\": \"xxx233a\",\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BAIemrIRUsZcCnXP5r5gPZo\"\n
+        \   }\n  ],\n  \"links\": {\n    \"bank_accounts.credits\": \"/bank_accounts/{bank_accounts.id}/credits\",\n
+        \   \"bank_accounts.bank_account_verifications\": \"/bank_accounts/{bank_accounts.id}/verifications\",\n
+        \   \"bank_accounts.customer\": \"/customers/{bank_accounts.customer}\",\n
+        \   \"bank_accounts.debits\": \"/bank_accounts/{bank_accounts.id}/debits\",\n
+        \   \"bank_accounts.bank_account_verification\": \"/verifications/{bank_accounts.bank_account_verification}\"\n
+        \ }\n}"}
+    headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
+        POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:12 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM1735a95aaed011e3ba5302a1fe53e539\r\n", "x-balanced-host:
+        balanced-api-05\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAgBSX1oBCgdTUFMGCQZQUB0WAlpeT0ISWgFQAVoAAAVQWAcFB1FRBhQbQQACVEBVOQ==\r\n",
+      "Content-Length: 1279\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUFp53WwOuc3XPMfrSdKtym
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:04:09.782421Z\",\n      \"created_at\": \"2014-03-18T19:04:09.582018Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUFp53WwOuc3XPMfrSdKtym\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUFp53WwOuc3XPMfrSdKtym\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:12
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM17d64c7aaed011e3bc04026ba7cac9da\r\n",
+      "X-Balanced-Host: balanced-api-05\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUFp53WwOuc3XPMfrSdKtym
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:04:09.782421Z\",\n      \"created_at\": \"2014-03-18T19:04:09.582018Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUFp53WwOuc3XPMfrSdKtym\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUFp53WwOuc3XPMfrSdKtym\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:13
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM182370a4aed011e39c14026ba7c1aba6\r\n",
+      "X-Balanced-Host: balanced-api-04\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUFp53WwOuc3XPMfrSdKtym/cards?limit=10&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"meta\": {\n    \"last\": \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        0,\n    \"first\": \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?limit=10&offset=0\"\n
+        \ },\n  \"links\": {}\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:13
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM18744808aed011e393ab026ba7d31e6f\r\n",
+      "X-Balanced-Host: balanced-api-06\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 346\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+    host: api.balancedpayments.com
+    method: GET
+    path: /cards/CCH0GV6cyhGPQ03TGkXVTxJ
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
+        2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
+        \     \"created_at\": \"2014-03-18T19:04:11.022384Z\",\n      \"cvv_result\":
+        null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
+        \     \"updated_at\": \"2014-03-18T19:04:11.022387Z\",\n      \"id\": \"CCH0GV6cyhGPQ03TGkXVTxJ\",\n
+        \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
+        \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCH0GV6cyhGPQ03TGkXVTxJ\",\n
+        \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
+        null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
+        \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
+        \     \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:14
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM18c127feaed011e39c14026ba7c1aba6\r\n",
+      "X-Balanced-Host: balanced-api-04\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: '{"cvv_match": null, "created_at": "2014-03-18T19:04:11.022384Z", "name":
+      null, "links": {"customer": "/customers/CUFp53WwOuc3XPMfrSdKtym"}, "avs_street_match":
+      "yes", "expiration_year": 2020, "brand": "Visa", "cvv_result": null, "number":
+      "xxxxxxxxxxxx1111", "updated_at": "2014-03-18T19:04:11.022387Z", "expiration_month":
+      10, "cvv": null, "meta": {"region": "Confusion", "city_town": "", "address_2":
+      "Box 2"}, "avs_result": "Street address and postal code do not match.", "fingerprint":
+      "8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267", "is_verified":
+      true, "avs_postal_match": "no", "id": "CCH0GV6cyhGPQ03TGkXVTxJ", "address":
+      {"city": "Balo Alto", "line2": null, "line1": "123 Main Street", "state": null,
+      "postal_code": "90210", "country_code": null}}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Authorization, !!python/unicode Basic YWstdGVzdC0yN05TdkJzdm1kaHk5bURacENpWFNBa29abHJIVWpmNGk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Content-Length, !!python/unicode 775]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+    host: api.balancedpayments.com
+    method: PUT
+    path: /cards/CCH0GV6cyhGPQ03TGkXVTxJ
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUFp53WwOuc3XPMfrSdKtym\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:04:11.022384Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:04:14.971017Z\",\n
+        \     \"id\": \"CCH0GV6cyhGPQ03TGkXVTxJ\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCH0GV6cyhGPQ03TGkXVTxJ\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:15
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1928393aaed011e3ad41026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1235\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUFp53WwOuc3XPMfrSdKtym
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:04:09.782421Z\",\n      \"created_at\": \"2014-03-18T19:04:09.582018Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUFp53WwOuc3XPMfrSdKtym\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUFp53WwOuc3XPMfrSdKtym\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:15
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM19bc412aaed011e394ac026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUFp53WwOuc3XPMfrSdKtym\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:04:11.022384Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:04:14.971017Z\",\n
+        \     \"id\": \"CCH0GV6cyhGPQ03TGkXVTxJ\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCH0GV6cyhGPQ03TGkXVTxJ\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"meta\": {\n    \"last\":
+        \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {\n    \"cards.debits\": \"/cards/{cards.id}/debits\",\n
+        \   \"cards.customer\": \"/customers/{cards.customer}\",\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:16
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1a0f3ea2aed011e3ac0b026ba7cac9da\r\n",
+      "X-Balanced-Host: balanced-api-05\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1606\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": \"CUFp53WwOuc3XPMfrSdKtym\"\n      },\n      \"name\":
+        null,\n      \"expiration_year\": 2020,\n      \"avs_street_match\": \"yes\",\n
+        \     \"is_verified\": true,\n      \"created_at\": \"2014-03-18T19:04:11.022384Z\",\n
+        \     \"cvv_result\": null,\n      \"brand\": \"Visa\",\n      \"number\":
+        \"xxxxxxxxxxxx1111\",\n      \"updated_at\": \"2014-03-18T19:04:14.971017Z\",\n
+        \     \"id\": \"CCH0GV6cyhGPQ03TGkXVTxJ\",\n      \"expiration_month\": 10,\n
+        \     \"cvv\": null,\n      \"meta\": {\n        \"region\": \"Confusion\",\n
+        \       \"city_town\": \"\",\n        \"address_2\": \"Box 2\"\n      },\n
+        \     \"href\": \"/cards/CCH0GV6cyhGPQ03TGkXVTxJ\",\n      \"address\": {\n
+        \       \"city\": \"Balo Alto\",\n        \"line2\": null,\n        \"line1\":
+        \"123 Main Street\",\n        \"state\": null,\n        \"postal_code\": \"90210\",\n
+        \       \"country_code\": null\n      },\n      \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"meta\": {\n    \"last\":
+        \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/customers/CUFp53WwOuc3XPMfrSdKtym/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {\n    \"cards.debits\": \"/cards/{cards.id}/debits\",\n
+        \   \"cards.customer\": \"/customers/{cards.customer}\",\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:17
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1a64789aaed011e3a5ff026ba7c1aba6\r\n",
+      "X-Balanced-Host: balanced-api-04\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1606\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /marketplaces?limit=25&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"meta\": {\n    \"last\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"limit\": 25,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/marketplaces?limit=25&offset=0\"\n  },\n  \"marketplaces\":
+        [\n    {\n      \"in_escrow\": 410301,\n      \"domain_url\": \"example.com\",\n
+        \     \"name\": \"Gittip Test Marketplace\",\n      \"links\": {\n        \"owner_customer\":
+        \"AC4pC0WmyRfrgT2Efuh8ZUCt\"\n      },\n      \"href\": \"/marketplaces/TEST-MP4pdETrZYO1CKZBA29bC1QJ\",\n
+        \     \"created_at\": \"2012-07-09T21:10:52.894048Z\",\n      \"support_email_address\":
+        \"support@example.com\",\n      \"updated_at\": \"2012-07-09T21:10:52.917027Z\",\n
+        \     \"support_phone_number\": \"+16505551234\",\n      \"production\": false,\n
+        \     \"meta\": {},\n      \"unsettled_fees\": 0,\n      \"id\": \"TEST-MP4pdETrZYO1CKZBA29bC1QJ\"\n
+        \   }\n  ],\n  \"links\": {\n    \"marketplaces.debits\": \"/debits\",\n    \"marketplaces.reversals\":
+        \"/reversals\",\n    \"marketplaces.customers\": \"/customers\",\n    \"marketplaces.credits\":
+        \"/credits\",\n    \"marketplaces.cards\": \"/cards\",\n    \"marketplaces.card_holds\":
+        \"/card_holds\",\n    \"marketplaces.refunds\": \"/refunds\",\n    \"marketplaces.owner_customer\":
+        \"/customers/{marketplaces.owner_customer}\",\n    \"marketplaces.transactions\":
+        \"/transactions\",\n    \"marketplaces.bank_accounts\": \"/bank_accounts\",\n
+        \   \"marketplaces.callbacks\": \"/callbacks\",\n    \"marketplaces.events\":
+        \"/events\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:17
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1ac04b7aaed011e3a96f026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1416\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: '{}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Content-Length, !!python/unicode 2]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+    host: api.balancedpayments.com
+    method: POST
+    path: /customers
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:04:18.517123Z\",\n      \"created_at\": \"2014-03-18T19:04:18.323026Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUPeHuJm0IUdoQhklmHIZCM\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:18
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1b21fc80aed011e3b29102a1fe52a36c\r\n",
+      "x-balanced-host: balanced-api-01\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9SBlBVAw9RUFoOAgBRWFcAHRdUSBEUBVReBQdUUwBVCQgNBlEECEMdQVUDCEVSPA==\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: '{"expiration_month": 10, "meta": {"region": "Confusion", "city_town": "",
+      "address_2": "Box 2"}, "number": "4111111111111111", "expiration_year": 2020,
+      "address": {"state": "Confusion", "postal_code": "90210", "line1": "123 Main
+      Street"}}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Content-Length, !!python/unicode 238]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+    host: api.balancedpayments.com
+    method: POST
+    path: /cards
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
+        2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
+        \     \"created_at\": \"2014-03-18T19:04:19.898104Z\",\n      \"cvv_result\":
+        null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
+        \     \"updated_at\": \"2014-03-18T19:04:19.898107Z\",\n      \"id\": \"CCQZqjJaYJ9iMGQX8VIb0kW\",\n
+        \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
+        \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCQZqjJaYJ9iMGQX8VIb0kW\",\n
+        \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
+        null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
+        \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
+        \     \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
+        POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:20 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM1bb3d0baaed011e3802202a1fe52a36c\r\n", "x-balanced-host:
+        balanced-api-05\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVINUgVRB1NRBgdRX1INBgNIQVEACRtGRgdXUQRTAgcBAVkBCwEHA1JHFUFXAF8RAWs=\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: '{"routing_number": "121042882", "account_number": "112233a", "name": "Homer
+      Jay"}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Content-Length, !!python/unicode 81]
+    host: api.balancedpayments.com
+    method: POST
+    path: /bank_accounts
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"bank_accounts\": [\n    {\n      \"routing_number\": \"121042882\",\n
+        \     \"bank_name\": \"WELLS FARGO BANK NA\",\n      \"account_type\": \"checking\",\n
+        \     \"name\": \"Homer Jay\",\n      \"links\": {\n        \"customer\":
+        null,\n        \"bank_account_verification\": null\n      },\n      \"can_credit\":
+        true,\n      \"created_at\": \"2014-03-18T19:04:21.182215Z\",\n      \"fingerprint\":
+        \"dac6514d9dd3a1cd7ac925d5749e0308c2c65fa27c506aefb0c9b21611ff9969\",\n      \"updated_at\":
+        \"2014-03-18T19:04:21.182218Z\",\n      \"href\": \"/bank_accounts/BASrLFrV7000JBQUXSetQgO\",\n
+        \     \"meta\": {},\n      \"account_number\": \"xxx233a\",\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BASrLFrV7000JBQUXSetQgO\"\n
+        \   }\n  ],\n  \"links\": {\n    \"bank_accounts.credits\": \"/bank_accounts/{bank_accounts.id}/credits\",\n
+        \   \"bank_accounts.bank_account_verifications\": \"/bank_accounts/{bank_accounts.id}/verifications\",\n
+        \   \"bank_accounts.customer\": \"/customers/{bank_accounts.customer}\",\n
+        \   \"bank_accounts.debits\": \"/bank_accounts/{bank_accounts.id}/debits\",\n
+        \   \"bank_accounts.bank_account_verification\": \"/verifications/{bank_accounts.bank_account_verification}\"\n
+        \ }\n}"}
+    headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
+        POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:21 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM1c97cd42aed011e3802202a1fe52a36c\r\n", "x-balanced-host:
+        balanced-api-05\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAwJUVFQLAwVSUVEHAwBVUB0WAlpeT0ISUgpaClwAAVdXWAMJB1BXXRQbQQACVEBVOQ==\r\n",
+      "Content-Length: 1279\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUPeHuJm0IUdoQhklmHIZCM
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:04:18.517123Z\",\n      \"created_at\": \"2014-03-18T19:04:18.323026Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUPeHuJm0IUdoQhklmHIZCM\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:22
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1d612fcaaed011e3a740026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"meta\": {\n    \"last\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        0,\n    \"first\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {}\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:22
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1db7199eaed011e394ac026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 388\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"meta\": {\n    \"last\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0\",\n
+        \   \"limit\": 10,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        0,\n    \"first\": \"/customers/CUPeHuJm0IUdoQhklmHIZCM/cards?is_valid=True&limit=10&offset=0\"\n
+        \ },\n  \"links\": {}\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:23
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1e0b9c76aed011e3bc04026ba7cac9da\r\n",
+      "X-Balanced-Host: balanced-api-05\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 388\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /marketplaces?limit=25&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"meta\": {\n    \"last\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"limit\": 25,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/marketplaces?limit=25&offset=0\"\n  },\n  \"marketplaces\":
+        [\n    {\n      \"in_escrow\": 410301,\n      \"domain_url\": \"example.com\",\n
+        \     \"name\": \"Gittip Test Marketplace\",\n      \"links\": {\n        \"owner_customer\":
+        \"AC4pC0WmyRfrgT2Efuh8ZUCt\"\n      },\n      \"href\": \"/marketplaces/TEST-MP4pdETrZYO1CKZBA29bC1QJ\",\n
+        \     \"created_at\": \"2012-07-09T21:10:52.894048Z\",\n      \"support_email_address\":
+        \"support@example.com\",\n      \"updated_at\": \"2012-07-09T21:10:52.917027Z\",\n
+        \     \"support_phone_number\": \"+16505551234\",\n      \"production\": false,\n
+        \     \"meta\": {},\n      \"unsettled_fees\": 0,\n      \"id\": \"TEST-MP4pdETrZYO1CKZBA29bC1QJ\"\n
+        \   }\n  ],\n  \"links\": {\n    \"marketplaces.debits\": \"/debits\",\n    \"marketplaces.reversals\":
+        \"/reversals\",\n    \"marketplaces.customers\": \"/customers\",\n    \"marketplaces.credits\":
+        \"/credits\",\n    \"marketplaces.cards\": \"/cards\",\n    \"marketplaces.card_holds\":
+        \"/card_holds\",\n    \"marketplaces.refunds\": \"/refunds\",\n    \"marketplaces.owner_customer\":
+        \"/customers/{marketplaces.owner_customer}\",\n    \"marketplaces.transactions\":
+        \"/transactions\",\n    \"marketplaces.bank_accounts\": \"/bank_accounts\",\n
+        \   \"marketplaces.callbacks\": \"/callbacks\",\n    \"marketplaces.events\":
+        \"/events\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:23
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1e5d81eeaed011e3ad41026ba7cd33d0\r\n",
+      "X-Balanced-Host: balanced-api-02\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1416\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 200, message: OK}
+- request: !!python/object:vcr.request.Request
+    body: '{}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Content-Length, !!python/unicode 2]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+    host: api.balancedpayments.com
+    method: POST
+    path: /customers
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"customers\": [\n    {\n      \"name\": null,\n      \"links\":
+        {\n        \"source\": null,\n        \"destination\": null\n      },\n      \"updated_at\":
+        \"2014-03-18T19:04:24.563405Z\",\n      \"created_at\": \"2014-03-18T19:04:24.392507Z\",\n
+        \     \"dob_month\": null,\n      \"id\": \"CUW3OFfusqWfwClfVGYoMxN\",\n      \"phone\":
+        null,\n      \"href\": \"/customers/CUW3OFfusqWfwClfVGYoMxN\",\n      \"merchant_status\":
+        \"no-match\",\n      \"meta\": {},\n      \"dob_year\": null,\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"business_name\": null,\n      \"ssn_last4\": null,\n
+        \     \"email\": null,\n      \"ein\": null\n    }\n  ],\n  \"links\": {\n
+        \   \"customers.source\": \"/resources/{customers.source}\",\n    \"customers.card_holds\":
+        \"/customers/{customers.id}/card_holds\",\n    \"customers.bank_accounts\":
+        \"/customers/{customers.id}/bank_accounts\",\n    \"customers.debits\": \"/customers/{customers.id}/debits\",\n
+        \   \"customers.destination\": \"/resources/{customers.destination}\",\n    \"customers.external_accounts\":
+        \"/customers/{customers.id}/external_accounts\",\n    \"customers.cards\":
+        \"/customers/{customers.id}/cards\",\n    \"customers.transactions\": \"/customers/{customers.id}/transactions\",\n
+        \   \"customers.refunds\": \"/customers/{customers.id}/refunds\",\n    \"customers.reversals\":
+        \"/customers/{customers.id}/reversals\",\n    \"customers.orders\": \"/customers/{customers.id}/orders\",\n
+        \   \"customers.credits\": \"/customers/{customers.id}/credits\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:24
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM1ebf6a6caed011e3802202a1fe52a36c\r\n",
+      "x-balanced-host: balanced-api-06\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSQhUQXltWEBVNAUIHWRZdGhgSA0kZUR9SAFddAw9RVlABCgdcUVAAAhtGVh0WEVNQWlUIW1xXCQADCwdXXVgTTRMEBVpEBDs=\r\n",
+      "Content-Length: 1527\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: '{"expiration_month": 10, "meta": {"region": "Confusion", "city_town": "",
+      "address_2": "Box 2"}, "number": "4111111111111111", "expiration_year": 2020,
+      "address": {"state": "Confusion", "postal_code": "90210", "line1": "123 Main
+      Street"}}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [Content-Length, !!python/unicode 238]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+    host: api.balancedpayments.com
+    method: POST
+    path: /cards
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"cards\": [\n    {\n      \"cvv_match\": null,\n      \"links\":
+        {\n        \"customer\": null\n      },\n      \"name\": null,\n      \"expiration_year\":
+        2020,\n      \"avs_street_match\": \"yes\",\n      \"is_verified\": true,\n
+        \     \"created_at\": \"2014-03-18T19:04:25.954670Z\",\n      \"cvv_result\":
+        null,\n      \"brand\": \"Visa\",\n      \"number\": \"xxxxxxxxxxxx1111\",\n
+        \     \"updated_at\": \"2014-03-18T19:04:25.954672Z\",\n      \"id\": \"CCXOmQ1ZCTJMJiSeYXBOo0q\",\n
+        \     \"expiration_month\": 10,\n      \"cvv\": null,\n      \"meta\": {\n
+        \       \"region\": \"Confusion\",\n        \"city_town\": \"\",\n        \"address_2\":
+        \"Box 2\"\n      },\n      \"href\": \"/cards/CCXOmQ1ZCTJMJiSeYXBOo0q\",\n
+        \     \"address\": {\n        \"city\": \"Balo Alto\",\n        \"line2\":
+        null,\n        \"line1\": \"123 Main Street\",\n        \"state\": null,\n
+        \       \"postal_code\": \"90210\",\n        \"country_code\": null\n      },\n
+        \     \"fingerprint\": \"8c7f0423365af88c3e36cf02746eca64fdcf36ddc2e1f398c7ec9f3ffd05a267\",\n
+        \     \"avs_postal_match\": \"no\",\n      \"avs_result\": \"Street address
+        and postal code do not match.\"\n    }\n  ],\n  \"links\": {\n    \"cards.card_holds\":
+        \"/cards/{cards.id}/card_holds\",\n    \"cards.customer\": \"/customers/{cards.customer}\",\n
+        \   \"cards.debits\": \"/cards/{cards.id}/debits\"\n  }\n}"}
+    headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
+        POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:26 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM1f61fffcaed011e3b29102a1fe52a36c\r\n", "x-balanced-host:
+        balanced-api-05\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhSVhQAQhhQEAMCFlVAFEIIFBQCHVMLUAlUBltTAgZYUVAABAdIQVEACRtGRglXBwNfAVQJBl4GDllVBQVHFUFXAF8RAWs=\r\n",
+      "Content-Length: 1214\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: '{"routing_number": "121042882", "account_number": "112233a", "name": "Homer
+      Jay"}'
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [Content-Type, !!python/unicode application/json]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Content-Length, !!python/unicode 81]
+    host: api.balancedpayments.com
+    method: POST
+    path: /bank_accounts
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"bank_accounts\": [\n    {\n      \"routing_number\": \"121042882\",\n
+        \     \"bank_name\": \"WELLS FARGO BANK NA\",\n      \"account_type\": \"checking\",\n
+        \     \"name\": \"Homer Jay\",\n      \"links\": {\n        \"customer\":
+        null,\n        \"bank_account_verification\": null\n      },\n      \"can_credit\":
+        true,\n      \"created_at\": \"2014-03-18T19:04:27.102936Z\",\n      \"fingerprint\":
+        \"dac6514d9dd3a1cd7ac925d5749e0308c2c65fa27c506aefb0c9b21611ff9969\",\n      \"updated_at\":
+        \"2014-03-18T19:04:27.102940Z\",\n      \"href\": \"/bank_accounts/BAZ6AZP6gCq6XOQVIXhvxpg\",\n
+        \     \"meta\": {},\n      \"account_number\": \"xxx233a\",\n      \"address\":
+        {\n        \"city\": null,\n        \"line2\": null,\n        \"line1\": null,\n
+        \       \"state\": null,\n        \"postal_code\": null,\n        \"country_code\":
+        null\n      },\n      \"can_debit\": false,\n      \"id\": \"BAZ6AZP6gCq6XOQVIXhvxpg\"\n
+        \   }\n  ],\n  \"links\": {\n    \"bank_accounts.credits\": \"/bank_accounts/{bank_accounts.id}/credits\",\n
+        \   \"bank_accounts.bank_account_verifications\": \"/bank_accounts/{bank_accounts.id}/verifications\",\n
+        \   \"bank_accounts.customer\": \"/customers/{bank_accounts.customer}\",\n
+        \   \"bank_accounts.debits\": \"/bank_accounts/{bank_accounts.id}/debits\",\n
+        \   \"bank_accounts.bank_account_verification\": \"/verifications/{bank_accounts.bank_account_verification}\"\n
+        \ }\n}"}
+    headers: ["access-control-allow-headers: Content-Type\r\n", "access-control-allow-methods:
+        POST, OPTIONS\r\n", "access-control-allow-origin: *\r\n", "Content-Type: application/json\r\n",
+      "Date: Tue, 18 Mar 2014 19:04:27 GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n",
+      "X-Balanced-Guru: OHM201fab42aed011e39ed902a1fe52a36c\r\n", "x-balanced-host:
+        balanced-api-05\r\n", "x-balanced-marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "x-balanced-merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "x-balanced-revision:
+        1.1\r\n", "x-balanced-software-build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "X-Midlr-Version: 2\r\n", "x-newrelic-app-data: PxQFWFNXCQYTVVhWAwQDVUYdFhE1AwE2QgNWEVlbQFtcCxYxSBVbDQoZVA4IF0pcXAgEEBhTVggPbldQAQkWDEQRFgFKXVVGVkcVQQFNE1JKAwRRUFsLCglQU1sEAwZUXR0WAlpeT0ISUgAECFsCAgFdAAJXAgJTBhQbQQACVEBVOQ==\r\n",
+      "Content-Length: 1279\r\n", "Connection: keep-alive\r\n"]
+    status: {code: 201, message: CREATED}
+- request: !!python/object:vcr.request.Request
+    body: null
+    headers: !!python/object/apply:__builtin__.frozenset
+    - - !!python/tuple [content-type, !!python/unicode application/json;revision=1.1]
+      - !!python/tuple [Accept-Encoding, 'gzip, deflate, compress']
+      - !!python/tuple [accept, !!python/unicode application/vnd.api+json;revision=1.1]
+      - !!python/tuple [Authorization, !!python/unicode Basic OTBiYjM2NDhjYTBhMTFlMWE5NzcwMjZiYTdlMjM5YTk6Tm9uZQ==]
+      - !!python/tuple [User-Agent, !!python/unicode balanced-python/1.0.1beta2]
+    host: api.balancedpayments.com
+    method: GET
+    path: /marketplaces?limit=25&offset=0
+    port: 443
+    protocol: https
+  response:
+    body: {string: "{\n  \"meta\": {\n    \"last\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"next\": null,\n    \"href\": \"/marketplaces?limit=25&offset=0\",\n
+        \   \"limit\": 25,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\":
+        1,\n    \"first\": \"/marketplaces?limit=25&offset=0\"\n  },\n  \"marketplaces\":
+        [\n    {\n      \"in_escrow\": 410301,\n      \"domain_url\": \"example.com\",\n
+        \     \"name\": \"Gittip Test Marketplace\",\n      \"links\": {\n        \"owner_customer\":
+        \"AC4pC0WmyRfrgT2Efuh8ZUCt\"\n      },\n      \"href\": \"/marketplaces/TEST-MP4pdETrZYO1CKZBA29bC1QJ\",\n
+        \     \"created_at\": \"2012-07-09T21:10:52.894048Z\",\n      \"support_email_address\":
+        \"support@example.com\",\n      \"updated_at\": \"2012-07-09T21:10:52.917027Z\",\n
+        \     \"support_phone_number\": \"+16505551234\",\n      \"production\": false,\n
+        \     \"meta\": {},\n      \"unsettled_fees\": 0,\n      \"id\": \"TEST-MP4pdETrZYO1CKZBA29bC1QJ\"\n
+        \   }\n  ],\n  \"links\": {\n    \"marketplaces.debits\": \"/debits\",\n    \"marketplaces.reversals\":
+        \"/reversals\",\n    \"marketplaces.customers\": \"/customers\",\n    \"marketplaces.credits\":
+        \"/credits\",\n    \"marketplaces.cards\": \"/cards\",\n    \"marketplaces.card_holds\":
+        \"/card_holds\",\n    \"marketplaces.refunds\": \"/refunds\",\n    \"marketplaces.owner_customer\":
+        \"/customers/{marketplaces.owner_customer}\",\n    \"marketplaces.transactions\":
+        \"/transactions\",\n    \"marketplaces.bank_accounts\": \"/bank_accounts\",\n
+        \   \"marketplaces.callbacks\": \"/callbacks\",\n    \"marketplaces.events\":
+        \"/events\"\n  }\n}"}
+    headers: ["Content-Type: application/json\r\n", "Date: Tue, 18 Mar 2014 19:04:27
+        GMT\r\n", "Server: ngx_openresty/1.2.6.3\r\n", "X-Balanced-Guru: OHM20cdf094aed011e389e1026ba7cac9da\r\n",
+      "X-Balanced-Host: balanced-api-05\r\n", "X-Balanced-Marketplace: TEST-MP4pdETrZYO1CKZBA29bC1QJ\r\n",
+      "X-Balanced-Merchant: TEST-MR4oMv3Sk7Oj9Ye1sjtY6aEx\r\n", "X-Balanced-Revision:
+        1.1\r\n", "X-Balanced-Software-Build: 77317bb168da524f671cef0953e5b9495fe1af05\r\n",
+      "Content-Length: 1416\r\n", "Connection: keep-alive\r\n"]
     status: {code: 200, message: OK}
diff --git a/tests/py/test_billing.py b/tests/py/test_billing.py
--- a/tests/py/test_billing.py
+++ b/tests/py/test_billing.py
@@ -31,6 +31,37 @@ def test_balanced_card_basically_works(self):
         actual = dict([(name, card[name]) for name in expected])
         assert actual == expected
 
+    def test_credit_card_page_shows_card_missing(self):
+        expected = 'Your credit card is <em id="status">missing'
+        actual = self.client.GET('/credit-card.html', auth_as='alice').body.decode('utf8')
+        assert expected in actual
+
+    def test_credit_card_page_loads_when_there_is_a_card(self):
+        self.db.run( "UPDATE participants SET balanced_customer_href=%s WHERE username='alice'"
+                   , (self.balanced_customer_href,)
+                    )
+        billing.associate( self.db
+                         , 'credit card'
+                         , 'alice'
+                         , self.balanced_customer_href
+                         , self.card_href
+                          )
+
+        expected = 'Your credit card is <em id="status">working'
+        actual = self.client.GET('/credit-card.html', auth_as='alice').body.decode('utf8')
+        assert expected in actual
+
+    def test_credit_card_page_loads_when_there_is_an_account_but_no_card(self):
+        self.db.run( "UPDATE participants "
+                     "SET balanced_customer_href=%s, last_bill_result='NoResultFound()'"
+                     "WHERE username='alice'"
+                   , (self.balanced_customer_href,)
+                    )
+
+        expected = 'Your credit card is <em id="status">failing'
+        actual = self.client.GET('/credit-card.html', auth_as='alice').body.decode('utf8')
+        assert expected in actual
+
     @mock.patch('balanced.Customer')
     def test_balanced_card_gives_class_name_instead_of_KeyError(self, ba):
         card = mock.Mock()