      
      - returns: A StripeRequest<> item which you can then use to convert to the corresponding node
      */
-    public func retrieve(subscription subscriptionId: String) throws -> StripeRequest<Subscription> {
+    public func retrieve(subscription subscriptionId: String, onAccount account: String? = nil) throws -> StripeRequest<Subscription> {
         return try StripeRequest(client: self.client, method: .get, route: .subscriptions(subscriptionId), query: [:], body: nil, headers: nil)
     }
     

     
     */
    
    public func update(subscription subscriptionId: String, applicationFeePercent: Double? = nil, couponId: String? = nil, items: Node? = nil, plan: String? = nil, prorate: Bool? = nil, quantity: Int? = nil, source: Node? = nil, taxPercent: Double? = nil, trialEnd: Date? = nil, metadata: Node? = nil) throws -> StripeRequest<Subscription> {
        var body = Node([:])
        
        if let plan = plan {

     
    */
    
    public func create(forCustomer customerId: String, plan: String? = nil, applicationFeePercent: Int? = nil, onAccount account: String? = nil, couponId: String? = nil, items: Node? = nil, quantity: Int? = nil, source: Node? = nil, taxPercent: Double? = nil, trialEnd: Date? = nil, trialPeriodDays: Int? = nil, metadata: Node? = nil) throws -> StripeRequest<Subscription> {
        
        var headers: [HeaderKey : String]?
        if let account = account {
            headers = [
                StripeHeader.Account: account
            ]
